1
0

files-main.js.map 1.6 MB

1
  1. {"version":3,"file":"files-main.js?v=adecfd243f615204b0a0","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/eventemitter3/index.js","webpack:///nextcloud/apps/files/src/store/index.ts","webpack:///nextcloud/node_modules/decode-uri-component/index.js","webpack:///nextcloud/node_modules/filter-obj/index.js","webpack:///nextcloud/node_modules/split-on-first/index.js","webpack:///nextcloud/node_modules/query-string/base.js","webpack:///nextcloud/node_modules/query-string/index.js","webpack:///nextcloud/apps/files/src/router/router.ts","webpack:///nextcloud/apps/files/src/FilesApp.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Cog.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Cog.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/Cog.vue?4d6d","webpack:///nextcloud/node_modules/vue-material-design-icons/Cog.vue?vue&type=template&id=89df8f2e","webpack:///nextcloud/node_modules/throttle-debounce/esm/index.js","webpack:///nextcloud/node_modules/vue-material-design-icons/ChartPie.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/ChartPie.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/ChartPie.vue?421f","webpack:///nextcloud/node_modules/vue-material-design-icons/ChartPie.vue?vue&type=template&id=b117066e","webpack:///nextcloud/apps/files/src/logger.ts","webpack:///nextcloud/apps/files/src/components/NavigationQuota.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files/src/components/NavigationQuota.vue","webpack://nextcloud/./apps/files/src/components/NavigationQuota.vue?e0b0","webpack://nextcloud/./apps/files/src/components/NavigationQuota.vue?2966","webpack://nextcloud/./apps/files/src/components/NavigationQuota.vue?08cb","webpack://nextcloud/./apps/files/src/views/Settings.vue?84f7","webpack:///nextcloud/apps/files/src/components/Setting.vue","webpack:///nextcloud/apps/files/src/components/Setting.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/files/src/components/Setting.vue?98ea","webpack://nextcloud/./apps/files/src/components/Setting.vue?8d57","webpack:///nextcloud/apps/files/src/store/userconfig.ts","webpack:///nextcloud/apps/files/src/views/Settings.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files/src/views/Settings.vue","webpack://nextcloud/./apps/files/src/views/Settings.vue?4fb0","webpack://nextcloud/./apps/files/src/views/Settings.vue?b81b","webpack:///nextcloud/apps/files/src/components/FilesNavigationItem.vue","webpack:///nextcloud/apps/files/src/composables/useNavigation.ts","webpack:///nextcloud/apps/files/src/store/viewConfig.ts","webpack:///nextcloud/apps/files/src/components/FilesNavigationItem.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/FilesNavigationItem.vue?172f","webpack:///nextcloud/apps/files/src/filters/FilenameFilter.ts","webpack:///nextcloud/apps/files/src/store/filters.ts","webpack:///nextcloud/apps/files/src/views/Navigation.vue","webpack:///nextcloud/apps/files/src/views/Navigation.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/composables/useFilenameFilter.ts","webpack://nextcloud/./apps/files/src/views/Navigation.vue?0681","webpack://nextcloud/./apps/files/src/views/Navigation.vue?74b9","webpack:///nextcloud/apps/files/src/views/FilesList.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Reload.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Reload.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/Reload.vue?2e35","webpack:///nextcloud/node_modules/vue-material-design-icons/Reload.vue?vue&type=template&id=23837d1a","webpack:///nextcloud/node_modules/vue-material-design-icons/FormatListBulletedSquare.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/FormatListBulletedSquare.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/FormatListBulletedSquare.vue?5dae","webpack:///nextcloud/node_modules/vue-material-design-icons/FormatListBulletedSquare.vue?vue&type=template&id=00aea13f","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountPlus.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountPlus.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/AccountPlus.vue?2818","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountPlus.vue?vue&type=template&id=a16afc28","webpack:///nextcloud/node_modules/vue-material-design-icons/ViewGrid.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/ViewGrid.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/ViewGrid.vue?4e55","webpack:///nextcloud/node_modules/vue-material-design-icons/ViewGrid.vue?vue&type=template&id=7b96a104","webpack:///nextcloud/apps/files/src/actions/sidebarAction.ts","webpack:///nextcloud/apps/files/src/composables/useRouteParameters.ts","webpack:///nextcloud/node_modules/vue-router/composables.mjs","webpack:///nextcloud/apps/files/src/services/WebdavClient.ts","webpack:///nextcloud/apps/files/src/store/paths.ts","webpack:///nextcloud/apps/files/src/store/files.ts","webpack:///nextcloud/apps/files/src/store/selection.ts","webpack:///nextcloud/apps/files/src/store/uploader.ts","webpack:///nextcloud/apps/files/src/services/DropServiceUtils.ts","webpack:///nextcloud/apps/files/src/actions/moveOrCopyActionUtils.ts","webpack:///nextcloud/apps/files/src/services/Files.ts","webpack:///nextcloud/apps/files/src/actions/moveOrCopyAction.ts","webpack:///nextcloud/apps/files/src/services/DropService.ts","webpack:///nextcloud/apps/files/src/store/dragging.ts","webpack:///nextcloud/apps/files/src/mixins/filesListWidth.ts","webpack:///nextcloud/apps/files/src/components/BreadCrumbs.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/components/BreadCrumbs.vue","webpack://nextcloud/./apps/files/src/components/BreadCrumbs.vue?901d","webpack://nextcloud/./apps/files/src/components/BreadCrumbs.vue?d357","webpack:///nextcloud/apps/files/src/utils/fileUtils.ts","webpack:///nextcloud/apps/files/src/components/FileEntry.vue","webpack:///nextcloud/apps/files/src/store/actionsmenu.ts","webpack:///nextcloud/apps/files/src/store/renaming.ts","webpack:///nextcloud/node_modules/@vueuse/components/index.mjs","webpack:///nextcloud/node_modules/vue-material-design-icons/FileMultiple.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/FileMultiple.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/FileMultiple.vue?6e9d","webpack:///nextcloud/node_modules/vue-material-design-icons/FileMultiple.vue?vue&type=template&id=27b46e04","webpack:///nextcloud/apps/files/src/components/DragAndDropPreview.vue","webpack:///nextcloud/apps/files/src/components/DragAndDropPreview.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/DragAndDropPreview.vue?07ad","webpack://nextcloud/./apps/files/src/components/DragAndDropPreview.vue?36f6","webpack:///nextcloud/apps/files/src/utils/dragUtils.ts","webpack:///nextcloud/apps/files/src/components/FileEntryMixin.ts","webpack:///nextcloud/apps/files/src/utils/hashUtils.ts","webpack:///nextcloud/apps/files/src/components/CustomElementRender.vue","webpack:///nextcloud/apps/files/src/components/CustomElementRender.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/CustomElementRender.vue?5f5c","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryActions.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/ArrowLeft.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/ArrowLeft.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/ArrowLeft.vue?f857","webpack:///nextcloud/node_modules/vue-material-design-icons/ArrowLeft.vue?vue&type=template&id=214c9a86","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryActions.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/FileEntry/FileEntryActions.vue?ab51","webpack://nextcloud/./apps/files/src/components/FileEntry/FileEntryActions.vue?b893","webpack://nextcloud/./apps/files/src/components/FileEntry/FileEntryActions.vue?7b52","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryCheckbox.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryCheckbox.vue","webpack:///nextcloud/apps/files/src/store/keyboard.ts","webpack://nextcloud/./apps/files/src/components/FileEntry/FileEntryCheckbox.vue?a18b","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryName.vue","webpack:///nextcloud/apps/files/src/utils/filenameValidity.ts","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryName.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/FileEntry/FileEntryName.vue?cb77","webpack://nextcloud/./apps/files/src/components/FileEntry/FileEntryName.vue?98a4","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryPreview.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/File.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/File.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/File.vue?245d","webpack:///nextcloud/node_modules/vue-material-design-icons/File.vue?vue&type=template&id=e3c8d598","webpack:///nextcloud/node_modules/vue-material-design-icons/FolderOpen.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/FolderOpen.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/FolderOpen.vue?6818","webpack:///nextcloud/node_modules/vue-material-design-icons/FolderOpen.vue?vue&type=template&id=79cee0a4","webpack:///nextcloud/node_modules/vue-material-design-icons/Key.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Key.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Key.vue?157c","webpack:///nextcloud/node_modules/vue-material-design-icons/Key.vue?vue&type=template&id=01a06d54","webpack:///nextcloud/node_modules/vue-material-design-icons/Network.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Network.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Network.vue?11eb","webpack:///nextcloud/node_modules/vue-material-design-icons/Network.vue?vue&type=template&id=29f8873c","webpack:///nextcloud/node_modules/vue-material-design-icons/Tag.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/Tag.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Tag.vue?6116","webpack:///nextcloud/node_modules/vue-material-design-icons/Tag.vue?vue&type=template&id=75dd05e4","webpack:///nextcloud/node_modules/vue-material-design-icons/PlayCircle.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/PlayCircle.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/PlayCircle.vue?0c26","webpack:///nextcloud/node_modules/vue-material-design-icons/PlayCircle.vue?vue&type=template&id=6901b3e6","webpack:///nextcloud/apps/files/src/components/FileEntry/CollectivesIcon.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/files/src/components/FileEntry/CollectivesIcon.vue","webpack://nextcloud/./apps/files/src/components/FileEntry/CollectivesIcon.vue?1937","webpack://nextcloud/./apps/files/src/components/FileEntry/CollectivesIcon.vue?949d","webpack:///nextcloud/apps/files/src/components/FileEntry/FavoriteIcon.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/components/FileEntry/FavoriteIcon.vue","webpack://nextcloud/./apps/files/src/components/FileEntry/FavoriteIcon.vue?f7c8","webpack://nextcloud/./apps/files/src/components/FileEntry/FavoriteIcon.vue?62c6","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryPreview.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/services/LivePhotos.ts","webpack://nextcloud/./apps/files/src/components/FileEntry/FileEntryPreview.vue?8c1f","webpack:///nextcloud/apps/files/src/components/FileEntry.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/FileEntry.vue?da7c","webpack:///nextcloud/apps/files/src/components/FileEntryGrid.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/components/FileEntryGrid.vue","webpack://nextcloud/./apps/files/src/components/FileEntryGrid.vue?bb8e","webpack:///nextcloud/apps/files/src/components/FilesListHeader.vue","webpack:///nextcloud/apps/files/src/components/FilesListHeader.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/FilesListHeader.vue?349b","webpack:///nextcloud/apps/files/src/components/FilesListTableFooter.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/components/FilesListTableFooter.vue","webpack://nextcloud/./apps/files/src/components/FilesListTableFooter.vue?8a94","webpack://nextcloud/./apps/files/src/components/FilesListTableFooter.vue?fa4c","webpack:///nextcloud/apps/files/src/components/FilesListTableHeader.vue","webpack:///nextcloud/apps/files/src/mixins/filesSorting.ts","webpack:///nextcloud/apps/files/src/components/FilesListTableHeaderButton.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/components/FilesListTableHeaderButton.vue","webpack://nextcloud/./apps/files/src/components/FilesListTableHeaderButton.vue?55b2","webpack://nextcloud/./apps/files/src/components/FilesListTableHeaderButton.vue?e364","webpack:///nextcloud/apps/files/src/components/FilesListTableHeader.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/FilesListTableHeader.vue?f4b8","webpack://nextcloud/./apps/files/src/components/FilesListTableHeader.vue?b1c9","webpack:///nextcloud/apps/files/src/components/VirtualList.vue","webpack:///nextcloud/apps/files/src/components/VirtualList.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/VirtualList.vue?37fa","webpack:///nextcloud/apps/files/src/components/FilesListTableHeaderActions.vue","webpack:///nextcloud/apps/files/src/components/FilesListTableHeaderActions.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/components/FilesListTableHeaderActions.vue?0f96","webpack://nextcloud/./apps/files/src/components/FilesListTableHeaderActions.vue?9494","webpack:///nextcloud/apps/files/src/components/FileListFilters.vue","webpack://nextcloud/./node_modules/@nextcloud/vue/dist/assets/NcChip-CEKw1zaK.css?fa71","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/Components/NcChip.mjs","webpack:///nextcloud/apps/files/src/components/FileListFilters.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/files/src/components/FileListFilters.vue?eef0","webpack://nextcloud/./apps/files/src/components/FileListFilters.vue?ac4e","webpack:///nextcloud/apps/files/src/components/FilesListVirtual.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/components/FilesListVirtual.vue","webpack://nextcloud/./apps/files/src/components/FilesListVirtual.vue?582b","webpack://nextcloud/./apps/files/src/components/FilesListVirtual.vue?ecfd","webpack://nextcloud/./apps/files/src/components/FilesListVirtual.vue?3555","webpack:///nextcloud/node_modules/vue-material-design-icons/TrayArrowDown.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/TrayArrowDown.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/TrayArrowDown.vue?a897","webpack:///nextcloud/node_modules/vue-material-design-icons/TrayArrowDown.vue?vue&type=template&id=447c2cd4","webpack:///nextcloud/apps/files/src/components/DragAndDropNotice.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/components/DragAndDropNotice.vue","webpack://nextcloud/./apps/files/src/components/DragAndDropNotice.vue?86a2","webpack://nextcloud/./apps/files/src/components/DragAndDropNotice.vue?a2e0","webpack:///nextcloud/apps/files/src/views/FilesList.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/files/src/utils/davUtils.ts","webpack://nextcloud/./apps/files/src/views/FilesList.vue?9be0","webpack://nextcloud/./apps/files/src/views/FilesList.vue?1e5b","webpack:///nextcloud/apps/files/src/FilesApp.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/files/src/FilesApp.vue?597e","webpack:///nextcloud/apps/files/src/main.ts","webpack:///nextcloud/apps/files/src/services/RouterService.ts","webpack:///nextcloud/apps/files/src/services/Settings.js","webpack:///nextcloud/apps/files/src/models/Setting.js","webpack:///nextcloud/node_modules/@nextcloud/upload/dist/assets/index-Dg3Dlw7h.css","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/assets/NcChip-CEKw1zaK.css","webpack:///nextcloud/apps/files/src/components/BreadCrumbs.vue?vue&type=style&index=0&id=dc01fdb0&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files/src/components/DragAndDropNotice.vue?vue&type=style&index=0&id=5554e341&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files/src/components/DragAndDropPreview.vue?vue&type=style&index=0&id=775162a4&prod&lang=scss","webpack:///nextcloud/apps/files/src/components/FileEntry/FavoriteIcon.vue?vue&type=style&index=0&id=f2d0cf6e&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryActions.vue?vue&type=style&index=0&id=893a87d0&prod&lang=scss","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryActions.vue?vue&type=style&index=1&id=893a87d0&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files/src/components/FileEntry/FileEntryName.vue?vue&type=style&index=0&id=4111296a&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files/src/components/FileListFilters.vue?vue&type=style&index=0&id=bd0c8440&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files/src/components/FilesListTableFooter.vue?vue&type=style&index=0&id=4c69fc7c&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files/src/components/FilesListTableHeader.vue?vue&type=style&index=0&id=30515e4c&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files/src/components/FilesListTableHeaderActions.vue?vue&type=style&index=0&id=bab8d624&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files/src/components/FilesListTableHeaderButton.vue?vue&type=style&index=0&id=6d7680f0&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files/src/components/FilesListVirtual.vue?vue&type=style&index=0&id=f6350d38&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files/src/components/FilesListVirtual.vue?vue&type=style&index=1&id=f6350d38&prod&lang=scss","webpack:///nextcloud/apps/files/src/components/NavigationQuota.vue?vue&type=style&index=0&id=6ed9379e&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/files/src/views/FilesList.vue?vue&type=style&index=0&id=191da179&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files/src/views/Navigation.vue?vue&type=style&index=0&id=11366bf7&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/files/src/views/Settings.vue?vue&type=style&index=0&id=23881b2c&prod&lang=scss&scoped=true","webpack:///nextcloud/node_modules/is-retry-allowed/index.js","webpack:///nextcloud/node_modules/simple-eta/index.js","webpack:///nextcloud/node_modules/@nextcloud/files/dist/index.mjs","webpack://nextcloud/./node_modules/@nextcloud/upload/dist/assets/index-Dg3Dlw7h.css?79d5","webpack:///nextcloud/node_modules/p-cancelable/index.js","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/p-timeout/index.js","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/p-queue/dist/priority-queue.js","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/p-queue/dist/lower-bound.js","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/p-queue/dist/index.js","webpack:///nextcloud/node_modules/axios-retry/dist/esm/index.js","webpack:///nextcloud/node_modules/@nextcloud/upload/dist/chunks/index-DNLyAvkP.mjs","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/@nextcloud/dialogs/dist/chunks/_plugin-vue2_normalizer-CQ6iBklL.mjs","webpack:///nextcloud/node_modules/@nextcloud/upload/node_modules/@nextcloud/dialogs/dist/index.mjs","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { createPinia } from 'pinia';\nexport const pinia = createPinia();\n","const token = '%[a-f0-9]{2}';\nconst singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nconst multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tconst left = components.slice(0, split);\n\tconst right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch {\n\t\tlet tokens = input.match(singleMatcher) || [];\n\n\t\tfor (let i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tconst replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD',\n\t};\n\n\tlet match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch {\n\t\t\tconst result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tconst entries = Object.keys(replaceMap);\n\n\tfor (const key of entries) {\n\t\t// Replace all decoded components\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nexport default function decodeUriComponent(encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n}\n","export function includeKeys(object, predicate) {\n\tconst result = {};\n\n\tif (Array.isArray(predicate)) {\n\t\tfor (const key of predicate) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor?.enumerable) {\n\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// `Reflect.ownKeys()` is required to retrieve symbol properties\n\t\tfor (const key of Reflect.ownKeys(object)) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor.enumerable) {\n\t\t\t\tconst value = object[key];\n\t\t\t\tif (predicate(key, value, object)) {\n\t\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function excludeKeys(object, predicate) {\n\tif (Array.isArray(predicate)) {\n\t\tconst set = new Set(predicate);\n\t\treturn includeKeys(object, key => !set.has(key));\n\t}\n\n\treturn includeKeys(object, (key, value, object) => !predicate(key, value, object));\n}\n","export default function splitOnFirst(string, separator) {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (string === '' || separator === '') {\n\t\treturn [];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n}\n","import decodeComponent from 'decode-uri-component';\nimport {includeKeys} from 'filter-obj';\nimport splitOnFirst from 'split-on-first';\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\n// eslint-disable-next-line unicorn/prefer-code-point\nconst strictUriEncode = string => encodeURIComponent(string).replaceAll(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result, [encode(key, options), '[', index, ']'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), '[]'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[]=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), ':list='].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), ':list=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSeparator = options.arrayFormat === 'bracket-separator'\n\t\t\t\t? '[]='\n\t\t\t\t: '=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), keyValueSeparator, encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\tencode(key, options),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(:list)$/.exec(key);\n\t\t\t\tkey = key.replace(/:list$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : (value === null ? value : decode(value, options));\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null\n\t\t\t\t\t? []\n\t\t\t\t\t: value.split(options.arrayFormatSeparator).map(item => decode(item, options));\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], ...arrayValue];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...[accumulator[key]].flat(), value];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction parseValue(value, options, type) {\n\tif (type === 'string' && typeof value === 'string') {\n\t\treturn value;\n\t}\n\n\tif (typeof type === 'function' && typeof value === 'string') {\n\t\treturn type(value);\n\t}\n\n\tif (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\treturn value.toLowerCase() === 'true';\n\t}\n\n\tif (type === 'number' && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\treturn Number(value);\n\t}\n\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\treturn Number(value);\n\t}\n\n\treturn value;\n}\n\nexport function extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nexport function parse(query, options) {\n\toptions = {\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false,\n\t\ttypes: Object.create(null),\n\t\t...options,\n\t};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst returnValue = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn returnValue;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn returnValue;\n\t}\n\n\tfor (const parameter of query.split('&')) {\n\t\tif (parameter === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst parameter_ = options.decode ? parameter.replaceAll('+', ' ') : parameter;\n\n\t\tlet [key, value] = splitOnFirst(parameter_, '=');\n\n\t\tif (key === undefined) {\n\t\t\tkey = parameter_;\n\t\t}\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : (['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options));\n\t\tformatter(decode(key, options), value, returnValue);\n\t}\n\n\tfor (const [key, value] of Object.entries(returnValue)) {\n\t\tif (typeof value === 'object' && value !== null && options.types[key] !== 'string') {\n\t\t\tfor (const [key2, value2] of Object.entries(value)) {\n\t\t\t\tconst type = options.types[key] ? options.types[key].replace('[]', '') : undefined;\n\t\t\t\tvalue[key2] = parseValue(value2, options, type);\n\t\t\t}\n\t\t} else if (typeof value === 'object' && value !== null && options.types[key] === 'string') {\n\t\t\treturnValue[key] = Object.values(value).join(options.arrayFormatSeparator);\n\t\t} else {\n\t\t\treturnValue[key] = parseValue(value, options, options.types[key]);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn returnValue;\n\t}\n\n\t// TODO: Remove the use of `reduce`.\n\t// eslint-disable-next-line unicorn/no-array-reduce\n\treturn (options.sort === true ? Object.keys(returnValue).sort() : Object.keys(returnValue).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = returnValue[key];\n\t\tresult[key] = Boolean(value) && typeof value === 'object' && !Array.isArray(value) ? keysSorter(value) : value;\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexport function stringify(object, options) {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\t...options,\n\t};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key]))\n\t\t|| (options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const [key, value] of Object.entries(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = value;\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n}\n\nexport function parseUrl(url, options) {\n\toptions = {\n\t\tdecode: true,\n\t\t...options,\n\t};\n\n\tlet [url_, hash] = splitOnFirst(url, '#');\n\n\tif (url_ === undefined) {\n\t\turl_ = url;\n\t}\n\n\treturn {\n\t\turl: url_?.split('?')?.[0] ?? '',\n\t\tquery: parse(extract(url), options),\n\t\t...(options && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}),\n\t};\n}\n\nexport function stringifyUrl(object, options) {\n\toptions = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true,\n\t\t...options,\n\t};\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = extract(object.url);\n\n\tconst query = {\n\t\t...parse(queryFromUrl, {sort: false}),\n\t\t...object.query,\n\t};\n\n\tlet queryString = stringify(query, options);\n\tqueryString &&= `?${queryString}`;\n\n\tlet hash = getHash(object.url);\n\tif (typeof object.fragmentIdentifier === 'string') {\n\t\tconst urlObjectForFragmentEncode = new URL(url);\n\t\turlObjectForFragmentEncode.hash = object.fragmentIdentifier;\n\t\thash = options[encodeFragmentIdentifier] ? urlObjectForFragmentEncode.hash : `#${object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n}\n\nexport function pick(input, filter, options) {\n\toptions = {\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false,\n\t\t...options,\n\t};\n\n\tconst {url, query, fragmentIdentifier} = parseUrl(input, options);\n\n\treturn stringifyUrl({\n\t\turl,\n\t\tquery: includeKeys(query, filter),\n\t\tfragmentIdentifier,\n\t}, options);\n}\n\nexport function exclude(input, filter, options) {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn pick(input, exclusionFilter, options);\n}\n","import * as queryString from './base.js';\n\nexport default queryString;\n","import { generateUrl } from '@nextcloud/router';\nimport queryString from 'query-string';\nimport Router from 'vue-router';\nimport Vue from 'vue';\nVue.use(Router);\n// Prevent router from throwing errors when we're already on the page we're trying to go to\nconst originalPush = Router.prototype.push;\nRouter.prototype.push = function push(to, onComplete, onAbort) {\n if (onComplete || onAbort)\n return originalPush.call(this, to, onComplete, onAbort);\n return originalPush.call(this, to).catch(err => err);\n};\nconst router = new Router({\n mode: 'history',\n // if index.php is in the url AND we got this far, then it's working:\n // let's keep using index.php in the url\n base: generateUrl('/apps/files'),\n linkActiveClass: 'active',\n routes: [\n {\n path: '/',\n // Pretending we're using the default view\n redirect: { name: 'filelist', params: { view: 'files' } },\n },\n {\n path: '/:view/:fileid(\\\\d+)?',\n name: 'filelist',\n props: true,\n },\n ],\n // Custom stringifyQuery to prevent encoding of slashes in the url\n stringifyQuery(query) {\n const result = queryString.stringify(query).replace(/%2F/gmi, '/');\n return result ? ('?' + result) : '';\n },\n});\nexport default router;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcContent',{attrs:{\"app-name\":\"files\"}},[_c('Navigation'),_vm._v(\" \"),_c('FilesList')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : true\"\n :aria-label=\"title\"\n class=\"material-design-icon cog-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"CogIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Cog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Cog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Cog.vue?vue&type=template&id=89df8f2e\"\nimport script from \"./Cog.vue?vue&type=script&lang=js\"\nexport * from \"./Cog.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon cog-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* eslint-disable no-undefined,no-param-reassign,no-shadow */\n\n/**\n * Throttle execution of a function. Especially useful for rate limiting\n * execution of handlers on events like resize and scroll.\n *\n * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher)\n * are most useful.\n * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through,\n * as-is, to `callback` when the throttled-function is executed.\n * @param {object} [options] - An object to configure options.\n * @param {boolean} [options.noTrailing] - Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds\n * while the throttled-function is being called. If noTrailing is false or unspecified, callback will be executed\n * one final time after the last throttled-function call. (After the throttled-function has not been called for\n * `delay` milliseconds, the internal counter is reset).\n * @param {boolean} [options.noLeading] - Optional, defaults to false. If noLeading is false, the first throttled-function call will execute callback\n * immediately. If noLeading is true, the first the callback execution will be skipped. It should be noted that\n * callback will never executed if both noLeading = true and noTrailing = true.\n * @param {boolean} [options.debounceMode] - If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is\n * false (at end), schedule `callback` to execute after `delay` ms.\n *\n * @returns {Function} A new, throttled, function.\n */\nfunction throttle (delay, callback, options) {\n var _ref = options || {},\n _ref$noTrailing = _ref.noTrailing,\n noTrailing = _ref$noTrailing === void 0 ? false : _ref$noTrailing,\n _ref$noLeading = _ref.noLeading,\n noLeading = _ref$noLeading === void 0 ? false : _ref$noLeading,\n _ref$debounceMode = _ref.debounceMode,\n debounceMode = _ref$debounceMode === void 0 ? undefined : _ref$debounceMode;\n /*\n * After wrapper has stopped being called, this timeout ensures that\n * `callback` is executed at the proper times in `throttle` and `end`\n * debounce modes.\n */\n var timeoutID;\n var cancelled = false;\n\n // Keep track of the last time `callback` was executed.\n var lastExec = 0;\n\n // Function to clear existing timeout\n function clearExistingTimeout() {\n if (timeoutID) {\n clearTimeout(timeoutID);\n }\n }\n\n // Function to cancel next exec\n function cancel(options) {\n var _ref2 = options || {},\n _ref2$upcomingOnly = _ref2.upcomingOnly,\n upcomingOnly = _ref2$upcomingOnly === void 0 ? false : _ref2$upcomingOnly;\n clearExistingTimeout();\n cancelled = !upcomingOnly;\n }\n\n /*\n * The `wrapper` function encapsulates all of the throttling / debouncing\n * functionality and when executed will limit the rate at which `callback`\n * is executed.\n */\n function wrapper() {\n for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) {\n arguments_[_key] = arguments[_key];\n }\n var self = this;\n var elapsed = Date.now() - lastExec;\n if (cancelled) {\n return;\n }\n\n // Execute `callback` and update the `lastExec` timestamp.\n function exec() {\n lastExec = Date.now();\n callback.apply(self, arguments_);\n }\n\n /*\n * If `debounceMode` is true (at begin) this is used to clear the flag\n * to allow future `callback` executions.\n */\n function clear() {\n timeoutID = undefined;\n }\n if (!noLeading && debounceMode && !timeoutID) {\n /*\n * Since `wrapper` is being called for the first time and\n * `debounceMode` is true (at begin), execute `callback`\n * and noLeading != true.\n */\n exec();\n }\n clearExistingTimeout();\n if (debounceMode === undefined && elapsed > delay) {\n if (noLeading) {\n /*\n * In throttle mode with noLeading, if `delay` time has\n * been exceeded, update `lastExec` and schedule `callback`\n * to execute after `delay` ms.\n */\n lastExec = Date.now();\n if (!noTrailing) {\n timeoutID = setTimeout(debounceMode ? clear : exec, delay);\n }\n } else {\n /*\n * In throttle mode without noLeading, if `delay` time has been exceeded, execute\n * `callback`.\n */\n exec();\n }\n } else if (noTrailing !== true) {\n /*\n * In trailing throttle mode, since `delay` time has not been\n * exceeded, schedule `callback` to execute `delay` ms after most\n * recent execution.\n *\n * If `debounceMode` is true (at begin), schedule `clear` to execute\n * after `delay` ms.\n *\n * If `debounceMode` is false (at end), schedule `callback` to\n * execute after `delay` ms.\n */\n timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);\n }\n }\n wrapper.cancel = cancel;\n\n // Return the wrapper function.\n return wrapper;\n}\n\n/* eslint-disable no-undefined */\n\n/**\n * Debounce execution of a function. Debouncing, unlike throttling,\n * guarantees that a function is only executed a single time, either at the\n * very beginning of a series of calls, or at the very end.\n *\n * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the debounced-function is executed.\n * @param {object} [options] - An object to configure options.\n * @param {boolean} [options.atBegin] - Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds\n * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.\n * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).\n *\n * @returns {Function} A new, debounced function.\n */\nfunction debounce (delay, callback, options) {\n var _ref = options || {},\n _ref$atBegin = _ref.atBegin,\n atBegin = _ref$atBegin === void 0 ? false : _ref$atBegin;\n return throttle(delay, callback, {\n debounceMode: atBegin !== false\n });\n}\n\nexport { debounce, throttle };\n//# sourceMappingURL=index.js.map\n","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : true\"\n :aria-label=\"title\"\n class=\"material-design-icon chart-pie-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M11,2V22C5.9,21.5 2,17.2 2,12C2,6.8 5.9,2.5 11,2M13,2V11H22C21.5,6.2 17.8,2.5 13,2M13,13V22C17.7,21.5 21.5,17.8 22,13H13Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ChartPieIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChartPie.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChartPie.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChartPie.vue?vue&type=template&id=b117066e\"\nimport script from \"./ChartPie.vue?vue&type=script&lang=js\"\nexport * from \"./ChartPie.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon chart-pie-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M11,2V22C5.9,21.5 2,17.2 2,12C2,6.8 5.9,2.5 11,2M13,2V11H22C21.5,6.2 17.8,2.5 13,2M13,13V22C17.7,21.5 21.5,17.8 22,13H13Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getLoggerBuilder } from '@nextcloud/logger';\nexport default getLoggerBuilder()\n .setApp('files')\n .detectUser()\n .build();\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=script&lang=js\"","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n -->\n<template>\n\t<NcAppNavigationItem v-if=\"storageStats\"\n\t\t:aria-description=\"t('files', 'Storage information')\"\n\t\t:class=\"{ 'app-navigation-entry__settings-quota--not-unlimited': storageStats.quota >= 0}\"\n\t\t:loading=\"loadingStorageStats\"\n\t\t:name=\"storageStatsTitle\"\n\t\t:title=\"storageStatsTooltip\"\n\t\tclass=\"app-navigation-entry__settings-quota\"\n\t\tdata-cy-files-navigation-settings-quota\n\t\t@click.stop.prevent=\"debounceUpdateStorageStats\">\n\t\t<ChartPie slot=\"icon\" :size=\"20\" />\n\n\t\t<!-- Progress bar -->\n\t\t<NcProgressBar v-if=\"storageStats.quota >= 0\"\n\t\t\tslot=\"extra\"\n\t\t\t:aria-label=\"t('files', 'Storage quota')\"\n\t\t\t:error=\"storageStats.relative > 80\"\n\t\t\t:value=\"Math.min(storageStats.relative, 100)\" />\n\t</NcAppNavigationItem>\n</template>\n\n<script>\nimport { debounce, throttle } from 'throttle-debounce'\nimport { formatFileSize } from '@nextcloud/files'\nimport { generateUrl } from '@nextcloud/router'\nimport { loadState } from '@nextcloud/initial-state'\nimport { showError } from '@nextcloud/dialogs'\nimport { subscribe } from '@nextcloud/event-bus'\nimport { translate } from '@nextcloud/l10n'\nimport axios from '@nextcloud/axios'\n\nimport ChartPie from 'vue-material-design-icons/ChartPie.vue'\nimport NcAppNavigationItem from '@nextcloud/vue/dist/Components/NcAppNavigationItem.js'\nimport NcProgressBar from '@nextcloud/vue/dist/Components/NcProgressBar.js'\n\nimport logger from '../logger.ts'\n\nexport default {\n\tname: 'NavigationQuota',\n\n\tcomponents: {\n\t\tChartPie,\n\t\tNcAppNavigationItem,\n\t\tNcProgressBar,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tloadingStorageStats: false,\n\t\t\tstorageStats: loadState('files', 'storageStats', null),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tstorageStatsTitle() {\n\t\t\tconst usedQuotaByte = formatFileSize(this.storageStats?.used, false, false)\n\t\t\tconst quotaByte = formatFileSize(this.storageStats?.quota, false, false)\n\n\t\t\t// If no quota set\n\t\t\tif (this.storageStats?.quota < 0) {\n\t\t\t\treturn this.t('files', '{usedQuotaByte} used', { usedQuotaByte })\n\t\t\t}\n\n\t\t\treturn this.t('files', '{used} of {quota} used', {\n\t\t\t\tused: usedQuotaByte,\n\t\t\t\tquota: quotaByte,\n\t\t\t})\n\t\t},\n\t\tstorageStatsTooltip() {\n\t\t\tif (!this.storageStats.relative) {\n\t\t\t\treturn ''\n\t\t\t}\n\n\t\t\treturn this.t('files', '{relative}% used', this.storageStats)\n\t\t},\n\t},\n\n\tbeforeMount() {\n\t\t/**\n\t\t * Update storage stats every minute\n\t\t * TODO: remove when all views are migrated to Vue\n\t\t */\n\t\tsetInterval(this.throttleUpdateStorageStats, 60 * 1000)\n\n\t\tsubscribe('files:node:created', this.throttleUpdateStorageStats)\n\t\tsubscribe('files:node:deleted', this.throttleUpdateStorageStats)\n\t\tsubscribe('files:node:moved', this.throttleUpdateStorageStats)\n\t\tsubscribe('files:node:updated', this.throttleUpdateStorageStats)\n\t},\n\n\tmounted() {\n\t\t// If the user has a quota set, warn if the available account storage is <=0\n\t\t//\n\t\t// NOTE: This doesn't catch situations where actual *server*\n\t\t// disk (non-quota) space is low, but those should probably\n\t\t// be handled differently anyway since a regular user can't\n\t\t// can't do much about them (If we did want to indicate server disk\n\t\t// space matters to users, we'd probably want to use a warning\n\t\t// specific to that situation anyhow. So this covers warning covers\n\t\t// our primary day-to-day concern (individual account quota usage).\n\t\t//\n\t\tif (this.storageStats?.quota > 0 && this.storageStats?.free === 0) {\n\t\t\tthis.showStorageFullWarning()\n\t\t}\n\t},\n\n\tmethods: {\n\t\t// From user input\n\t\tdebounceUpdateStorageStats: debounce(200, function(event) {\n\t\t\tthis.updateStorageStats(event)\n\t\t}),\n\t\t// From interval or event bus\n\t\tthrottleUpdateStorageStats: throttle(1000, function(event) {\n\t\t\tthis.updateStorageStats(event)\n\t\t}),\n\n\t\t/**\n\t\t * Update the storage stats\n\t\t * Throttled at max 1 refresh per minute\n\t\t *\n\t\t * @param {Event} [event] if user interaction\n\t\t */\n\t\tasync updateStorageStats(event = null) {\n\t\t\tif (this.loadingStorageStats) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.loadingStorageStats = true\n\t\t\ttry {\n\t\t\t\tconst response = await axios.get(generateUrl('/apps/files/api/v1/stats'))\n\t\t\t\tif (!response?.data?.data) {\n\t\t\t\t\tthrow new Error('Invalid storage stats')\n\t\t\t\t}\n\n\t\t\t\t// Warn the user if the available account storage changed from > 0 to 0\n\t\t\t\t// (unless only because quota was intentionally set to 0 by admin in the interim)\n\t\t\t\tif (this.storageStats?.free > 0 && response.data.data?.free === 0 && response.data.data?.quota > 0) {\n\t\t\t\t\tthis.showStorageFullWarning()\n\t\t\t\t}\n\n\t\t\t\tthis.storageStats = response.data.data\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('Could not refresh storage stats', { error })\n\t\t\t\t// Only show to the user if it was manually triggered\n\t\t\t\tif (event) {\n\t\t\t\t\tshowError(t('files', 'Could not refresh storage stats'))\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tthis.loadingStorageStats = false\n\t\t\t}\n\t\t},\n\n\t\tshowStorageFullWarning() {\n\t\t\tshowError(this.t('files', 'Your storage is full, files can not be updated or synced anymore!'))\n\t\t},\n\n\t\tt: translate,\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n// User storage stats display\n.app-navigation-entry__settings-quota {\n\t// Align title with progress and icon\n\t--app-navigation-quota-margin: calc((var(--default-clickable-area) - 24px) / 2); // 20px icon size and 4px progress bar\n\n\t&--not-unlimited :deep(.app-navigation-entry__name) {\n\t\tline-height: 1;\n\t\tmargin-top: var(--app-navigation-quota-margin);\n\t}\n\n\tprogress {\n\t\tposition: absolute;\n\t\tbottom: var(--app-navigation-quota-margin);\n\t\tmargin-inline-start: var(--default-clickable-area);\n\t\twidth: calc(100% - (1.5 * var(--default-clickable-area)));\n\t}\n}\n</style>\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=style&index=0&id=6ed9379e&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationQuota.vue?vue&type=style&index=0&id=6ed9379e&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./NavigationQuota.vue?vue&type=template&id=6ed9379e&scoped=true\"\nimport script from \"./NavigationQuota.vue?vue&type=script&lang=js\"\nexport * from \"./NavigationQuota.vue?vue&type=script&lang=js\"\nimport style0 from \"./NavigationQuota.vue?vue&type=style&index=0&id=6ed9379e&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6ed9379e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.storageStats)?_c('NcAppNavigationItem',{staticClass:\"app-navigation-entry__settings-quota\",class:{ 'app-navigation-entry__settings-quota--not-unlimited': _vm.storageStats.quota >= 0},attrs:{\"aria-description\":_vm.t('files', 'Storage information'),\"loading\":_vm.loadingStorageStats,\"name\":_vm.storageStatsTitle,\"title\":_vm.storageStatsTooltip,\"data-cy-files-navigation-settings-quota\":\"\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.debounceUpdateStorageStats.apply(null, arguments)}}},[_c('ChartPie',{attrs:{\"slot\":\"icon\",\"size\":20},slot:\"icon\"}),_vm._v(\" \"),(_vm.storageStats.quota >= 0)?_c('NcProgressBar',{attrs:{\"slot\":\"extra\",\"aria-label\":_vm.t('files', 'Storage quota'),\"error\":_vm.storageStats.relative > 80,\"value\":Math.min(_vm.storageStats.relative, 100)},slot:\"extra\"}):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppSettingsDialog',{attrs:{\"open\":_vm.open,\"show-navigation\":true,\"name\":_vm.t('files', 'Files settings')},on:{\"update:open\":_vm.onClose}},[_c('NcAppSettingsSection',{attrs:{\"id\":\"settings\",\"name\":_vm.t('files', 'Files settings')}},[_c('NcCheckboxRadioSwitch',{attrs:{\"data-cy-files-settings-setting\":\"sort_favorites_first\",\"checked\":_vm.userConfig.sort_favorites_first},on:{\"update:checked\":function($event){return _vm.setConfig('sort_favorites_first', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Sort favorites first'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"data-cy-files-settings-setting\":\"sort_folders_first\",\"checked\":_vm.userConfig.sort_folders_first},on:{\"update:checked\":function($event){return _vm.setConfig('sort_folders_first', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Sort folders before files'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"data-cy-files-settings-setting\":\"show_hidden\",\"checked\":_vm.userConfig.show_hidden},on:{\"update:checked\":function($event){return _vm.setConfig('show_hidden', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Show hidden files'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"data-cy-files-settings-setting\":\"crop_image_previews\",\"checked\":_vm.userConfig.crop_image_previews},on:{\"update:checked\":function($event){return _vm.setConfig('crop_image_previews', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Crop image previews'))+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.enableGridView)?_c('NcCheckboxRadioSwitch',{attrs:{\"data-cy-files-settings-setting\":\"grid_view\",\"checked\":_vm.userConfig.grid_view},on:{\"update:checked\":function($event){return _vm.setConfig('grid_view', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Enable the grid view'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"data-cy-files-settings-setting\":\"folder_tree\",\"checked\":_vm.userConfig.folder_tree},on:{\"update:checked\":function($event){return _vm.setConfig('folder_tree', $event)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Enable folder tree'))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),(_vm.settings.length !== 0)?_c('NcAppSettingsSection',{attrs:{\"id\":\"more-settings\",\"name\":_vm.t('files', 'Additional settings')}},[_vm._l((_vm.settings),function(setting){return [_c('Setting',{key:setting.name,attrs:{\"el\":setting.el}})]})],2):_vm._e(),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"webdav\",\"name\":_vm.t('files', 'WebDAV')}},[_c('NcInputField',{attrs:{\"id\":\"webdav-url-input\",\"label\":_vm.t('files', 'WebDAV URL'),\"show-trailing-button\":true,\"success\":_vm.webdavUrlCopied,\"trailing-button-label\":_vm.t('files', 'Copy to clipboard'),\"value\":_vm.webdavUrl,\"readonly\":\"readonly\",\"type\":\"url\"},on:{\"focus\":function($event){return $event.target.select()},\"trailing-button-click\":_vm.copyCloudId},scopedSlots:_vm._u([{key:\"trailing-button-icon\",fn:function(){return [_c('Clipboard',{attrs:{\"size\":20}})]},proxy:true}])}),_vm._v(\" \"),_c('em',[_c('a',{staticClass:\"setting-link\",attrs:{\"href\":_vm.webdavDocs,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Use this address to access your Files via WebDAV'))+\" ↗\\n\\t\\t\\t\")])]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('em',[_c('a',{staticClass:\"setting-link\",attrs:{\"href\":_vm.appPasswordUrl}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'If you have enabled 2FA, you must create and use a new app password by clicking here.'))+\" ↗\\n\\t\\t\\t\")])])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div />\n</template>\n<script>\nexport default {\n\tname: 'Setting',\n\tprops: {\n\t\tel: {\n\t\t\ttype: Function,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.$el.appendChild(this.el())\n\t},\n}\n</script>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Setting.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Setting.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Setting.vue?vue&type=template&id=315a4ce8\"\nimport script from \"./Setting.vue?vue&type=script&lang=js\"\nexport * from \"./Setting.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineStore } from 'pinia';\nimport { emit, subscribe } from '@nextcloud/event-bus';\nimport { generateUrl } from '@nextcloud/router';\nimport { loadState } from '@nextcloud/initial-state';\nimport axios from '@nextcloud/axios';\nimport Vue from 'vue';\nconst userConfig = loadState('files', 'config', {\n show_hidden: false,\n crop_image_previews: true,\n sort_favorites_first: true,\n sort_folders_first: true,\n grid_view: false,\n});\nexport const useUserConfigStore = function (...args) {\n const store = defineStore('userconfig', {\n state: () => ({\n userConfig,\n }),\n actions: {\n /**\n * Update the user config local store\n * @param key\n * @param value\n */\n onUpdate(key, value) {\n Vue.set(this.userConfig, key, value);\n },\n /**\n * Update the user config local store AND on server side\n * @param key\n * @param value\n */\n async update(key, value) {\n await axios.put(generateUrl('/apps/files/api/v1/config/' + key), {\n value,\n });\n emit('files:config:updated', { key, value });\n },\n },\n });\n const userConfigStore = store(...args);\n // Make sure we only register the listeners once\n if (!userConfigStore._initialized) {\n subscribe('files:config:updated', function ({ key, value }) {\n userConfigStore.onUpdate(key, value);\n });\n userConfigStore._initialized = true;\n }\n return userConfigStore;\n};\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js\"","<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n<template>\n\t<NcAppSettingsDialog :open=\"open\"\n\t\t:show-navigation=\"true\"\n\t\t:name=\"t('files', 'Files settings')\"\n\t\t@update:open=\"onClose\">\n\t\t<!-- Settings API-->\n\t\t<NcAppSettingsSection id=\"settings\" :name=\"t('files', 'Files settings')\">\n\t\t\t<NcCheckboxRadioSwitch data-cy-files-settings-setting=\"sort_favorites_first\"\n\t\t\t\t:checked=\"userConfig.sort_favorites_first\"\n\t\t\t\t@update:checked=\"setConfig('sort_favorites_first', $event)\">\n\t\t\t\t{{ t('files', 'Sort favorites first') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t<NcCheckboxRadioSwitch data-cy-files-settings-setting=\"sort_folders_first\"\n\t\t\t\t:checked=\"userConfig.sort_folders_first\"\n\t\t\t\t@update:checked=\"setConfig('sort_folders_first', $event)\">\n\t\t\t\t{{ t('files', 'Sort folders before files') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t<NcCheckboxRadioSwitch data-cy-files-settings-setting=\"show_hidden\"\n\t\t\t\t:checked=\"userConfig.show_hidden\"\n\t\t\t\t@update:checked=\"setConfig('show_hidden', $event)\">\n\t\t\t\t{{ t('files', 'Show hidden files') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t<NcCheckboxRadioSwitch data-cy-files-settings-setting=\"crop_image_previews\"\n\t\t\t\t:checked=\"userConfig.crop_image_previews\"\n\t\t\t\t@update:checked=\"setConfig('crop_image_previews', $event)\">\n\t\t\t\t{{ t('files', 'Crop image previews') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t<NcCheckboxRadioSwitch v-if=\"enableGridView\"\n\t\t\t\tdata-cy-files-settings-setting=\"grid_view\"\n\t\t\t\t:checked=\"userConfig.grid_view\"\n\t\t\t\t@update:checked=\"setConfig('grid_view', $event)\">\n\t\t\t\t{{ t('files', 'Enable the grid view') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t<NcCheckboxRadioSwitch data-cy-files-settings-setting=\"folder_tree\"\n\t\t\t\t:checked=\"userConfig.folder_tree\"\n\t\t\t\t@update:checked=\"setConfig('folder_tree', $event)\">\n\t\t\t\t{{ t('files', 'Enable folder tree') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</NcAppSettingsSection>\n\n\t\t<!-- Settings API-->\n\t\t<NcAppSettingsSection v-if=\"settings.length !== 0\"\n\t\t\tid=\"more-settings\"\n\t\t\t:name=\"t('files', 'Additional settings')\">\n\t\t\t<template v-for=\"setting in settings\">\n\t\t\t\t<Setting :key=\"setting.name\" :el=\"setting.el\" />\n\t\t\t</template>\n\t\t</NcAppSettingsSection>\n\n\t\t<!-- Webdav URL-->\n\t\t<NcAppSettingsSection id=\"webdav\" :name=\"t('files', 'WebDAV')\">\n\t\t\t<NcInputField id=\"webdav-url-input\"\n\t\t\t\t:label=\"t('files', 'WebDAV URL')\"\n\t\t\t\t:show-trailing-button=\"true\"\n\t\t\t\t:success=\"webdavUrlCopied\"\n\t\t\t\t:trailing-button-label=\"t('files', 'Copy to clipboard')\"\n\t\t\t\t:value=\"webdavUrl\"\n\t\t\t\treadonly=\"readonly\"\n\t\t\t\ttype=\"url\"\n\t\t\t\t@focus=\"$event.target.select()\"\n\t\t\t\t@trailing-button-click=\"copyCloudId\">\n\t\t\t\t<template #trailing-button-icon>\n\t\t\t\t\t<Clipboard :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcInputField>\n\t\t\t<em>\n\t\t\t\t<a class=\"setting-link\"\n\t\t\t\t\t:href=\"webdavDocs\"\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noreferrer noopener\">\n\t\t\t\t\t{{ t('files', 'Use this address to access your Files via WebDAV') }} ↗\n\t\t\t\t</a>\n\t\t\t</em>\n\t\t\t<br>\n\t\t\t<em>\n\t\t\t\t<a class=\"setting-link\" :href=\"appPasswordUrl\">\n\t\t\t\t\t{{ t('files', 'If you have enabled 2FA, you must create and use a new app password by clicking here.') }} ↗\n\t\t\t\t</a>\n\t\t\t</em>\n\t\t</NcAppSettingsSection>\n\t</NcAppSettingsDialog>\n</template>\n\n<script>\nimport NcAppSettingsDialog from '@nextcloud/vue/dist/Components/NcAppSettingsDialog.js'\nimport NcAppSettingsSection from '@nextcloud/vue/dist/Components/NcAppSettingsSection.js'\nimport NcCheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js'\nimport Clipboard from 'vue-material-design-icons/ContentCopy.vue'\nimport NcInputField from '@nextcloud/vue/dist/Components/NcInputField.js'\nimport Setting from '../components/Setting.vue'\n\nimport { generateRemoteUrl, generateUrl } from '@nextcloud/router'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { showError, showSuccess } from '@nextcloud/dialogs'\nimport { translate } from '@nextcloud/l10n'\nimport { loadState } from '@nextcloud/initial-state'\nimport { useUserConfigStore } from '../store/userconfig.ts'\n\nexport default {\n\tname: 'Settings',\n\tcomponents: {\n\t\tClipboard,\n\t\tNcAppSettingsDialog,\n\t\tNcAppSettingsSection,\n\t\tNcCheckboxRadioSwitch,\n\t\tNcInputField,\n\t\tSetting,\n\t},\n\n\tprops: {\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\tsetup() {\n\t\tconst userConfigStore = useUserConfigStore()\n\t\treturn {\n\t\t\tuserConfigStore,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\t// Settings API\n\t\t\tsettings: window.OCA?.Files?.Settings?.settings || [],\n\n\t\t\t// Webdav infos\n\t\t\twebdavUrl: generateRemoteUrl('dav/files/' + encodeURIComponent(getCurrentUser()?.uid)),\n\t\t\twebdavDocs: 'https://docs.nextcloud.com/server/stable/go.php?to=user-webdav',\n\t\t\tappPasswordUrl: generateUrl('/settings/user/security#generate-app-token-section'),\n\t\t\twebdavUrlCopied: false,\n\t\t\tenableGridView: (loadState('core', 'config', [])['enable_non-accessible_features'] ?? true),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tuserConfig() {\n\t\t\treturn this.userConfigStore.userConfig\n\t\t},\n\t},\n\n\tbeforeMount() {\n\t\t// Update the settings API entries state\n\t\tthis.settings.forEach(setting => setting.open())\n\t},\n\n\tbeforeDestroy() {\n\t\t// Update the settings API entries state\n\t\tthis.settings.forEach(setting => setting.close())\n\t},\n\n\tmethods: {\n\t\tonClose() {\n\t\t\tthis.$emit('close')\n\t\t},\n\n\t\tsetConfig(key, value) {\n\t\t\tthis.userConfigStore.update(key, value)\n\t\t},\n\n\t\tasync copyCloudId() {\n\t\t\tdocument.querySelector('input#webdav-url-input').select()\n\n\t\t\tif (!navigator.clipboard) {\n\t\t\t\t// Clipboard API not available\n\t\t\t\tshowError(t('files', 'Clipboard is not available'))\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tawait navigator.clipboard.writeText(this.webdavUrl)\n\t\t\tthis.webdavUrlCopied = true\n\t\t\tshowSuccess(t('files', 'WebDAV URL copied to clipboard'))\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.webdavUrlCopied = false\n\t\t\t}, 5000)\n\t\t},\n\n\t\tt: translate,\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.setting-link:hover {\n\ttext-decoration: underline;\n}\n</style>\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=style&index=0&id=23881b2c&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=style&index=0&id=23881b2c&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Settings.vue?vue&type=template&id=23881b2c&scoped=true\"\nimport script from \"./Settings.vue?vue&type=script&lang=js\"\nexport * from \"./Settings.vue?vue&type=script&lang=js\"\nimport style0 from \"./Settings.vue?vue&type=style&index=0&id=23881b2c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"23881b2c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('Fragment',_vm._l((_vm.currentViews),function(view){return _c('NcAppNavigationItem',{key:view.id,staticClass:\"files-navigation__item\",style:(_vm.style),attrs:{\"allow-collapse\":\"\",\"loading\":view.loading,\"data-cy-files-navigation-item\":view.id,\"exact\":_vm.useExactRouteMatching(view),\"icon\":view.iconClass,\"name\":view.name,\"open\":_vm.isExpanded(view),\"pinned\":view.sticky,\"to\":_vm.generateToNavigation(view)},on:{\"update:open\":(open) => _vm.onOpen(open, view)},scopedSlots:_vm._u([(view.icon)?{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"svg\":view.icon}})]},proxy:true}:null],null,true)},[_vm._v(\" \"),(view.loadChildViews && !view.loaded)?_c('li',{staticStyle:{\"display\":\"none\"}}):_vm._e(),_vm._v(\" \"),(_vm.hasChildViews(view))?_c('FilesNavigationItem',{attrs:{\"parent\":view,\"level\":_vm.level + 1,\"views\":_vm.filterView(_vm.views, _vm.parent.id)}}):_vm._e()],1)}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { getNavigation } from '@nextcloud/files';\nimport { subscribe } from '@nextcloud/event-bus';\nimport { onMounted, onUnmounted, shallowRef, triggerRef } from 'vue';\n/**\n * Composable to get the currently active files view from the files navigation\n */\nexport function useNavigation() {\n const navigation = getNavigation();\n const views = shallowRef(navigation.views);\n const currentView = shallowRef(navigation.active);\n /**\n * Event listener to update the `currentView`\n * @param event The update event\n */\n function onUpdateActive(event) {\n currentView.value = event.detail;\n }\n /**\n * Event listener to update all registered views\n */\n function onUpdateViews() {\n views.value = navigation.views;\n triggerRef(views);\n }\n onMounted(() => {\n navigation.addEventListener('update', onUpdateViews);\n navigation.addEventListener('updateActive', onUpdateActive);\n subscribe('files:navigation:updated', onUpdateViews);\n });\n onUnmounted(() => {\n navigation.removeEventListener('update', onUpdateViews);\n navigation.removeEventListener('updateActive', onUpdateActive);\n });\n return {\n currentView,\n views,\n };\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { defineStore } from 'pinia';\nimport { emit, subscribe } from '@nextcloud/event-bus';\nimport { generateUrl } from '@nextcloud/router';\nimport { loadState } from '@nextcloud/initial-state';\nimport axios from '@nextcloud/axios';\nimport Vue from 'vue';\nconst viewConfig = loadState('files', 'viewConfigs', {});\nexport const useViewConfigStore = function (...args) {\n const store = defineStore('viewconfig', {\n state: () => ({\n viewConfig,\n }),\n getters: {\n getConfig: (state) => (view) => state.viewConfig[view] || {},\n getConfigs: (state) => () => state.viewConfig,\n },\n actions: {\n /**\n * Update the view config local store\n * @param view\n * @param key\n * @param value\n */\n onUpdate(view, key, value) {\n if (!this.viewConfig[view]) {\n Vue.set(this.viewConfig, view, {});\n }\n Vue.set(this.viewConfig[view], key, value);\n },\n /**\n * Update the view config local store AND on server side\n * @param view\n * @param key\n * @param value\n */\n async update(view, key, value) {\n axios.put(generateUrl('/apps/files/api/v1/views'), {\n value,\n view,\n key,\n });\n emit('files:viewconfig:updated', { view, key, value });\n },\n /**\n * Set the sorting key AND sort by ASC\n * The key param must be a valid key of a File object\n * If not found, will be searched within the File attributes\n * @param key\n * @param view\n */\n setSortingBy(key = 'basename', view = 'files') {\n // Save new config\n this.update(view, 'sorting_mode', key);\n this.update(view, 'sorting_direction', 'asc');\n },\n /**\n * Toggle the sorting direction\n * @param view\n */\n toggleSortingDirection(view = 'files') {\n const config = this.getConfig(view) || { sorting_direction: 'asc' };\n const newDirection = config.sorting_direction === 'asc' ? 'desc' : 'asc';\n // Save new config\n this.update(view, 'sorting_direction', newDirection);\n },\n },\n });\n const viewConfigStore = store(...args);\n // Make sure we only register the listeners once\n if (!viewConfigStore._initialized) {\n subscribe('files:viewconfig:updated', function ({ view, key, value }) {\n viewConfigStore.onUpdate(view, key, value);\n });\n viewConfigStore._initialized = true;\n }\n return viewConfigStore;\n};\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesNavigationItem.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesNavigationItem.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FilesNavigationItem.vue?vue&type=template&id=7a39a8a8\"\nimport script from \"./FilesNavigationItem.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesNavigationItem.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { subscribe } from '@nextcloud/event-bus';\nimport { FileListFilter } from '@nextcloud/files';\n/**\n * Simple file list filter controlled by the Navigation search box\n */\nexport class FilenameFilter extends FileListFilter {\n searchQuery = '';\n constructor() {\n super('files:filename', 5);\n subscribe('files:navigation:changed', () => this.updateQuery(''));\n }\n filter(nodes) {\n const queryParts = this.searchQuery.toLocaleLowerCase().split(' ').filter(Boolean);\n return nodes.filter((node) => {\n const displayname = node.displayname.toLocaleLowerCase();\n return queryParts.every((part) => displayname.includes(part));\n });\n }\n updateQuery(query) {\n query = (query || '').trim();\n // Only if the query is different we update the filter to prevent re-computing all nodes\n if (query !== this.searchQuery) {\n this.searchQuery = query;\n this.filterUpdated();\n const chips = [];\n if (query !== '') {\n chips.push({\n text: query,\n onclick: () => {\n this.updateQuery('');\n },\n });\n }\n this.updateChips(chips);\n // Emit the new query as it might have come not from the Navigation\n this.dispatchTypedEvent('update:query', new CustomEvent('update:query', { detail: query }));\n }\n }\n}\n","import { subscribe } from '@nextcloud/event-bus';\nimport { getFileListFilters } from '@nextcloud/files';\nimport { defineStore } from 'pinia';\nimport logger from '../logger';\nexport const useFiltersStore = defineStore('keyboard', {\n state: () => ({\n chips: {},\n filters: [],\n filtersChanged: false,\n }),\n getters: {\n /**\n * Currently active filter chips\n * @param state Internal state\n */\n activeChips(state) {\n return Object.values(state.chips).flat();\n },\n /**\n * Filters sorted by order\n * @param state Internal state\n */\n sortedFilters(state) {\n return state.filters.sort((a, b) => a.order - b.order);\n },\n /**\n * All filters that provide a UI for visual controlling the filter state\n */\n filtersWithUI() {\n return this.sortedFilters.filter((filter) => 'mount' in filter);\n },\n },\n actions: {\n addFilter(filter) {\n filter.addEventListener('update:chips', this.onFilterUpdateChips);\n filter.addEventListener('update:filter', this.onFilterUpdate);\n this.filters.push(filter);\n logger.debug('New file list filter registered', { id: filter.id });\n },\n removeFilter(filterId) {\n const index = this.filters.findIndex(({ id }) => id === filterId);\n if (index > -1) {\n const [filter] = this.filters.splice(index, 1);\n filter.removeEventListener('update:chips', this.onFilterUpdateChips);\n filter.removeEventListener('update:filter', this.onFilterUpdate);\n logger.debug('Files list filter unregistered', { id: filterId });\n }\n },\n onFilterUpdate() {\n this.filtersChanged = true;\n },\n onFilterUpdateChips(event) {\n const id = event.target.id;\n this.chips = { ...this.chips, [id]: [...event.detail] };\n logger.debug('File list filter chips updated', { filter: id, chips: event.detail });\n },\n init() {\n subscribe('files:filter:added', this.addFilter);\n subscribe('files:filter:removed', this.removeFilter);\n for (const filter of getFileListFilters()) {\n this.addFilter(filter);\n }\n },\n },\n});\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcAppNavigation',{staticClass:\"files-navigation\",attrs:{\"data-cy-files-navigation\":\"\",\"aria-label\":_vm.t('files', 'Files')},scopedSlots:_vm._u([{key:\"search\",fn:function(){return [_c('NcAppNavigationSearch',{attrs:{\"label\":_vm.t('files', 'Filter filenames…')},model:{value:(_vm.searchQuery),callback:function ($$v) {_vm.searchQuery=$$v},expression:\"searchQuery\"}})]},proxy:true},{key:\"default\",fn:function(){return [_c('NcAppNavigationList',{staticClass:\"files-navigation__list\",attrs:{\"aria-label\":_vm.t('files', 'Views')}},[_c('FilesNavigationItem',{attrs:{\"views\":_vm.viewMap}})],1),_vm._v(\" \"),_c('SettingsModal',{attrs:{\"open\":_vm.settingsOpened,\"data-cy-files-navigation-settings\":\"\"},on:{\"close\":_vm.onSettingsClose}})]},proxy:true},{key:\"footer\",fn:function(){return [_c('ul',{staticClass:\"app-navigation-entry__settings\"},[_c('NavigationQuota'),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"name\":_vm.t('files', 'Files settings'),\"data-cy-files-navigation-settings-button\":\"\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.openSettings.apply(null, arguments)}}},[_c('IconCog',{attrs:{\"slot\":\"icon\",\"size\":20},slot:\"icon\"})],1)],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=ts\"","/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { registerFileListFilter, unregisterFileListFilter } from '@nextcloud/files';\nimport { watchThrottled } from '@vueuse/core';\nimport { onMounted, onUnmounted, ref } from 'vue';\nimport { FilenameFilter } from '../filters/FilenameFilter';\n/**\n * This is for the `Navigation` component to provide a filename filter\n */\nexport function useFilenameFilter() {\n const searchQuery = ref('');\n const filenameFilter = new FilenameFilter();\n /**\n * Updating the search query ref from the filter\n * @param event The update:query event\n */\n function updateQuery(event) {\n if (event.type === 'update:query') {\n searchQuery.value = event.detail;\n event.stopPropagation();\n }\n }\n onMounted(() => {\n filenameFilter.addEventListener('update:query', updateQuery);\n registerFileListFilter(filenameFilter);\n });\n onUnmounted(() => {\n filenameFilter.removeEventListener('update:query', updateQuery);\n unregisterFileListFilter(filenameFilter.id);\n });\n // Update the query on the filter, but throttle to max. every 800ms\n // This will debounce the filter refresh\n watchThrottled(searchQuery, () => {\n filenameFilter.updateQuery(searchQuery.value);\n }, { throttle: 800 });\n return {\n searchQuery,\n };\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=style&index=0&id=11366bf7&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=style&index=0&id=11366bf7&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Navigation.vue?vue&type=template&id=11366bf7&scoped=true\"\nimport script from \"./Navigation.vue?vue&type=script&lang=ts\"\nexport * from \"./Navigation.vue?vue&type=script&lang=ts\"\nimport style0 from \"./Navigation.vue?vue&type=style&index=0&id=11366bf7&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"11366bf7\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcAppContent',{attrs:{\"page-heading\":_vm.pageHeading,\"data-cy-files-content\":\"\"}},[_c('div',{staticClass:\"files-list__header\"},[_c('BreadCrumbs',{attrs:{\"path\":_vm.directory},on:{\"reload\":_vm.fetchContent},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [(_vm.canShare && _vm.filesListWidth >= 512)?_c('NcButton',{staticClass:\"files-list__header-share-button\",class:{ 'files-list__header-share-button--shared': _vm.shareButtonType },attrs:{\"aria-label\":_vm.shareButtonLabel,\"title\":_vm.shareButtonLabel,\"type\":\"tertiary\"},on:{\"click\":_vm.openSharingSidebar},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.shareButtonType === _vm.Type.SHARE_TYPE_LINK)?_c('LinkIcon'):_c('AccountPlusIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2969853559)}):_vm._e(),_vm._v(\" \"),(!_vm.canUpload || _vm.isQuotaExceeded)?_c('NcButton',{staticClass:\"files-list__header-upload-button--disabled\",attrs:{\"aria-label\":_vm.cantUploadLabel,\"title\":_vm.cantUploadLabel,\"disabled\":true,\"type\":\"secondary\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('PlusIcon',{attrs:{\"size\":20}})]},proxy:true}],null,false,2953566425)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'New'))+\"\\n\\t\\t\\t\\t\")]):(_vm.currentFolder)?_c('UploadPicker',{staticClass:\"files-list__header-upload-button\",attrs:{\"allow-folders\":\"\",\"content\":_vm.getContent,\"destination\":_vm.currentFolder,\"forbidden-characters\":_vm.forbiddenCharacters,\"multiple\":\"\"},on:{\"failed\":_vm.onUploadFail,\"uploaded\":_vm.onUpload}}):_vm._e()]},proxy:true}])}),_vm._v(\" \"),(_vm.isRefreshing)?_c('NcLoadingIcon',{staticClass:\"files-list__refresh-icon\"}):_vm._e(),_vm._v(\" \"),(_vm.filesListWidth >= 512 && _vm.enableGridView)?_c('NcButton',{staticClass:\"files-list__header-grid-button\",attrs:{\"aria-label\":_vm.gridViewButtonLabel,\"title\":_vm.gridViewButtonLabel,\"type\":\"tertiary\"},on:{\"click\":_vm.toggleGridView},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.userConfig.grid_view)?_c('ListViewIcon'):_c('ViewGridIcon')]},proxy:true}],null,false,1682960703)}):_vm._e()],1),_vm._v(\" \"),(!_vm.loading && _vm.canUpload)?_c('DragAndDropNotice',{attrs:{\"current-folder\":_vm.currentFolder}}):_vm._e(),_vm._v(\" \"),(_vm.loading && !_vm.isRefreshing)?_c('NcLoadingIcon',{staticClass:\"files-list__loading-icon\",attrs:{\"size\":38,\"name\":_vm.t('files', 'Loading current folder')}}):(!_vm.loading && _vm.isEmptyDir)?[(_vm.error)?_c('NcEmptyContent',{attrs:{\"name\":_vm.error,\"data-cy-files-content-error\":\"\"},scopedSlots:_vm._u([{key:\"action\",fn:function(){return [_c('NcButton',{attrs:{\"type\":\"secondary\"},on:{\"click\":_vm.fetchContent},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconReload',{attrs:{\"size\":20}})]},proxy:true}],null,false,3448385010)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Retry'))+\"\\n\\t\\t\\t\\t\")])]},proxy:true},{key:\"icon\",fn:function(){return [_c('IconAlertCircleOutline')]},proxy:true}],null,false,2673163798)}):(_vm.currentView?.emptyView)?_c('div',{staticClass:\"files-list__empty-view-wrapper\"},[_c('div',{ref:\"customEmptyView\"})]):_c('NcEmptyContent',{attrs:{\"name\":_vm.currentView?.emptyTitle || _vm.t('files', 'No files in here'),\"description\":_vm.currentView?.emptyCaption || _vm.t('files', 'Upload some content or sync with your devices!'),\"data-cy-files-content-empty\":\"\"},scopedSlots:_vm._u([(_vm.directory !== '/')?{key:\"action\",fn:function(){return [(_vm.canUpload && !_vm.isQuotaExceeded)?_c('UploadPicker',{staticClass:\"files-list__header-upload-button\",attrs:{\"allow-folders\":\"\",\"content\":_vm.getContent,\"destination\":_vm.currentFolder,\"forbidden-characters\":_vm.forbiddenCharacters,\"multiple\":\"\"},on:{\"failed\":_vm.onUploadFail,\"uploaded\":_vm.onUpload}}):_c('NcButton',{attrs:{\"to\":_vm.toPreviousDir,\"type\":\"primary\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Go back'))+\"\\n\\t\\t\\t\\t\")])]},proxy:true}:null,{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"svg\":_vm.currentView.icon}})]},proxy:true}],null,true)})]:_c('FilesListVirtual',{ref:\"filesListVirtual\",attrs:{\"current-folder\":_vm.currentFolder,\"current-view\":_vm.currentView,\"nodes\":_vm.dirContentsSorted}})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : true\"\n :aria-label=\"title\"\n class=\"material-design-icon reload-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M2 12C2 16.97 6.03 21 11 21C13.39 21 15.68 20.06 17.4 18.4L15.9 16.9C14.63 18.25 12.86 19 11 19C4.76 19 1.64 11.46 6.05 7.05C10.46 2.64 18 5.77 18 12H15L19 16H19.1L23 12H20C20 7.03 15.97 3 11 3C6.03 3 2 7.03 2 12Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ReloadIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Reload.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Reload.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Reload.vue?vue&type=template&id=23837d1a\"\nimport script from \"./Reload.vue?vue&type=script&lang=js\"\nexport * from \"./Reload.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon reload-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M2 12C2 16.97 6.03 21 11 21C13.39 21 15.68 20.06 17.4 18.4L15.9 16.9C14.63 18.25 12.86 19 11 19C4.76 19 1.64 11.46 6.05 7.05C10.46 2.64 18 5.77 18 12H15L19 16H19.1L23 12H20C20 7.03 15.97 3 11 3C6.03 3 2 7.03 2 12Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : true\"\n :aria-label=\"title\"\n class=\"material-design-icon format-list-bulleted-square-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M3,4H7V8H3V4M9,5V7H21V5H9M3,10H7V14H3V10M9,11V13H21V11H9M3,16H7V20H3V16M9,17V19H21V17H9\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"FormatListBulletedSquareIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./FormatListBulletedSquare.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./FormatListBulletedSquare.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FormatListBulletedSquare.vue?vue&type=template&id=00aea13f\"\nimport script from \"./FormatListBulletedSquare.vue?vue&type=script&lang=js\"\nexport * from \"./FormatListBulletedSquare.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon format-list-bulleted-square-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M3,4H7V8H3V4M9,5V7H21V5H9M3,10H7V14H3V10M9,11V13H21V11H9M3,16H7V20H3V16M9,17V19H21V17H9\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : true\"\n :aria-label=\"title\"\n class=\"material-design-icon account-plus-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M15,14C12.33,14 7,15.33 7,18V20H23V18C23,15.33 17.67,14 15,14M6,10V7H4V10H1V12H4V15H6V12H9V10M15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"AccountPlusIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountPlus.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountPlus.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AccountPlus.vue?vue&type=template&id=a16afc28\"\nimport script from \"./AccountPlus.vue?vue&type=script&lang=js\"\nexport * from \"./AccountPlus.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon account-plus-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M15,14C12.33,14 7,15.33 7,18V20H23V18C23,15.33 17.67,14 15,14M6,10V7H4V10H1V12H4V15H6V12H9V10M15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ViewGrid.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ViewGrid.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : true\"\n :aria-label=\"title\"\n class=\"material-design-icon view-grid-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M3,11H11V3H3M3,21H11V13H3M13,21H21V13H13M13,3V11H21V3\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ViewGridIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./ViewGrid.vue?vue&type=template&id=7b96a104\"\nimport script from \"./ViewGrid.vue?vue&type=script&lang=js\"\nexport * from \"./ViewGrid.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon view-grid-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M3,11H11V3H3M3,21H11V13H3M13,21H21V13H13M13,3V11H21V3\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { Permission, View, FileAction } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport InformationSvg from '@mdi/svg/svg/information-variant.svg?raw';\nimport logger from '../logger.ts';\nexport const ACTION_DETAILS = 'details';\nexport const action = new FileAction({\n id: ACTION_DETAILS,\n displayName: () => t('files', 'Open details'),\n iconSvgInline: () => InformationSvg,\n // Sidebar currently supports user folder only, /files/USER\n enabled: (nodes) => {\n // Only works on single node\n if (nodes.length !== 1) {\n return false;\n }\n if (!nodes[0]) {\n return false;\n }\n // Only work if the sidebar is available\n if (!window?.OCA?.Files?.Sidebar) {\n return false;\n }\n return (nodes[0].root?.startsWith('/files/') && nodes[0].permissions !== Permission.NONE) ?? false;\n },\n async exec(node, view, dir) {\n try {\n // TODO: migrate Sidebar to use a Node instead\n await window.OCA.Files.Sidebar.open(node.path);\n // Silently update current fileid\n window.OCP.Files.Router.goToRoute(null, { view: view.id, fileid: String(node.fileid) }, { ...window.OCP.Files.Router.query, dir }, true);\n return null;\n }\n catch (error) {\n logger.error('Error while opening sidebar', { error });\n return false;\n }\n },\n order: -50,\n});\n","/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { computed } from 'vue';\nimport { useRoute } from 'vue-router/composables';\n/**\n * Get information about the current route\n */\nexport function useRouteParameters() {\n const route = useRoute();\n /**\n * Get the path of the current active directory\n */\n const directory = computed(() => String(route.query.dir || '/')\n // Remove any trailing slash but leave root slash\n .replace(/^(.+)\\/$/, '$1'));\n /**\n * Get the current fileId used on the route\n */\n const fileId = computed(() => {\n const fileId = Number.parseInt(route.params.fileid ?? '0') || null;\n return Number.isNaN(fileId) ? null : fileId;\n });\n /**\n * State of `openFile` route param\n */\n const openFile = computed(\n // if `openfile` is set it is considered truthy, but allow to explicitly set it to 'false'\n () => 'openfile' in route.query && (typeof route.query.openfile !== 'string' || route.query.openfile.toLocaleLowerCase() !== 'false'));\n return {\n /** Path of currently open directory */\n directory,\n /** Current active fileId */\n fileId,\n /** Should the active node should be opened (`openFile` route param) */\n openFile,\n };\n}\n","/*!\n * vue-router v3.6.5\n * (c) 2022 Evan You\n * @license MIT\n */\nimport { getCurrentInstance, effectScope, shallowReactive, onUnmounted, computed, unref } from 'vue';\n\n// dev only warn if no current instance\n\nfunction throwNoCurrentInstance (method) {\n if (!getCurrentInstance()) {\n throw new Error(\n (\"[vue-router]: Missing current instance. \" + method + \"() must be called inside <script setup> or setup().\")\n )\n }\n}\n\nfunction useRouter () {\n if (process.env.NODE_ENV !== 'production') {\n throwNoCurrentInstance('useRouter');\n }\n\n return getCurrentInstance().proxy.$root.$router\n}\n\nfunction useRoute () {\n if (process.env.NODE_ENV !== 'production') {\n throwNoCurrentInstance('useRoute');\n }\n\n var root = getCurrentInstance().proxy.$root;\n if (!root._$route) {\n var route = effectScope(true).run(function () { return shallowReactive(Object.assign({}, root.$router.currentRoute)); }\n );\n root._$route = route;\n\n root.$router.afterEach(function (to) {\n Object.assign(route, to);\n });\n }\n\n return root._$route\n}\n\nfunction onBeforeRouteUpdate (guard) {\n if (process.env.NODE_ENV !== 'production') {\n throwNoCurrentInstance('onBeforeRouteUpdate');\n }\n\n return useFilteredGuard(guard, isUpdateNavigation)\n}\nfunction isUpdateNavigation (to, from, depth) {\n var toMatched = to.matched;\n var fromMatched = from.matched;\n return (\n toMatched.length >= depth &&\n toMatched\n .slice(0, depth + 1)\n .every(function (record, i) { return record === fromMatched[i]; })\n )\n}\n\nfunction isLeaveNavigation (to, from, depth) {\n var toMatched = to.matched;\n var fromMatched = from.matched;\n return toMatched.length < depth || toMatched[depth] !== fromMatched[depth]\n}\n\nfunction onBeforeRouteLeave (guard) {\n if (process.env.NODE_ENV !== 'production') {\n throwNoCurrentInstance('onBeforeRouteLeave');\n }\n\n return useFilteredGuard(guard, isLeaveNavigation)\n}\n\nvar noop = function () {};\nfunction useFilteredGuard (guard, fn) {\n var instance = getCurrentInstance();\n var router = useRouter();\n\n var target = instance.proxy;\n // find the nearest RouterView to know the depth\n while (\n target &&\n target.$vnode &&\n target.$vnode.data &&\n target.$vnode.data.routerViewDepth == null\n ) {\n target = target.$parent;\n }\n\n var depth =\n target && target.$vnode && target.$vnode.data\n ? target.$vnode.data.routerViewDepth\n : null;\n\n if (depth != null) {\n var removeGuard = router.beforeEach(function (to, from, next) {\n return fn(to, from, depth) ? guard(to, from, next) : next()\n });\n\n onUnmounted(removeGuard);\n return removeGuard\n }\n\n return noop\n}\n\n/* */\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction includesParams (outer, inner) {\n var loop = function ( key ) {\n var innerValue = inner[key];\n var outerValue = outer[key];\n if (typeof innerValue === 'string') {\n if (innerValue !== outerValue) { return { v: false } }\n } else {\n if (\n !Array.isArray(outerValue) ||\n outerValue.length !== innerValue.length ||\n innerValue.some(function (value, i) { return value !== outerValue[i]; })\n ) {\n return { v: false }\n }\n }\n };\n\n for (var key in inner) {\n var returned = loop( key );\n\n if ( returned ) return returned.v;\n }\n\n return true\n}\n\n// helpers from vue router 4\n\nfunction isSameRouteLocationParamsValue (a, b) {\n return Array.isArray(a)\n ? isEquivalentArray(a, b)\n : Array.isArray(b)\n ? isEquivalentArray(b, a)\n : a === b\n}\n\nfunction isEquivalentArray (a, b) {\n return Array.isArray(b)\n ? a.length === b.length && a.every(function (value, i) { return value === b[i]; })\n : a.length === 1 && a[0] === b\n}\n\nfunction isSameRouteLocationParams (a, b) {\n if (Object.keys(a).length !== Object.keys(b).length) { return false }\n\n for (var key in a) {\n if (!isSameRouteLocationParamsValue(a[key], b[key])) { return false }\n }\n\n return true\n}\n\nfunction useLink (props) {\n if (process.env.NODE_ENV !== 'production') {\n throwNoCurrentInstance('useLink');\n }\n\n var router = useRouter();\n var currentRoute = useRoute();\n\n var resolvedRoute = computed(function () { return router.resolve(unref(props.to), currentRoute); });\n\n var activeRecordIndex = computed(function () {\n var route = resolvedRoute.value.route;\n var matched = route.matched;\n var length = matched.length;\n var routeMatched = matched[length - 1];\n var currentMatched = currentRoute.matched;\n if (!routeMatched || !currentMatched.length) { return -1 }\n var index = currentMatched.indexOf(routeMatched);\n if (index > -1) { return index }\n // possible parent record\n var parentRecord = currentMatched[currentMatched.length - 2];\n\n return (\n // we are dealing with nested routes\n length > 1 &&\n // if the parent and matched route have the same path, this link is\n // referring to the empty child. Or we currently are on a different\n // child of the same parent\n parentRecord && parentRecord === routeMatched.parent\n )\n });\n\n var isActive = computed(\n function () { return activeRecordIndex.value > -1 &&\n includesParams(currentRoute.params, resolvedRoute.value.route.params); }\n );\n var isExactActive = computed(\n function () { return activeRecordIndex.value > -1 &&\n activeRecordIndex.value === currentRoute.matched.length - 1 &&\n isSameRouteLocationParams(currentRoute.params, resolvedRoute.value.route.params); }\n );\n\n var navigate = function (e) {\n var href = resolvedRoute.value.route;\n if (guardEvent(e)) {\n return props.replace\n ? router.replace(href)\n : router.push(href)\n }\n return Promise.resolve()\n };\n\n return {\n href: computed(function () { return resolvedRoute.value.href; }),\n route: computed(function () { return resolvedRoute.value.route; }),\n isExactActive: isExactActive,\n isActive: isActive,\n navigate: navigate\n }\n}\n\nexport { isSameRouteLocationParams, onBeforeRouteLeave, onBeforeRouteUpdate, useLink, useRoute, useRouter };\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { davGetClient } from '@nextcloud/files';\nexport const client = davGetClient();\n","import { defineStore } from 'pinia';\nimport { FileType, Folder, Node, getNavigation } from '@nextcloud/files';\nimport { subscribe } from '@nextcloud/event-bus';\nimport Vue from 'vue';\nimport logger from '../logger';\nimport { useFilesStore } from './files';\nexport const usePathsStore = function (...args) {\n const files = useFilesStore(...args);\n const store = defineStore('paths', {\n state: () => ({\n paths: {},\n _initialized: false,\n }),\n getters: {\n getPath: (state) => {\n return (service, path) => {\n if (!state.paths[service]) {\n return undefined;\n }\n return state.paths[service][path];\n };\n },\n },\n actions: {\n addPath(payload) {\n // If it doesn't exists, init the service state\n if (!this.paths[payload.service]) {\n Vue.set(this.paths, payload.service, {});\n }\n // Now we can set the provided path\n Vue.set(this.paths[payload.service], payload.path, payload.source);\n },\n deletePath(service, path) {\n // skip if service does not exist\n if (!this.paths[service]) {\n return;\n }\n Vue.delete(this.paths[service], path);\n },\n onDeletedNode(node) {\n const service = getNavigation()?.active?.id || 'files';\n if (node.type === FileType.Folder) {\n // Delete the path\n this.deletePath(service, node.path);\n }\n // Remove node from children\n if (node.dirname === '/') {\n const root = files.getRoot(service);\n // ensure sources are unique\n const children = new Set(root._children ?? []);\n children.delete(node.source);\n Vue.set(root, '_children', [...children.values()]);\n return;\n }\n if (this.paths[service][node.dirname]) {\n const parentSource = this.paths[service][node.dirname];\n const parentFolder = files.getNode(parentSource);\n if (!parentFolder) {\n logger.error('Parent folder not found', { parentSource });\n return;\n }\n logger.debug('Path exists, removing from children', { parentFolder, node });\n // ensure sources are unique\n const children = new Set(parentFolder._children ?? []);\n children.delete(node.source);\n Vue.set(parentFolder, '_children', [...children.values()]);\n return;\n }\n logger.debug('Parent path does not exists, skipping children update', { node });\n },\n onCreatedNode(node) {\n const service = getNavigation()?.active?.id || 'files';\n if (!node.fileid) {\n logger.error('Node has no fileid', { node });\n return;\n }\n // Only add path if it's a folder\n if (node.type === FileType.Folder) {\n this.addPath({\n service,\n path: node.path,\n source: node.source,\n });\n }\n // Update parent folder children if exists\n // If the folder is the root, get it and update it\n if (node.dirname === '/') {\n const root = files.getRoot(service);\n // ensure sources are unique\n const children = new Set(root._children ?? []);\n children.add(node.source);\n Vue.set(root, '_children', [...children.values()]);\n return;\n }\n // If the folder doesn't exists yet, it will be\n // fetched later and its children updated anyway.\n if (this.paths[service][node.dirname]) {\n const parentSource = this.paths[service][node.dirname];\n const parentFolder = files.getNode(parentSource);\n logger.debug('Path already exists, updating children', { parentFolder, node });\n if (!parentFolder) {\n logger.error('Parent folder not found', { parentSource });\n return;\n }\n // ensure sources are unique\n const children = new Set(parentFolder._children ?? []);\n children.add(node.source);\n Vue.set(parentFolder, '_children', [...children.values()]);\n return;\n }\n logger.debug('Parent path does not exists, skipping children update', { node });\n },\n },\n });\n const pathsStore = store(...args);\n // Make sure we only register the listeners once\n if (!pathsStore._initialized) {\n // TODO: watch folders to update paths?\n subscribe('files:node:created', pathsStore.onCreatedNode);\n subscribe('files:node:deleted', pathsStore.onDeletedNode);\n // subscribe('files:node:moved', pathsStore.onMovedNode)\n pathsStore._initialized = true;\n }\n return pathsStore;\n};\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { davGetDefaultPropfind, davResultToNode, davRootPath } from '@nextcloud/files';\nimport { defineStore } from 'pinia';\nimport { subscribe } from '@nextcloud/event-bus';\nimport logger from '../logger';\nimport Vue from 'vue';\nimport { client } from '../services/WebdavClient.ts';\nimport { usePathsStore } from './paths.ts';\nconst fetchNode = async (node) => {\n const propfindPayload = davGetDefaultPropfind();\n const result = await client.stat(`${davRootPath}${node.path}`, {\n details: true,\n data: propfindPayload,\n });\n return davResultToNode(result.data);\n};\nexport const useFilesStore = function (...args) {\n const store = defineStore('files', {\n state: () => ({\n files: {},\n roots: {},\n _initialized: false,\n }),\n getters: {\n /**\n * Get a file or folder by its source\n * @param state\n */\n getNode: (state) => (source) => state.files[source],\n /**\n * Get a list of files or folders by their IDs\n * Note: does not return undefined values\n * @param state\n */\n getNodes: (state) => (sources) => sources\n .map(source => state.files[source])\n .filter(Boolean),\n /**\n * Get files or folders by their file ID\n * Multiple nodes can have the same file ID but different sources\n * (e.g. in a shared context)\n * @param state\n */\n getNodesById: (state) => (fileId) => Object.values(state.files).filter(node => node.fileid === fileId),\n /**\n * Get the root folder of a service\n * @param state\n */\n getRoot: (state) => (service) => state.roots[service],\n },\n actions: {\n /**\n * Get cached nodes within a given path\n *\n * @param service The service (files view)\n * @param path The path relative within the service\n * @returns Array of cached nodes within the path\n */\n getNodesByPath(service, path) {\n const pathsStore = usePathsStore();\n let folder;\n // Get the containing folder from path store\n if (!path || path === '/') {\n folder = this.getRoot(service);\n }\n else {\n const source = pathsStore.getPath(service, path);\n if (source) {\n folder = this.getNode(source);\n }\n }\n // If we found a cache entry and the cache entry was already loaded (has children) then use it\n // @ts-expect-error The _children prop is undocumented - we need to make this official\n return (folder?._children ?? [])\n .map((source) => this.getNode(source))\n .filter(Boolean);\n },\n updateNodes(nodes) {\n // Update the store all at once\n const files = nodes.reduce((acc, node) => {\n if (!node.fileid) {\n logger.error('Trying to update/set a node without fileid', { node });\n return acc;\n }\n acc[node.source] = node;\n return acc;\n }, {});\n Vue.set(this, 'files', { ...this.files, ...files });\n },\n deleteNodes(nodes) {\n nodes.forEach(node => {\n if (node.source) {\n Vue.delete(this.files, node.source);\n }\n });\n },\n setRoot({ service, root }) {\n Vue.set(this.roots, service, root);\n },\n onDeletedNode(node) {\n this.deleteNodes([node]);\n },\n onCreatedNode(node) {\n this.updateNodes([node]);\n },\n async onUpdatedNode(node) {\n if (!node.fileid) {\n logger.error('Trying to update/set a node without fileid', { node });\n return;\n }\n // If we have multiple nodes with the same file ID, we need to update all of them\n const nodes = this.getNodesById(node.fileid);\n if (nodes.length > 1) {\n await Promise.all(nodes.map(fetchNode)).then(this.updateNodes);\n logger.debug(nodes.length + ' nodes updated in store', { fileid: node.fileid });\n return;\n }\n // If we have only one node with the file ID, we can update it directly\n if (node.source === nodes[0].source) {\n this.updateNodes([node]);\n return;\n }\n // Otherwise, it means we receive an event for a node that is not in the store\n fetchNode(node).then(n => this.updateNodes([n]));\n },\n },\n });\n const fileStore = store(...args);\n // Make sure we only register the listeners once\n if (!fileStore._initialized) {\n subscribe('files:node:created', fileStore.onCreatedNode);\n subscribe('files:node:deleted', fileStore.onDeletedNode);\n subscribe('files:node:updated', fileStore.onUpdatedNode);\n fileStore._initialized = true;\n }\n return fileStore;\n};\n","import { defineStore } from 'pinia';\nimport Vue from 'vue';\nexport const useSelectionStore = defineStore('selection', {\n state: () => ({\n selected: [],\n lastSelection: [],\n lastSelectedIndex: null,\n }),\n actions: {\n /**\n * Set the selection of fileIds\n * @param selection\n */\n set(selection = []) {\n Vue.set(this, 'selected', [...new Set(selection)]);\n },\n /**\n * Set the last selected index\n * @param lastSelectedIndex\n */\n setLastIndex(lastSelectedIndex = null) {\n // Update the last selection if we provided a new selection starting point\n Vue.set(this, 'lastSelection', lastSelectedIndex ? this.selected : []);\n Vue.set(this, 'lastSelectedIndex', lastSelectedIndex);\n },\n /**\n * Reset the selection\n */\n reset() {\n Vue.set(this, 'selected', []);\n Vue.set(this, 'lastSelection', []);\n Vue.set(this, 'lastSelectedIndex', null);\n },\n },\n});\n","import { defineStore } from 'pinia';\nimport { getUploader } from '@nextcloud/upload';\nlet uploader;\nexport const useUploaderStore = function (...args) {\n // Only init on runtime\n uploader = getUploader();\n const store = defineStore('uploader', {\n state: () => ({\n queue: uploader.queue,\n }),\n });\n return store(...args);\n};\n","import { emit } from '@nextcloud/event-bus';\nimport { Folder, Node, davGetClient, davGetDefaultPropfind, davResultToNode } from '@nextcloud/files';\nimport { openConflictPicker } from '@nextcloud/upload';\nimport { showError, showInfo } from '@nextcloud/dialogs';\nimport { translate as t } from '@nextcloud/l10n';\nimport logger from '../logger.ts';\n/**\n * This represents a Directory in the file tree\n * We extend the File class to better handling uploading\n * and stay as close as possible as the Filesystem API.\n * This also allow us to hijack the size or lastModified\n * properties to compute them dynamically.\n */\nexport class Directory extends File {\n /* eslint-disable no-use-before-define */\n _contents;\n constructor(name, contents = []) {\n super([], name, { type: 'httpd/unix-directory' });\n this._contents = contents;\n }\n set contents(contents) {\n this._contents = contents;\n }\n get contents() {\n return this._contents;\n }\n get size() {\n return this._computeDirectorySize(this);\n }\n get lastModified() {\n if (this._contents.length === 0) {\n return Date.now();\n }\n return this._computeDirectoryMtime(this);\n }\n /**\n * Get the last modification time of a file tree\n * This is not perfect, but will get us a pretty good approximation\n * @param directory the directory to traverse\n */\n _computeDirectoryMtime(directory) {\n return directory.contents.reduce((acc, file) => {\n return file.lastModified > acc\n // If the file is a directory, the lastModified will\n // also return the results of its _computeDirectoryMtime method\n // Fancy recursion, huh?\n ? file.lastModified\n : acc;\n }, 0);\n }\n /**\n * Get the size of a file tree\n * @param directory the directory to traverse\n */\n _computeDirectorySize(directory) {\n return directory.contents.reduce((acc, entry) => {\n // If the file is a directory, the size will\n // also return the results of its _computeDirectorySize method\n // Fancy recursion, huh?\n return acc + entry.size;\n }, 0);\n }\n}\n/**\n * Traverse a file tree using the Filesystem API\n * @param entry the entry to traverse\n */\nexport const traverseTree = async (entry) => {\n // Handle file\n if (entry.isFile) {\n return new Promise((resolve, reject) => {\n entry.file(resolve, reject);\n });\n }\n // Handle directory\n logger.debug('Handling recursive file tree', { entry: entry.name });\n const directory = entry;\n const entries = await readDirectory(directory);\n const contents = (await Promise.all(entries.map(traverseTree))).flat();\n return new Directory(directory.name, contents);\n};\n/**\n * Read a directory using Filesystem API\n * @param directory the directory to read\n */\nconst readDirectory = (directory) => {\n const dirReader = directory.createReader();\n return new Promise((resolve, reject) => {\n const entries = [];\n const getEntries = () => {\n dirReader.readEntries((results) => {\n if (results.length) {\n entries.push(...results);\n getEntries();\n }\n else {\n resolve(entries);\n }\n }, (error) => {\n reject(error);\n });\n };\n getEntries();\n });\n};\nexport const createDirectoryIfNotExists = async (absolutePath) => {\n const davClient = davGetClient();\n const dirExists = await davClient.exists(absolutePath);\n if (!dirExists) {\n logger.debug('Directory does not exist, creating it', { absolutePath });\n await davClient.createDirectory(absolutePath, { recursive: true });\n const stat = await davClient.stat(absolutePath, { details: true, data: davGetDefaultPropfind() });\n emit('files:node:created', davResultToNode(stat.data));\n }\n};\nexport const resolveConflict = async (files, destination, contents) => {\n try {\n // List all conflicting files\n const conflicts = files.filter((file) => {\n return contents.find((node) => node.basename === (file instanceof File ? file.name : file.basename));\n }).filter(Boolean);\n // List of incoming files that are NOT in conflict\n const uploads = files.filter((file) => {\n return !conflicts.includes(file);\n });\n // Let the user choose what to do with the conflicting files\n const { selected, renamed } = await openConflictPicker(destination.path, conflicts, contents);\n logger.debug('Conflict resolution', { uploads, selected, renamed });\n // If the user selected nothing, we cancel the upload\n if (selected.length === 0 && renamed.length === 0) {\n // User skipped\n showInfo(t('files', 'Conflicts resolution skipped'));\n logger.info('User skipped the conflict resolution');\n return [];\n }\n // Update the list of files to upload\n return [...uploads, ...selected, ...renamed];\n }\n catch (error) {\n console.error(error);\n // User cancelled\n showError(t('files', 'Upload cancelled'));\n logger.error('User cancelled the upload');\n }\n return [];\n};\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { Permission } from '@nextcloud/files';\nimport PQueue from 'p-queue';\n// This is the processing queue. We only want to allow 3 concurrent requests\nlet queue;\n// Maximum number of concurrent operations\nconst MAX_CONCURRENCY = 5;\n/**\n * Get the processing queue\n */\nexport const getQueue = () => {\n if (!queue) {\n queue = new PQueue({ concurrency: MAX_CONCURRENCY });\n }\n return queue;\n};\nexport var MoveCopyAction;\n(function (MoveCopyAction) {\n MoveCopyAction[\"MOVE\"] = \"Move\";\n MoveCopyAction[\"COPY\"] = \"Copy\";\n MoveCopyAction[\"MOVE_OR_COPY\"] = \"move-or-copy\";\n})(MoveCopyAction || (MoveCopyAction = {}));\nexport const canMove = (nodes) => {\n const minPermission = nodes.reduce((min, node) => Math.min(min, node.permissions), Permission.ALL);\n return Boolean(minPermission & Permission.DELETE);\n};\nexport const canDownload = (nodes) => {\n return nodes.every(node => {\n const shareAttributes = JSON.parse(node.attributes?.['share-attributes'] ?? '[]');\n return !shareAttributes.some(attribute => attribute.scope === 'permissions' && attribute.value === false && attribute.key === 'download');\n });\n};\nexport const canCopy = (nodes) => {\n // a shared file cannot be copied if the download is disabled\n // it can be copied if the user has at least read permissions\n return canDownload(nodes)\n && !nodes.some(node => node.permissions === Permission.NONE);\n};\n","import { CancelablePromise } from 'cancelable-promise';\nimport { davGetDefaultPropfind, davResultToNode, davRootPath } from '@nextcloud/files';\nimport { client } from './WebdavClient.ts';\nimport logger from '../logger.ts';\n/**\n * Slim wrapper over `@nextcloud/files` `davResultToNode` to allow using the function with `Array.map`\n * @param node The node returned by the webdav library\n */\nexport const resultToNode = (node) => davResultToNode(node);\nexport const getContents = (path = '/') => {\n const controller = new AbortController();\n const propfindPayload = davGetDefaultPropfind();\n path = `${davRootPath}${path}`;\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n onCancel(() => controller.abort());\n try {\n const contentsResponse = await client.getDirectoryContents(path, {\n details: true,\n data: propfindPayload,\n includeSelf: true,\n signal: controller.signal,\n });\n const root = contentsResponse.data[0];\n const contents = contentsResponse.data.slice(1);\n if (root.filename !== path && `${root.filename}/` !== path) {\n logger.debug(`Exepected \"${path}\" but got filename \"${root.filename}\" instead.`);\n throw new Error('Root node does not match requested path');\n }\n resolve({\n folder: resultToNode(root),\n contents: contents.map((result) => {\n try {\n return resultToNode(result);\n }\n catch (error) {\n logger.error(`Invalid node detected '${result.basename}'`, { error });\n return null;\n }\n }).filter(Boolean),\n });\n }\n catch (error) {\n reject(error);\n }\n });\n};\n","import { isAxiosError } from '@nextcloud/axios';\nimport { FilePickerClosed, getFilePickerBuilder, showError, showInfo, TOAST_PERMANENT_TIMEOUT } from '@nextcloud/dialogs';\nimport { emit } from '@nextcloud/event-bus';\nimport { FileAction, FileType, NodeStatus, davGetClient, davRootPath, davResultToNode, davGetDefaultPropfind, getUniqueName, Permission } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport { openConflictPicker, hasConflict } from '@nextcloud/upload';\nimport { basename, join } from 'path';\nimport Vue from 'vue';\nimport CopyIconSvg from '@mdi/svg/svg/folder-multiple.svg?raw';\nimport FolderMoveSvg from '@mdi/svg/svg/folder-move.svg?raw';\nimport { MoveCopyAction, canCopy, canMove, getQueue } from './moveOrCopyActionUtils';\nimport { getContents } from '../services/Files';\nimport logger from '../logger';\n/**\n * Return the action that is possible for the given nodes\n * @param {Node[]} nodes The nodes to check against\n * @return {MoveCopyAction} The action that is possible for the given nodes\n */\nconst getActionForNodes = (nodes) => {\n if (canMove(nodes)) {\n if (canCopy(nodes)) {\n return MoveCopyAction.MOVE_OR_COPY;\n }\n return MoveCopyAction.MOVE;\n }\n // Assuming we can copy as the enabled checks for copy permissions\n return MoveCopyAction.COPY;\n};\n/**\n * Create a loading notification toast\n * @param mode The move or copy mode\n * @param source Name of the node that is copied / moved\n * @param destination Destination path\n * @return {() => void} Function to hide the notification\n */\nfunction createLoadingNotification(mode, source, destination) {\n const text = mode === MoveCopyAction.MOVE ? t('files', 'Moving \"{source}\" to \"{destination}\" …', { source, destination }) : t('files', 'Copying \"{source}\" to \"{destination}\" …', { source, destination });\n let toast;\n toast = showInfo(`<span class=\"icon icon-loading-small toast-loading-icon\"></span> ${text}`, {\n isHTML: true,\n timeout: TOAST_PERMANENT_TIMEOUT,\n onRemove: () => { toast?.hideToast(); toast = undefined; },\n });\n return () => toast && toast.hideToast();\n}\n/**\n * Handle the copy/move of a node to a destination\n * This can be imported and used by other scripts/components on server\n * @param {Node} node The node to copy/move\n * @param {Folder} destination The destination to copy/move the node to\n * @param {MoveCopyAction} method The method to use for the copy/move\n * @param {boolean} overwrite Whether to overwrite the destination if it exists\n * @return {Promise<void>} A promise that resolves when the copy/move is done\n */\nexport const handleCopyMoveNodeTo = async (node, destination, method, overwrite = false) => {\n if (!destination) {\n return;\n }\n if (destination.type !== FileType.Folder) {\n throw new Error(t('files', 'Destination is not a folder'));\n }\n // Do not allow to MOVE a node to the same folder it is already located\n if (method === MoveCopyAction.MOVE && node.dirname === destination.path) {\n throw new Error(t('files', 'This file/folder is already in that directory'));\n }\n /**\n * Example:\n * - node: /foo/bar/file.txt -> path = /foo/bar/file.txt, destination: /foo\n * Allow move of /foo does not start with /foo/bar/file.txt so allow\n * - node: /foo , destination: /foo/bar\n * Do not allow as it would copy foo within itself\n * - node: /foo/bar.txt, destination: /foo\n * Allow copy a file to the same directory\n * - node: \"/foo/bar\", destination: \"/foo/bar 1\"\n * Allow to move or copy but we need to check with trailing / otherwise it would report false positive\n */\n if (`${destination.path}/`.startsWith(`${node.path}/`)) {\n throw new Error(t('files', 'You cannot move a file/folder onto itself or into a subfolder of itself'));\n }\n // Set loading state\n Vue.set(node, 'status', NodeStatus.LOADING);\n const actionFinished = createLoadingNotification(method, node.basename, destination.path);\n const queue = getQueue();\n return await queue.add(async () => {\n const copySuffix = (index) => {\n if (index === 1) {\n return t('files', '(copy)'); // TRANSLATORS: Mark a file as a copy of another file\n }\n return t('files', '(copy %n)', undefined, index); // TRANSLATORS: Meaning it is the n'th copy of a file\n };\n try {\n const client = davGetClient();\n const currentPath = join(davRootPath, node.path);\n const destinationPath = join(davRootPath, destination.path);\n if (method === MoveCopyAction.COPY) {\n let target = node.basename;\n // If we do not allow overwriting then find an unique name\n if (!overwrite) {\n const otherNodes = await client.getDirectoryContents(destinationPath);\n target = getUniqueName(node.basename, otherNodes.map((n) => n.basename), {\n suffix: copySuffix,\n ignoreFileExtension: node.type === FileType.Folder,\n });\n }\n await client.copyFile(currentPath, join(destinationPath, target));\n // If the node is copied into current directory the view needs to be updated\n if (node.dirname === destination.path) {\n const { data } = await client.stat(join(destinationPath, target), {\n details: true,\n data: davGetDefaultPropfind(),\n });\n emit('files:node:created', davResultToNode(data));\n }\n }\n else {\n // show conflict file popup if we do not allow overwriting\n if (!overwrite) {\n const otherNodes = await getContents(destination.path);\n if (hasConflict([node], otherNodes.contents)) {\n try {\n // Let the user choose what to do with the conflicting files\n const { selected, renamed } = await openConflictPicker(destination.path, [node], otherNodes.contents);\n // two empty arrays: either only old files or conflict skipped -> no action required\n if (!selected.length && !renamed.length) {\n return;\n }\n }\n catch (error) {\n // User cancelled\n showError(t('files', 'Move cancelled'));\n return;\n }\n }\n }\n // getting here means either no conflict, file was renamed to keep both files\n // in a conflict, or the selected file was chosen to be kept during the conflict\n await client.moveFile(currentPath, join(destinationPath, node.basename));\n // Delete the node as it will be fetched again\n // when navigating to the destination folder\n emit('files:node:deleted', node);\n }\n }\n catch (error) {\n if (isAxiosError(error)) {\n if (error.response?.status === 412) {\n throw new Error(t('files', 'A file or folder with that name already exists in this folder'));\n }\n else if (error.response?.status === 423) {\n throw new Error(t('files', 'The files are locked'));\n }\n else if (error.response?.status === 404) {\n throw new Error(t('files', 'The file does not exist anymore'));\n }\n else if (error.message) {\n throw new Error(error.message);\n }\n }\n logger.debug(error);\n throw new Error();\n }\n finally {\n Vue.set(node, 'status', '');\n actionFinished();\n }\n });\n};\n/**\n * Open a file picker for the given action\n * @param action The action to open the file picker for\n * @param dir The directory to start the file picker in\n * @param nodes The nodes to move/copy\n * @return The picked destination or false if cancelled by user\n */\nasync function openFilePickerForAction(action, dir = '/', nodes) {\n const { resolve, reject, promise } = Promise.withResolvers();\n const fileIDs = nodes.map(node => node.fileid).filter(Boolean);\n const filePicker = getFilePickerBuilder(t('files', 'Choose destination'))\n .allowDirectories(true)\n .setFilter((n) => {\n // We don't want to show the current nodes in the file picker\n return !fileIDs.includes(n.fileid);\n })\n .setMimeTypeFilter([])\n .setMultiSelect(false)\n .startAt(dir)\n .setButtonFactory((selection, path) => {\n const buttons = [];\n const target = basename(path);\n const dirnames = nodes.map(node => node.dirname);\n const paths = nodes.map(node => node.path);\n if (action === MoveCopyAction.COPY || action === MoveCopyAction.MOVE_OR_COPY) {\n buttons.push({\n label: target ? t('files', 'Copy to {target}', { target }, undefined, { escape: false, sanitize: false }) : t('files', 'Copy'),\n type: 'primary',\n icon: CopyIconSvg,\n disabled: selection.some((node) => (node.permissions & Permission.CREATE) === 0),\n async callback(destination) {\n resolve({\n destination: destination[0],\n action: MoveCopyAction.COPY,\n });\n },\n });\n }\n // Invalid MOVE targets (but valid copy targets)\n if (dirnames.includes(path)) {\n // This file/folder is already in that directory\n return buttons;\n }\n if (paths.includes(path)) {\n // You cannot move a file/folder onto itself\n return buttons;\n }\n if (action === MoveCopyAction.MOVE || action === MoveCopyAction.MOVE_OR_COPY) {\n buttons.push({\n label: target ? t('files', 'Move to {target}', { target }, undefined, { escape: false, sanitize: false }) : t('files', 'Move'),\n type: action === MoveCopyAction.MOVE ? 'primary' : 'secondary',\n icon: FolderMoveSvg,\n async callback(destination) {\n resolve({\n destination: destination[0],\n action: MoveCopyAction.MOVE,\n });\n },\n });\n }\n return buttons;\n })\n .build();\n filePicker.pick()\n .catch((error) => {\n logger.debug(error);\n if (error instanceof FilePickerClosed) {\n resolve(false);\n }\n else {\n reject(new Error(t('files', 'Move or copy operation failed')));\n }\n });\n return promise;\n}\nexport const action = new FileAction({\n id: 'move-copy',\n displayName(nodes) {\n switch (getActionForNodes(nodes)) {\n case MoveCopyAction.MOVE:\n return t('files', 'Move');\n case MoveCopyAction.COPY:\n return t('files', 'Copy');\n case MoveCopyAction.MOVE_OR_COPY:\n return t('files', 'Move or copy');\n }\n },\n iconSvgInline: () => FolderMoveSvg,\n enabled(nodes) {\n // We only support moving/copying files within the user folder\n if (!nodes.every(node => node.root?.startsWith('/files/'))) {\n return false;\n }\n return nodes.length > 0 && (canMove(nodes) || canCopy(nodes));\n },\n async exec(node, view, dir) {\n const action = getActionForNodes([node]);\n let result;\n try {\n result = await openFilePickerForAction(action, dir, [node]);\n }\n catch (e) {\n logger.error(e);\n return false;\n }\n if (result === false) {\n showInfo(t('files', 'Cancelled move or copy of \"{filename}\".', { filename: node.displayname }));\n return null;\n }\n try {\n await handleCopyMoveNodeTo(node, result.destination, result.action);\n return true;\n }\n catch (error) {\n if (error instanceof Error && !!error.message) {\n showError(error.message);\n // Silent action as we handle the toast\n return null;\n }\n return false;\n }\n },\n async execBatch(nodes, view, dir) {\n const action = getActionForNodes(nodes);\n const result = await openFilePickerForAction(action, dir, nodes);\n // Handle cancellation silently\n if (result === false) {\n showInfo(nodes.length === 1\n ? t('files', 'Cancelled move or copy of \"{filename}\".', { filename: nodes[0].displayname })\n : t('files', 'Cancelled move or copy operation'));\n return nodes.map(() => null);\n }\n const promises = nodes.map(async (node) => {\n try {\n await handleCopyMoveNodeTo(node, result.destination, result.action);\n return true;\n }\n catch (error) {\n logger.error(`Failed to ${result.action} node`, { node, error });\n return false;\n }\n });\n // We need to keep the selection on error!\n // So we do not return null, and for batch action\n // we let the front handle the error.\n return await Promise.all(promises);\n },\n order: 15,\n});\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { Folder, Node, NodeStatus, davRootPath } from '@nextcloud/files';\nimport { getUploader, hasConflict } from '@nextcloud/upload';\nimport { join } from 'path';\nimport { joinPaths } from '@nextcloud/paths';\nimport { showError, showInfo, showSuccess, showWarning } from '@nextcloud/dialogs';\nimport { translate as t } from '@nextcloud/l10n';\nimport Vue from 'vue';\nimport { Directory, traverseTree, resolveConflict, createDirectoryIfNotExists } from './DropServiceUtils';\nimport { handleCopyMoveNodeTo } from '../actions/moveOrCopyAction';\nimport { MoveCopyAction } from '../actions/moveOrCopyActionUtils';\nimport logger from '../logger.ts';\n/**\n * This function converts a list of DataTransferItems to a file tree.\n * It uses the Filesystem API if available, otherwise it falls back to the File API.\n * The File API will NOT be available if the browser is not in a secure context (e.g. HTTP).\n * ⚠️ When using this method, you need to use it as fast as possible, as the DataTransferItems\n * will be cleared after the first access to the props of one of the entries.\n *\n * @param items the list of DataTransferItems\n */\nexport const dataTransferToFileTree = async (items) => {\n // Check if the browser supports the Filesystem API\n // We need to cache the entries to prevent Blink engine bug that clears\n // the list (`data.items`) after first access props of one of the entries\n const entries = items\n .filter((item) => {\n if (item.kind !== 'file') {\n logger.debug('Skipping dropped item', { kind: item.kind, type: item.type });\n return false;\n }\n return true;\n }).map((item) => {\n // MDN recommends to try both, as it might be renamed in the future\n return item?.getAsEntry?.()\n ?? item?.webkitGetAsEntry?.()\n ?? item;\n });\n let warned = false;\n const fileTree = new Directory('root');\n // Traverse the file tree\n for (const entry of entries) {\n // Handle browser issues if Filesystem API is not available. Fallback to File API\n if (entry instanceof DataTransferItem) {\n logger.warn('Could not get FilesystemEntry of item, falling back to file');\n const file = entry.getAsFile();\n if (file === null) {\n logger.warn('Could not process DataTransferItem', { type: entry.type, kind: entry.kind });\n showError(t('files', 'One of the dropped files could not be processed'));\n continue;\n }\n // Warn the user that the browser does not support the Filesystem API\n // we therefore cannot upload directories recursively.\n if (file.type === 'httpd/unix-directory' || !file.type) {\n if (!warned) {\n logger.warn('Browser does not support Filesystem API. Directories will not be uploaded');\n showWarning(t('files', 'Your browser does not support the Filesystem API. Directories will not be uploaded'));\n warned = true;\n }\n continue;\n }\n fileTree.contents.push(file);\n continue;\n }\n // Use Filesystem API\n try {\n fileTree.contents.push(await traverseTree(entry));\n }\n catch (error) {\n // Do not throw, as we want to continue with the other files\n logger.error('Error while traversing file tree', { error });\n }\n }\n return fileTree;\n};\nexport const onDropExternalFiles = async (root, destination, contents) => {\n const uploader = getUploader();\n // Check for conflicts on root elements\n if (await hasConflict(root.contents, contents)) {\n root.contents = await resolveConflict(root.contents, destination, contents);\n }\n if (root.contents.length === 0) {\n logger.info('No files to upload', { root });\n showInfo(t('files', 'No files to upload'));\n return [];\n }\n // Let's process the files\n logger.debug(`Uploading files to ${destination.path}`, { root, contents: root.contents });\n const queue = [];\n const uploadDirectoryContents = async (directory, path) => {\n for (const file of directory.contents) {\n // This is the relative path to the resource\n // from the current uploader destination\n const relativePath = join(path, file.name);\n // If the file is a directory, we need to create it first\n // then browse its tree and upload its contents.\n if (file instanceof Directory) {\n const absolutePath = joinPaths(davRootPath, destination.path, relativePath);\n try {\n console.debug('Processing directory', { relativePath });\n await createDirectoryIfNotExists(absolutePath);\n await uploadDirectoryContents(file, relativePath);\n }\n catch (error) {\n showError(t('files', 'Unable to create the directory {directory}', { directory: file.name }));\n logger.error('', { error, absolutePath, directory: file });\n }\n continue;\n }\n // If we've reached a file, we can upload it\n logger.debug('Uploading file to ' + join(destination.path, relativePath), { file });\n // Overriding the root to avoid changing the current uploader context\n queue.push(uploader.upload(relativePath, file, destination.source));\n }\n };\n // Pause the uploader to prevent it from starting\n // while we compute the queue\n uploader.pause();\n // Upload the files. Using '/' as the starting point\n // as we already adjusted the uploader destination\n await uploadDirectoryContents(root, '/');\n uploader.start();\n // Wait for all promises to settle\n const results = await Promise.allSettled(queue);\n // Check for errors\n const errors = results.filter(result => result.status === 'rejected');\n if (errors.length > 0) {\n logger.error('Error while uploading files', { errors });\n showError(t('files', 'Some files could not be uploaded'));\n return [];\n }\n logger.debug('Files uploaded successfully');\n showSuccess(t('files', 'Files uploaded successfully'));\n return Promise.all(queue);\n};\nexport const onDropInternalFiles = async (nodes, destination, contents, isCopy = false) => {\n const queue = [];\n // Check for conflicts on root elements\n if (await hasConflict(nodes, contents)) {\n nodes = await resolveConflict(nodes, destination, contents);\n }\n if (nodes.length === 0) {\n logger.info('No files to process', { nodes });\n showInfo(t('files', 'No files to process'));\n return;\n }\n for (const node of nodes) {\n Vue.set(node, 'status', NodeStatus.LOADING);\n queue.push(handleCopyMoveNodeTo(node, destination, isCopy ? MoveCopyAction.COPY : MoveCopyAction.MOVE, true));\n }\n // Wait for all promises to settle\n const results = await Promise.allSettled(queue);\n nodes.forEach(node => Vue.set(node, 'status', undefined));\n // Check for errors\n const errors = results.filter(result => result.status === 'rejected');\n if (errors.length > 0) {\n logger.error('Error while copying or moving files', { errors });\n showError(isCopy ? t('files', 'Some files could not be copied') : t('files', 'Some files could not be moved'));\n return;\n }\n logger.debug('Files copy/move successful');\n showSuccess(isCopy ? t('files', 'Files copied successfully') : t('files', 'Files moved successfully'));\n};\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { defineStore } from 'pinia';\nimport Vue from 'vue';\nexport const useDragAndDropStore = defineStore('dragging', {\n state: () => ({\n dragging: [],\n }),\n actions: {\n /**\n * Set the selection of fileIds\n * @param selection\n */\n set(selection = []) {\n Vue.set(this, 'dragging', selection);\n },\n /**\n * Reset the selection\n */\n reset() {\n Vue.set(this, 'dragging', []);\n },\n },\n});\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { defineComponent } from 'vue';\nexport default defineComponent({\n data() {\n return {\n filesListWidth: 0,\n };\n },\n mounted() {\n const fileListEl = document.querySelector('#app-content-vue');\n this.filesListWidth = fileListEl?.clientWidth ?? 0;\n // @ts-expect-error The resize observer is just now attached to the object\n this.$resizeObserver = new ResizeObserver((entries) => {\n if (entries.length > 0 && entries[0].target === fileListEl) {\n this.filesListWidth = entries[0].contentRect.width;\n }\n });\n // @ts-expect-error The resize observer was attached right before to the this object\n this.$resizeObserver.observe(fileListEl);\n },\n beforeDestroy() {\n // @ts-expect-error mounted must have been called before the destroy, so the resize\n this.$resizeObserver.disconnect();\n },\n});\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcBreadcrumbs',{staticClass:\"files-list__breadcrumbs\",class:{ 'files-list__breadcrumbs--with-progress': _vm.wrapUploadProgressBar },attrs:{\"data-cy-files-content-breadcrumbs\":\"\",\"aria-label\":_vm.t('files', 'Current directory path')},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_vm._t(\"actions\")]},proxy:true}],null,true)},_vm._l((_vm.sections),function(section,index){return _c('NcBreadcrumb',_vm._b({key:section.dir,attrs:{\"dir\":\"auto\",\"to\":section.to,\"force-icon-text\":index === 0 && _vm.filesListWidth >= 486,\"title\":_vm.titleForSection(index, section),\"aria-description\":_vm.ariaForSection(section)},on:{\"drop\":function($event){return _vm.onDrop($event, section.dir)}},nativeOn:{\"click\":function($event){return _vm.onClick(section.to)},\"dragover\":function($event){return _vm.onDragOver($event, section.dir)}},scopedSlots:_vm._u([(index === 0)?{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"size\":20,\"svg\":_vm.viewIcon}})]},proxy:true}:null],null,true)},'NcBreadcrumb',section,false))}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=style&index=0&id=dc01fdb0&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=style&index=0&id=dc01fdb0&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./BreadCrumbs.vue?vue&type=template&id=dc01fdb0&scoped=true\"\nimport script from \"./BreadCrumbs.vue?vue&type=script&lang=ts\"\nexport * from \"./BreadCrumbs.vue?vue&type=script&lang=ts\"\nimport style0 from \"./BreadCrumbs.vue?vue&type=style&index=0&id=dc01fdb0&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"dc01fdb0\",\n null\n \n)\n\nexport default component.exports","/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { FileType } from '@nextcloud/files';\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n';\n/**\n * Extract dir and name from file path\n *\n * @param {string} path the full path\n * @return {string[]} [dirPath, fileName]\n */\nexport const extractFilePaths = function (path) {\n const pathSections = path.split('/');\n const fileName = pathSections[pathSections.length - 1];\n const dirPath = pathSections.slice(0, pathSections.length - 1).join('/');\n return [dirPath, fileName];\n};\n/**\n * Generate a translated summary of an array of nodes\n * @param {Node[]} nodes the nodes to summarize\n * @return {string}\n */\nexport const getSummaryFor = (nodes) => {\n const fileCount = nodes.filter(node => node.type === FileType.File).length;\n const folderCount = nodes.filter(node => node.type === FileType.Folder).length;\n if (fileCount === 0) {\n return n('files', '{folderCount} folder', '{folderCount} folders', folderCount, { folderCount });\n }\n else if (folderCount === 0) {\n return n('files', '{fileCount} file', '{fileCount} files', fileCount, { fileCount });\n }\n if (fileCount === 1) {\n return n('files', '1 file and {folderCount} folder', '1 file and {folderCount} folders', folderCount, { folderCount });\n }\n if (folderCount === 1) {\n return n('files', '{fileCount} file and 1 folder', '{fileCount} files and 1 folder', fileCount, { fileCount });\n }\n return t('files', '{fileCount} files and {folderCount} folders', { fileCount, folderCount });\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',_vm._g({staticClass:\"files-list__row\",class:{\n\t\t'files-list__row--dragover': _vm.dragover,\n\t\t'files-list__row--loading': _vm.isLoading,\n\t\t'files-list__row--active': _vm.isActive,\n\t},attrs:{\"data-cy-files-list-row\":\"\",\"data-cy-files-list-row-fileid\":_vm.fileid,\"data-cy-files-list-row-name\":_vm.source.basename,\"draggable\":_vm.canDrag}},_vm.rowListeners),[(_vm.isFailedSource)?_c('span',{staticClass:\"files-list__row--failed\"}):_vm._e(),_vm._v(\" \"),_c('FileEntryCheckbox',{attrs:{\"fileid\":_vm.fileid,\"is-loading\":_vm.isLoading,\"nodes\":_vm.nodes,\"source\":_vm.source}}),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-name\",attrs:{\"data-cy-files-list-row-name\":\"\"}},[_c('FileEntryPreview',{ref:\"preview\",attrs:{\"source\":_vm.source,\"dragover\":_vm.dragover},nativeOn:{\"auxclick\":function($event){return _vm.execDefaultAction.apply(null, arguments)},\"click\":function($event){return _vm.execDefaultAction.apply(null, arguments)}}}),_vm._v(\" \"),_c('FileEntryName',{ref:\"name\",attrs:{\"basename\":_vm.basename,\"extension\":_vm.extension,\"files-list-width\":_vm.filesListWidth,\"nodes\":_vm.nodes,\"source\":_vm.source},nativeOn:{\"auxclick\":function($event){return _vm.execDefaultAction.apply(null, arguments)},\"click\":function($event){return _vm.execDefaultAction.apply(null, arguments)}}})],1),_vm._v(\" \"),_c('FileEntryActions',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isRenamingSmallScreen),expression:\"!isRenamingSmallScreen\"}],ref:\"actions\",class:`files-list__row-actions-${_vm.uniqueId}`,attrs:{\"files-list-width\":_vm.filesListWidth,\"loading\":_vm.loading,\"opened\":_vm.openedMenu,\"source\":_vm.source},on:{\"update:loading\":function($event){_vm.loading=$event},\"update:opened\":function($event){_vm.openedMenu=$event}}}),_vm._v(\" \"),(!_vm.compact && _vm.isSizeAvailable)?_c('td',{staticClass:\"files-list__row-size\",style:(_vm.sizeOpacity),attrs:{\"data-cy-files-list-row-size\":\"\"},on:{\"click\":_vm.openDetailsIfAvailable}},[_c('span',[_vm._v(_vm._s(_vm.size))])]):_vm._e(),_vm._v(\" \"),(!_vm.compact && _vm.isMtimeAvailable)?_c('td',{staticClass:\"files-list__row-mtime\",style:(_vm.mtimeOpacity),attrs:{\"data-cy-files-list-row-mtime\":\"\"},on:{\"click\":_vm.openDetailsIfAvailable}},[(_vm.source.mtime)?_c('NcDateTime',{attrs:{\"timestamp\":_vm.source.mtime,\"ignore-seconds\":true}}):_vm._e()],1):_vm._e(),_vm._v(\" \"),_vm._l((_vm.columns),function(column){return _c('td',{key:column.id,staticClass:\"files-list__row-column-custom\",class:`files-list__row-${_vm.currentView?.id}-${column.id}`,attrs:{\"data-cy-files-list-row-column-custom\":column.id},on:{\"click\":_vm.openDetailsIfAvailable}},[_c('CustomElementRender',{attrs:{\"current-view\":_vm.currentView,\"render\":column.render,\"source\":_vm.source}})],1)})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { defineStore } from 'pinia';\nexport const useActionsMenuStore = defineStore('actionsmenu', {\n state: () => ({\n opened: null,\n }),\n});\n","import axios, { isAxiosError } from '@nextcloud/axios';\nimport { emit, subscribe } from '@nextcloud/event-bus';\nimport { NodeStatus } from '@nextcloud/files';\nimport { t } from '@nextcloud/l10n';\nimport { basename, dirname } from 'path';\nimport { defineStore } from 'pinia';\nimport logger from '../logger';\nimport Vue from 'vue';\nexport const useRenamingStore = function (...args) {\n const store = defineStore('renaming', {\n state: () => ({\n renamingNode: undefined,\n newName: '',\n }),\n actions: {\n /**\n * Execute the renaming.\n * This will rename the node set as `renamingNode` to the configured new name `newName`.\n * @return true if success, false if skipped (e.g. new and old name are the same)\n * @throws Error if renaming fails, details are set in the error message\n */\n async rename() {\n if (this.renamingNode === undefined) {\n throw new Error('No node is currently being renamed');\n }\n const newName = this.newName.trim?.() || '';\n const oldName = this.renamingNode.basename;\n const oldEncodedSource = this.renamingNode.encodedSource;\n if (oldName === newName) {\n return false;\n }\n const node = this.renamingNode;\n Vue.set(node, 'status', NodeStatus.LOADING);\n try {\n // rename the node\n this.renamingNode.rename(newName);\n logger.debug('Moving file to', { destination: this.renamingNode.encodedSource, oldEncodedSource });\n // create MOVE request\n await axios({\n method: 'MOVE',\n url: oldEncodedSource,\n headers: {\n Destination: this.renamingNode.encodedSource,\n Overwrite: 'F',\n },\n });\n // Success 🎉\n emit('files:node:updated', this.renamingNode);\n emit('files:node:renamed', this.renamingNode);\n emit('files:node:moved', {\n node: this.renamingNode,\n oldSource: `${dirname(this.renamingNode.source)}/${oldName}`,\n });\n this.$reset();\n return true;\n }\n catch (error) {\n logger.error('Error while renaming file', { error });\n // Rename back as it failed\n this.renamingNode.rename(oldName);\n if (isAxiosError(error)) {\n // TODO: 409 means current folder does not exist, redirect ?\n if (error?.response?.status === 404) {\n throw new Error(t('files', 'Could not rename \"{oldName}\", it does not exist any more', { oldName }));\n }\n else if (error?.response?.status === 412) {\n throw new Error(t('files', 'The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name.', {\n newName,\n dir: basename(this.renamingNode.dirname),\n }));\n }\n }\n // Unknown error\n throw new Error(t('files', 'Could not rename \"{oldName}\"', { oldName }));\n }\n finally {\n Vue.set(node, 'status', undefined);\n }\n },\n },\n });\n const renamingStore = store(...args);\n // Make sure we only register the listeners once\n if (!renamingStore._initialized) {\n subscribe('files:node:rename', function (node) {\n renamingStore.renamingNode = node;\n renamingStore.newName = node.basename;\n });\n renamingStore._initialized = true;\n }\n return renamingStore;\n};\n","import { defineComponent, ref, h, watch, computed, reactive, shallowRef, nextTick, getCurrentInstance, onMounted, isVue2, watchEffect, toRefs } from 'vue-demi';\nimport { onClickOutside as onClickOutside$1, useActiveElement, useBattery, useBrowserLocation, useClipboard, useDark, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDocumentVisibility, useStorage as useStorage$1, isClient as isClient$1, useDraggable, useElementBounding, useElementSize as useElementSize$1, useElementVisibility as useElementVisibility$1, useEyeDropper, useFullscreen, useGeolocation, useIdle, useMouse, useMouseInElement, useMousePressed, useNetwork, useNow, useObjectUrl, useOffsetPagination, useOnline, usePageLeave, usePointer, usePointerLock, usePreferredColorScheme, usePreferredContrast, usePreferredDark as usePreferredDark$1, usePreferredLanguages, usePreferredReducedMotion, useTimeAgo, useTimestamp, useVirtualList, useWindowFocus, useWindowSize } from '@vueuse/core';\nimport { toValue, isClient, noop, isObject, tryOnScopeDispose, isIOS, directiveHooks, pausableWatch, tryOnMounted, toRef, useToggle, notNullish, promiseTimeout, until, useDebounceFn, useThrottleFn } from '@vueuse/shared';\n\nconst OnClickOutside = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"OnClickOutside\",\n props: [\"as\", \"options\"],\n emits: [\"trigger\"],\n setup(props, { slots, emit }) {\n const target = ref();\n onClickOutside$1(target, (e) => {\n emit(\"trigger\", e);\n }, props.options);\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default());\n };\n }\n});\n\nfunction unrefElement(elRef) {\n var _a;\n const plain = toValue(elRef);\n return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;\n}\n\nconst defaultWindow = isClient ? window : void 0;\n\nfunction useEventListener(...args) {\n let target;\n let events;\n let listeners;\n let options;\n if (typeof args[0] === \"string\" || Array.isArray(args[0])) {\n [events, listeners, options] = args;\n target = defaultWindow;\n } else {\n [target, events, listeners, options] = args;\n }\n if (!target)\n return noop;\n if (!Array.isArray(events))\n events = [events];\n if (!Array.isArray(listeners))\n listeners = [listeners];\n const cleanups = [];\n const cleanup = () => {\n cleanups.forEach((fn) => fn());\n cleanups.length = 0;\n };\n const register = (el, event, listener, options2) => {\n el.addEventListener(event, listener, options2);\n return () => el.removeEventListener(event, listener, options2);\n };\n const stopWatch = watch(\n () => [unrefElement(target), toValue(options)],\n ([el, options2]) => {\n cleanup();\n if (!el)\n return;\n const optionsClone = isObject(options2) ? { ...options2 } : options2;\n cleanups.push(\n ...events.flatMap((event) => {\n return listeners.map((listener) => register(el, event, listener, optionsClone));\n })\n );\n },\n { immediate: true, flush: \"post\" }\n );\n const stop = () => {\n stopWatch();\n cleanup();\n };\n tryOnScopeDispose(stop);\n return stop;\n}\n\nlet _iOSWorkaround = false;\nfunction onClickOutside(target, handler, options = {}) {\n const { window = defaultWindow, ignore = [], capture = true, detectIframe = false } = options;\n if (!window)\n return noop;\n if (isIOS && !_iOSWorkaround) {\n _iOSWorkaround = true;\n Array.from(window.document.body.children).forEach((el) => el.addEventListener(\"click\", noop));\n window.document.documentElement.addEventListener(\"click\", noop);\n }\n let shouldListen = true;\n const shouldIgnore = (event) => {\n return ignore.some((target2) => {\n if (typeof target2 === \"string\") {\n return Array.from(window.document.querySelectorAll(target2)).some((el) => el === event.target || event.composedPath().includes(el));\n } else {\n const el = unrefElement(target2);\n return el && (event.target === el || event.composedPath().includes(el));\n }\n });\n };\n const listener = (event) => {\n const el = unrefElement(target);\n if (!el || el === event.target || event.composedPath().includes(el))\n return;\n if (event.detail === 0)\n shouldListen = !shouldIgnore(event);\n if (!shouldListen) {\n shouldListen = true;\n return;\n }\n handler(event);\n };\n const cleanup = [\n useEventListener(window, \"click\", listener, { passive: true, capture }),\n useEventListener(window, \"pointerdown\", (e) => {\n const el = unrefElement(target);\n shouldListen = !shouldIgnore(e) && !!(el && !e.composedPath().includes(el));\n }, { passive: true }),\n detectIframe && useEventListener(window, \"blur\", (event) => {\n setTimeout(() => {\n var _a;\n const el = unrefElement(target);\n if (((_a = window.document.activeElement) == null ? void 0 : _a.tagName) === \"IFRAME\" && !(el == null ? void 0 : el.contains(window.document.activeElement))) {\n handler(event);\n }\n }, 0);\n })\n ].filter(Boolean);\n const stop = () => cleanup.forEach((fn) => fn());\n return stop;\n}\n\nconst vOnClickOutside = {\n [directiveHooks.mounted](el, binding) {\n const capture = !binding.modifiers.bubble;\n if (typeof binding.value === \"function\") {\n el.__onClickOutside_stop = onClickOutside(el, binding.value, { capture });\n } else {\n const [handler, options] = binding.value;\n el.__onClickOutside_stop = onClickOutside(el, handler, Object.assign({ capture }, options));\n }\n },\n [directiveHooks.unmounted](el) {\n el.__onClickOutside_stop();\n }\n};\n\nfunction createKeyPredicate(keyFilter) {\n if (typeof keyFilter === \"function\")\n return keyFilter;\n else if (typeof keyFilter === \"string\")\n return (event) => event.key === keyFilter;\n else if (Array.isArray(keyFilter))\n return (event) => keyFilter.includes(event.key);\n return () => true;\n}\nfunction onKeyStroke(...args) {\n let key;\n let handler;\n let options = {};\n if (args.length === 3) {\n key = args[0];\n handler = args[1];\n options = args[2];\n } else if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n key = true;\n handler = args[0];\n options = args[1];\n } else {\n key = args[0];\n handler = args[1];\n }\n } else {\n key = true;\n handler = args[0];\n }\n const {\n target = defaultWindow,\n eventName = \"keydown\",\n passive = false,\n dedupe = false\n } = options;\n const predicate = createKeyPredicate(key);\n const listener = (e) => {\n if (e.repeat && toValue(dedupe))\n return;\n if (predicate(e))\n handler(e);\n };\n return useEventListener(target, eventName, listener, passive);\n}\n\nconst vOnKeyStroke = {\n [directiveHooks.mounted](el, binding) {\n var _a, _b;\n const keys = (_b = (_a = binding.arg) == null ? void 0 : _a.split(\",\")) != null ? _b : true;\n if (typeof binding.value === \"function\") {\n onKeyStroke(keys, binding.value, {\n target: el\n });\n } else {\n const [handler, options] = binding.value;\n onKeyStroke(keys, handler, {\n target: el,\n ...options\n });\n }\n }\n};\n\nconst DEFAULT_DELAY = 500;\nconst DEFAULT_THRESHOLD = 10;\nfunction onLongPress(target, handler, options) {\n var _a, _b;\n const elementRef = computed(() => unrefElement(target));\n let timeout;\n let posStart;\n let startTimestamp;\n let hasLongPressed = false;\n function clear() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n posStart = void 0;\n startTimestamp = void 0;\n hasLongPressed = false;\n }\n function onRelease(ev) {\n var _a2, _b2, _c;\n const [_startTimestamp, _posStart, _hasLongPressed] = [startTimestamp, posStart, hasLongPressed];\n clear();\n if (!(options == null ? void 0 : options.onMouseUp) || !_posStart || !_startTimestamp)\n return;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n const dx = ev.x - _posStart.x;\n const dy = ev.y - _posStart.y;\n const distance = Math.sqrt(dx * dx + dy * dy);\n options.onMouseUp(ev.timeStamp - _startTimestamp, distance, _hasLongPressed);\n }\n function onDown(ev) {\n var _a2, _b2, _c, _d;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n clear();\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n posStart = {\n x: ev.x,\n y: ev.y\n };\n startTimestamp = ev.timeStamp;\n timeout = setTimeout(\n () => {\n hasLongPressed = true;\n handler(ev);\n },\n (_d = options == null ? void 0 : options.delay) != null ? _d : DEFAULT_DELAY\n );\n }\n function onMove(ev) {\n var _a2, _b2, _c, _d;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n if (!posStart || (options == null ? void 0 : options.distanceThreshold) === false)\n return;\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n const dx = ev.x - posStart.x;\n const dy = ev.y - posStart.y;\n const distance = Math.sqrt(dx * dx + dy * dy);\n if (distance >= ((_d = options == null ? void 0 : options.distanceThreshold) != null ? _d : DEFAULT_THRESHOLD))\n clear();\n }\n const listenerOptions = {\n capture: (_a = options == null ? void 0 : options.modifiers) == null ? void 0 : _a.capture,\n once: (_b = options == null ? void 0 : options.modifiers) == null ? void 0 : _b.once\n };\n const cleanup = [\n useEventListener(elementRef, \"pointerdown\", onDown, listenerOptions),\n useEventListener(elementRef, \"pointermove\", onMove, listenerOptions),\n useEventListener(elementRef, [\"pointerup\", \"pointerleave\"], onRelease, listenerOptions)\n ];\n const stop = () => cleanup.forEach((fn) => fn());\n return stop;\n}\n\nconst OnLongPress = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"OnLongPress\",\n props: [\"as\", \"options\"],\n emits: [\"trigger\"],\n setup(props, { slots, emit }) {\n const target = ref();\n onLongPress(\n target,\n (e) => {\n emit(\"trigger\", e);\n },\n props.options\n );\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default());\n };\n }\n});\n\nconst vOnLongPress = {\n [directiveHooks.mounted](el, binding) {\n if (typeof binding.value === \"function\")\n onLongPress(el, binding.value, { modifiers: binding.modifiers });\n else\n onLongPress(el, ...binding.value);\n }\n};\n\nconst UseActiveElement = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseActiveElement\",\n setup(props, { slots }) {\n const data = reactive({\n element: useActiveElement()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseBattery = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseBattery\",\n setup(props, { slots }) {\n const data = reactive(useBattery(props));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseBrowserLocation = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseBrowserLocation\",\n setup(props, { slots }) {\n const data = reactive(useBrowserLocation());\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseClipboard = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseClipboard\",\n props: [\n \"source\",\n \"read\",\n \"navigator\",\n \"copiedDuring\",\n \"legacy\"\n ],\n setup(props, { slots }) {\n const data = reactive(useClipboard(props));\n return () => {\n var _a;\n return (_a = slots.default) == null ? void 0 : _a.call(slots, data);\n };\n }\n});\n\nconst _global = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nconst globalKey = \"__vueuse_ssr_handlers__\";\nconst handlers = /* @__PURE__ */ getHandlers();\nfunction getHandlers() {\n if (!(globalKey in _global))\n _global[globalKey] = _global[globalKey] || {};\n return _global[globalKey];\n}\nfunction getSSRHandler(key, fallback) {\n return handlers[key] || fallback;\n}\n\nfunction guessSerializerType(rawInit) {\n return rawInit == null ? \"any\" : rawInit instanceof Set ? \"set\" : rawInit instanceof Map ? \"map\" : rawInit instanceof Date ? \"date\" : typeof rawInit === \"boolean\" ? \"boolean\" : typeof rawInit === \"string\" ? \"string\" : typeof rawInit === \"object\" ? \"object\" : !Number.isNaN(rawInit) ? \"number\" : \"any\";\n}\n\nconst StorageSerializers = {\n boolean: {\n read: (v) => v === \"true\",\n write: (v) => String(v)\n },\n object: {\n read: (v) => JSON.parse(v),\n write: (v) => JSON.stringify(v)\n },\n number: {\n read: (v) => Number.parseFloat(v),\n write: (v) => String(v)\n },\n any: {\n read: (v) => v,\n write: (v) => String(v)\n },\n string: {\n read: (v) => v,\n write: (v) => String(v)\n },\n map: {\n read: (v) => new Map(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v.entries()))\n },\n set: {\n read: (v) => new Set(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v))\n },\n date: {\n read: (v) => new Date(v),\n write: (v) => v.toISOString()\n }\n};\nconst customStorageEventName = \"vueuse-storage\";\nfunction useStorage(key, defaults, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n },\n initOnMounted\n } = options;\n const data = (shallow ? shallowRef : ref)(typeof defaults === \"function\" ? defaults() : defaults);\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorage\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n if (!storage)\n return data;\n const rawInit = toValue(defaults);\n const type = guessSerializerType(rawInit);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n const { pause: pauseWatch, resume: resumeWatch } = pausableWatch(\n data,\n () => write(data.value),\n { flush, deep, eventFilter }\n );\n if (window && listenToStorageChanges) {\n tryOnMounted(() => {\n useEventListener(window, \"storage\", update);\n useEventListener(window, customStorageEventName, updateFromCustomEvent);\n if (initOnMounted)\n update();\n });\n }\n if (!initOnMounted)\n update();\n function dispatchWriteEvent(oldValue, newValue) {\n if (window) {\n window.dispatchEvent(new CustomEvent(customStorageEventName, {\n detail: {\n key,\n oldValue,\n newValue,\n storageArea: storage\n }\n }));\n }\n }\n function write(v) {\n try {\n const oldValue = storage.getItem(key);\n if (v == null) {\n dispatchWriteEvent(oldValue, null);\n storage.removeItem(key);\n } else {\n const serialized = serializer.write(v);\n if (oldValue !== serialized) {\n storage.setItem(key, serialized);\n dispatchWriteEvent(oldValue, serialized);\n }\n }\n } catch (e) {\n onError(e);\n }\n }\n function read(event) {\n const rawValue = event ? event.newValue : storage.getItem(key);\n if (rawValue == null) {\n if (writeDefaults && rawInit != null)\n storage.setItem(key, serializer.write(rawInit));\n return rawInit;\n } else if (!event && mergeDefaults) {\n const value = serializer.read(rawValue);\n if (typeof mergeDefaults === \"function\")\n return mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n return { ...rawInit, ...value };\n return value;\n } else if (typeof rawValue !== \"string\") {\n return rawValue;\n } else {\n return serializer.read(rawValue);\n }\n }\n function update(event) {\n if (event && event.storageArea !== storage)\n return;\n if (event && event.key == null) {\n data.value = rawInit;\n return;\n }\n if (event && event.key !== key)\n return;\n pauseWatch();\n try {\n if ((event == null ? void 0 : event.newValue) !== serializer.write(data.value))\n data.value = read(event);\n } catch (e) {\n onError(e);\n } finally {\n if (event)\n nextTick(resumeWatch);\n else\n resumeWatch();\n }\n }\n function updateFromCustomEvent(event) {\n update(event.detail);\n }\n return data;\n}\n\nfunction useMounted() {\n const isMounted = ref(false);\n const instance = getCurrentInstance();\n if (instance) {\n onMounted(() => {\n isMounted.value = true;\n }, isVue2 ? void 0 : instance);\n }\n return isMounted;\n}\n\nfunction useSupported(callback) {\n const isMounted = useMounted();\n return computed(() => {\n isMounted.value;\n return Boolean(callback());\n });\n}\n\nfunction useMediaQuery(query, options = {}) {\n const { window = defaultWindow } = options;\n const isSupported = useSupported(() => window && \"matchMedia\" in window && typeof window.matchMedia === \"function\");\n let mediaQuery;\n const matches = ref(false);\n const handler = (event) => {\n matches.value = event.matches;\n };\n const cleanup = () => {\n if (!mediaQuery)\n return;\n if (\"removeEventListener\" in mediaQuery)\n mediaQuery.removeEventListener(\"change\", handler);\n else\n mediaQuery.removeListener(handler);\n };\n const stopWatch = watchEffect(() => {\n if (!isSupported.value)\n return;\n cleanup();\n mediaQuery = window.matchMedia(toValue(query));\n if (\"addEventListener\" in mediaQuery)\n mediaQuery.addEventListener(\"change\", handler);\n else\n mediaQuery.addListener(handler);\n matches.value = mediaQuery.matches;\n });\n tryOnScopeDispose(() => {\n stopWatch();\n cleanup();\n mediaQuery = void 0;\n });\n return matches;\n}\n\nfunction usePreferredDark(options) {\n return useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n}\n\nfunction useColorMode(options = {}) {\n const {\n selector = \"html\",\n attribute = \"class\",\n initialValue = \"auto\",\n window = defaultWindow,\n storage,\n storageKey = \"vueuse-color-scheme\",\n listenToStorageChanges = true,\n storageRef,\n emitAuto,\n disableTransition = true\n } = options;\n const modes = {\n auto: \"\",\n light: \"light\",\n dark: \"dark\",\n ...options.modes || {}\n };\n const preferredDark = usePreferredDark({ window });\n const system = computed(() => preferredDark.value ? \"dark\" : \"light\");\n const store = storageRef || (storageKey == null ? toRef(initialValue) : useStorage(storageKey, initialValue, storage, { window, listenToStorageChanges }));\n const state = computed(() => store.value === \"auto\" ? system.value : store.value);\n const updateHTMLAttrs = getSSRHandler(\n \"updateHTMLAttrs\",\n (selector2, attribute2, value) => {\n const el = typeof selector2 === \"string\" ? window == null ? void 0 : window.document.querySelector(selector2) : unrefElement(selector2);\n if (!el)\n return;\n let style;\n if (disableTransition) {\n style = window.document.createElement(\"style\");\n const styleString = \"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\";\n style.appendChild(document.createTextNode(styleString));\n window.document.head.appendChild(style);\n }\n if (attribute2 === \"class\") {\n const current = value.split(/\\s/g);\n Object.values(modes).flatMap((i) => (i || \"\").split(/\\s/g)).filter(Boolean).forEach((v) => {\n if (current.includes(v))\n el.classList.add(v);\n else\n el.classList.remove(v);\n });\n } else {\n el.setAttribute(attribute2, value);\n }\n if (disableTransition) {\n window.getComputedStyle(style).opacity;\n document.head.removeChild(style);\n }\n }\n );\n function defaultOnChanged(mode) {\n var _a;\n updateHTMLAttrs(selector, attribute, (_a = modes[mode]) != null ? _a : mode);\n }\n function onChanged(mode) {\n if (options.onChanged)\n options.onChanged(mode, defaultOnChanged);\n else\n defaultOnChanged(mode);\n }\n watch(state, onChanged, { flush: \"post\", immediate: true });\n tryOnMounted(() => onChanged(state.value));\n const auto = computed({\n get() {\n return emitAuto ? store.value : state.value;\n },\n set(v) {\n store.value = v;\n }\n });\n try {\n return Object.assign(auto, { store, system, state });\n } catch (e) {\n return auto;\n }\n}\n\nconst UseColorMode = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseColorMode\",\n props: [\"selector\", \"attribute\", \"modes\", \"onChanged\", \"storageKey\", \"storage\", \"emitAuto\"],\n setup(props, { slots }) {\n const mode = useColorMode(props);\n const data = reactive({\n mode,\n system: mode.system,\n store: mode.store\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDark = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDark\",\n props: [\"selector\", \"attribute\", \"valueDark\", \"valueLight\", \"onChanged\", \"storageKey\", \"storage\"],\n setup(props, { slots }) {\n const isDark = useDark(props);\n const data = reactive({\n isDark,\n toggleDark: useToggle(isDark)\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDeviceMotion = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDeviceMotion\",\n setup(props, { slots }) {\n const data = reactive(useDeviceMotion());\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDeviceOrientation = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDeviceOrientation\",\n setup(props, { slots }) {\n const data = reactive(useDeviceOrientation());\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDevicePixelRatio = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDevicePixelRatio\",\n setup(props, { slots }) {\n const data = reactive({\n pixelRatio: useDevicePixelRatio()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDevicesList = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDevicesList\",\n props: [\"onUpdated\", \"requestPermissions\", \"constraints\"],\n setup(props, { slots }) {\n const data = reactive(useDevicesList(props));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDocumentVisibility = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDocumentVisibility\",\n setup(props, { slots }) {\n const data = reactive({\n visibility: useDocumentVisibility()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDraggable = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDraggable\",\n props: [\n \"storageKey\",\n \"storageType\",\n \"initialValue\",\n \"exact\",\n \"preventDefault\",\n \"stopPropagation\",\n \"pointerTypes\",\n \"as\",\n \"handle\",\n \"axis\",\n \"onStart\",\n \"onMove\",\n \"onEnd\",\n \"disabled\"\n ],\n setup(props, { slots }) {\n const target = ref();\n const handle = computed(() => {\n var _a;\n return (_a = props.handle) != null ? _a : target.value;\n });\n const disabled = computed(() => !!props.disabled);\n const storageValue = props.storageKey && useStorage$1(\n props.storageKey,\n toValue(props.initialValue) || { x: 0, y: 0 },\n isClient$1 ? props.storageType === \"session\" ? sessionStorage : localStorage : void 0\n );\n const initialValue = storageValue || props.initialValue || { x: 0, y: 0 };\n const onEnd = (position, event) => {\n var _a;\n (_a = props.onEnd) == null ? void 0 : _a.call(props, position, event);\n if (!storageValue)\n return;\n storageValue.value.x = position.x;\n storageValue.value.y = position.y;\n };\n const data = reactive(useDraggable(target, {\n ...props,\n handle,\n initialValue,\n onEnd,\n disabled\n }));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target, style: `touch-action:none;${data.style}` }, slots.default(data));\n };\n }\n});\n\nconst UseElementBounding = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseElementBounding\",\n props: [\"box\", \"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive(useElementBounding(target));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nfunction useElementHover(el, options = {}) {\n const {\n delayEnter = 0,\n delayLeave = 0,\n window = defaultWindow\n } = options;\n const isHovered = ref(false);\n let timer;\n const toggle = (entering) => {\n const delay = entering ? delayEnter : delayLeave;\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n }\n if (delay)\n timer = setTimeout(() => isHovered.value = entering, delay);\n else\n isHovered.value = entering;\n };\n if (!window)\n return isHovered;\n useEventListener(el, \"mouseenter\", () => toggle(true), { passive: true });\n useEventListener(el, \"mouseleave\", () => toggle(false), { passive: true });\n return isHovered;\n}\n\nconst vElementHover = {\n [directiveHooks.mounted](el, binding) {\n if (typeof binding.value === \"function\") {\n const isHovered = useElementHover(el);\n watch(isHovered, (v) => binding.value(v));\n }\n }\n};\n\nconst UseElementSize = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseElementSize\",\n props: [\"width\", \"height\", \"box\", \"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive(useElementSize$1(target, { width: props.width, height: props.height }, { box: props.box }));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nfunction useResizeObserver(target, callback, options = {}) {\n const { window = defaultWindow, ...observerOptions } = options;\n let observer;\n const isSupported = useSupported(() => window && \"ResizeObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const targets = computed(() => Array.isArray(target) ? target.map((el) => unrefElement(el)) : [unrefElement(target)]);\n const stopWatch = watch(\n targets,\n (els) => {\n cleanup();\n if (isSupported.value && window) {\n observer = new ResizeObserver(callback);\n for (const _el of els)\n _el && observer.observe(_el, observerOptions);\n }\n },\n { immediate: true, flush: \"post\" }\n );\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop\n };\n}\n\nfunction useElementSize(target, initialSize = { width: 0, height: 0 }, options = {}) {\n const { window = defaultWindow, box = \"content-box\" } = options;\n const isSVG = computed(() => {\n var _a, _b;\n return (_b = (_a = unrefElement(target)) == null ? void 0 : _a.namespaceURI) == null ? void 0 : _b.includes(\"svg\");\n });\n const width = ref(initialSize.width);\n const height = ref(initialSize.height);\n const { stop: stop1 } = useResizeObserver(\n target,\n ([entry]) => {\n const boxSize = box === \"border-box\" ? entry.borderBoxSize : box === \"content-box\" ? entry.contentBoxSize : entry.devicePixelContentBoxSize;\n if (window && isSVG.value) {\n const $elem = unrefElement(target);\n if ($elem) {\n const rect = $elem.getBoundingClientRect();\n width.value = rect.width;\n height.value = rect.height;\n }\n } else {\n if (boxSize) {\n const formatBoxSize = Array.isArray(boxSize) ? boxSize : [boxSize];\n width.value = formatBoxSize.reduce((acc, { inlineSize }) => acc + inlineSize, 0);\n height.value = formatBoxSize.reduce((acc, { blockSize }) => acc + blockSize, 0);\n } else {\n width.value = entry.contentRect.width;\n height.value = entry.contentRect.height;\n }\n }\n },\n options\n );\n tryOnMounted(() => {\n const ele = unrefElement(target);\n if (ele) {\n width.value = \"offsetWidth\" in ele ? ele.offsetWidth : initialSize.width;\n height.value = \"offsetHeight\" in ele ? ele.offsetHeight : initialSize.height;\n }\n });\n const stop2 = watch(\n () => unrefElement(target),\n (ele) => {\n width.value = ele ? initialSize.width : 0;\n height.value = ele ? initialSize.height : 0;\n }\n );\n function stop() {\n stop1();\n stop2();\n }\n return {\n width,\n height,\n stop\n };\n}\n\nconst vElementSize = {\n [directiveHooks.mounted](el, binding) {\n var _a;\n const handler = typeof binding.value === \"function\" ? binding.value : (_a = binding.value) == null ? void 0 : _a[0];\n const options = typeof binding.value === \"function\" ? [] : binding.value.slice(1);\n const { width, height } = useElementSize(el, ...options);\n watch([width, height], ([width2, height2]) => handler({ width: width2, height: height2 }));\n }\n};\n\nconst UseElementVisibility = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseElementVisibility\",\n props: [\"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive({\n isVisible: useElementVisibility$1(target)\n });\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nfunction useIntersectionObserver(target, callback, options = {}) {\n const {\n root,\n rootMargin = \"0px\",\n threshold = 0.1,\n window = defaultWindow,\n immediate = true\n } = options;\n const isSupported = useSupported(() => window && \"IntersectionObserver\" in window);\n const targets = computed(() => {\n const _target = toValue(target);\n return (Array.isArray(_target) ? _target : [_target]).map(unrefElement).filter(notNullish);\n });\n let cleanup = noop;\n const isActive = ref(immediate);\n const stopWatch = isSupported.value ? watch(\n () => [targets.value, unrefElement(root), isActive.value],\n ([targets2, root2]) => {\n cleanup();\n if (!isActive.value)\n return;\n if (!targets2.length)\n return;\n const observer = new IntersectionObserver(\n callback,\n {\n root: unrefElement(root2),\n rootMargin,\n threshold\n }\n );\n targets2.forEach((el) => el && observer.observe(el));\n cleanup = () => {\n observer.disconnect();\n cleanup = noop;\n };\n },\n { immediate, flush: \"post\" }\n ) : noop;\n const stop = () => {\n cleanup();\n stopWatch();\n isActive.value = false;\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n isActive,\n pause() {\n cleanup();\n isActive.value = false;\n },\n resume() {\n isActive.value = true;\n },\n stop\n };\n}\n\nfunction useElementVisibility(element, options = {}) {\n const { window = defaultWindow, scrollTarget, threshold = 0 } = options;\n const elementIsVisible = ref(false);\n useIntersectionObserver(\n element,\n (intersectionObserverEntries) => {\n let isIntersecting = elementIsVisible.value;\n let latestTime = 0;\n for (const entry of intersectionObserverEntries) {\n if (entry.time >= latestTime) {\n latestTime = entry.time;\n isIntersecting = entry.isIntersecting;\n }\n }\n elementIsVisible.value = isIntersecting;\n },\n {\n root: scrollTarget,\n window,\n threshold\n }\n );\n return elementIsVisible;\n}\n\nconst vElementVisibility = {\n [directiveHooks.mounted](el, binding) {\n if (typeof binding.value === \"function\") {\n const handler = binding.value;\n const isVisible = useElementVisibility(el);\n watch(isVisible, (v) => handler(v), { immediate: true });\n } else {\n const [handler, options] = binding.value;\n const isVisible = useElementVisibility(el, options);\n watch(isVisible, (v) => handler(v), { immediate: true });\n }\n }\n};\n\nconst UseEyeDropper = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseEyeDropper\",\n props: {\n sRGBHex: String\n },\n setup(props, { slots }) {\n const data = reactive(useEyeDropper());\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseFullscreen = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseFullscreen\",\n props: [\"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive(useFullscreen(target));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nconst UseGeolocation = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseGeolocation\",\n props: [\"enableHighAccuracy\", \"maximumAge\", \"timeout\", \"navigator\"],\n setup(props, { slots }) {\n const data = reactive(useGeolocation(props));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseIdle = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseIdle\",\n props: [\"timeout\", \"events\", \"listenForVisibilityChange\", \"initialState\"],\n setup(props, { slots }) {\n const data = reactive(useIdle(props.timeout, props));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nfunction useAsyncState(promise, initialState, options) {\n const {\n immediate = true,\n delay = 0,\n onError = noop,\n onSuccess = noop,\n resetOnExecute = true,\n shallow = true,\n throwError\n } = options != null ? options : {};\n const state = shallow ? shallowRef(initialState) : ref(initialState);\n const isReady = ref(false);\n const isLoading = ref(false);\n const error = shallowRef(void 0);\n async function execute(delay2 = 0, ...args) {\n if (resetOnExecute)\n state.value = initialState;\n error.value = void 0;\n isReady.value = false;\n isLoading.value = true;\n if (delay2 > 0)\n await promiseTimeout(delay2);\n const _promise = typeof promise === \"function\" ? promise(...args) : promise;\n try {\n const data = await _promise;\n state.value = data;\n isReady.value = true;\n onSuccess(data);\n } catch (e) {\n error.value = e;\n onError(e);\n if (throwError)\n throw e;\n } finally {\n isLoading.value = false;\n }\n return state.value;\n }\n if (immediate)\n execute(delay);\n const shell = {\n state,\n isReady,\n isLoading,\n error,\n execute\n };\n function waitUntilIsLoaded() {\n return new Promise((resolve, reject) => {\n until(isLoading).toBe(false).then(() => resolve(shell)).catch(reject);\n });\n }\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilIsLoaded().then(onFulfilled, onRejected);\n }\n };\n}\n\nasync function loadImage(options) {\n return new Promise((resolve, reject) => {\n const img = new Image();\n const { src, srcset, sizes, class: clazz, loading, crossorigin, referrerPolicy } = options;\n img.src = src;\n if (srcset)\n img.srcset = srcset;\n if (sizes)\n img.sizes = sizes;\n if (clazz)\n img.className = clazz;\n if (loading)\n img.loading = loading;\n if (crossorigin)\n img.crossOrigin = crossorigin;\n if (referrerPolicy)\n img.referrerPolicy = referrerPolicy;\n img.onload = () => resolve(img);\n img.onerror = reject;\n });\n}\nfunction useImage(options, asyncStateOptions = {}) {\n const state = useAsyncState(\n () => loadImage(toValue(options)),\n void 0,\n {\n resetOnExecute: true,\n ...asyncStateOptions\n }\n );\n watch(\n () => toValue(options),\n () => state.execute(asyncStateOptions.delay),\n { deep: true }\n );\n return state;\n}\n\nconst UseImage = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseImage\",\n props: [\n \"src\",\n \"srcset\",\n \"sizes\",\n \"as\",\n \"alt\",\n \"class\",\n \"loading\",\n \"crossorigin\",\n \"referrerPolicy\"\n ],\n setup(props, { slots }) {\n const data = reactive(useImage(props));\n return () => {\n if (data.isLoading && slots.loading)\n return slots.loading(data);\n else if (data.error && slots.error)\n return slots.error(data.error);\n if (slots.default)\n return slots.default(data);\n return h(props.as || \"img\", props);\n };\n }\n});\n\nconst ARRIVED_STATE_THRESHOLD_PIXELS = 1;\nfunction useScroll(element, options = {}) {\n const {\n throttle = 0,\n idle = 200,\n onStop = noop,\n onScroll = noop,\n offset = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n eventListenerOptions = {\n capture: false,\n passive: true\n },\n behavior = \"auto\",\n window = defaultWindow,\n onError = (e) => {\n console.error(e);\n }\n } = options;\n const internalX = ref(0);\n const internalY = ref(0);\n const x = computed({\n get() {\n return internalX.value;\n },\n set(x2) {\n scrollTo(x2, void 0);\n }\n });\n const y = computed({\n get() {\n return internalY.value;\n },\n set(y2) {\n scrollTo(void 0, y2);\n }\n });\n function scrollTo(_x, _y) {\n var _a, _b, _c, _d;\n if (!window)\n return;\n const _element = toValue(element);\n if (!_element)\n return;\n (_c = _element instanceof Document ? window.document.body : _element) == null ? void 0 : _c.scrollTo({\n top: (_a = toValue(_y)) != null ? _a : y.value,\n left: (_b = toValue(_x)) != null ? _b : x.value,\n behavior: toValue(behavior)\n });\n const scrollContainer = ((_d = _element == null ? void 0 : _element.document) == null ? void 0 : _d.documentElement) || (_element == null ? void 0 : _element.documentElement) || _element;\n if (x != null)\n internalX.value = scrollContainer.scrollLeft;\n if (y != null)\n internalY.value = scrollContainer.scrollTop;\n }\n const isScrolling = ref(false);\n const arrivedState = reactive({\n left: true,\n right: false,\n top: true,\n bottom: false\n });\n const directions = reactive({\n left: false,\n right: false,\n top: false,\n bottom: false\n });\n const onScrollEnd = (e) => {\n if (!isScrolling.value)\n return;\n isScrolling.value = false;\n directions.left = false;\n directions.right = false;\n directions.top = false;\n directions.bottom = false;\n onStop(e);\n };\n const onScrollEndDebounced = useDebounceFn(onScrollEnd, throttle + idle);\n const setArrivedState = (target) => {\n var _a;\n if (!window)\n return;\n const el = ((_a = target == null ? void 0 : target.document) == null ? void 0 : _a.documentElement) || (target == null ? void 0 : target.documentElement) || unrefElement(target);\n const { display, flexDirection } = getComputedStyle(el);\n const scrollLeft = el.scrollLeft;\n directions.left = scrollLeft < internalX.value;\n directions.right = scrollLeft > internalX.value;\n const left = Math.abs(scrollLeft) <= (offset.left || 0);\n const right = Math.abs(scrollLeft) + el.clientWidth >= el.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n if (display === \"flex\" && flexDirection === \"row-reverse\") {\n arrivedState.left = right;\n arrivedState.right = left;\n } else {\n arrivedState.left = left;\n arrivedState.right = right;\n }\n internalX.value = scrollLeft;\n let scrollTop = el.scrollTop;\n if (target === window.document && !scrollTop)\n scrollTop = window.document.body.scrollTop;\n directions.top = scrollTop < internalY.value;\n directions.bottom = scrollTop > internalY.value;\n const top = Math.abs(scrollTop) <= (offset.top || 0);\n const bottom = Math.abs(scrollTop) + el.clientHeight >= el.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n if (display === \"flex\" && flexDirection === \"column-reverse\") {\n arrivedState.top = bottom;\n arrivedState.bottom = top;\n } else {\n arrivedState.top = top;\n arrivedState.bottom = bottom;\n }\n internalY.value = scrollTop;\n };\n const onScrollHandler = (e) => {\n var _a;\n if (!window)\n return;\n const eventTarget = (_a = e.target.documentElement) != null ? _a : e.target;\n setArrivedState(eventTarget);\n isScrolling.value = true;\n onScrollEndDebounced(e);\n onScroll(e);\n };\n useEventListener(\n element,\n \"scroll\",\n throttle ? useThrottleFn(onScrollHandler, throttle, true, false) : onScrollHandler,\n eventListenerOptions\n );\n tryOnMounted(() => {\n try {\n const _element = toValue(element);\n if (!_element)\n return;\n setArrivedState(_element);\n } catch (e) {\n onError(e);\n }\n });\n useEventListener(\n element,\n \"scrollend\",\n onScrollEnd,\n eventListenerOptions\n );\n return {\n x,\n y,\n isScrolling,\n arrivedState,\n directions,\n measure() {\n const _element = toValue(element);\n if (window && _element)\n setArrivedState(_element);\n }\n };\n}\n\nfunction resolveElement(el) {\n if (typeof Window !== \"undefined\" && el instanceof Window)\n return el.document.documentElement;\n if (typeof Document !== \"undefined\" && el instanceof Document)\n return el.documentElement;\n return el;\n}\n\nfunction useInfiniteScroll(element, onLoadMore, options = {}) {\n var _a;\n const {\n direction = \"bottom\",\n interval = 100,\n canLoadMore = () => true\n } = options;\n const state = reactive(useScroll(\n element,\n {\n ...options,\n offset: {\n [direction]: (_a = options.distance) != null ? _a : 0,\n ...options.offset\n }\n }\n ));\n const promise = ref();\n const isLoading = computed(() => !!promise.value);\n const observedElement = computed(() => {\n return resolveElement(toValue(element));\n });\n const isElementVisible = useElementVisibility(observedElement);\n function checkAndLoad() {\n state.measure();\n if (!observedElement.value || !isElementVisible.value || !canLoadMore(observedElement.value))\n return;\n const { scrollHeight, clientHeight, scrollWidth, clientWidth } = observedElement.value;\n const isNarrower = direction === \"bottom\" || direction === \"top\" ? scrollHeight <= clientHeight : scrollWidth <= clientWidth;\n if (state.arrivedState[direction] || isNarrower) {\n if (!promise.value) {\n promise.value = Promise.all([\n onLoadMore(state),\n new Promise((resolve) => setTimeout(resolve, interval))\n ]).finally(() => {\n promise.value = null;\n nextTick(() => checkAndLoad());\n });\n }\n }\n }\n watch(\n () => [state.arrivedState[direction], isElementVisible.value],\n checkAndLoad,\n { immediate: true }\n );\n return {\n isLoading\n };\n}\n\nconst vInfiniteScroll = {\n [directiveHooks.mounted](el, binding) {\n if (typeof binding.value === \"function\")\n useInfiniteScroll(el, binding.value);\n else\n useInfiniteScroll(el, ...binding.value);\n }\n};\n\nconst vIntersectionObserver = {\n [directiveHooks.mounted](el, binding) {\n if (typeof binding.value === \"function\")\n useIntersectionObserver(el, binding.value);\n else\n useIntersectionObserver(el, ...binding.value);\n }\n};\n\nconst UseMouse = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseMouse\",\n props: [\"touch\", \"resetOnTouchEnds\", \"initialValue\"],\n setup(props, { slots }) {\n const data = reactive(useMouse(props));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseMouseInElement = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseMouseElement\",\n props: [\"handleOutside\", \"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive(useMouseInElement(target, props));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nconst UseMousePressed = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseMousePressed\",\n props: [\"touch\", \"initialValue\", \"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive(useMousePressed({ ...props, target }));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nconst UseNetwork = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseNetwork\",\n setup(props, { slots }) {\n const data = reactive(useNetwork());\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseNow = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseNow\",\n props: [\"interval\"],\n setup(props, { slots }) {\n const data = reactive(useNow({ ...props, controls: true }));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseObjectUrl = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseObjectUrl\",\n props: [\n \"object\"\n ],\n setup(props, { slots }) {\n const object = toRef(props, \"object\");\n const url = useObjectUrl(object);\n return () => {\n if (slots.default && url.value)\n return slots.default(url);\n };\n }\n});\n\nconst UseOffsetPagination = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseOffsetPagination\",\n props: [\n \"total\",\n \"page\",\n \"pageSize\",\n \"onPageChange\",\n \"onPageSizeChange\",\n \"onPageCountChange\"\n ],\n emits: [\n \"page-change\",\n \"page-size-change\",\n \"page-count-change\"\n ],\n setup(props, { slots, emit }) {\n const data = reactive(useOffsetPagination({\n ...props,\n onPageChange(...args) {\n var _a;\n (_a = props.onPageChange) == null ? void 0 : _a.call(props, ...args);\n emit(\"page-change\", ...args);\n },\n onPageSizeChange(...args) {\n var _a;\n (_a = props.onPageSizeChange) == null ? void 0 : _a.call(props, ...args);\n emit(\"page-size-change\", ...args);\n },\n onPageCountChange(...args) {\n var _a;\n (_a = props.onPageCountChange) == null ? void 0 : _a.call(props, ...args);\n emit(\"page-count-change\", ...args);\n }\n }));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseOnline = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseOnline\",\n setup(props, { slots }) {\n const data = reactive({\n isOnline: useOnline()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UsePageLeave = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePageLeave\",\n setup(props, { slots }) {\n const data = reactive({\n isLeft: usePageLeave()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UsePointer = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePointer\",\n props: [\n \"pointerTypes\",\n \"initialValue\",\n \"target\"\n ],\n setup(props, { slots }) {\n const el = ref(null);\n const data = reactive(usePointer({\n ...props,\n target: props.target === \"self\" ? el : defaultWindow\n }));\n return () => {\n if (slots.default)\n return slots.default(data, { ref: el });\n };\n }\n});\n\nconst UsePointerLock = /* #__PURE__ */ defineComponent({\n name: \"UsePointerLock\",\n props: [\"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive(usePointerLock(target));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nconst UsePreferredColorScheme = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePreferredColorScheme\",\n setup(props, { slots }) {\n const data = reactive({\n colorScheme: usePreferredColorScheme()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UsePreferredContrast = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePreferredContrast\",\n setup(props, { slots }) {\n const data = reactive({\n contrast: usePreferredContrast()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UsePreferredDark = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePreferredDark\",\n setup(props, { slots }) {\n const data = reactive({\n prefersDark: usePreferredDark$1()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UsePreferredLanguages = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePreferredLanguages\",\n setup(props, { slots }) {\n const data = reactive({\n languages: usePreferredLanguages()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UsePreferredReducedMotion = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePreferredReducedMotion\",\n setup(props, { slots }) {\n const data = reactive({\n motion: usePreferredReducedMotion()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nfunction useMutationObserver(target, callback, options = {}) {\n const { window = defaultWindow, ...mutationOptions } = options;\n let observer;\n const isSupported = useSupported(() => window && \"MutationObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const targets = computed(() => {\n const value = toValue(target);\n const items = (Array.isArray(value) ? value : [value]).map(unrefElement).filter(notNullish);\n return new Set(items);\n });\n const stopWatch = watch(\n () => targets.value,\n (targets2) => {\n cleanup();\n if (isSupported.value && targets2.size) {\n observer = new MutationObserver(callback);\n targets2.forEach((el) => observer.observe(el, mutationOptions));\n }\n },\n { immediate: true, flush: \"post\" }\n );\n const takeRecords = () => {\n return observer == null ? void 0 : observer.takeRecords();\n };\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop,\n takeRecords\n };\n}\n\nfunction useCssVar(prop, target, options = {}) {\n const { window = defaultWindow, initialValue = \"\", observe = false } = options;\n const variable = ref(initialValue);\n const elRef = computed(() => {\n var _a;\n return unrefElement(target) || ((_a = window == null ? void 0 : window.document) == null ? void 0 : _a.documentElement);\n });\n function updateCssVar() {\n var _a;\n const key = toValue(prop);\n const el = toValue(elRef);\n if (el && window) {\n const value = (_a = window.getComputedStyle(el).getPropertyValue(key)) == null ? void 0 : _a.trim();\n variable.value = value || initialValue;\n }\n }\n if (observe) {\n useMutationObserver(elRef, updateCssVar, {\n attributeFilter: [\"style\", \"class\"],\n window\n });\n }\n watch(\n [elRef, () => toValue(prop)],\n updateCssVar,\n { immediate: true }\n );\n watch(\n variable,\n (val) => {\n var _a;\n if ((_a = elRef.value) == null ? void 0 : _a.style)\n elRef.value.style.setProperty(toValue(prop), val);\n }\n );\n return variable;\n}\n\nconst topVarName = \"--vueuse-safe-area-top\";\nconst rightVarName = \"--vueuse-safe-area-right\";\nconst bottomVarName = \"--vueuse-safe-area-bottom\";\nconst leftVarName = \"--vueuse-safe-area-left\";\nfunction useScreenSafeArea() {\n const top = ref(\"\");\n const right = ref(\"\");\n const bottom = ref(\"\");\n const left = ref(\"\");\n if (isClient) {\n const topCssVar = useCssVar(topVarName);\n const rightCssVar = useCssVar(rightVarName);\n const bottomCssVar = useCssVar(bottomVarName);\n const leftCssVar = useCssVar(leftVarName);\n topCssVar.value = \"env(safe-area-inset-top, 0px)\";\n rightCssVar.value = \"env(safe-area-inset-right, 0px)\";\n bottomCssVar.value = \"env(safe-area-inset-bottom, 0px)\";\n leftCssVar.value = \"env(safe-area-inset-left, 0px)\";\n update();\n useEventListener(\"resize\", useDebounceFn(update));\n }\n function update() {\n top.value = getValue(topVarName);\n right.value = getValue(rightVarName);\n bottom.value = getValue(bottomVarName);\n left.value = getValue(leftVarName);\n }\n return {\n top,\n right,\n bottom,\n left,\n update\n };\n}\nfunction getValue(position) {\n return getComputedStyle(document.documentElement).getPropertyValue(position);\n}\n\nconst UseScreenSafeArea = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseScreenSafeArea\",\n props: {\n top: Boolean,\n right: Boolean,\n bottom: Boolean,\n left: Boolean\n },\n setup(props, { slots }) {\n const {\n top,\n right,\n bottom,\n left\n } = useScreenSafeArea();\n return () => {\n if (slots.default) {\n return h(\"div\", {\n style: {\n paddingTop: props.top ? top.value : \"\",\n paddingRight: props.right ? right.value : \"\",\n paddingBottom: props.bottom ? bottom.value : \"\",\n paddingLeft: props.left ? left.value : \"\",\n boxSizing: \"border-box\",\n maxHeight: \"100vh\",\n maxWidth: \"100vw\",\n overflow: \"auto\"\n }\n }, slots.default());\n }\n };\n }\n});\n\nconst vScroll = {\n [directiveHooks.mounted](el, binding) {\n if (typeof binding.value === \"function\") {\n const handler = binding.value;\n const state = useScroll(el, {\n onScroll() {\n handler(state);\n },\n onStop() {\n handler(state);\n }\n });\n } else {\n const [handler, options] = binding.value;\n const state = useScroll(el, {\n ...options,\n onScroll(e) {\n var _a;\n (_a = options.onScroll) == null ? void 0 : _a.call(options, e);\n handler(state);\n },\n onStop(e) {\n var _a;\n (_a = options.onStop) == null ? void 0 : _a.call(options, e);\n handler(state);\n }\n });\n }\n }\n};\n\nfunction checkOverflowScroll(ele) {\n const style = window.getComputedStyle(ele);\n if (style.overflowX === \"scroll\" || style.overflowY === \"scroll\" || style.overflowX === \"auto\" && ele.clientWidth < ele.scrollWidth || style.overflowY === \"auto\" && ele.clientHeight < ele.scrollHeight) {\n return true;\n } else {\n const parent = ele.parentNode;\n if (!parent || parent.tagName === \"BODY\")\n return false;\n return checkOverflowScroll(parent);\n }\n}\nfunction preventDefault(rawEvent) {\n const e = rawEvent || window.event;\n const _target = e.target;\n if (checkOverflowScroll(_target))\n return false;\n if (e.touches.length > 1)\n return true;\n if (e.preventDefault)\n e.preventDefault();\n return false;\n}\nconst elInitialOverflow = /* @__PURE__ */ new WeakMap();\nfunction useScrollLock(element, initialState = false) {\n const isLocked = ref(initialState);\n let stopTouchMoveListener = null;\n let initialOverflow = \"\";\n watch(toRef(element), (el) => {\n const target = resolveElement(toValue(el));\n if (target) {\n const ele = target;\n if (!elInitialOverflow.get(ele))\n elInitialOverflow.set(ele, ele.style.overflow);\n if (ele.style.overflow !== \"hidden\")\n initialOverflow = ele.style.overflow;\n if (ele.style.overflow === \"hidden\")\n return isLocked.value = true;\n if (isLocked.value)\n return ele.style.overflow = \"hidden\";\n }\n }, {\n immediate: true\n });\n const lock = () => {\n const el = resolveElement(toValue(element));\n if (!el || isLocked.value)\n return;\n if (isIOS) {\n stopTouchMoveListener = useEventListener(\n el,\n \"touchmove\",\n (e) => {\n preventDefault(e);\n },\n { passive: false }\n );\n }\n el.style.overflow = \"hidden\";\n isLocked.value = true;\n };\n const unlock = () => {\n const el = resolveElement(toValue(element));\n if (!el || !isLocked.value)\n return;\n isIOS && (stopTouchMoveListener == null ? void 0 : stopTouchMoveListener());\n el.style.overflow = initialOverflow;\n elInitialOverflow.delete(el);\n isLocked.value = false;\n };\n tryOnScopeDispose(unlock);\n return computed({\n get() {\n return isLocked.value;\n },\n set(v) {\n if (v)\n lock();\n else unlock();\n }\n });\n}\n\nfunction onScrollLock() {\n let isMounted = false;\n const state = ref(false);\n return (el, binding) => {\n state.value = binding.value;\n if (isMounted)\n return;\n isMounted = true;\n const isLocked = useScrollLock(el, binding.value);\n watch(state, (v) => isLocked.value = v);\n };\n}\nconst vScrollLock = onScrollLock();\n\nconst UseTimeAgo = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseTimeAgo\",\n props: [\"time\", \"updateInterval\", \"max\", \"fullDateFormatter\", \"messages\", \"showSecond\"],\n setup(props, { slots }) {\n const data = reactive(useTimeAgo(() => props.time, { ...props, controls: true }));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseTimestamp = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseTimestamp\",\n props: [\"immediate\", \"interval\", \"offset\"],\n setup(props, { slots }) {\n const data = reactive(useTimestamp({ ...props, controls: true }));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseVirtualList = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseVirtualList\",\n props: [\n \"list\",\n \"options\",\n \"height\"\n ],\n setup(props, { slots, expose }) {\n const { list: listRef } = toRefs(props);\n const { list, containerProps, wrapperProps, scrollTo } = useVirtualList(listRef, props.options);\n expose({ scrollTo });\n if (containerProps.style && typeof containerProps.style === \"object\" && !Array.isArray(containerProps.style))\n containerProps.style.height = props.height || \"300px\";\n return () => h(\"div\", { ...containerProps }, [\n h(\"div\", { ...wrapperProps.value }, list.value.map((item) => h(\"div\", { style: { overflow: \"hidden\", height: item.height } }, slots.default ? slots.default(item) : \"Please set content!\")))\n ]);\n }\n});\n\nconst UseWindowFocus = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseWindowFocus\",\n setup(props, { slots }) {\n const data = reactive({\n focused: useWindowFocus()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseWindowSize = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseWindowSize\",\n props: [\"initialWidth\", \"initialHeight\"],\n setup(props, { slots }) {\n const data = reactive(useWindowSize(props));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nexport { OnClickOutside, OnLongPress, UseActiveElement, UseBattery, UseBrowserLocation, UseClipboard, UseColorMode, UseDark, UseDeviceMotion, UseDeviceOrientation, UseDevicePixelRatio, UseDevicesList, UseDocumentVisibility, UseDraggable, UseElementBounding, UseElementSize, UseElementVisibility, UseEyeDropper, UseFullscreen, UseGeolocation, UseIdle, UseImage, UseMouse, UseMouseInElement, UseMousePressed, UseNetwork, UseNow, UseObjectUrl, UseOffsetPagination, UseOnline, UsePageLeave, UsePointer, UsePointerLock, UsePreferredColorScheme, UsePreferredContrast, UsePreferredDark, UsePreferredLanguages, UsePreferredReducedMotion, UseScreenSafeArea, UseTimeAgo, UseTimestamp, UseVirtualList, UseWindowFocus, UseWindowSize, vOnClickOutside as VOnClickOutside, vOnLongPress as VOnLongPress, vElementHover, vElementSize, vElementVisibility, vInfiniteScroll, vIntersectionObserver, vOnClickOutside, vOnKeyStroke, vOnLongPress, vScroll, vScrollLock };\n","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : true\"\n :aria-label=\"title\"\n class=\"material-design-icon file-multiple-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M15,7H20.5L15,1.5V7M8,0H16L22,6V18A2,2 0 0,1 20,20H8C6.89,20 6,19.1 6,18V2A2,2 0 0,1 8,0M4,4V22H20V24H4A2,2 0 0,1 2,22V4H4Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"FileMultipleIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./FileMultiple.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./FileMultiple.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FileMultiple.vue?vue&type=template&id=27b46e04\"\nimport script from \"./FileMultiple.vue?vue&type=script&lang=js\"\nexport * from \"./FileMultiple.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon file-multiple-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M15,7H20.5L15,1.5V7M8,0H16L22,6V18A2,2 0 0,1 20,20H8C6.89,20 6,19.1 6,18V2A2,2 0 0,1 8,0M4,4V22H20V24H4A2,2 0 0,1 2,22V4H4Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"files-list-drag-image\"},[_c('span',{staticClass:\"files-list-drag-image__icon\"},[_c('span',{ref:\"previewImg\"}),_vm._v(\" \"),(_vm.isSingleFolder)?_c('FolderIcon'):_c('FileMultipleIcon')],1),_vm._v(\" \"),_c('span',{staticClass:\"files-list-drag-image__name\"},[_vm._v(_vm._s(_vm.name))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropPreview.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropPreview.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropPreview.vue?vue&type=style&index=0&id=775162a4&prod&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropPreview.vue?vue&type=style&index=0&id=775162a4&prod&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./DragAndDropPreview.vue?vue&type=template&id=775162a4\"\nimport script from \"./DragAndDropPreview.vue?vue&type=script&lang=ts\"\nexport * from \"./DragAndDropPreview.vue?vue&type=script&lang=ts\"\nimport style0 from \"./DragAndDropPreview.vue?vue&type=style&index=0&id=775162a4&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import DragAndDropPreview from '../components/DragAndDropPreview.vue';\nimport Vue from 'vue';\nconst Preview = Vue.extend(DragAndDropPreview);\nlet preview;\nexport const getDragAndDropPreview = async (nodes) => {\n return new Promise((resolve) => {\n if (!preview) {\n preview = new Preview().$mount();\n document.body.appendChild(preview.$el);\n }\n preview.update(nodes);\n preview.$on('loaded', () => {\n resolve(preview.$el);\n preview.$off('loaded');\n });\n });\n};\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { showError } from '@nextcloud/dialogs';\nimport { FileType, Permission, Folder, File as NcFile, NodeStatus, Node, getFileActions } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport { generateUrl } from '@nextcloud/router';\nimport { vOnClickOutside } from '@vueuse/components';\nimport { extname } from 'path';\nimport Vue, { defineComponent } from 'vue';\nimport { action as sidebarAction } from '../actions/sidebarAction.ts';\nimport { getDragAndDropPreview } from '../utils/dragUtils.ts';\nimport { hashCode } from '../utils/hashUtils.ts';\nimport { dataTransferToFileTree, onDropExternalFiles, onDropInternalFiles } from '../services/DropService.ts';\nimport logger from '../logger.ts';\nVue.directive('onClickOutside', vOnClickOutside);\nconst actions = getFileActions();\nexport default defineComponent({\n props: {\n source: {\n type: [Folder, NcFile, Node],\n required: true,\n },\n nodes: {\n type: Array,\n required: true,\n },\n filesListWidth: {\n type: Number,\n default: 0,\n },\n isMtimeAvailable: {\n type: Boolean,\n default: false,\n },\n compact: {\n type: Boolean,\n default: false,\n },\n },\n provide() {\n return {\n defaultFileAction: this.defaultFileAction,\n enabledFileActions: this.enabledFileActions,\n };\n },\n data() {\n return {\n loading: '',\n dragover: false,\n gridMode: false,\n };\n },\n computed: {\n fileid() {\n return this.source.fileid ?? 0;\n },\n uniqueId() {\n return hashCode(this.source.source);\n },\n isLoading() {\n return this.source.status === NodeStatus.LOADING || this.loading !== '';\n },\n /**\n * The display name of the current node\n * Either the nodes filename or a custom display name (e.g. for shares)\n */\n displayName() {\n // basename fallback needed for apps using old `@nextcloud/files` prior 3.6.0\n return this.source.displayname || this.source.basename;\n },\n /**\n * The display name without extension\n */\n basename() {\n if (this.extension === '') {\n return this.displayName;\n }\n return this.displayName.slice(0, 0 - this.extension.length);\n },\n /**\n * The extension of the file\n */\n extension() {\n if (this.source.type === FileType.Folder) {\n return '';\n }\n return extname(this.displayName);\n },\n draggingFiles() {\n return this.draggingStore.dragging;\n },\n selectedFiles() {\n return this.selectionStore.selected;\n },\n isSelected() {\n return this.selectedFiles.includes(this.source.source);\n },\n isRenaming() {\n return this.renamingStore.renamingNode === this.source;\n },\n isRenamingSmallScreen() {\n return this.isRenaming && this.filesListWidth < 512;\n },\n isActive() {\n return String(this.fileid) === String(this.currentFileId);\n },\n /**\n * Check if the source is in a failed state after an API request\n */\n isFailedSource() {\n return this.source.status === NodeStatus.FAILED;\n },\n canDrag() {\n if (this.isRenaming) {\n return false;\n }\n const canDrag = (node) => {\n return (node?.permissions & Permission.UPDATE) !== 0;\n };\n // If we're dragging a selection, we need to check all files\n if (this.selectedFiles.length > 0) {\n const nodes = this.selectedFiles.map(source => this.filesStore.getNode(source));\n return nodes.every(canDrag);\n }\n return canDrag(this.source);\n },\n canDrop() {\n if (this.source.type !== FileType.Folder) {\n return false;\n }\n // If the current folder is also being dragged, we can't drop it on itself\n if (this.draggingFiles.includes(this.source.source)) {\n return false;\n }\n return (this.source.permissions & Permission.CREATE) !== 0;\n },\n openedMenu: {\n get() {\n return this.actionsMenuStore.opened === this.uniqueId.toString();\n },\n set(opened) {\n this.actionsMenuStore.opened = opened ? this.uniqueId.toString() : null;\n },\n },\n mtimeOpacity() {\n const maxOpacityTime = 31 * 24 * 60 * 60 * 1000; // 31 days\n const mtime = this.source.mtime?.getTime?.();\n if (!mtime) {\n return {};\n }\n // 1 = today, 0 = 31 days ago\n const ratio = Math.round(Math.min(100, 100 * (maxOpacityTime - (Date.now() - mtime)) / maxOpacityTime));\n if (ratio < 0) {\n return {};\n }\n return {\n color: `color-mix(in srgb, var(--color-main-text) ${ratio}%, var(--color-text-maxcontrast))`,\n };\n },\n /**\n * Sorted actions that are enabled for this node\n */\n enabledFileActions() {\n if (this.source.status === NodeStatus.FAILED) {\n return [];\n }\n return actions\n .filter(action => !action.enabled || action.enabled([this.source], this.currentView))\n .sort((a, b) => (a.order || 0) - (b.order || 0));\n },\n defaultFileAction() {\n return this.enabledFileActions.find((action) => action.default !== undefined);\n },\n },\n watch: {\n /**\n * When the source changes, reset the preview\n * and fetch the new one.\n * @param a\n * @param b\n */\n source(a, b) {\n if (a.source !== b.source) {\n this.resetState();\n }\n },\n openedMenu() {\n if (this.openedMenu === false) {\n // TODO: This timeout can be removed once `close` event only triggers after the transition\n // ref: https://github.com/nextcloud-libraries/nextcloud-vue/pull/6065\n window.setTimeout(() => {\n if (this.openedMenu) {\n // was reopened while the animation run\n return;\n }\n // Reset any right menu position potentially set\n const root = document.getElementById('app-content-vue');\n if (root !== null) {\n root.style.removeProperty('--mouse-pos-x');\n root.style.removeProperty('--mouse-pos-y');\n }\n }, 300);\n }\n },\n },\n beforeDestroy() {\n this.resetState();\n },\n methods: {\n resetState() {\n // Reset loading state\n this.loading = '';\n // Reset the preview state\n this.$refs?.preview?.reset?.();\n // Close menu\n this.openedMenu = false;\n },\n // Open the actions menu on right click\n onRightClick(event) {\n // If already opened, fallback to default browser\n if (this.openedMenu) {\n return;\n }\n // The grid mode is compact enough to not care about\n // the actions menu mouse position\n if (!this.gridMode) {\n // Actions menu is contained within the app content\n const root = this.$el?.closest('main.app-content');\n const contentRect = root.getBoundingClientRect();\n // Using Math.min/max to prevent the menu from going out of the AppContent\n // 200 = max width of the menu\n root.style.setProperty('--mouse-pos-x', Math.max(0, event.clientX - contentRect.left - 200) + 'px');\n root.style.setProperty('--mouse-pos-y', Math.max(0, event.clientY - contentRect.top) + 'px');\n }\n else {\n // Reset any right menu position potentially set\n const root = this.$el?.closest('main.app-content');\n root.style.removeProperty('--mouse-pos-x');\n root.style.removeProperty('--mouse-pos-y');\n }\n // If the clicked row is in the selection, open global menu\n const isMoreThanOneSelected = this.selectedFiles.length > 1;\n this.actionsMenuStore.opened = this.isSelected && isMoreThanOneSelected ? 'global' : this.uniqueId.toString();\n // Prevent any browser defaults\n event.preventDefault();\n event.stopPropagation();\n },\n execDefaultAction(event) {\n // Ignore click if we are renaming\n if (this.isRenaming) {\n return;\n }\n // Ignore right click.\n if (event.button > 1) {\n return;\n }\n // if ctrl+click or middle mouse button, open in new tab\n if (event.ctrlKey || event.metaKey || event.button === 1) {\n event.preventDefault();\n window.open(generateUrl('/f/{fileId}', { fileId: this.fileid }));\n return false;\n }\n if (this.defaultFileAction) {\n event.preventDefault();\n event.stopPropagation();\n // Execute the first default action if any\n this.defaultFileAction.exec(this.source, this.currentView, this.currentDir);\n }\n else {\n // fallback to open in current tab\n window.open(generateUrl('/f/{fileId}', { fileId: this.fileid }), '_self');\n }\n },\n openDetailsIfAvailable(event) {\n event.preventDefault();\n event.stopPropagation();\n if (sidebarAction?.enabled?.([this.source], this.currentView)) {\n sidebarAction.exec(this.source, this.currentView, this.currentDir);\n }\n },\n onDragOver(event) {\n this.dragover = this.canDrop;\n if (!this.canDrop) {\n event.dataTransfer.dropEffect = 'none';\n return;\n }\n // Handle copy/move drag and drop\n if (event.ctrlKey) {\n event.dataTransfer.dropEffect = 'copy';\n }\n else {\n event.dataTransfer.dropEffect = 'move';\n }\n },\n onDragLeave(event) {\n // Counter bubbling, make sure we're ending the drag\n // only when we're leaving the current element\n const currentTarget = event.currentTarget;\n if (currentTarget?.contains(event.relatedTarget)) {\n return;\n }\n this.dragover = false;\n },\n async onDragStart(event) {\n event.stopPropagation();\n if (!this.canDrag || !this.fileid) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n logger.debug('Drag started', { event });\n // Make sure that we're not dragging a file like the preview\n event.dataTransfer?.clearData?.();\n // Reset any renaming\n this.renamingStore.$reset();\n // Dragging set of files, if we're dragging a file\n // that is already selected, we use the entire selection\n if (this.selectedFiles.includes(this.source.source)) {\n this.draggingStore.set(this.selectedFiles);\n }\n else {\n this.draggingStore.set([this.source.source]);\n }\n const nodes = this.draggingStore.dragging\n .map(source => this.filesStore.getNode(source));\n const image = await getDragAndDropPreview(nodes);\n event.dataTransfer?.setDragImage(image, -10, -10);\n },\n onDragEnd() {\n this.draggingStore.reset();\n this.dragover = false;\n logger.debug('Drag ended');\n },\n async onDrop(event) {\n // skip if native drop like text drag and drop from files names\n if (!this.draggingFiles && !event.dataTransfer?.items?.length) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n // Caching the selection\n const selection = this.draggingFiles;\n const items = [...event.dataTransfer?.items || []];\n // We need to process the dataTransfer ASAP before the\n // browser clears it. This is why we cache the items too.\n const fileTree = await dataTransferToFileTree(items);\n // We might not have the target directory fetched yet\n const contents = await this.currentView?.getContents(this.source.path);\n const folder = contents?.folder;\n if (!folder) {\n showError(this.t('files', 'Target folder does not exist any more'));\n return;\n }\n // If another button is pressed, cancel it. This\n // allows cancelling the drag with the right click.\n if (!this.canDrop || event.button) {\n return;\n }\n const isCopy = event.ctrlKey;\n this.dragover = false;\n logger.debug('Dropped', { event, folder, selection, fileTree });\n // Check whether we're uploading files\n if (fileTree.contents.length > 0) {\n await onDropExternalFiles(fileTree, folder, contents.contents);\n return;\n }\n // Else we're moving/copying files\n const nodes = selection.map(source => this.filesStore.getNode(source));\n await onDropInternalFiles(nodes, folder, contents.contents, isCopy);\n // Reset selection after we dropped the files\n // if the dropped files are within the selection\n if (selection.some(source => this.selectedFiles.includes(source))) {\n logger.debug('Dropped selection, resetting select store...');\n this.selectionStore.reset();\n }\n },\n t,\n },\n});\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * Simple non-secure hashing function similar to Java's `hashCode`\n * @param str The string to hash\n * @return {number} a non secure hash of the string\n */\nexport const hashCode = function (str) {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n hash = ((hash << 5) - hash + str.charCodeAt(i)) | 0;\n }\n return (hash >>> 0);\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomElementRender.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomElementRender.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./CustomElementRender.vue?vue&type=template&id=7b30c709\"\nimport script from \"./CustomElementRender.vue?vue&type=script&lang=ts\"\nexport * from \"./CustomElementRender.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('td',{staticClass:\"files-list__row-actions\",attrs:{\"data-cy-files-list-row-actions\":\"\"}},[_vm._l((_vm.enabledRenderActions),function(action){return _c('CustomElementRender',{key:action.id,staticClass:\"files-list__row-action--inline\",class:'files-list__row-action-' + action.id,attrs:{\"current-view\":_vm.currentView,\"render\":action.renderInline,\"source\":_vm.source}})}),_vm._v(\" \"),_c('NcActions',{ref:\"actionsMenu\",attrs:{\"boundaries-element\":_vm.getBoundariesElement,\"container\":_vm.getBoundariesElement,\"force-name\":true,\"type\":\"tertiary\",\"force-menu\":_vm.enabledInlineActions.length === 0 /* forceMenu only if no inline actions */,\"inline\":_vm.enabledInlineActions.length,\"open\":_vm.openedMenu},on:{\"update:open\":function($event){_vm.openedMenu=$event},\"close\":function($event){_vm.openedSubmenu = null}}},[_vm._l((_vm.enabledMenuActions),function(action){return _c('NcActionButton',{key:action.id,ref:`action-${action.id}`,refInFor:true,class:{\n\t\t\t\t[`files-list__row-action-${action.id}`]: true,\n\t\t\t\t[`files-list__row-action--menu`]: _vm.isMenu(action.id)\n\t\t\t},attrs:{\"close-after-click\":!_vm.isMenu(action.id),\"data-cy-files-list-row-action\":action.id,\"is-menu\":_vm.isMenu(action.id),\"aria-label\":action.title?.([_vm.source], _vm.currentView),\"title\":action.title?.([_vm.source], _vm.currentView)},on:{\"click\":function($event){return _vm.onActionClick(action)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading === action.id)?_c('NcLoadingIcon',{attrs:{\"size\":18}}):_c('NcIconSvgWrapper',{attrs:{\"svg\":action.iconSvgInline([_vm.source], _vm.currentView)}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.mountType === 'shared' && action.id === 'sharing-status' ? '' : _vm.actionDisplayName(action))+\"\\n\\t\\t\")])}),_vm._v(\" \"),(_vm.openedSubmenu && _vm.enabledSubmenuActions[_vm.openedSubmenu?.id])?[_c('NcActionButton',{staticClass:\"files-list__row-action-back\",on:{\"click\":function($event){return _vm.onBackToMenuClick(_vm.openedSubmenu)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ArrowLeftIcon')]},proxy:true}],null,false,3001860362)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.actionDisplayName(_vm.openedSubmenu))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionSeparator'),_vm._v(\" \"),_vm._l((_vm.enabledSubmenuActions[_vm.openedSubmenu?.id]),function(action){return _c('NcActionButton',{key:action.id,staticClass:\"files-list__row-action--submenu\",class:`files-list__row-action-${action.id}`,attrs:{\"close-after-click\":\"\",\"data-cy-files-list-row-action\":action.id,\"title\":action.title?.([_vm.source], _vm.currentView)},on:{\"click\":function($event){return _vm.onActionClick(action)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading === action.id)?_c('NcLoadingIcon',{attrs:{\"size\":18}}):_c('NcIconSvgWrapper',{attrs:{\"svg\":action.iconSvgInline([_vm.source], _vm.currentView)}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.actionDisplayName(action))+\"\\n\\t\\t\\t\")])})]:_vm._e()],2)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : true\"\n :aria-label=\"title\"\n class=\"material-design-icon arrow-left-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ArrowLeftIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ArrowLeft.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ArrowLeft.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ArrowLeft.vue?vue&type=template&id=214c9a86\"\nimport script from \"./ArrowLeft.vue?vue&type=script&lang=js\"\nexport * from \"./ArrowLeft.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon arrow-left-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=style&index=0&id=893a87d0&prod&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=style&index=0&id=893a87d0&prod&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=style&index=1&id=893a87d0&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryActions.vue?vue&type=style&index=1&id=893a87d0&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FileEntryActions.vue?vue&type=template&id=893a87d0&scoped=true\"\nimport script from \"./FileEntryActions.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntryActions.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FileEntryActions.vue?vue&type=style&index=0&id=893a87d0&prod&lang=scss\"\nimport style1 from \"./FileEntryActions.vue?vue&type=style&index=1&id=893a87d0&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"893a87d0\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryCheckbox.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryCheckbox.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('td',{staticClass:\"files-list__row-checkbox\",on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey)return null;return _vm.resetSelection.apply(null, arguments)}}},[(_vm.isLoading)?_c('NcLoadingIcon',{attrs:{\"name\":_vm.loadingLabel}}):_c('NcCheckboxRadioSwitch',{attrs:{\"aria-label\":_vm.ariaLabel,\"checked\":_vm.isSelected},on:{\"update:checked\":_vm.onSelectionChange}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { defineStore } from 'pinia';\nimport Vue from 'vue';\n/**\n * Observe various events and save the current\n * special keys states. Useful for checking the\n * current status of a key when executing a method.\n * @param {...any} args\n */\nexport const useKeyboardStore = function (...args) {\n const store = defineStore('keyboard', {\n state: () => ({\n altKey: false,\n ctrlKey: false,\n metaKey: false,\n shiftKey: false,\n }),\n actions: {\n onEvent(event) {\n if (!event) {\n event = window.event;\n }\n Vue.set(this, 'altKey', !!event.altKey);\n Vue.set(this, 'ctrlKey', !!event.ctrlKey);\n Vue.set(this, 'metaKey', !!event.metaKey);\n Vue.set(this, 'shiftKey', !!event.shiftKey);\n },\n },\n });\n const keyboardStore = store(...args);\n // Make sure we only register the listeners once\n if (!keyboardStore._initialized) {\n window.addEventListener('keydown', keyboardStore.onEvent);\n window.addEventListener('keyup', keyboardStore.onEvent);\n window.addEventListener('mousemove', keyboardStore.onEvent);\n keyboardStore._initialized = true;\n }\n return keyboardStore;\n};\n","import { render, staticRenderFns } from \"./FileEntryCheckbox.vue?vue&type=template&id=6a16ed0b\"\nimport script from \"./FileEntryCheckbox.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntryCheckbox.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.isRenaming)?_c('form',{directives:[{name:\"on-click-outside\",rawName:\"v-on-click-outside\",value:(_vm.onRename),expression:\"onRename\"}],ref:\"renameForm\",staticClass:\"files-list__row-rename\",attrs:{\"aria-label\":_vm.t('files', 'Rename file')},on:{\"submit\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onRename.apply(null, arguments)}}},[_c('NcTextField',{ref:\"renameInput\",attrs:{\"label\":_vm.renameLabel,\"autofocus\":true,\"minlength\":1,\"required\":true,\"value\":_vm.newName,\"enterkeyhint\":\"done\"},on:{\"update:value\":function($event){_vm.newName=$event},\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;return _vm.stopRenaming.apply(null, arguments)}}})],1):_c(_vm.linkTo.is,_vm._b({ref:\"basename\",tag:\"component\",staticClass:\"files-list__row-name-link\",attrs:{\"aria-hidden\":_vm.isRenaming,\"data-cy-files-list-row-name-link\":\"\"}},'component',_vm.linkTo.params,false),[_c('span',{staticClass:\"files-list__row-name-text\"},[_c('span',{staticClass:\"files-list__row-name-\",domProps:{\"textContent\":_vm._s(_vm.basename)}}),_vm._v(\" \"),_c('span',{staticClass:\"files-list__row-name-ext\",domProps:{\"textContent\":_vm._s(_vm.extension)}})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { InvalidFilenameError, InvalidFilenameErrorReason, validateFilename } from '@nextcloud/files';\nimport { t } from '@nextcloud/l10n';\n/**\n * Get the validity of a filename (empty if valid).\n * This can be used for `setCustomValidity` on input elements\n * @param name The filename\n * @param escape Escape the matched string in the error (only set when used in HTML)\n */\nexport function getFilenameValidity(name, escape = false) {\n if (name.trim() === '') {\n return t('files', 'Filename must not be empty.');\n }\n try {\n validateFilename(name);\n return '';\n }\n catch (error) {\n if (!(error instanceof InvalidFilenameError)) {\n throw error;\n }\n switch (error.reason) {\n case InvalidFilenameErrorReason.Character:\n return t('files', '\"{char}\" is not allowed inside a filename.', { char: error.segment }, undefined, { escape });\n case InvalidFilenameErrorReason.ReservedName:\n return t('files', '\"{segment}\" is a reserved name and not allowed for filenames.', { segment: error.segment }, undefined, { escape: false });\n case InvalidFilenameErrorReason.Extension:\n if (error.segment.match(/\\.[a-z]/i)) {\n return t('files', '\"{extension}\" is not an allowed filetype.', { extension: error.segment }, undefined, { escape: false });\n }\n return t('files', 'Filenames must not end with \"{extension}\".', { extension: error.segment }, undefined, { escape: false });\n default:\n return t('files', 'Invalid filename.');\n }\n }\n}\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryName.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryName.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryName.vue?vue&type=style&index=0&id=4111296a&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryName.vue?vue&type=style&index=0&id=4111296a&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FileEntryName.vue?vue&type=template&id=4111296a&scoped=true\"\nimport script from \"./FileEntryName.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntryName.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FileEntryName.vue?vue&type=style&index=0&id=4111296a&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4111296a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('span',{staticClass:\"files-list__row-icon\"},[(_vm.source.type === 'folder')?[(_vm.dragover)?_vm._m(0):[_vm._m(1),_vm._v(\" \"),(_vm.folderOverlay)?_c(_vm.folderOverlay,{tag:\"OverlayIcon\",staticClass:\"files-list__row-icon-overlay\"}):_vm._e()]]:(_vm.previewUrl && _vm.backgroundFailed !== true)?_c('img',{ref:\"previewImg\",staticClass:\"files-list__row-icon-preview\",class:{'files-list__row-icon-preview--loaded': _vm.backgroundFailed === false},attrs:{\"alt\":\"\",\"loading\":\"lazy\",\"src\":_vm.previewUrl},on:{\"error\":_vm.onBackgroundError,\"load\":function($event){_vm.backgroundFailed = false}}}):_vm._m(2),_vm._v(\" \"),(_vm.isFavorite)?_c('span',{staticClass:\"files-list__row-icon-favorite\"},[_vm._m(3)],1):_vm._e(),_vm._v(\" \"),(_vm.fileOverlay)?_c(_vm.fileOverlay,{tag:\"OverlayIcon\",staticClass:\"files-list__row-icon-overlay files-list__row-icon-overlay--file\"}):_vm._e()],2)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('FolderOpenIcon')\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('FolderIcon')\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('FileIcon')\n},function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('FavoriteIcon')\n}]\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : true\"\n :aria-label=\"title\"\n class=\"material-design-icon file-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"FileIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./File.vue?vue&type=template&id=e3c8d598\"\nimport script from \"./File.vue?vue&type=script&lang=js\"\nexport * from \"./File.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon file-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./FolderOpen.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./FolderOpen.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : true\"\n :aria-label=\"title\"\n class=\"material-design-icon folder-open-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M19,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10L12,6H19A2,2 0 0,1 21,8H21L4,8V18L6.14,10H23.21L20.93,18.5C20.7,19.37 19.92,20 19,20Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"FolderOpenIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./FolderOpen.vue?vue&type=template&id=79cee0a4\"\nimport script from \"./FolderOpen.vue?vue&type=script&lang=js\"\nexport * from \"./FolderOpen.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon folder-open-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10L12,6H19A2,2 0 0,1 21,8H21L4,8V18L6.14,10H23.21L20.93,18.5C20.7,19.37 19.92,20 19,20Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Key.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Key.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : true\"\n :aria-label=\"title\"\n class=\"material-design-icon key-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M7 14C5.9 14 5 13.1 5 12S5.9 10 7 10 9 10.9 9 12 8.1 14 7 14M12.6 10C11.8 7.7 9.6 6 7 6C3.7 6 1 8.7 1 12S3.7 18 7 18C9.6 18 11.8 16.3 12.6 14H16V18H20V14H23V10H12.6Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"KeyIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./Key.vue?vue&type=template&id=01a06d54\"\nimport script from \"./Key.vue?vue&type=script&lang=js\"\nexport * from \"./Key.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon key-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M7 14C5.9 14 5 13.1 5 12S5.9 10 7 10 9 10.9 9 12 8.1 14 7 14M12.6 10C11.8 7.7 9.6 6 7 6C3.7 6 1 8.7 1 12S3.7 18 7 18C9.6 18 11.8 16.3 12.6 14H16V18H20V14H23V10H12.6Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Network.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Network.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : true\"\n :aria-label=\"title\"\n class=\"material-design-icon network-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"NetworkIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./Network.vue?vue&type=template&id=29f8873c\"\nimport script from \"./Network.vue?vue&type=script&lang=js\"\nexport * from \"./Network.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon network-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Tag.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Tag.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : true\"\n :aria-label=\"title\"\n class=\"material-design-icon tag-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M5.5,7A1.5,1.5 0 0,1 4,5.5A1.5,1.5 0 0,1 5.5,4A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 5.5,7M21.41,11.58L12.41,2.58C12.05,2.22 11.55,2 11,2H4C2.89,2 2,2.89 2,4V11C2,11.55 2.22,12.05 2.59,12.41L11.58,21.41C11.95,21.77 12.45,22 13,22C13.55,22 14.05,21.77 14.41,21.41L21.41,14.41C21.78,14.05 22,13.55 22,13C22,12.44 21.77,11.94 21.41,11.58Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"TagIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./Tag.vue?vue&type=template&id=75dd05e4\"\nimport script from \"./Tag.vue?vue&type=script&lang=js\"\nexport * from \"./Tag.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon tag-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M5.5,7A1.5,1.5 0 0,1 4,5.5A1.5,1.5 0 0,1 5.5,4A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 5.5,7M21.41,11.58L12.41,2.58C12.05,2.22 11.55,2 11,2H4C2.89,2 2,2.89 2,4V11C2,11.55 2.22,12.05 2.59,12.41L11.58,21.41C11.95,21.77 12.45,22 13,22C13.55,22 14.05,21.77 14.41,21.41L21.41,14.41C21.78,14.05 22,13.55 22,13C22,12.44 21.77,11.94 21.41,11.58Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./PlayCircle.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./PlayCircle.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : true\"\n :aria-label=\"title\"\n class=\"material-design-icon play-circle-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M10,16.5V7.5L16,12M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"PlayCircleIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./PlayCircle.vue?vue&type=template&id=6901b3e6\"\nimport script from \"./PlayCircle.vue?vue&type=script&lang=js\"\nexport * from \"./PlayCircle.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon play-circle-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M10,16.5V7.5L16,12M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollectivesIcon.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollectivesIcon.vue?vue&type=script&lang=js\"","<!--\n - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n -->\n<template>\n\t<span :aria-hidden=\"!title\"\n\t\t:aria-label=\"title\"\n\t\tclass=\"material-design-icon collectives-icon\"\n\t\trole=\"img\"\n\t\tv-bind=\"$attrs\"\n\t\t@click=\"$emit('click', $event)\">\n\t\t<svg :fill=\"fillColor\"\n\t\t\tclass=\"material-design-icon__svg\"\n\t\t\t:width=\"size\"\n\t\t\t:height=\"size\"\n\t\t\tviewBox=\"0 0 16 16\">\n\t\t\t<path d=\"M2.9,8.8c0-1.2,0.4-2.4,1.2-3.3L0.3,6c-0.2,0-0.3,0.3-0.1,0.4l2.7,2.6C2.9,9,2.9,8.9,2.9,8.8z\" />\n\t\t\t<path d=\"M8,3.7c0.7,0,1.3,0.1,1.9,0.4L8.2,0.6c-0.1-0.2-0.3-0.2-0.4,0L6.1,4C6.7,3.8,7.3,3.7,8,3.7z\" />\n\t\t\t<path d=\"M3.7,11.5L3,15.2c0,0.2,0.2,0.4,0.4,0.3l3.3-1.7C5.4,13.4,4.4,12.6,3.7,11.5z\" />\n\t\t\t<path d=\"M15.7,6l-3.7-0.5c0.7,0.9,1.2,2,1.2,3.3c0,0.1,0,0.2,0,0.3l2.7-2.6C15.9,6.3,15.9,6.1,15.7,6z\" />\n\t\t\t<path d=\"M12.3,11.5c-0.7,1.1-1.8,1.9-3,2.2l3.3,1.7c0.2,0.1,0.4-0.1,0.4-0.3L12.3,11.5z\" />\n\t\t\t<path d=\"M9.6,10.1c-0.4,0.5-1,0.8-1.6,0.8c-1.1,0-2-0.9-2.1-2C5.9,7.7,6.8,6.7,8,6.7c0.6,0,1.1,0.3,1.5,0.7 c0.1,0.1,0.1,0.1,0.2,0.1h1.4c0.2,0,0.4-0.2,0.3-0.5c-0.7-1.3-2.1-2.2-3.8-2.1C5.8,5,4.3,6.6,4.1,8.5C4,10.8,5.8,12.7,8,12.7 c1.6,0,2.9-0.9,3.5-2.3c0.1-0.2-0.1-0.4-0.3-0.4H9.9C9.8,10,9.7,10,9.6,10.1z\" />\n\t\t</svg>\n\t</span>\n</template>\n\n<script>\nexport default {\n\tname: 'CollectivesIcon',\n\tprops: {\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tfillColor: {\n\t\t\ttype: String,\n\t\t\tdefault: 'currentColor',\n\t\t},\n\t\tsize: {\n\t\t\ttype: Number,\n\t\t\tdefault: 24,\n\t\t},\n\t},\n}\n</script>\n","import { render, staticRenderFns } from \"./CollectivesIcon.vue?vue&type=template&id=43528c7c\"\nimport script from \"./CollectivesIcon.vue?vue&type=script&lang=js\"\nexport * from \"./CollectivesIcon.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon collectives-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 16 16\"}},[_c('path',{attrs:{\"d\":\"M2.9,8.8c0-1.2,0.4-2.4,1.2-3.3L0.3,6c-0.2,0-0.3,0.3-0.1,0.4l2.7,2.6C2.9,9,2.9,8.9,2.9,8.8z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M8,3.7c0.7,0,1.3,0.1,1.9,0.4L8.2,0.6c-0.1-0.2-0.3-0.2-0.4,0L6.1,4C6.7,3.8,7.3,3.7,8,3.7z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M3.7,11.5L3,15.2c0,0.2,0.2,0.4,0.4,0.3l3.3-1.7C5.4,13.4,4.4,12.6,3.7,11.5z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M15.7,6l-3.7-0.5c0.7,0.9,1.2,2,1.2,3.3c0,0.1,0,0.2,0,0.3l2.7-2.6C15.9,6.3,15.9,6.1,15.7,6z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M12.3,11.5c-0.7,1.1-1.8,1.9-3,2.2l3.3,1.7c0.2,0.1,0.4-0.1,0.4-0.3L12.3,11.5z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M9.6,10.1c-0.4,0.5-1,0.8-1.6,0.8c-1.1,0-2-0.9-2.1-2C5.9,7.7,6.8,6.7,8,6.7c0.6,0,1.1,0.3,1.5,0.7 c0.1,0.1,0.1,0.1,0.2,0.1h1.4c0.2,0,0.4-0.2,0.3-0.5c-0.7-1.3-2.1-2.2-3.8-2.1C5.8,5,4.3,6.6,4.1,8.5C4,10.8,5.8,12.7,8,12.7 c1.6,0,2.9-0.9,3.5-2.3c0.1-0.2-0.1-0.4-0.3-0.4H9.9C9.8,10,9.7,10,9.6,10.1z\"}})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FavoriteIcon.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FavoriteIcon.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcIconSvgWrapper',{staticClass:\"favorite-marker-icon\",attrs:{\"name\":_vm.t('files', 'Favorite'),\"svg\":_vm.StarSvg}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FavoriteIcon.vue?vue&type=style&index=0&id=f2d0cf6e&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FavoriteIcon.vue?vue&type=style&index=0&id=f2d0cf6e&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FavoriteIcon.vue?vue&type=template&id=f2d0cf6e&scoped=true\"\nimport script from \"./FavoriteIcon.vue?vue&type=script&lang=ts\"\nexport * from \"./FavoriteIcon.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FavoriteIcon.vue?vue&type=style&index=0&id=f2d0cf6e&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f2d0cf6e\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryPreview.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryPreview.vue?vue&type=script&lang=ts\"","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { Node, registerDavProperty } from '@nextcloud/files';\n/**\n *\n */\nexport function initLivePhotos() {\n registerDavProperty('nc:metadata-files-live-photo', { nc: 'http://nextcloud.org/ns' });\n}\n/**\n * @param {Node} node - The node\n */\nexport function isLivePhoto(node) {\n return node.attributes['metadata-files-live-photo'] !== undefined;\n}\n","import { render, staticRenderFns } from \"./FileEntryPreview.vue?vue&type=template&id=1298c36e\"\nimport script from \"./FileEntryPreview.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntryPreview.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntry.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntry.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FileEntry.vue?vue&type=template&id=8fb5fabc\"\nimport script from \"./FileEntry.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntry.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryGrid.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileEntryGrid.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"files-list__row\",class:{'files-list__row--active': _vm.isActive, 'files-list__row--dragover': _vm.dragover, 'files-list__row--loading': _vm.isLoading},attrs:{\"data-cy-files-list-row\":\"\",\"data-cy-files-list-row-fileid\":_vm.fileid,\"data-cy-files-list-row-name\":_vm.source.basename,\"draggable\":_vm.canDrag},on:{\"contextmenu\":_vm.onRightClick,\"dragover\":_vm.onDragOver,\"dragleave\":_vm.onDragLeave,\"dragstart\":_vm.onDragStart,\"dragend\":_vm.onDragEnd,\"drop\":_vm.onDrop}},[(_vm.isFailedSource)?_c('span',{staticClass:\"files-list__row--failed\"}):_vm._e(),_vm._v(\" \"),_c('FileEntryCheckbox',{attrs:{\"fileid\":_vm.fileid,\"is-loading\":_vm.isLoading,\"nodes\":_vm.nodes,\"source\":_vm.source}}),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-name\",attrs:{\"data-cy-files-list-row-name\":\"\"}},[_c('FileEntryPreview',{ref:\"preview\",attrs:{\"dragover\":_vm.dragover,\"grid-mode\":true,\"source\":_vm.source},nativeOn:{\"auxclick\":function($event){return _vm.execDefaultAction.apply(null, arguments)},\"click\":function($event){return _vm.execDefaultAction.apply(null, arguments)}}}),_vm._v(\" \"),_c('FileEntryName',{ref:\"name\",attrs:{\"basename\":_vm.basename,\"extension\":_vm.extension,\"files-list-width\":_vm.filesListWidth,\"grid-mode\":true,\"nodes\":_vm.nodes,\"source\":_vm.source},nativeOn:{\"auxclick\":function($event){return _vm.execDefaultAction.apply(null, arguments)},\"click\":function($event){return _vm.execDefaultAction.apply(null, arguments)}}})],1),_vm._v(\" \"),(!_vm.compact && _vm.isMtimeAvailable)?_c('td',{staticClass:\"files-list__row-mtime\",style:(_vm.mtimeOpacity),attrs:{\"data-cy-files-list-row-mtime\":\"\"},on:{\"click\":_vm.openDetailsIfAvailable}},[(_vm.source.mtime)?_c('NcDateTime',{attrs:{\"timestamp\":_vm.source.mtime,\"ignore-seconds\":true}}):_vm._e()],1):_vm._e(),_vm._v(\" \"),_c('FileEntryActions',{ref:\"actions\",class:`files-list__row-actions-${_vm.uniqueId}`,attrs:{\"files-list-width\":_vm.filesListWidth,\"grid-mode\":true,\"loading\":_vm.loading,\"opened\":_vm.openedMenu,\"source\":_vm.source},on:{\"update:loading\":function($event){_vm.loading=$event},\"update:opened\":function($event){_vm.openedMenu=$event}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./FileEntryGrid.vue?vue&type=template&id=06360965\"\nimport script from \"./FileEntryGrid.vue?vue&type=script&lang=ts\"\nexport * from \"./FileEntryGrid.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.enabled),expression:\"enabled\"}],class:`files-list__header-${_vm.header.id}`},[_c('span',{ref:\"mount\"})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeader.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListHeader.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FilesListHeader.vue?vue&type=template&id=33e2173e\"\nimport script from \"./FilesListHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListHeader.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableFooter.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableFooter.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',[_c('th',{staticClass:\"files-list__row-checkbox\"},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('files', 'Total rows summary')))])]),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-name\"},[_c('span',{staticClass:\"files-list__row-icon\"}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.summary))])]),_vm._v(\" \"),_c('td',{staticClass:\"files-list__row-actions\"}),_vm._v(\" \"),(_vm.isSizeAvailable)?_c('td',{staticClass:\"files-list__column files-list__row-size\"},[_c('span',[_vm._v(_vm._s(_vm.totalSize))])]):_vm._e(),_vm._v(\" \"),(_vm.isMtimeAvailable)?_c('td',{staticClass:\"files-list__column files-list__row-mtime\"}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.columns),function(column){return _c('th',{key:column.id,class:_vm.classForColumn(column)},[_c('span',[_vm._v(_vm._s(column.summary?.(_vm.nodes, _vm.currentView)))])])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableFooter.vue?vue&type=style&index=0&id=4c69fc7c&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableFooter.vue?vue&type=style&index=0&id=4c69fc7c&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListTableFooter.vue?vue&type=template&id=4c69fc7c&scoped=true\"\nimport script from \"./FilesListTableFooter.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListTableFooter.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesListTableFooter.vue?vue&type=style&index=0&id=4c69fc7c&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4c69fc7c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"files-list__row-head\"},[_c('th',{staticClass:\"files-list__column files-list__row-checkbox\",on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey)return null;return _vm.resetSelection.apply(null, arguments)}}},[_c('NcCheckboxRadioSwitch',_vm._b({on:{\"update:checked\":_vm.onToggleAll}},'NcCheckboxRadioSwitch',_vm.selectAllBind,false))],1),_vm._v(\" \"),_c('th',{staticClass:\"files-list__column files-list__row-name files-list__column--sortable\",attrs:{\"aria-sort\":_vm.ariaSortForMode('basename')}},[_c('span',{staticClass:\"files-list__row-icon\"}),_vm._v(\" \"),_c('FilesListTableHeaderButton',{attrs:{\"name\":_vm.t('files', 'Name'),\"mode\":\"basename\"}})],1),_vm._v(\" \"),_c('th',{staticClass:\"files-list__row-actions\"}),_vm._v(\" \"),(_vm.isSizeAvailable)?_c('th',{staticClass:\"files-list__column files-list__row-size\",class:{ 'files-list__column--sortable': _vm.isSizeAvailable },attrs:{\"aria-sort\":_vm.ariaSortForMode('size')}},[_c('FilesListTableHeaderButton',{attrs:{\"name\":_vm.t('files', 'Size'),\"mode\":\"size\"}})],1):_vm._e(),_vm._v(\" \"),(_vm.isMtimeAvailable)?_c('th',{staticClass:\"files-list__column files-list__row-mtime\",class:{ 'files-list__column--sortable': _vm.isMtimeAvailable },attrs:{\"aria-sort\":_vm.ariaSortForMode('mtime')}},[_c('FilesListTableHeaderButton',{attrs:{\"name\":_vm.t('files', 'Modified'),\"mode\":\"mtime\"}})],1):_vm._e(),_vm._v(\" \"),_vm._l((_vm.columns),function(column){return _c('th',{key:column.id,class:_vm.classForColumn(column),attrs:{\"aria-sort\":_vm.ariaSortForMode(column.id)}},[(!!column.sort)?_c('FilesListTableHeaderButton',{attrs:{\"name\":column.title,\"mode\":column.id}}):_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(column.title)+\"\\n\\t\\t\")])],1)})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport Vue from 'vue';\nimport { mapState } from 'pinia';\nimport { useViewConfigStore } from '../store/viewConfig';\nimport { Navigation, View } from '@nextcloud/files';\nexport default Vue.extend({\n computed: {\n ...mapState(useViewConfigStore, ['getConfig', 'setSortingBy', 'toggleSortingDirection']),\n currentView() {\n return this.$navigation.active;\n },\n /**\n * Get the sorting mode for the current view\n */\n sortingMode() {\n return this.getConfig(this.currentView.id)?.sorting_mode\n || this.currentView?.defaultSortKey\n || 'basename';\n },\n /**\n * Get the sorting direction for the current view\n */\n isAscSorting() {\n const sortingDirection = this.getConfig(this.currentView.id)?.sorting_direction;\n return sortingDirection !== 'desc';\n },\n },\n methods: {\n toggleSortBy(key) {\n // If we're already sorting by this key, flip the direction\n if (this.sortingMode === key) {\n this.toggleSortingDirection(this.currentView.id);\n return;\n }\n // else sort ASC by this new key\n this.setSortingBy(key, this.currentView.id);\n },\n },\n});\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderButton.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderButton.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcButton',{class:['files-list__column-sort-button', {\n\t\t'files-list__column-sort-button--active': _vm.sortingMode === _vm.mode,\n\t\t'files-list__column-sort-button--size': _vm.sortingMode === 'size',\n\t}],attrs:{\"alignment\":_vm.mode === 'size' ? 'end' : 'start-reverse',\"type\":\"tertiary\",\"title\":_vm.name},on:{\"click\":function($event){return _vm.toggleSortBy(_vm.mode)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.sortingMode !== _vm.mode || _vm.isAscSorting)?_c('MenuUp',{staticClass:\"files-list__column-sort-button-icon\"}):_c('MenuDown',{staticClass:\"files-list__column-sort-button-icon\"})]},proxy:true}])},[_vm._v(\" \"),_c('span',{staticClass:\"files-list__column-sort-button-text\"},[_vm._v(_vm._s(_vm.name))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderButton.vue?vue&type=style&index=0&id=6d7680f0&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderButton.vue?vue&type=style&index=0&id=6d7680f0&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListTableHeaderButton.vue?vue&type=template&id=6d7680f0&scoped=true\"\nimport script from \"./FilesListTableHeaderButton.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListTableHeaderButton.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesListTableHeaderButton.vue?vue&type=style&index=0&id=6d7680f0&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6d7680f0\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeader.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeader.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeader.vue?vue&type=style&index=0&id=30515e4c&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeader.vue?vue&type=style&index=0&id=30515e4c&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListTableHeader.vue?vue&type=template&id=30515e4c&scoped=true\"\nimport script from \"./FilesListTableHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListTableHeader.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesListTableHeader.vue?vue&type=style&index=0&id=30515e4c&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"30515e4c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"files-list\",attrs:{\"data-cy-files-list\":\"\"}},[_c('div',{ref:\"before\",staticClass:\"files-list__before\"},[_vm._t(\"before\")],2),_vm._v(\" \"),_c('div',{staticClass:\"files-list__filters\"},[_vm._t(\"filters\")],2),_vm._v(\" \"),(!!_vm.$scopedSlots['header-overlay'])?_c('div',{staticClass:\"files-list__thead-overlay\"},[_vm._t(\"header-overlay\")],2):_vm._e(),_vm._v(\" \"),_c('table',{staticClass:\"files-list__table\",class:{ 'files-list__table--with-thead-overlay': !!_vm.$scopedSlots['header-overlay'] }},[(_vm.caption)?_c('caption',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.caption)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('thead',{ref:\"thead\",staticClass:\"files-list__thead\",attrs:{\"data-cy-files-list-thead\":\"\"}},[_vm._t(\"header\")],2),_vm._v(\" \"),_c('tbody',{staticClass:\"files-list__tbody\",class:_vm.gridMode ? 'files-list__tbody--grid' : 'files-list__tbody--list',style:(_vm.tbodyStyle),attrs:{\"data-cy-files-list-tbody\":\"\"}},_vm._l((_vm.renderedItems),function({key, item},i){return _c(_vm.dataComponent,_vm._b({key:key,tag:\"component\",attrs:{\"source\":item,\"index\":i}},'component',_vm.extraProps,false))}),1),_vm._v(\" \"),_c('tfoot',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isReady),expression:\"isReady\"}],staticClass:\"files-list__tfoot\",attrs:{\"data-cy-files-list-tfoot\":\"\"}},[_vm._t(\"footer\")],2)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./VirtualList.vue?vue&type=template&id=43a0a096\"\nimport script from \"./VirtualList.vue?vue&type=script&lang=ts\"\nexport * from \"./VirtualList.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"files-list__column files-list__row-actions-batch\"},[_c('NcActions',{ref:\"actionsMenu\",attrs:{\"container\":\"#app-content-vue\",\"disabled\":!!_vm.loading || _vm.areSomeNodesLoading,\"force-name\":true,\"inline\":_vm.inlineActions,\"menu-name\":_vm.inlineActions <= 1 ? _vm.t('files', 'Actions') : null,\"open\":_vm.openedMenu},on:{\"update:open\":function($event){_vm.openedMenu=$event}}},_vm._l((_vm.enabledActions),function(action){return _c('NcActionButton',{key:action.id,class:'files-list__row-actions-batch-' + action.id,on:{\"click\":function($event){return _vm.onActionClick(action)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading === action.id)?_c('NcLoadingIcon',{attrs:{\"size\":18}}):_c('NcIconSvgWrapper',{attrs:{\"svg\":action.iconSvgInline(_vm.nodes, _vm.currentView)}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(action.displayName(_vm.nodes, _vm.currentView))+\"\\n\\t\\t\")])}),1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderActions.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderActions.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderActions.vue?vue&type=style&index=0&id=bab8d624&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListTableHeaderActions.vue?vue&type=style&index=0&id=bab8d624&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListTableHeaderActions.vue?vue&type=template&id=bab8d624&scoped=true\"\nimport script from \"./FilesListTableHeaderActions.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListTableHeaderActions.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesListTableHeaderActions.vue?vue&type=style&index=0&id=bab8d624&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"bab8d624\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"file-list-filters\"},[_c('div',{staticClass:\"file-list-filters__filter\",attrs:{\"data-cy-files-filters\":\"\"}},_vm._l((_setup.visualFilters),function(filter){return _c('span',{key:filter.id,ref:\"filterElements\",refInFor:true})}),0),_vm._v(\" \"),(_setup.activeChips.length > 0)?_c('ul',{staticClass:\"file-list-filters__active\",attrs:{\"aria-label\":_setup.t('files', 'Active filters')}},_vm._l((_setup.activeChips),function(chip,index){return _c('li',{key:index},[_c(_setup.NcChip,{attrs:{\"aria-label-close\":_setup.t('files', 'Remove filter'),\"icon-svg\":chip.icon,\"text\":chip.text},on:{\"close\":chip.onclick},scopedSlots:_vm._u([(chip.user)?{key:\"icon\",fn:function(){return [_c(_setup.NcAvatar,{attrs:{\"disable-menu\":\"\",\"show-user-status\":false,\"size\":24,\"user\":chip.user}})]},proxy:true}:null],null,true)})],1)}),0):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./NcChip-CEKw1zaK.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./NcChip-CEKw1zaK.css\";\n export default content && content.locals ? content.locals : undefined;\n","import '../assets/NcChip-CEKw1zaK.css';\nimport { useSlots, computed } from \"vue\";\nimport { r as register, u as t18, a as t } from \"../chunks/_l10n-B4dEPXsr.mjs\";\nimport { N as NcActions } from \"../chunks/NcActions-D77YAhAy.mjs\";\nimport NcActionButton from \"./NcActionButton.mjs\";\nimport { N as NcIconSvgWrapper } from \"../chunks/NcIconSvgWrapper-DjrkBUkC.mjs\";\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nvar mdiClose = \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\";\nregister(t18);\nconst _sfc_main = {\n __name: \"NcChip\",\n props: {\n /**\n * aria label to set on the close button\n * @default 'Close'\n */\n ariaLabelClose: {\n type: String,\n default: t(\"Close\")\n },\n /**\n * Main text of the chip\n */\n text: {\n type: String,\n default: \"\"\n },\n /**\n * Chip style\n * This sets the background style of the chip, similar to NcButton's `type`\n */\n type: {\n type: String,\n default: \"secondary\",\n validator: (value) => [\"primary\", \"secondary\", \"tertiary\"].includes(value)\n },\n /**\n * SVG path of the icon to use, this takes precedence over `iconSVG`.\n * For example icon paths from `@mdi/js` can be used.\n */\n iconPath: {\n type: String,\n default: null\n },\n /**\n * Inline SVG to use as the icon\n */\n iconSvg: {\n type: String,\n default: null\n },\n /**\n * Set to true to prevent the close button to be shown\n */\n noClose: {\n type: Boolean,\n default: false\n }\n },\n emits: [\"close\"],\n setup(__props, { emit }) {\n const props = __props;\n const slots = useSlots();\n const canClose = computed(() => !props.noClose);\n const hasActions = () => {\n var _a;\n return Boolean((_a = slots.actions) == null ? void 0 : _a.call(slots));\n };\n const hasIcon = () => {\n var _a;\n return Boolean(props.iconPath || props.iconSvg || !!((_a = slots.icon) == null ? void 0 : _a.call(slots)));\n };\n const onClose = () => {\n emit(\"close\");\n };\n return { __sfc: true, props, emit, slots, canClose, hasActions, hasIcon, onClose, mdiClose, NcActions, NcActionButton, NcIconSvgWrapper };\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;\n return _c(\"div\", { staticClass: \"nc-chip\", class: {\n [\"nc-chip--\".concat(_vm.type)]: true,\n \"nc-chip--no-actions\": _vm.noClose && !_setup.hasActions(),\n \"nc-chip--no-icon\": !_setup.hasIcon()\n } }, [_setup.hasIcon() ? _c(\"span\", { staticClass: \"nc-chip__icon\" }, [_vm._t(\"icon\", function() {\n return [_vm.iconPath || _vm.iconSvg ? _c(_setup.NcIconSvgWrapper, { attrs: { \"inline\": \"\", \"path\": _vm.iconPath, \"svg\": _vm.iconPath ? void 0 : _vm.iconSvg, \"size\": 18 } }) : _vm._e()];\n })], 2) : _vm._e(), _c(\"span\", { staticClass: \"nc-chip__text\" }, [_vm._t(\"default\", function() {\n return [_vm._v(_vm._s(_vm.text))];\n })], 2), _setup.canClose || _setup.hasActions() ? _c(_setup.NcActions, { staticClass: \"nc-chip__actions\", attrs: { \"force-menu\": !_setup.canClose, \"type\": \"tertiary-no-background\" } }, [_setup.canClose ? _c(_setup.NcActionButton, { attrs: { \"close-after-click\": \"\" }, on: { \"click\": _setup.onClose }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(_setup.NcIconSvgWrapper, { attrs: { \"path\": _setup.mdiClose, \"size\": 20 } })];\n }, proxy: true }], null, false, 2547223506) }, [_vm._v(\" \" + _vm._s(_vm.ariaLabelClose) + \" \")]) : _vm._e(), _vm._t(\"actions\")], 2) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"470fc02d\"\n);\nconst NcChip = __component__.exports;\nexport {\n NcChip as default\n};\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileListFilters.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileListFilters.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileListFilters.vue?vue&type=style&index=0&id=bd0c8440&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileListFilters.vue?vue&type=style&index=0&id=bd0c8440&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FileListFilters.vue?vue&type=template&id=bd0c8440&scoped=true\"\nimport script from \"./FileListFilters.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./FileListFilters.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./FileListFilters.vue?vue&type=style&index=0&id=bd0c8440&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"bd0c8440\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('VirtualList',{ref:\"table\",attrs:{\"data-component\":_vm.userConfig.grid_view ? _vm.FileEntryGrid : _vm.FileEntry,\"data-key\":'source',\"data-sources\":_vm.nodes,\"grid-mode\":_vm.userConfig.grid_view,\"extra-props\":{\n\t\tisMtimeAvailable: _vm.isMtimeAvailable,\n\t\tisSizeAvailable: _vm.isSizeAvailable,\n\t\tnodes: _vm.nodes,\n\t\tfilesListWidth: _vm.filesListWidth,\n\t},\"scroll-to-index\":_vm.scrollToIndex,\"caption\":_vm.caption},scopedSlots:_vm._u([{key:\"filters\",fn:function(){return [_c('FileListFilters')]},proxy:true},(!_vm.isNoneSelected)?{key:\"header-overlay\",fn:function(){return [_c('span',{staticClass:\"files-list__selected\"},[_vm._v(_vm._s(_vm.t('files', '{count} selected', { count: _vm.selectedNodes.length })))]),_vm._v(\" \"),_c('FilesListTableHeaderActions',{attrs:{\"current-view\":_vm.currentView,\"selected-nodes\":_vm.selectedNodes}})]},proxy:true}:null,{key:\"before\",fn:function(){return _vm._l((_vm.sortedHeaders),function(header){return _c('FilesListHeader',{key:header.id,attrs:{\"current-folder\":_vm.currentFolder,\"current-view\":_vm.currentView,\"header\":header}})})},proxy:true},{key:\"header\",fn:function(){return [_c('FilesListTableHeader',{ref:\"thead\",attrs:{\"files-list-width\":_vm.filesListWidth,\"is-mtime-available\":_vm.isMtimeAvailable,\"is-size-available\":_vm.isSizeAvailable,\"nodes\":_vm.nodes}})]},proxy:true},{key:\"footer\",fn:function(){return [_c('FilesListTableFooter',{attrs:{\"current-view\":_vm.currentView,\"files-list-width\":_vm.filesListWidth,\"is-mtime-available\":_vm.isMtimeAvailable,\"is-size-available\":_vm.isSizeAvailable,\"nodes\":_vm.nodes,\"summary\":_vm.summary}})]},proxy:true}],null,true)})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=style&index=0&id=f6350d38&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=style&index=0&id=f6350d38&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=style&index=1&id=f6350d38&prod&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesListVirtual.vue?vue&type=style&index=1&id=f6350d38&prod&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesListVirtual.vue?vue&type=template&id=f6350d38&scoped=true\"\nimport script from \"./FilesListVirtual.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesListVirtual.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesListVirtual.vue?vue&type=style&index=0&id=f6350d38&prod&scoped=true&lang=scss\"\nimport style1 from \"./FilesListVirtual.vue?vue&type=style&index=1&id=f6350d38&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f6350d38\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./TrayArrowDown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./TrayArrowDown.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : true\"\n :aria-label=\"title\"\n class=\"material-design-icon tray-arrow-down-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M2 12H4V17H20V12H22V17C22 18.11 21.11 19 20 19H4C2.9 19 2 18.11 2 17V12M12 15L17.55 9.54L16.13 8.13L13 11.25V2H11V11.25L7.88 8.13L6.46 9.55L12 15Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"TrayArrowDownIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./TrayArrowDown.vue?vue&type=template&id=447c2cd4\"\nimport script from \"./TrayArrowDown.vue?vue&type=script&lang=js\"\nexport * from \"./TrayArrowDown.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon tray-arrow-down-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M2 12H4V17H20V12H22V17C22 18.11 21.11 19 20 19H4C2.9 19 2 18.11 2 17V12M12 15L17.55 9.54L16.13 8.13L13 11.25V2H11V11.25L7.88 8.13L6.46 9.55L12 15Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropNotice.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropNotice.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.dragover),expression:\"dragover\"}],staticClass:\"files-list__drag-drop-notice\",attrs:{\"data-cy-files-drag-drop-area\":\"\"},on:{\"drop\":_vm.onDrop}},[_c('div',{staticClass:\"files-list__drag-drop-notice-wrapper\"},[(_vm.canUpload && !_vm.isQuotaExceeded)?[_c('TrayArrowDownIcon',{attrs:{\"size\":48}}),_vm._v(\" \"),_c('h3',{staticClass:\"files-list-drag-drop-notice__title\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Drag and drop files here to upload'))+\"\\n\\t\\t\\t\")])]:[_c('h3',{staticClass:\"files-list-drag-drop-notice__title\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.cantUploadLabel)+\"\\n\\t\\t\\t\")])]],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropNotice.vue?vue&type=style&index=0&id=5554e341&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DragAndDropNotice.vue?vue&type=style&index=0&id=5554e341&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./DragAndDropNotice.vue?vue&type=template&id=5554e341&scoped=true\"\nimport script from \"./DragAndDropNotice.vue?vue&type=script&lang=ts\"\nexport * from \"./DragAndDropNotice.vue?vue&type=script&lang=ts\"\nimport style0 from \"./DragAndDropNotice.vue?vue&type=style&index=0&id=5554e341&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5554e341\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=script&lang=ts\"","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { t } from '@nextcloud/l10n';\n/**\n * Whether error is a WebDAVClientError\n * @param error - Any exception\n * @return {boolean} - Whether error is a WebDAVClientError\n */\nfunction isWebDAVClientError(error) {\n return error instanceof Error && 'status' in error && 'response' in error;\n}\n/**\n * Get a localized error message from webdav request\n * @param error - An exception from webdav request\n * @return {string} Localized error message for end user\n */\nexport function humanizeWebDAVError(error) {\n if (error instanceof Error) {\n if (isWebDAVClientError(error)) {\n const status = error.status || error.response?.status || 0;\n if ([400, 404, 405].includes(status)) {\n return t('files', 'Folder not found');\n }\n else if (status === 403) {\n return t('files', 'This operation is forbidden');\n }\n else if (status === 500) {\n return t('files', 'This directory is unavailable, please check the logs or contact the administrator');\n }\n else if (status === 503) {\n return t('files', 'Storage is temporarily not available');\n }\n }\n return t('files', 'Unexpected error: {error}', { error: error.message });\n }\n return t('files', 'Unknown error');\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=style&index=0&id=191da179&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesList.vue?vue&type=style&index=0&id=191da179&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FilesList.vue?vue&type=template&id=191da179&scoped=true\"\nimport script from \"./FilesList.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesList.vue?vue&type=script&lang=ts\"\nimport style0 from \"./FilesList.vue?vue&type=style&index=0&id=191da179&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"191da179\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesApp.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilesApp.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FilesApp.vue?vue&type=template&id=d3308b8a\"\nimport script from \"./FilesApp.vue?vue&type=script&lang=ts\"\nexport * from \"./FilesApp.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getCSPNonce } from '@nextcloud/auth';\nimport { getNavigation } from '@nextcloud/files';\nimport { PiniaVuePlugin } from 'pinia';\nimport Vue from 'vue';\nimport { pinia } from './store/index.ts';\nimport router from './router/router';\nimport RouterService from './services/RouterService';\nimport SettingsModel from './models/Setting.js';\nimport SettingsService from './services/Settings.js';\nimport FilesApp from './FilesApp.vue';\n__webpack_nonce__ = getCSPNonce();\n// Init private and public Files namespace\nwindow.OCA.Files = window.OCA.Files ?? {};\nwindow.OCP.Files = window.OCP.Files ?? {};\n// Expose router\nconst Router = new RouterService(router);\nObject.assign(window.OCP.Files, { Router });\n// Init Pinia store\nVue.use(PiniaVuePlugin);\n// Init Navigation Service\n// This only works with Vue 2 - with Vue 3 this will not modify the source but return just a observer\nconst Navigation = Vue.observable(getNavigation());\nVue.prototype.$navigation = Navigation;\n// Init Files App Settings Service\nconst Settings = new SettingsService();\nObject.assign(window.OCA.Files, { Settings });\nObject.assign(window.OCA.Files.Settings, { Setting: SettingsModel });\nconst FilesAppVue = Vue.extend(FilesApp);\nnew FilesAppVue({\n router,\n pinia,\n}).$mount('#content');\n","export default class RouterService {\n _router;\n constructor(router) {\n this._router = router;\n }\n get name() {\n return this._router.currentRoute.name;\n }\n get query() {\n return this._router.currentRoute.query || {};\n }\n get params() {\n return this._router.currentRoute.params || {};\n }\n /**\n * Trigger a route change on the files app\n *\n * @param path the url path, eg: '/trashbin?dir=/Deleted'\n * @param replace replace the current history\n * @see https://router.vuejs.org/guide/essentials/navigation.html#navigate-to-a-different-location\n */\n goTo(path, replace = false) {\n return this._router.push({\n path,\n replace,\n });\n }\n /**\n * Trigger a route change on the files App\n *\n * @param name the route name\n * @param params the route parameters\n * @param query the url query parameters\n * @param replace replace the current history\n * @see https://router.vuejs.org/guide/essentials/navigation.html#navigate-to-a-different-location\n */\n goToRoute(name, params, query, replace) {\n return this._router.push({\n name,\n query,\n params,\n replace,\n });\n }\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport default class Settings {\n\n\t_settings\n\n\tconstructor() {\n\t\tthis._settings = []\n\t\tconsole.debug('OCA.Files.Settings initialized')\n\t}\n\n\t/**\n\t * Register a new setting\n\t *\n\t * @since 19.0.0\n\t * @param {OCA.Files.Settings.Setting} view element to add to settings\n\t * @return {boolean} whether registering was successful\n\t */\n\tregister(view) {\n\t\tif (this._settings.filter(e => e.name === view.name).length > 0) {\n\t\t\tconsole.error('A setting with the same name is already registered')\n\t\t\treturn false\n\t\t}\n\t\tthis._settings.push(view)\n\t\treturn true\n\t}\n\n\t/**\n\t * All settings elements\n\t *\n\t * @return {OCA.Files.Settings.Setting[]} All currently registered settings\n\t */\n\tget settings() {\n\t\treturn this._settings\n\t}\n\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nexport default class Setting {\n\n\t_close\n\t_el\n\t_name\n\t_open\n\n\t/**\n\t * Create a new files app setting\n\t *\n\t * @since 19.0.0\n\t * @param {string} name the name of this setting\n\t * @param {object} component the component\n\t * @param {Function} component.el function that returns an unmounted dom element to be added\n\t * @param {Function} [component.open] callback for when setting is added\n\t * @param {Function} [component.close] callback for when setting is closed\n\t */\n\tconstructor(name, { el, open, close }) {\n\t\tthis._name = name\n\t\tthis._el = el\n\t\tthis._open = open\n\t\tthis._close = close\n\n\t\tif (typeof this._open !== 'function') {\n\t\t\tthis._open = () => {}\n\t\t}\n\n\t\tif (typeof this._close !== 'function') {\n\t\t\tthis._close = () => {}\n\t\t}\n\t}\n\n\tget name() {\n\t\treturn this._name\n\t}\n\n\tget el() {\n\t\treturn this._el\n\t}\n\n\tget open() {\n\t\treturn this._open\n\t}\n\n\tget close() {\n\t\treturn this._close\n\t}\n\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n.invalid-filename-dialog__input[data-v-3a479259] {\n\t/* Ensure the helper text can always be shown without jumping */\n\tmin-height: calc(var(--default-clickable-area) + 4 * var(--default-font-size));\n}\n.upload-picker[data-v-3e5a9212] {\n display: inline-flex;\n align-items: center;\n height: var(--default-clickable-area);\n}\n.upload-picker__progress[data-v-3e5a9212] {\n width: 200px;\n max-width: 0;\n transition: max-width var(--animation-quick) ease-in-out;\n margin-top: 8px;\n}\n.upload-picker__progress p[data-v-3e5a9212] {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.upload-picker--uploading .upload-picker__progress[data-v-3e5a9212] {\n max-width: 200px;\n margin-right: 20px;\n margin-left: 8px;\n}\n.upload-picker--paused .upload-picker__progress[data-v-3e5a9212] {\n animation: breathing-3e5a9212 3s ease-out infinite normal;\n}\n@keyframes breathing-3e5a9212 {\n0% {\n opacity: 0.5;\n}\n25% {\n opacity: 1;\n}\n60% {\n opacity: 0.5;\n}\n100% {\n opacity: 0.5;\n}\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/upload/dist/assets/index-Dg3Dlw7h.css\"],\"names\":[],\"mappings\":\";AACA;CACC,+DAA+D;CAC/D,8EAA8E;AAC/E;AACA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,qCAAqC;AACvC;AACA;EACE,YAAY;EACZ,YAAY;EACZ,wDAAwD;EACxD,eAAe;AACjB;AACA;EACE,gBAAgB;EAChB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,gBAAgB;EAChB,kBAAkB;EAClB,gBAAgB;AAClB;AACA;EACE,yDAAyD;AAC3D;AACA;AACA;IACI,YAAY;AAChB;AACA;IACI,UAAU;AACd;AACA;IACI,YAAY;AAChB;AACA;IACI,YAAY;AAChB;AACA\",\"sourcesContent\":[\"\\n.invalid-filename-dialog__input[data-v-3a479259] {\\n\\t/* Ensure the helper text can always be shown without jumping */\\n\\tmin-height: calc(var(--default-clickable-area) + 4 * var(--default-font-size));\\n}\\n.upload-picker[data-v-3e5a9212] {\\n display: inline-flex;\\n align-items: center;\\n height: var(--default-clickable-area);\\n}\\n.upload-picker__progress[data-v-3e5a9212] {\\n width: 200px;\\n max-width: 0;\\n transition: max-width var(--animation-quick) ease-in-out;\\n margin-top: 8px;\\n}\\n.upload-picker__progress p[data-v-3e5a9212] {\\n overflow: hidden;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n}\\n.upload-picker--uploading .upload-picker__progress[data-v-3e5a9212] {\\n max-width: 200px;\\n margin-right: 20px;\\n margin-left: 8px;\\n}\\n.upload-picker--paused .upload-picker__progress[data-v-3e5a9212] {\\n animation: breathing-3e5a9212 3s ease-out infinite normal;\\n}\\n@keyframes breathing-3e5a9212 {\\n0% {\\n opacity: 0.5;\\n}\\n25% {\\n opacity: 1;\\n}\\n60% {\\n opacity: 0.5;\\n}\\n100% {\\n opacity: 0.5;\\n}\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon[data-v-470fc02d] {\n display: flex;\n align-self: center;\n justify-self: center;\n align-items: center;\n justify-content: center;\n}\n.nc-chip[data-v-470fc02d] {\n --chip-size: 24px;\n --chip-radius: calc(var(--chip-size) / 2);\n height: var(--chip-size);\n max-width: fit-content;\n display: flex;\n flex-direction: row;\n align-items: center;\n border-radius: var(--chip-radius);\n background-color: var(--color-background-hover);\n}\n.nc-chip--primary[data-v-470fc02d] {\n background-color: var(--color-primary-element);\n color: var(--color-primary-text);\n}\n.nc-chip--secondary[data-v-470fc02d] {\n background-color: var(--color-primary-element-light);\n color: var(--color-primary-element-light-text);\n}\n.nc-chip--no-actions .nc-chip__text[data-v-470fc02d] {\n padding-inline-end: calc(1.5 * var(--default-grid-baseline));\n}\n.nc-chip--no-icon .nc-chip__text[data-v-470fc02d] {\n padding-inline-start: calc(1.5 * var(--default-grid-baseline));\n}\n.nc-chip__text[data-v-470fc02d] {\n flex: 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n text-wrap: nowrap;\n}\n.nc-chip__icon[data-v-470fc02d] {\n flex: 0 0 var(--chip-size);\n margin-inline-end: var(--default-grid-baseline);\n line-height: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n height: var(--chip-size);\n width: var(--chip-size);\n}\n.nc-chip__actions[data-v-470fc02d] {\n flex: 0 0 var(--chip-size);\n --default-clickable-area: var(--chip-size);\n --border-radius-element: var(--chip-radius);\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/@nextcloud/vue/dist/assets/NcChip-CEKw1zaK.css\"],\"names\":[],\"mappings\":\"AAAA;;;EAGE;AACF;;;EAGE;AACF;;CAEC;AACD;EACE,aAAa;EACb,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,iBAAiB;EACjB,yCAAyC;EACzC,wBAAwB;EACxB,sBAAsB;EACtB,aAAa;EACb,mBAAmB;EACnB,mBAAmB;EACnB,iCAAiC;EACjC,+CAA+C;AACjD;AACA;EACE,8CAA8C;EAC9C,gCAAgC;AAClC;AACA;EACE,oDAAoD;EACpD,8CAA8C;AAChD;AACA;EACE,4DAA4D;AAC9D;AACA;EACE,8DAA8D;AAChE;AACA;EACE,YAAY;EACZ,gBAAgB;EAChB,uBAAuB;EACvB,iBAAiB;AACnB;AACA;EACE,0BAA0B;EAC1B,+CAA+C;EAC/C,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,gBAAgB;EAChB,wBAAwB;EACxB,uBAAuB;AACzB;AACA;EACE,0BAA0B;EAC1B,0CAA0C;EAC1C,2CAA2C;AAC7C\",\"sourcesContent\":[\"/**\\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/**\\n * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon[data-v-470fc02d] {\\n display: flex;\\n align-self: center;\\n justify-self: center;\\n align-items: center;\\n justify-content: center;\\n}\\n.nc-chip[data-v-470fc02d] {\\n --chip-size: 24px;\\n --chip-radius: calc(var(--chip-size) / 2);\\n height: var(--chip-size);\\n max-width: fit-content;\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n border-radius: var(--chip-radius);\\n background-color: var(--color-background-hover);\\n}\\n.nc-chip--primary[data-v-470fc02d] {\\n background-color: var(--color-primary-element);\\n color: var(--color-primary-text);\\n}\\n.nc-chip--secondary[data-v-470fc02d] {\\n background-color: var(--color-primary-element-light);\\n color: var(--color-primary-element-light-text);\\n}\\n.nc-chip--no-actions .nc-chip__text[data-v-470fc02d] {\\n padding-inline-end: calc(1.5 * var(--default-grid-baseline));\\n}\\n.nc-chip--no-icon .nc-chip__text[data-v-470fc02d] {\\n padding-inline-start: calc(1.5 * var(--default-grid-baseline));\\n}\\n.nc-chip__text[data-v-470fc02d] {\\n flex: 1 auto;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n text-wrap: nowrap;\\n}\\n.nc-chip__icon[data-v-470fc02d] {\\n flex: 0 0 var(--chip-size);\\n margin-inline-end: var(--default-grid-baseline);\\n line-height: 1;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n overflow: hidden;\\n height: var(--chip-size);\\n width: var(--chip-size);\\n}\\n.nc-chip__actions[data-v-470fc02d] {\\n flex: 0 0 var(--chip-size);\\n --default-clickable-area: var(--chip-size);\\n --border-radius-element: var(--chip-radius);\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list__breadcrumbs[data-v-dc01fdb0]{flex:1 1 100% !important;width:100%;height:100%;margin-block:0;margin-inline:10px;min-width:0}.files-list__breadcrumbs[data-v-dc01fdb0] a{cursor:pointer !important}.files-list__breadcrumbs--with-progress[data-v-dc01fdb0]{flex-direction:column !important;align-items:flex-start !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/BreadCrumbs.vue\"],\"names\":[],\"mappings\":\"AACA,0CAEC,wBAAA,CACA,UAAA,CACA,WAAA,CACA,cAAA,CACA,kBAAA,CACA,WAAA,CAGC,6CACC,yBAAA,CAIF,yDACC,gCAAA,CACA,iCAAA\",\"sourcesContent\":[\"\\n.files-list__breadcrumbs {\\n\\t// Take as much space as possible\\n\\tflex: 1 1 100% !important;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tmargin-block: 0;\\n\\tmargin-inline: 10px;\\n\\tmin-width: 0;\\n\\n\\t:deep() {\\n\\t\\ta {\\n\\t\\t\\tcursor: pointer !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&--with-progress {\\n\\t\\tflex-direction: column !important;\\n\\t\\talign-items: flex-start !important;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list__drag-drop-notice[data-v-5554e341]{display:flex;align-items:center;justify-content:center;width:100%;min-height:113px;margin:0;user-select:none;color:var(--color-text-maxcontrast);background-color:var(--color-main-background);border-color:#000}.files-list__drag-drop-notice h3[data-v-5554e341]{margin-left:16px;color:inherit}.files-list__drag-drop-notice-wrapper[data-v-5554e341]{display:flex;align-items:center;justify-content:center;height:15vh;max-height:70%;padding:0 5vw;border:2px var(--color-border-dark) dashed;border-radius:var(--border-radius-large)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/DragAndDropNotice.vue\"],\"names\":[],\"mappings\":\"AACA,+CACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CAEA,gBAAA,CACA,QAAA,CACA,gBAAA,CACA,mCAAA,CACA,6CAAA,CACA,iBAAA,CAEA,kDACC,gBAAA,CACA,aAAA,CAGD,uDACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,WAAA,CACA,cAAA,CACA,aAAA,CACA,0CAAA,CACA,wCAAA\",\"sourcesContent\":[\"\\n.files-list__drag-drop-notice {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\twidth: 100%;\\n\\t// Breadcrumbs height + row thead height\\n\\tmin-height: calc(58px + 55px);\\n\\tmargin: 0;\\n\\tuser-select: none;\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tbackground-color: var(--color-main-background);\\n\\tborder-color: black;\\n\\n\\th3 {\\n\\t\\tmargin-left: 16px;\\n\\t\\tcolor: inherit;\\n\\t}\\n\\n\\t&-wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\theight: 15vh;\\n\\t\\tmax-height: 70%;\\n\\t\\tpadding: 0 5vw;\\n\\t\\tborder: 2px var(--color-border-dark) dashed;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list-drag-image{position:absolute;top:-9999px;left:-9999px;display:flex;overflow:hidden;align-items:center;height:44px;padding:6px 12px;background:var(--color-main-background)}.files-list-drag-image__icon,.files-list-drag-image .files-list__row-icon{display:flex;overflow:hidden;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--border-radius)}.files-list-drag-image__icon{overflow:visible;margin-right:12px}.files-list-drag-image__icon img{max-width:100%;max-height:100%}.files-list-drag-image__icon .material-design-icon{color:var(--color-text-maxcontrast)}.files-list-drag-image__icon .material-design-icon.folder-icon{color:var(--color-primary-element)}.files-list-drag-image__icon>span{display:flex}.files-list-drag-image__icon>span .files-list__row-icon+.files-list__row-icon{margin-top:6px;margin-left:-26px}.files-list-drag-image__icon>span .files-list__row-icon+.files-list__row-icon+.files-list__row-icon{margin-top:12px}.files-list-drag-image__icon>span:not(:empty)+*{display:none}.files-list-drag-image__name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/DragAndDropPreview.vue\"],\"names\":[],\"mappings\":\"AAIA,uBACC,iBAAA,CACA,WAAA,CACA,YAAA,CACA,YAAA,CACA,eAAA,CACA,kBAAA,CACA,WAAA,CACA,gBAAA,CACA,uCAAA,CAEA,0EAEC,YAAA,CACA,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,kCAAA,CAGD,6BACC,gBAAA,CACA,iBAAA,CAEA,iCACC,cAAA,CACA,eAAA,CAGD,mDACC,mCAAA,CACA,+DACC,kCAAA,CAKF,kCACC,YAAA,CAGA,8EACC,cA9CU,CA+CV,iBAAA,CACA,oGACC,eAAA,CAKF,gDACC,YAAA,CAKH,6BACC,eAAA,CACA,kBAAA,CACA,sBAAA\",\"sourcesContent\":[\"\\n$size: 32px;\\n$stack-shift: 6px;\\n\\n.files-list-drag-image {\\n\\tposition: absolute;\\n\\ttop: -9999px;\\n\\tleft: -9999px;\\n\\tdisplay: flex;\\n\\toverflow: hidden;\\n\\talign-items: center;\\n\\theight: 44px;\\n\\tpadding: 6px 12px;\\n\\tbackground: var(--color-main-background);\\n\\n\\t&__icon,\\n\\t.files-list__row-icon {\\n\\t\\tdisplay: flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 32px;\\n\\t\\theight: 32px;\\n\\t\\tborder-radius: var(--border-radius);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\toverflow: visible;\\n\\t\\tmargin-right: 12px;\\n\\n\\t\\timg {\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tmax-height: 100%;\\n\\t\\t}\\n\\n\\t\\t.material-design-icon {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t&.folder-icon {\\n\\t\\t\\t\\tcolor: var(--color-primary-element);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Previews container\\n\\t\\t> span {\\n\\t\\t\\tdisplay: flex;\\n\\n\\t\\t\\t// Stack effect if more than one element\\n\\t\\t\\t.files-list__row-icon + .files-list__row-icon {\\n\\t\\t\\t\\tmargin-top: $stack-shift;\\n\\t\\t\\t\\tmargin-left: $stack-shift - $size;\\n\\t\\t\\t\\t& + .files-list__row-icon {\\n\\t\\t\\t\\t\\tmargin-top: $stack-shift * 2;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t// If we have manually clone the preview,\\n\\t\\t\\t// let's hide any fallback icons\\n\\t\\t\\t&:not(:empty) + * {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__name {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.favorite-marker-icon[data-v-f2d0cf6e]{color:var(--color-favorite);min-width:unset !important;min-height:unset !important}.favorite-marker-icon[data-v-f2d0cf6e] svg{width:26px !important;height:26px !important;max-width:unset !important;max-height:unset !important}.favorite-marker-icon[data-v-f2d0cf6e] svg path{stroke:var(--color-main-background);stroke-width:8px;stroke-linejoin:round;paint-order:stroke}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FileEntry/FavoriteIcon.vue\"],\"names\":[],\"mappings\":\"AACA,uCACC,2BAAA,CAEA,0BAAA,CACG,2BAAA,CAGF,4CAEC,qBAAA,CACA,sBAAA,CAGA,0BAAA,CACA,2BAAA,CAGA,iDACC,mCAAA,CACA,gBAAA,CACA,qBAAA,CACA,kBAAA\",\"sourcesContent\":[\"\\n.favorite-marker-icon {\\n\\tcolor: var(--color-favorite);\\n\\t// Override NcIconSvgWrapper defaults (clickable area)\\n\\tmin-width: unset !important;\\n min-height: unset !important;\\n\\n\\t:deep() {\\n\\t\\tsvg {\\n\\t\\t\\t// We added a stroke for a11y so we must increase the size to include the stroke\\n\\t\\t\\twidth: 26px !important;\\n\\t\\t\\theight: 26px !important;\\n\\n\\t\\t\\t// Override NcIconSvgWrapper defaults of 20px\\n\\t\\t\\tmax-width: unset !important;\\n\\t\\t\\tmax-height: unset !important;\\n\\n\\t\\t\\t// Sow a border around the icon for better contrast\\n\\t\\t\\tpath {\\n\\t\\t\\t\\tstroke: var(--color-main-background);\\n\\t\\t\\t\\tstroke-width: 8px;\\n\\t\\t\\t\\tstroke-linejoin: round;\\n\\t\\t\\t\\tpaint-order: stroke;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `main.app-content[style*=mouse-pos-x] .v-popper__popper{transform:translate3d(var(--mouse-pos-x), var(--mouse-pos-y), 0px) !important}main.app-content[style*=mouse-pos-x] .v-popper__popper[data-popper-placement=top]{transform:translate3d(var(--mouse-pos-x), calc(var(--mouse-pos-y) - 50vh + 34px), 0px) !important}main.app-content[style*=mouse-pos-x] .v-popper__popper .v-popper__arrow-container{display:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FileEntry/FileEntryActions.vue\"],\"names\":[],\"mappings\":\"AAGA,uDACC,6EAAA,CAGA,kFAEC,iGAAA,CAGD,kFACC,YAAA\",\"sourcesContent\":[\"\\n// Allow right click to define the position of the menu\\n// only if defined\\nmain.app-content[style*=\\\"mouse-pos-x\\\"] .v-popper__popper {\\n\\ttransform: translate3d(var(--mouse-pos-x), var(--mouse-pos-y), 0px) !important;\\n\\n\\t// If the menu is too close to the bottom, we move it up\\n\\t&[data-popper-placement=\\\"top\\\"] {\\n\\t\\t// 34px added to align with the top of the cursor\\n\\t\\ttransform: translate3d(var(--mouse-pos-x), calc(var(--mouse-pos-y) - 50vh + 34px), 0px) !important;\\n\\t}\\n\\t// Hide arrow if floating\\n\\t.v-popper__arrow-container {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `[data-v-893a87d0] .button-vue--icon-and-text .button-vue__text{color:var(--color-primary-element)}[data-v-893a87d0] .button-vue--icon-and-text .button-vue__icon{color:var(--color-primary-element)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FileEntry/FileEntryActions.vue\"],\"names\":[],\"mappings\":\"AAEC,+DACC,kCAAA,CAED,+DACC,kCAAA\",\"sourcesContent\":[\"\\n:deep(.button-vue--icon-and-text, .files-list__row-action-sharing-status) {\\n\\t.button-vue__text {\\n\\t\\tcolor: var(--color-primary-element);\\n\\t}\\n\\t.button-vue__icon {\\n\\t\\tcolor: var(--color-primary-element);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `button.files-list__row-name-link[data-v-4111296a]{background-color:unset;border:none;font-weight:normal}button.files-list__row-name-link[data-v-4111296a]:active{background-color:unset !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FileEntry/FileEntryName.vue\"],\"names\":[],\"mappings\":\"AACA,kDACC,sBAAA,CACA,WAAA,CACA,kBAAA,CAEA,yDAEC,iCAAA\",\"sourcesContent\":[\"\\nbutton.files-list__row-name-link {\\n\\tbackground-color: unset;\\n\\tborder: none;\\n\\tfont-weight: normal;\\n\\n\\t&:active {\\n\\t\\t// No active styles - handled by the row entry\\n\\t\\tbackground-color: unset !important;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.file-list-filters[data-v-bd0c8440]{display:flex;flex-direction:column;gap:var(--default-grid-baseline);height:100%;width:100%}.file-list-filters__filter[data-v-bd0c8440]{display:flex;align-items:start;justify-content:start;gap:calc(var(--default-grid-baseline, 4px)*2)}.file-list-filters__filter>*[data-v-bd0c8440]{flex:0 1 fit-content}.file-list-filters__active[data-v-bd0c8440]{display:flex;flex-direction:row;gap:calc(var(--default-grid-baseline, 4px)*2)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FileListFilters.vue\"],\"names\":[],\"mappings\":\"AACA,oCACC,YAAA,CACA,qBAAA,CACA,gCAAA,CACA,WAAA,CACA,UAAA,CAEA,4CACC,YAAA,CACA,iBAAA,CACA,qBAAA,CACA,6CAAA,CAEA,8CACC,oBAAA,CAIF,4CACC,YAAA,CACA,kBAAA,CACA,6CAAA\",\"sourcesContent\":[\"\\n.file-list-filters {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: var(--default-grid-baseline);\\n\\theight: 100%;\\n\\twidth: 100%;\\n\\n\\t&__filter {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: start;\\n\\t\\tjustify-content: start;\\n\\t\\tgap: calc(var(--default-grid-baseline, 4px) * 2);\\n\\n\\t\\t> * {\\n\\t\\t\\tflex: 0 1 fit-content;\\n\\t\\t}\\n\\t}\\n\\n\\t&__active {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: row;\\n\\t\\tgap: calc(var(--default-grid-baseline, 4px) * 2);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `tr[data-v-4c69fc7c]{margin-bottom:max(25vh,var(--body-container-margin));border-top:1px solid var(--color-border);background-color:rgba(0,0,0,0) !important;border-bottom:none !important}tr td[data-v-4c69fc7c]{user-select:none;color:var(--color-text-maxcontrast) !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListTableFooter.vue\"],\"names\":[],\"mappings\":\"AAEA,oBACC,oDAAA,CACA,wCAAA,CAEA,yCAAA,CACA,6BAAA,CAEA,uBACC,gBAAA,CAEA,8CAAA\",\"sourcesContent\":[\"\\n// Scoped row\\ntr {\\n\\tmargin-bottom: max(25vh, var(--body-container-margin));\\n\\tborder-top: 1px solid var(--color-border);\\n\\t// Prevent hover effect on the whole row\\n\\tbackground-color: transparent !important;\\n\\tborder-bottom: none !important;\\n\\n\\ttd {\\n\\t\\tuser-select: none;\\n\\t\\t// Make sure the cell colors don't apply to column headers\\n\\t\\tcolor: var(--color-text-maxcontrast) !important;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list__column[data-v-30515e4c]{user-select:none;color:var(--color-text-maxcontrast) !important}.files-list__column--sortable[data-v-30515e4c]{cursor:pointer}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListTableHeader.vue\"],\"names\":[],\"mappings\":\"AACA,qCACC,gBAAA,CAEA,8CAAA,CAEA,+CACC,cAAA\",\"sourcesContent\":[\"\\n.files-list__column {\\n\\tuser-select: none;\\n\\t// Make sure the cell colors don't apply to column headers\\n\\tcolor: var(--color-text-maxcontrast) !important;\\n\\n\\t&--sortable {\\n\\t\\tcursor: pointer;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list__row-actions-batch[data-v-bab8d624]{flex:1 1 100% !important;max-width:100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListTableHeaderActions.vue\"],\"names\":[],\"mappings\":\"AACA,gDACC,wBAAA,CACA,cAAA\",\"sourcesContent\":[\"\\n.files-list__row-actions-batch {\\n\\tflex: 1 1 100% !important;\\n\\tmax-width: 100%;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list__column-sort-button[data-v-6d7680f0]{margin:0 calc(var(--button-padding, var(--cell-margin))*-1);min-width:calc(100% - 3*var(--cell-margin)) !important}.files-list__column-sort-button-text[data-v-6d7680f0]{color:var(--color-text-maxcontrast);font-weight:normal}.files-list__column-sort-button-icon[data-v-6d7680f0]{color:var(--color-text-maxcontrast);opacity:0;transition:opacity var(--animation-quick);inset-inline-start:-10px}.files-list__column-sort-button--size .files-list__column-sort-button-icon[data-v-6d7680f0]{inset-inline-start:10px}.files-list__column-sort-button--active .files-list__column-sort-button-icon[data-v-6d7680f0],.files-list__column-sort-button:hover .files-list__column-sort-button-icon[data-v-6d7680f0],.files-list__column-sort-button:focus .files-list__column-sort-button-icon[data-v-6d7680f0],.files-list__column-sort-button:active .files-list__column-sort-button-icon[data-v-6d7680f0]{opacity:1}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListTableHeaderButton.vue\"],\"names\":[],\"mappings\":\"AACA,iDAEC,2DAAA,CACA,sDAAA,CAEA,sDACC,mCAAA,CACA,kBAAA,CAGD,sDACC,mCAAA,CACA,SAAA,CACA,yCAAA,CACA,wBAAA,CAGD,4FACC,uBAAA,CAGD,mXAIC,SAAA\",\"sourcesContent\":[\"\\n.files-list__column-sort-button {\\n\\t// Compensate for cells margin\\n\\tmargin: 0 calc(var(--button-padding, var(--cell-margin)) * -1);\\n\\tmin-width: calc(100% - 3 * var(--cell-margin))!important;\\n\\n\\t&-text {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tfont-weight: normal;\\n\\t}\\n\\n\\t&-icon {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\topacity: 0;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\tinset-inline-start: -10px;\\n\\t}\\n\\n\\t&--size &-icon {\\n\\t\\tinset-inline-start: 10px;\\n\\t}\\n\\n\\t&--active &-icon,\\n\\t&:hover &-icon,\\n\\t&:focus &-icon,\\n\\t&:active &-icon {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.files-list[data-v-f6350d38]{--row-height: 55px;--cell-margin: 14px;--checkbox-padding: calc((var(--row-height) - var(--checkbox-size)) / 2);--checkbox-size: 24px;--clickable-area: var(--default-clickable-area);--icon-preview-size: 32px;--fixed-top-position: var(--default-clickable-area);overflow:auto;height:100%;will-change:scroll-position}.files-list[data-v-f6350d38]:has(.file-list-filters__active){--fixed-top-position: calc(var(--default-clickable-area) + var(--default-grid-baseline) + var(--clickable-area-small))}.files-list[data-v-f6350d38] tbody{will-change:padding;contain:layout paint style;display:flex;flex-direction:column;width:100%;position:relative}.files-list[data-v-f6350d38] tbody tr{contain:strict}.files-list[data-v-f6350d38] tbody tr:hover,.files-list[data-v-f6350d38] tbody tr:focus{background-color:var(--color-background-dark)}.files-list[data-v-f6350d38] .files-list__before{display:flex;flex-direction:column}.files-list[data-v-f6350d38] .files-list__selected{padding-right:12px;white-space:nowrap}.files-list[data-v-f6350d38] .files-list__table{display:block}.files-list[data-v-f6350d38] .files-list__table.files-list__table--with-thead-overlay{margin-top:calc(-1*var(--row-height))}.files-list[data-v-f6350d38] .files-list__filters{position:sticky;top:0;background-color:var(--color-main-background);z-index:10;padding-inline:var(--row-height) var(--default-grid-baseline, 4px);height:var(--fixed-top-position);width:100%}.files-list[data-v-f6350d38] .files-list__thead-overlay{position:sticky;top:var(--fixed-top-position);margin-left:var(--row-height);z-index:20;display:flex;align-items:center;background-color:var(--color-main-background);border-bottom:1px solid var(--color-border);height:var(--row-height)}.files-list[data-v-f6350d38] .files-list__thead,.files-list[data-v-f6350d38] .files-list__tfoot{display:flex;flex-direction:column;width:100%;background-color:var(--color-main-background)}.files-list[data-v-f6350d38] .files-list__thead{position:sticky;z-index:10;top:var(--fixed-top-position)}.files-list[data-v-f6350d38] tr{position:relative;display:flex;align-items:center;width:100%;user-select:none;border-bottom:1px solid var(--color-border);box-sizing:border-box;user-select:none;height:var(--row-height)}.files-list[data-v-f6350d38] td,.files-list[data-v-f6350d38] th{display:flex;align-items:center;flex:0 0 auto;justify-content:left;width:var(--row-height);height:var(--row-height);margin:0;padding:0;color:var(--color-text-maxcontrast);border:none}.files-list[data-v-f6350d38] td span,.files-list[data-v-f6350d38] th span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.files-list[data-v-f6350d38] .files-list__row--failed{position:absolute;display:block;top:0;left:0;right:0;bottom:0;opacity:.1;z-index:-1;background:var(--color-error)}.files-list[data-v-f6350d38] .files-list__row-checkbox{justify-content:center}.files-list[data-v-f6350d38] .files-list__row-checkbox .checkbox-radio-switch{display:flex;justify-content:center;--icon-size: var(--checkbox-size)}.files-list[data-v-f6350d38] .files-list__row-checkbox .checkbox-radio-switch label.checkbox-radio-switch__label{width:var(--clickable-area);height:var(--clickable-area);margin:0;padding:calc((var(--clickable-area) - var(--checkbox-size))/2)}.files-list[data-v-f6350d38] .files-list__row-checkbox .checkbox-radio-switch .checkbox-radio-switch__icon{margin:0 !important}.files-list[data-v-f6350d38] .files-list__row:hover,.files-list[data-v-f6350d38] .files-list__row:focus,.files-list[data-v-f6350d38] .files-list__row:active,.files-list[data-v-f6350d38] .files-list__row--active,.files-list[data-v-f6350d38] .files-list__row--dragover{background-color:var(--color-background-hover);--color-text-maxcontrast: var(--color-main-text)}.files-list[data-v-f6350d38] .files-list__row:hover>*,.files-list[data-v-f6350d38] .files-list__row:focus>*,.files-list[data-v-f6350d38] .files-list__row:active>*,.files-list[data-v-f6350d38] .files-list__row--active>*,.files-list[data-v-f6350d38] .files-list__row--dragover>*{--color-border: var(--color-border-dark)}.files-list[data-v-f6350d38] .files-list__row:hover .favorite-marker-icon svg path,.files-list[data-v-f6350d38] .files-list__row:focus .favorite-marker-icon svg path,.files-list[data-v-f6350d38] .files-list__row:active .favorite-marker-icon svg path,.files-list[data-v-f6350d38] .files-list__row--active .favorite-marker-icon svg path,.files-list[data-v-f6350d38] .files-list__row--dragover .favorite-marker-icon svg path{stroke:var(--color-background-hover)}.files-list[data-v-f6350d38] .files-list__row--dragover *{pointer-events:none}.files-list[data-v-f6350d38] .files-list__row-icon{position:relative;display:flex;overflow:visible;align-items:center;flex:0 0 var(--icon-preview-size);justify-content:center;width:var(--icon-preview-size);height:100%;margin-right:var(--checkbox-padding);color:var(--color-primary-element)}.files-list[data-v-f6350d38] .files-list__row-icon *{cursor:pointer}.files-list[data-v-f6350d38] .files-list__row-icon>span{justify-content:flex-start}.files-list[data-v-f6350d38] .files-list__row-icon>span:not(.files-list__row-icon-favorite) svg{width:var(--icon-preview-size);height:var(--icon-preview-size)}.files-list[data-v-f6350d38] .files-list__row-icon>span.folder-icon,.files-list[data-v-f6350d38] .files-list__row-icon>span.folder-open-icon{margin:-3px}.files-list[data-v-f6350d38] .files-list__row-icon>span.folder-icon svg,.files-list[data-v-f6350d38] .files-list__row-icon>span.folder-open-icon svg{width:calc(var(--icon-preview-size) + 6px);height:calc(var(--icon-preview-size) + 6px)}.files-list[data-v-f6350d38] .files-list__row-icon-preview{overflow:hidden;width:var(--icon-preview-size);height:var(--icon-preview-size);border-radius:var(--border-radius);object-fit:contain;object-position:center}.files-list[data-v-f6350d38] .files-list__row-icon-preview:not(.files-list__row-icon-preview--loaded){background:var(--color-loading-dark)}.files-list[data-v-f6350d38] .files-list__row-icon-favorite{position:absolute;top:0px;right:-10px}.files-list[data-v-f6350d38] .files-list__row-icon-overlay{position:absolute;max-height:calc(var(--icon-preview-size)*.5);max-width:calc(var(--icon-preview-size)*.5);color:var(--color-primary-element-text);margin-top:2px}.files-list[data-v-f6350d38] .files-list__row-icon-overlay--file{color:var(--color-main-text);background:var(--color-main-background);border-radius:100%}.files-list[data-v-f6350d38] .files-list__row-name{overflow:hidden;flex:1 1 auto}.files-list[data-v-f6350d38] .files-list__row-name button.files-list__row-name-link{display:flex;align-items:center;text-align:start;width:100%;height:100%;min-width:0;margin:0;padding:0}.files-list[data-v-f6350d38] .files-list__row-name button.files-list__row-name-link:focus-visible{outline:none !important}.files-list[data-v-f6350d38] .files-list__row-name button.files-list__row-name-link:focus .files-list__row-name-text{outline:var(--border-width-input-focused) solid var(--color-main-text) !important;border-radius:var(--border-radius-element)}.files-list[data-v-f6350d38] .files-list__row-name button.files-list__row-name-link:focus:not(:focus-visible) .files-list__row-name-text{outline:none !important}.files-list[data-v-f6350d38] .files-list__row-name .files-list__row-name-text{color:var(--color-main-text);padding:var(--default-grid-baseline) calc(2*var(--default-grid-baseline));padding-left:0;display:inline-flex}.files-list[data-v-f6350d38] .files-list__row-name .files-list__row-name-ext{color:var(--color-text-maxcontrast);overflow:visible}.files-list[data-v-f6350d38] .files-list__row-rename{width:100%;max-width:600px}.files-list[data-v-f6350d38] .files-list__row-rename input{width:100%;margin-left:-8px;padding:2px 6px;border-width:2px}.files-list[data-v-f6350d38] .files-list__row-rename input:invalid{border-color:var(--color-error);color:red}.files-list[data-v-f6350d38] .files-list__row-actions{width:auto}.files-list[data-v-f6350d38] .files-list__row-actions~td,.files-list[data-v-f6350d38] .files-list__row-actions~th{margin:0 var(--cell-margin)}.files-list[data-v-f6350d38] .files-list__row-actions button .button-vue__text{font-weight:normal}.files-list[data-v-f6350d38] .files-list__row-action--inline{margin-right:7px}.files-list[data-v-f6350d38] .files-list__row-mtime,.files-list[data-v-f6350d38] .files-list__row-size{color:var(--color-text-maxcontrast)}.files-list[data-v-f6350d38] .files-list__row-size{width:calc(var(--row-height)*1.5);justify-content:flex-end}.files-list[data-v-f6350d38] .files-list__row-mtime{width:calc(var(--row-height)*2)}.files-list[data-v-f6350d38] .files-list__row-column-custom{width:calc(var(--row-height)*2)}@media screen and (max-width: 512px){.files-list[data-v-f6350d38] .files-list__filters{padding-inline:var(--default-grid-baseline, 4px)}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListVirtual.vue\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"\\n.files-list {\\n\\t--row-height: 55px;\\n\\t--cell-margin: 14px;\\n\\n\\t--checkbox-padding: calc((var(--row-height) - var(--checkbox-size)) / 2);\\n\\t--checkbox-size: 24px;\\n\\t--clickable-area: var(--default-clickable-area);\\n\\t--icon-preview-size: 32px;\\n\\n\\t--fixed-top-position: var(--default-clickable-area);\\n\\n\\toverflow: auto;\\n\\theight: 100%;\\n\\twill-change: scroll-position;\\n\\n\\t&:has(.file-list-filters__active) {\\n\\t\\t--fixed-top-position: calc(var(--default-clickable-area) + var(--default-grid-baseline) + var(--clickable-area-small));\\n\\t}\\n\\n\\t& :deep() {\\n\\t\\t// Table head, body and footer\\n\\t\\ttbody {\\n\\t\\t\\twill-change: padding;\\n\\t\\t\\tcontain: layout paint style;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\t// Necessary for virtual scrolling absolute\\n\\t\\t\\tposition: relative;\\n\\n\\t\\t\\t/* Hover effect on tbody lines only */\\n\\t\\t\\ttr {\\n\\t\\t\\t\\tcontain: strict;\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Before table and thead\\n\\t\\t.files-list__before {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t}\\n\\n\\t\\t.files-list__selected {\\n\\t\\t\\tpadding-right: 12px;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t.files-list__table {\\n\\t\\t\\tdisplay: block;\\n\\n\\t\\t\\t&.files-list__table--with-thead-overlay {\\n\\t\\t\\t\\t// Hide the table header below the overlay\\n\\t\\t\\t\\tmargin-top: calc(-1 * var(--row-height));\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__filters {\\n\\t\\t\\t// Pinned on top when scrolling above table header\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\t// ensure there is a background to hide the file list on scroll\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tz-index: 10;\\n\\t\\t\\t// fixed the size\\n\\t\\t\\tpadding-inline: var(--row-height) var(--default-grid-baseline, 4px);\\n\\t\\t\\theight: var(--fixed-top-position);\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t.files-list__thead-overlay {\\n\\t\\t\\t// Pinned on top when scrolling\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\ttop: var(--fixed-top-position);\\n\\t\\t\\t// Save space for a row checkbox\\n\\t\\t\\tmargin-left: var(--row-height);\\n\\t\\t\\t// More than .files-list__thead\\n\\t\\t\\tz-index: 20;\\n\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t// Reuse row styles\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\t\\theight: var(--row-height);\\n\\t\\t}\\n\\n\\t\\t.files-list__thead,\\n\\t\\t.files-list__tfoot {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\n\\t\\t}\\n\\n\\t\\t// Table header\\n\\t\\t.files-list__thead {\\n\\t\\t\\t// Pinned on top when scrolling\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tz-index: 10;\\n\\t\\t\\ttop: var(--fixed-top-position);\\n\\t\\t}\\n\\n\\t\\ttr {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tuser-select: none;\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\tuser-select: none;\\n\\t\\t\\theight: var(--row-height);\\n\\t\\t}\\n\\n\\t\\ttd, th {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tflex: 0 0 auto;\\n\\t\\t\\tjustify-content: left;\\n\\t\\t\\twidth: var(--row-height);\\n\\t\\t\\theight: var(--row-height);\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\tborder: none;\\n\\n\\t\\t\\t// Columns should try to add any text\\n\\t\\t\\t// node wrapped in a span. That should help\\n\\t\\t\\t// with the ellipsis on overflow.\\n\\t\\t\\tspan {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row--failed {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t\\tright: 0;\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\topacity: .1;\\n\\t\\t\\tz-index: -1;\\n\\t\\t\\tbackground: var(--color-error);\\n\\t\\t}\\n\\n\\t\\t.files-list__row-checkbox {\\n\\t\\t\\tjustify-content: center;\\n\\n\\t\\t\\t.checkbox-radio-switch {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\tjustify-content: center;\\n\\n\\t\\t\\t\\t--icon-size: var(--checkbox-size);\\n\\n\\t\\t\\t\\tlabel.checkbox-radio-switch__label {\\n\\t\\t\\t\\t\\twidth: var(--clickable-area);\\n\\t\\t\\t\\t\\theight: var(--clickable-area);\\n\\t\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t\\tpadding: calc((var(--clickable-area) - var(--checkbox-size)) / 2);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t.checkbox-radio-switch__icon {\\n\\t\\t\\t\\t\\tmargin: 0 !important;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row {\\n\\t\\t\\t&:hover, &:focus, &:active, &--active, &--dragover {\\n\\t\\t\\t\\t// WCAG AA compliant\\n\\t\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t\\t\\t// text-maxcontrast have been designed to pass WCAG AA over\\n\\t\\t\\t\\t// a white background, we need to adjust then.\\n\\t\\t\\t\\t--color-text-maxcontrast: var(--color-main-text);\\n\\t\\t\\t\\t> * {\\n\\t\\t\\t\\t\\t--color-border: var(--color-border-dark);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Hover state of the row should also change the favorite markers background\\n\\t\\t\\t\\t.favorite-marker-icon svg path {\\n\\t\\t\\t\\t\\tstroke: var(--color-background-hover);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--dragover * {\\n\\t\\t\\t\\t// Prevent dropping on row children\\n\\t\\t\\t\\tpointer-events: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Entry preview or mime icon\\n\\t\\t.files-list__row-icon {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\toverflow: visible;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\t// No shrinking or growing allowed\\n\\t\\t\\tflex: 0 0 var(--icon-preview-size);\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: var(--icon-preview-size);\\n\\t\\t\\theight: 100%;\\n\\t\\t\\t// Show same padding as the checkbox right padding for visual balance\\n\\t\\t\\tmargin-right: var(--checkbox-padding);\\n\\t\\t\\tcolor: var(--color-primary-element);\\n\\n\\t\\t\\t// Icon is also clickable\\n\\t\\t\\t* {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\n\\t\\t\\t& > span {\\n\\t\\t\\t\\tjustify-content: flex-start;\\n\\n\\t\\t\\t\\t&:not(.files-list__row-icon-favorite) svg {\\n\\t\\t\\t\\t\\twidth: var(--icon-preview-size);\\n\\t\\t\\t\\t\\theight: var(--icon-preview-size);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Slightly increase the size of the folder icon\\n\\t\\t\\t\\t&.folder-icon,\\n\\t\\t\\t\\t&.folder-open-icon {\\n\\t\\t\\t\\t\\tmargin: -3px;\\n\\t\\t\\t\\t\\tsvg {\\n\\t\\t\\t\\t\\t\\twidth: calc(var(--icon-preview-size) + 6px);\\n\\t\\t\\t\\t\\t\\theight: calc(var(--icon-preview-size) + 6px);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t&-preview {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\twidth: var(--icon-preview-size);\\n\\t\\t\\t\\theight: var(--icon-preview-size);\\n\\t\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\t\\t// Center and contain the preview\\n\\t\\t\\t\\tobject-fit: contain;\\n\\t\\t\\t\\tobject-position: center;\\n\\n\\t\\t\\t\\t/* Preview not loaded animation effect */\\n\\t\\t\\t\\t&:not(.files-list__row-icon-preview--loaded) {\\n\\t\\t\\t\\t\\tbackground: var(--color-loading-dark);\\n\\t\\t\\t\\t\\t// animation: preview-gradient-fade 1.2s ease-in-out infinite;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t&-favorite {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: 0px;\\n\\t\\t\\t\\tright: -10px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// File and folder overlay\\n\\t\\t\\t&-overlay {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\tmax-height: calc(var(--icon-preview-size) * 0.5);\\n\\t\\t\\t\\tmax-width: calc(var(--icon-preview-size) * 0.5);\\n\\t\\t\\t\\tcolor: var(--color-primary-element-text);\\n\\t\\t\\t\\t// better alignment with the folder icon\\n\\t\\t\\t\\tmargin-top: 2px;\\n\\n\\t\\t\\t\\t// Improve icon contrast with a background for files\\n\\t\\t\\t\\t&--file {\\n\\t\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\t\\tbackground: var(--color-main-background);\\n\\t\\t\\t\\t\\tborder-radius: 100%;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Entry link\\n\\t\\t.files-list__row-name {\\n\\t\\t\\t// Prevent link from overflowing\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\t// Take as much space as possible\\n\\t\\t\\tflex: 1 1 auto;\\n\\n\\t\\t\\tbutton.files-list__row-name-link {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\ttext-align: start;\\n\\t\\t\\t\\t// Fill cell height and width\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\theight: 100%;\\n\\t\\t\\t\\t// Necessary for flex grow to work\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\tpadding: 0;\\n\\n\\t\\t\\t\\t// Already added to the inner text, see rule below\\n\\t\\t\\t\\t&:focus-visible {\\n\\t\\t\\t\\t\\toutline: none !important;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Keyboard indicator a11y\\n\\t\\t\\t\\t&:focus .files-list__row-name-text {\\n\\t\\t\\t\\t\\toutline: var(--border-width-input-focused) solid var(--color-main-text) !important;\\n\\t\\t\\t\\t\\tborder-radius: var(--border-radius-element);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:focus:not(:focus-visible) .files-list__row-name-text {\\n\\t\\t\\t\\t\\toutline: none !important;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t.files-list__row-name-text {\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\t// Make some space for the outline\\n\\t\\t\\t\\tpadding: var(--default-grid-baseline) calc(2 * var(--default-grid-baseline));\\n\\t\\t\\t\\tpadding-left: 0;\\n\\t\\t\\t\\t// Align two name and ext\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t}\\n\\n\\t\\t\\t.files-list__row-name-ext {\\n\\t\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\t\\t// always show the extension\\n\\t\\t\\t\\toverflow: visible;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Rename form\\n\\t\\t.files-list__row-rename {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tmax-width: 600px;\\n\\t\\t\\tinput {\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t// Align with text, 0 - padding - border\\n\\t\\t\\t\\tmargin-left: -8px;\\n\\t\\t\\t\\tpadding: 2px 6px;\\n\\t\\t\\t\\tborder-width: 2px;\\n\\n\\t\\t\\t\\t&:invalid {\\n\\t\\t\\t\\t\\t// Show red border on invalid input\\n\\t\\t\\t\\t\\tborder-color: var(--color-error);\\n\\t\\t\\t\\t\\tcolor: red;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-actions {\\n\\t\\t\\t// take as much space as necessary\\n\\t\\t\\twidth: auto;\\n\\n\\t\\t\\t// Add margin to all cells after the actions\\n\\t\\t\\t& ~ td,\\n\\t\\t\\t& ~ th {\\n\\t\\t\\t\\tmargin: 0 var(--cell-margin);\\n\\t\\t\\t}\\n\\n\\t\\t\\tbutton {\\n\\t\\t\\t\\t.button-vue__text {\\n\\t\\t\\t\\t\\t// Remove bold from default button styling\\n\\t\\t\\t\\t\\tfont-weight: normal;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.files-list__row-action--inline {\\n\\t\\t\\tmargin-right: 7px;\\n\\t\\t}\\n\\n\\t\\t.files-list__row-mtime,\\n\\t\\t.files-list__row-size {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t\\t.files-list__row-size {\\n\\t\\t\\twidth: calc(var(--row-height) * 1.5);\\n\\t\\t\\t// Right align content/text\\n\\t\\t\\tjustify-content: flex-end;\\n\\t\\t}\\n\\n\\t\\t.files-list__row-mtime {\\n\\t\\t\\twidth: calc(var(--row-height) * 2);\\n\\t\\t}\\n\\n\\t\\t.files-list__row-column-custom {\\n\\t\\t\\twidth: calc(var(--row-height) * 2);\\n\\t\\t}\\n\\t}\\n}\\n\\n@media screen and (max-width: 512px) {\\n\\t.files-list :deep(.files-list__filters) {\\n\\t\\t// Reduce padding on mobile\\n\\t\\tpadding-inline: var(--default-grid-baseline, 4px);\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `tbody.files-list__tbody.files-list__tbody--grid{--half-clickable-area: calc(var(--clickable-area) / 2);--item-padding: 16px;--icon-preview-size: 166px;--name-height: 32px;--mtime-height: 16px;--row-width: calc(var(--icon-preview-size) + var(--item-padding) * 2);--row-height: calc(var(--icon-preview-size) + var(--name-height) + var(--mtime-height) + var(--item-padding) * 2);--checkbox-padding: 0px;display:grid;grid-template-columns:repeat(auto-fill, var(--row-width));align-content:center;align-items:center;justify-content:space-around;justify-items:center}tbody.files-list__tbody.files-list__tbody--grid tr{display:flex;flex-direction:column;width:var(--row-width);height:var(--row-height);border:none;border-radius:var(--border-radius-large);padding:var(--item-padding)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-checkbox{position:absolute;z-index:9;top:calc(var(--item-padding)/2);left:calc(var(--item-padding)/2);overflow:hidden;--checkbox-container-size: 44px;width:var(--checkbox-container-size);height:var(--checkbox-container-size)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-checkbox .checkbox-radio-switch__content::after{content:\"\";width:16px;height:16px;position:absolute;left:50%;margin-left:-8px;z-index:-1;background:var(--color-main-background)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-icon-favorite{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:var(--clickable-area);height:var(--clickable-area)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name{display:flex;flex-direction:column;width:var(--icon-preview-size);height:calc(var(--icon-preview-size) + var(--name-height));overflow:visible}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name span.files-list__row-icon{width:var(--icon-preview-size);height:var(--icon-preview-size)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-name .files-list__row-name-text{margin:0;margin-left:-4px;padding:0px 4px}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-mtime{width:var(--icon-preview-size);height:var(--mtime-height);font-size:calc(var(--default-font-size) - 4px)}tbody.files-list__tbody.files-list__tbody--grid .files-list__row-actions{position:absolute;right:calc(var(--half-clickable-area)/2);bottom:calc(var(--mtime-height)/2);width:var(--clickable-area);height:var(--clickable-area)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/FilesListVirtual.vue\"],\"names\":[],\"mappings\":\"AAEA,gDACC,sDAAA,CACA,oBAAA,CACA,0BAAA,CACA,mBAAA,CACA,oBAAA,CACA,qEAAA,CACA,iHAAA,CACA,uBAAA,CAEA,YAAA,CACA,yDAAA,CAEA,oBAAA,CACA,kBAAA,CACA,4BAAA,CACA,oBAAA,CAEA,mDACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,wBAAA,CACA,WAAA,CACA,wCAAA,CACA,2BAAA,CAID,0EACC,iBAAA,CACA,SAAA,CACA,+BAAA,CACA,gCAAA,CACA,eAAA,CACA,+BAAA,CACA,oCAAA,CACA,qCAAA,CAGA,iHACC,UAAA,CACA,UAAA,CACA,WAAA,CACA,iBAAA,CACA,QAAA,CACA,gBAAA,CACA,UAAA,CACA,uCAAA,CAKF,+EACC,iBAAA,CACA,KAAA,CACA,OAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,2BAAA,CACA,4BAAA,CAGD,sEACC,YAAA,CACA,qBAAA,CACA,8BAAA,CACA,0DAAA,CAEA,gBAAA,CAEA,gGACC,8BAAA,CACA,+BAAA,CAGD,iGACC,QAAA,CAEA,gBAAA,CACA,eAAA,CAIF,uEACC,8BAAA,CACA,0BAAA,CACA,8CAAA,CAGD,yEACC,iBAAA,CACA,wCAAA,CACA,kCAAA,CACA,2BAAA,CACA,4BAAA\",\"sourcesContent\":[\"\\n// Grid mode\\ntbody.files-list__tbody.files-list__tbody--grid {\\n\\t--half-clickable-area: calc(var(--clickable-area) / 2);\\n\\t--item-padding: 16px;\\n\\t--icon-preview-size: 166px;\\n\\t--name-height: 32px;\\n\\t--mtime-height: 16px;\\n\\t--row-width: calc(var(--icon-preview-size) + var(--item-padding) * 2);\\n\\t--row-height: calc(var(--icon-preview-size) + var(--name-height) + var(--mtime-height) + var(--item-padding) * 2);\\n\\t--checkbox-padding: 0px;\\n\\n\\tdisplay: grid;\\n\\tgrid-template-columns: repeat(auto-fill, var(--row-width));\\n\\n\\talign-content: center;\\n\\talign-items: center;\\n\\tjustify-content: space-around;\\n\\tjustify-items: center;\\n\\n\\ttr {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\twidth: var(--row-width);\\n\\t\\theight: var(--row-height);\\n\\t\\tborder: none;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tpadding: var(--item-padding);\\n\\t}\\n\\n\\t// Checkbox in the top left\\n\\t.files-list__row-checkbox {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 9;\\n\\t\\ttop: calc(var(--item-padding)/2);\\n\\t\\tleft: calc(var(--item-padding)/2);\\n\\t\\toverflow: hidden;\\n\\t\\t--checkbox-container-size: 44px;\\n\\t\\twidth: var(--checkbox-container-size);\\n\\t\\theight: var(--checkbox-container-size);\\n\\n\\t\\t// Add a background to the checkbox so we do not see the image through it.\\n\\t\\t.checkbox-radio-switch__content::after {\\n\\t\\t\\tcontent: '';\\n\\t\\t\\twidth: 16px;\\n\\t\\t\\theight: 16px;\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tleft: 50%;\\n\\t\\t\\tmargin-left: -8px;\\n\\t\\t\\tz-index: -1;\\n\\t\\t\\tbackground: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t// Star icon in the top right\\n\\t.files-list__row-icon-favorite {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tright: 0;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: var(--clickable-area);\\n\\t\\theight: var(--clickable-area);\\n\\t}\\n\\n\\t.files-list__row-name {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\twidth: var(--icon-preview-size);\\n\\t\\theight: calc(var(--icon-preview-size) + var(--name-height));\\n\\t\\t// Ensure that the name outline is visible.\\n\\t\\toverflow: visible;\\n\\n\\t\\tspan.files-list__row-icon {\\n\\t\\t\\twidth: var(--icon-preview-size);\\n\\t\\t\\theight: var(--icon-preview-size);\\n\\t\\t}\\n\\n\\t\\t.files-list__row-name-text {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\t// Ensure that the outline is not too close to the text.\\n\\t\\t\\tmargin-left: -4px;\\n\\t\\t\\tpadding: 0px 4px;\\n\\t\\t}\\n\\t}\\n\\n\\t.files-list__row-mtime {\\n\\t\\twidth: var(--icon-preview-size);\\n\\t\\theight: var(--mtime-height);\\n\\t\\tfont-size: calc(var(--default-font-size) - 4px);\\n\\t}\\n\\n\\t.files-list__row-actions {\\n\\t\\tposition: absolute;\\n\\t\\tright: calc(var(--half-clickable-area) / 2);\\n\\t\\tbottom: calc(var(--mtime-height) / 2);\\n\\t\\twidth: var(--clickable-area);\\n\\t\\theight: var(--clickable-area);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-navigation-entry__settings-quota[data-v-6ed9379e]{--app-navigation-quota-margin: calc((var(--default-clickable-area) - 24px) / 2)}.app-navigation-entry__settings-quota--not-unlimited[data-v-6ed9379e] .app-navigation-entry__name{line-height:1;margin-top:var(--app-navigation-quota-margin)}.app-navigation-entry__settings-quota progress[data-v-6ed9379e]{position:absolute;bottom:var(--app-navigation-quota-margin);margin-inline-start:var(--default-clickable-area);width:calc(100% - 1.5*var(--default-clickable-area))}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/NavigationQuota.vue\"],\"names\":[],\"mappings\":\"AAEA,uDAEC,+EAAA,CAEA,kGACC,aAAA,CACA,6CAAA,CAGD,gEACC,iBAAA,CACA,yCAAA,CACA,iDAAA,CACA,oDAAA\",\"sourcesContent\":[\"\\n// User storage stats display\\n.app-navigation-entry__settings-quota {\\n\\t// Align title with progress and icon\\n\\t--app-navigation-quota-margin: calc((var(--default-clickable-area) - 24px) / 2); // 20px icon size and 4px progress bar\\n\\n\\t&--not-unlimited :deep(.app-navigation-entry__name) {\\n\\t\\tline-height: 1;\\n\\t\\tmargin-top: var(--app-navigation-quota-margin);\\n\\t}\\n\\n\\tprogress {\\n\\t\\tposition: absolute;\\n\\t\\tbottom: var(--app-navigation-quota-margin);\\n\\t\\tmargin-inline-start: var(--default-clickable-area);\\n\\t\\twidth: calc(100% - (1.5 * var(--default-clickable-area)));\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.toast-loading-icon{margin-inline-start:-4px;min-width:26px}.app-content[data-v-191da179]{display:flex;overflow:hidden;flex-direction:column;max-height:100%;position:relative !important}.files-list__header[data-v-191da179]{display:flex;align-items:center;flex:0 0;max-width:100%;margin-block:var(--app-navigation-padding, 4px);margin-inline:calc(var(--default-clickable-area, 44px) + 2*var(--app-navigation-padding, 4px)) var(--app-navigation-padding, 4px)}.files-list__header>*[data-v-191da179]{flex:0 0}.files-list__header-share-button[data-v-191da179]{color:var(--color-text-maxcontrast) !important}.files-list__header-share-button--shared[data-v-191da179]{color:var(--color-main-text) !important}.files-list__empty-view-wrapper[data-v-191da179]{display:flex;height:100%}.files-list__refresh-icon[data-v-191da179]{flex:0 0 var(--default-clickable-area);width:var(--default-clickable-area);height:var(--default-clickable-area)}.files-list__loading-icon[data-v-191da179]{margin:auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/FilesList.vue\"],\"names\":[],\"mappings\":\"AACA,oBAEC,wBAAA,CAEA,cAAA,CAGD,8BAEC,YAAA,CACA,eAAA,CACA,qBAAA,CACA,eAAA,CACA,4BAAA,CAIA,qCACC,YAAA,CACA,kBAAA,CAEA,QAAA,CACA,cAAA,CAEA,+CAAA,CACA,iIAAA,CAEA,uCAGC,QAAA,CAGD,kDACC,8CAAA,CAEA,0DACC,uCAAA,CAKH,iDACC,YAAA,CACA,WAAA,CAGD,2CACC,sCAAA,CACA,mCAAA,CACA,oCAAA,CAGD,2CACC,WAAA\",\"sourcesContent\":[\"\\n:global(.toast-loading-icon) {\\n\\t// Reduce start margin (it was made for text but this is an icon)\\n\\tmargin-inline-start: -4px;\\n\\t// 16px icon + 5px on both sides\\n\\tmin-width: 26px;\\n}\\n\\n.app-content {\\n\\t// Virtual list needs to be full height and is scrollable\\n\\tdisplay: flex;\\n\\toverflow: hidden;\\n\\tflex-direction: column;\\n\\tmax-height: 100%;\\n\\tposition: relative !important;\\n}\\n\\n.files-list {\\n\\t&__header {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\t// Do not grow or shrink (vertically)\\n\\t\\tflex: 0 0;\\n\\t\\tmax-width: 100%;\\n\\t\\t// Align with the navigation toggle icon\\n\\t\\tmargin-block: var(--app-navigation-padding, 4px);\\n\\t\\tmargin-inline: calc(var(--default-clickable-area, 44px) + 2 * var(--app-navigation-padding, 4px)) var(--app-navigation-padding, 4px);\\n\\n\\t\\t>* {\\n\\t\\t\\t// Do not grow or shrink (horizontally)\\n\\t\\t\\t// Only the breadcrumbs shrinks\\n\\t\\t\\tflex: 0 0;\\n\\t\\t}\\n\\n\\t\\t&-share-button {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast) !important;\\n\\n\\t\\t\\t&--shared {\\n\\t\\t\\t\\tcolor: var(--color-main-text) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__empty-view-wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\theight: 100%;\\n\\t}\\n\\n\\t&__refresh-icon {\\n\\t\\tflex: 0 0 var(--default-clickable-area);\\n\\t\\twidth: var(--default-clickable-area);\\n\\t\\theight: var(--default-clickable-area);\\n\\t}\\n\\n\\t&__loading-icon {\\n\\t\\tmargin: auto;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-navigation[data-v-11366bf7] .app-navigation-entry-icon{background-repeat:no-repeat;background-position:center}.app-navigation[data-v-11366bf7] .app-navigation-entry.active .button-vue.icon-collapse:not(:hover){color:var(--color-primary-element-text)}.app-navigation>ul.app-navigation__list[data-v-11366bf7]{padding-bottom:var(--default-grid-baseline, 4px)}.app-navigation-entry__settings[data-v-11366bf7]{height:auto !important;overflow:hidden !important;padding-top:0 !important;flex:0 0 auto}.files-navigation__list[data-v-11366bf7]{height:100%}.files-navigation[data-v-11366bf7] .app-navigation__content > ul.app-navigation__list{will-change:scroll-position}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/Navigation.vue\"],\"names\":[],\"mappings\":\"AAEA,4DACC,2BAAA,CACA,0BAAA,CAGD,oGACC,uCAAA,CAGD,yDAEC,gDAAA,CAGD,iDACC,sBAAA,CACA,0BAAA,CACA,wBAAA,CAEA,aAAA,CAIA,yCACC,WAAA,CAGD,sFACC,2BAAA\",\"sourcesContent\":[\"\\n// TODO: remove when https://github.com/nextcloud/nextcloud-vue/pull/3539 is in\\n.app-navigation::v-deep .app-navigation-entry-icon {\\n\\tbackground-repeat: no-repeat;\\n\\tbackground-position: center;\\n}\\n\\n.app-navigation::v-deep .app-navigation-entry.active .button-vue.icon-collapse:not(:hover) {\\n\\tcolor: var(--color-primary-element-text);\\n}\\n\\n.app-navigation > ul.app-navigation__list {\\n\\t// Use flex gap value for more elegant spacing\\n\\tpadding-bottom: var(--default-grid-baseline, 4px);\\n}\\n\\n.app-navigation-entry__settings {\\n\\theight: auto !important;\\n\\toverflow: hidden !important;\\n\\tpadding-top: 0 !important;\\n\\t// Prevent shrinking or growing\\n\\tflex: 0 0 auto;\\n}\\n\\n.files-navigation {\\n\\t&__list {\\n\\t\\theight: 100%; // Fill all available space for sticky views\\n\\t}\\n\\n\\t:deep(.app-navigation__content > ul.app-navigation__list) {\\n\\t\\twill-change: scroll-position;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.setting-link[data-v-23881b2c]:hover{text-decoration:underline}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/Settings.vue\"],\"names\":[],\"mappings\":\"AACA,qCACC,yBAAA\",\"sourcesContent\":[\"\\n.setting-link:hover {\\n\\ttext-decoration: underline;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","'use strict';\n\nconst denyList = new Set([\n\t'ENOTFOUND',\n\t'ENETUNREACH',\n\n\t// SSL errors from https://github.com/nodejs/node/blob/fc8e3e2cdc521978351de257030db0076d79e0ab/src/crypto/crypto_common.cc#L301-L328\n\t'UNABLE_TO_GET_ISSUER_CERT',\n\t'UNABLE_TO_GET_CRL',\n\t'UNABLE_TO_DECRYPT_CERT_SIGNATURE',\n\t'UNABLE_TO_DECRYPT_CRL_SIGNATURE',\n\t'UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY',\n\t'CERT_SIGNATURE_FAILURE',\n\t'CRL_SIGNATURE_FAILURE',\n\t'CERT_NOT_YET_VALID',\n\t'CERT_HAS_EXPIRED',\n\t'CRL_NOT_YET_VALID',\n\t'CRL_HAS_EXPIRED',\n\t'ERROR_IN_CERT_NOT_BEFORE_FIELD',\n\t'ERROR_IN_CERT_NOT_AFTER_FIELD',\n\t'ERROR_IN_CRL_LAST_UPDATE_FIELD',\n\t'ERROR_IN_CRL_NEXT_UPDATE_FIELD',\n\t'OUT_OF_MEM',\n\t'DEPTH_ZERO_SELF_SIGNED_CERT',\n\t'SELF_SIGNED_CERT_IN_CHAIN',\n\t'UNABLE_TO_GET_ISSUER_CERT_LOCALLY',\n\t'UNABLE_TO_VERIFY_LEAF_SIGNATURE',\n\t'CERT_CHAIN_TOO_LONG',\n\t'CERT_REVOKED',\n\t'INVALID_CA',\n\t'PATH_LENGTH_EXCEEDED',\n\t'INVALID_PURPOSE',\n\t'CERT_UNTRUSTED',\n\t'CERT_REJECTED',\n\t'HOSTNAME_MISMATCH'\n]);\n\n// TODO: Use `error?.code` when targeting Node.js 14\nmodule.exports = error => !denyList.has(error && error.code);\n","// @flow\n\n/*::\ntype Options = {\n max?: number,\n min?: number,\n historyTimeConstant?: number,\n autostart?: boolean,\n ignoreSameProgress?: boolean,\n}\n*/\n\nfunction makeLowPassFilter(RC/*: number*/) {\n return function (previousOutput, input, dt) {\n const alpha = dt / (dt + RC);\n return previousOutput + alpha * (input - previousOutput);\n }\n}\n\nfunction def/*:: <T>*/(x/*: ?T*/, d/*: T*/)/*: T*/ {\n return (x === undefined || x === null) ? d : x;\n}\n\nfunction makeEta(options/*::?: Options */) {\n options = options || {};\n var max = def(options.max, 1);\n var min = def(options.min, 0);\n var autostart = def(options.autostart, true);\n var ignoreSameProgress = def(options.ignoreSameProgress, false);\n\n var rate/*: number | null */ = null;\n var lastTimestamp/*: number | null */ = null;\n var lastProgress/*: number | null */ = null;\n\n var filter = makeLowPassFilter(def(options.historyTimeConstant, 2.5));\n\n function start() {\n report(min);\n }\n\n function reset() {\n rate = null;\n lastTimestamp = null;\n lastProgress = null;\n if (autostart) {\n start();\n }\n }\n\n function report(progress /*: number */, timestamp/*::?: number */) {\n if (typeof timestamp !== 'number') {\n timestamp = Date.now();\n }\n\n if (lastTimestamp === timestamp) { return; }\n if (ignoreSameProgress && lastProgress === progress) { return; }\n\n if (lastTimestamp === null || lastProgress === null) {\n lastProgress = progress;\n lastTimestamp = timestamp;\n return;\n }\n\n var deltaProgress = progress - lastProgress;\n var deltaTimestamp = 0.001 * (timestamp - lastTimestamp);\n var currentRate = deltaProgress / deltaTimestamp;\n\n rate = rate === null\n ? currentRate\n : filter(rate, currentRate, deltaTimestamp);\n lastProgress = progress;\n lastTimestamp = timestamp;\n }\n\n function estimate(timestamp/*::?: number*/) {\n if (lastProgress === null) { return Infinity; }\n if (lastProgress >= max) { return 0; }\n if (rate === null) { return Infinity; }\n\n var estimatedTime = (max - lastProgress) / rate;\n if (typeof timestamp === 'number' && typeof lastTimestamp === 'number') {\n estimatedTime -= (timestamp - lastTimestamp) * 0.001;\n }\n return Math.max(0, estimatedTime);\n }\n\n function getRate() {\n return rate === null ? 0 : rate;\n }\n\n return {\n start: start,\n reset: reset,\n report: report,\n estimate: estimate,\n rate: getRate,\n }\n}\n\nmodule.exports = makeEta;\n","import { getLoggerBuilder } from \"@nextcloud/logger\";\nimport { getCurrentUser, onRequestTokenUpdate, getRequestToken } from \"@nextcloud/auth\";\nimport { join, basename, extname, dirname } from \"path\";\nimport { encodePath } from \"@nextcloud/paths\";\nimport { generateRemoteUrl } from \"@nextcloud/router\";\nimport { CancelablePromise } from \"cancelable-promise\";\nimport { createClient, getPatcher } from \"webdav\";\nimport { isPublicShare, getSharingToken } from \"@nextcloud/sharing/public\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { getCanonicalLocale, getLanguage } from \"@nextcloud/l10n\";\nimport { TypedEventTarget } from \"typescript-event-target\";\nconst logger = getLoggerBuilder().setApp(\"@nextcloud/files\").detectUser().build();\nvar NewMenuEntryCategory = /* @__PURE__ */ ((NewMenuEntryCategory2) => {\n NewMenuEntryCategory2[NewMenuEntryCategory2[\"UploadFromDevice\"] = 0] = \"UploadFromDevice\";\n NewMenuEntryCategory2[NewMenuEntryCategory2[\"CreateNew\"] = 1] = \"CreateNew\";\n NewMenuEntryCategory2[NewMenuEntryCategory2[\"Other\"] = 2] = \"Other\";\n return NewMenuEntryCategory2;\n})(NewMenuEntryCategory || {});\nclass NewFileMenu {\n _entries = [];\n registerEntry(entry) {\n this.validateEntry(entry);\n entry.category = entry.category ?? 1;\n this._entries.push(entry);\n }\n unregisterEntry(entry) {\n const entryIndex = typeof entry === \"string\" ? this.getEntryIndex(entry) : this.getEntryIndex(entry.id);\n if (entryIndex === -1) {\n logger.warn(\"Entry not found, nothing removed\", { entry, entries: this.getEntries() });\n return;\n }\n this._entries.splice(entryIndex, 1);\n }\n /**\n * Get the list of registered entries\n *\n * @param {Folder} context the creation context. Usually the current folder\n */\n getEntries(context) {\n if (context) {\n return this._entries.filter((entry) => typeof entry.enabled === \"function\" ? entry.enabled(context) : true);\n }\n return this._entries;\n }\n getEntryIndex(id) {\n return this._entries.findIndex((entry) => entry.id === id);\n }\n validateEntry(entry) {\n if (!entry.id || !entry.displayName || !(entry.iconSvgInline || entry.iconClass) || !entry.handler) {\n throw new Error(\"Invalid entry\");\n }\n if (typeof entry.id !== \"string\" || typeof entry.displayName !== \"string\") {\n throw new Error(\"Invalid id or displayName property\");\n }\n if (entry.iconClass && typeof entry.iconClass !== \"string\" || entry.iconSvgInline && typeof entry.iconSvgInline !== \"string\") {\n throw new Error(\"Invalid icon provided\");\n }\n if (entry.enabled !== void 0 && typeof entry.enabled !== \"function\") {\n throw new Error(\"Invalid enabled property\");\n }\n if (typeof entry.handler !== \"function\") {\n throw new Error(\"Invalid handler property\");\n }\n if (\"order\" in entry && typeof entry.order !== \"number\") {\n throw new Error(\"Invalid order property\");\n }\n if (this.getEntryIndex(entry.id) !== -1) {\n throw new Error(\"Duplicate entry\");\n }\n }\n}\nconst getNewFileMenu = function() {\n if (typeof window._nc_newfilemenu === \"undefined\") {\n window._nc_newfilemenu = new NewFileMenu();\n logger.debug(\"NewFileMenu initialized\");\n }\n return window._nc_newfilemenu;\n};\nvar DefaultType = /* @__PURE__ */ ((DefaultType2) => {\n DefaultType2[\"DEFAULT\"] = \"default\";\n DefaultType2[\"HIDDEN\"] = \"hidden\";\n return DefaultType2;\n})(DefaultType || {});\nclass FileAction {\n _action;\n constructor(action) {\n this.validateAction(action);\n this._action = action;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get title() {\n return this._action.title;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n get execBatch() {\n return this._action.execBatch;\n }\n get order() {\n return this._action.order;\n }\n get parent() {\n return this._action.parent;\n }\n get default() {\n return this._action.default;\n }\n get inline() {\n return this._action.inline;\n }\n get renderInline() {\n return this._action.renderInline;\n }\n validateAction(action) {\n if (!action.id || typeof action.id !== \"string\") {\n throw new Error(\"Invalid id\");\n }\n if (!action.displayName || typeof action.displayName !== \"function\") {\n throw new Error(\"Invalid displayName function\");\n }\n if (\"title\" in action && typeof action.title !== \"function\") {\n throw new Error(\"Invalid title function\");\n }\n if (!action.iconSvgInline || typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Invalid iconSvgInline function\");\n }\n if (!action.exec || typeof action.exec !== \"function\") {\n throw new Error(\"Invalid exec function\");\n }\n if (\"enabled\" in action && typeof action.enabled !== \"function\") {\n throw new Error(\"Invalid enabled function\");\n }\n if (\"execBatch\" in action && typeof action.execBatch !== \"function\") {\n throw new Error(\"Invalid execBatch function\");\n }\n if (\"order\" in action && typeof action.order !== \"number\") {\n throw new Error(\"Invalid order\");\n }\n if (\"parent\" in action && typeof action.parent !== \"string\") {\n throw new Error(\"Invalid parent\");\n }\n if (action.default && !Object.values(DefaultType).includes(action.default)) {\n throw new Error(\"Invalid default\");\n }\n if (\"inline\" in action && typeof action.inline !== \"function\") {\n throw new Error(\"Invalid inline function\");\n }\n if (\"renderInline\" in action && typeof action.renderInline !== \"function\") {\n throw new Error(\"Invalid renderInline function\");\n }\n }\n}\nconst registerFileAction = function(action) {\n if (typeof window._nc_fileactions === \"undefined\") {\n window._nc_fileactions = [];\n logger.debug(\"FileActions initialized\");\n }\n if (window._nc_fileactions.find((search) => search.id === action.id)) {\n logger.error(`FileAction ${action.id} already registered`, { action });\n return;\n }\n window._nc_fileactions.push(action);\n};\nconst getFileActions = function() {\n if (typeof window._nc_fileactions === \"undefined\") {\n window._nc_fileactions = [];\n logger.debug(\"FileActions initialized\");\n }\n return window._nc_fileactions;\n};\nclass Header {\n _header;\n constructor(header) {\n this.validateHeader(header);\n this._header = header;\n }\n get id() {\n return this._header.id;\n }\n get order() {\n return this._header.order;\n }\n get enabled() {\n return this._header.enabled;\n }\n get render() {\n return this._header.render;\n }\n get updated() {\n return this._header.updated;\n }\n validateHeader(header) {\n if (!header.id || !header.render || !header.updated) {\n throw new Error(\"Invalid header: id, render and updated are required\");\n }\n if (typeof header.id !== \"string\") {\n throw new Error(\"Invalid id property\");\n }\n if (header.enabled !== void 0 && typeof header.enabled !== \"function\") {\n throw new Error(\"Invalid enabled property\");\n }\n if (header.render && typeof header.render !== \"function\") {\n throw new Error(\"Invalid render property\");\n }\n if (header.updated && typeof header.updated !== \"function\") {\n throw new Error(\"Invalid updated property\");\n }\n }\n}\nconst registerFileListHeaders = function(header) {\n if (typeof window._nc_filelistheader === \"undefined\") {\n window._nc_filelistheader = [];\n logger.debug(\"FileListHeaders initialized\");\n }\n if (window._nc_filelistheader.find((search) => search.id === header.id)) {\n logger.error(`Header ${header.id} already registered`, { header });\n return;\n }\n window._nc_filelistheader.push(header);\n};\nconst getFileListHeaders = function() {\n if (typeof window._nc_filelistheader === \"undefined\") {\n window._nc_filelistheader = [];\n logger.debug(\"FileListHeaders initialized\");\n }\n return window._nc_filelistheader;\n};\nvar Permission = /* @__PURE__ */ ((Permission2) => {\n Permission2[Permission2[\"NONE\"] = 0] = \"NONE\";\n Permission2[Permission2[\"CREATE\"] = 4] = \"CREATE\";\n Permission2[Permission2[\"READ\"] = 1] = \"READ\";\n Permission2[Permission2[\"UPDATE\"] = 2] = \"UPDATE\";\n Permission2[Permission2[\"DELETE\"] = 8] = \"DELETE\";\n Permission2[Permission2[\"SHARE\"] = 16] = \"SHARE\";\n Permission2[Permission2[\"ALL\"] = 31] = \"ALL\";\n return Permission2;\n})(Permission || {});\nconst defaultDavProperties = [\n \"d:getcontentlength\",\n \"d:getcontenttype\",\n \"d:getetag\",\n \"d:getlastmodified\",\n \"d:creationdate\",\n \"d:displayname\",\n \"d:quota-available-bytes\",\n \"d:resourcetype\",\n \"nc:has-preview\",\n \"nc:is-encrypted\",\n \"nc:mount-type\",\n \"oc:comments-unread\",\n \"oc:favorite\",\n \"oc:fileid\",\n \"oc:owner-display-name\",\n \"oc:owner-id\",\n \"oc:permissions\",\n \"oc:size\"\n];\nconst defaultDavNamespaces = {\n d: \"DAV:\",\n nc: \"http://nextcloud.org/ns\",\n oc: \"http://owncloud.org/ns\",\n ocs: \"http://open-collaboration-services.org/ns\"\n};\nconst registerDavProperty = function(prop, namespace = { nc: \"http://nextcloud.org/ns\" }) {\n if (typeof window._nc_dav_properties === \"undefined\") {\n window._nc_dav_properties = [...defaultDavProperties];\n window._nc_dav_namespaces = { ...defaultDavNamespaces };\n }\n const namespaces = { ...window._nc_dav_namespaces, ...namespace };\n if (window._nc_dav_properties.find((search) => search === prop)) {\n logger.warn(`${prop} already registered`, { prop });\n return false;\n }\n if (prop.startsWith(\"<\") || prop.split(\":\").length !== 2) {\n logger.error(`${prop} is not valid. See example: 'oc:fileid'`, { prop });\n return false;\n }\n const ns = prop.split(\":\")[0];\n if (!namespaces[ns]) {\n logger.error(`${prop} namespace unknown`, { prop, namespaces });\n return false;\n }\n window._nc_dav_properties.push(prop);\n window._nc_dav_namespaces = namespaces;\n return true;\n};\nconst getDavProperties = function() {\n if (typeof window._nc_dav_properties === \"undefined\") {\n window._nc_dav_properties = [...defaultDavProperties];\n }\n return window._nc_dav_properties.map((prop) => `<${prop} />`).join(\" \");\n};\nconst getDavNameSpaces = function() {\n if (typeof window._nc_dav_namespaces === \"undefined\") {\n window._nc_dav_namespaces = { ...defaultDavNamespaces };\n }\n return Object.keys(window._nc_dav_namespaces).map((ns) => `xmlns:${ns}=\"${window._nc_dav_namespaces?.[ns]}\"`).join(\" \");\n};\nconst davGetDefaultPropfind = function() {\n return `<?xml version=\"1.0\"?>\n\t\t<d:propfind ${getDavNameSpaces()}>\n\t\t\t<d:prop>\n\t\t\t\t${getDavProperties()}\n\t\t\t</d:prop>\n\t\t</d:propfind>`;\n};\nconst davGetFavoritesReport = function() {\n return `<?xml version=\"1.0\"?>\n\t\t<oc:filter-files ${getDavNameSpaces()}>\n\t\t\t<d:prop>\n\t\t\t\t${getDavProperties()}\n\t\t\t</d:prop>\n\t\t\t<oc:filter-rules>\n\t\t\t\t<oc:favorite>1</oc:favorite>\n\t\t\t</oc:filter-rules>\n\t\t</oc:filter-files>`;\n};\nconst davGetRecentSearch = function(lastModified) {\n return `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<d:searchrequest ${getDavNameSpaces()}\n\txmlns:ns=\"https://github.com/icewind1991/SearchDAV/ns\">\n\t<d:basicsearch>\n\t\t<d:select>\n\t\t\t<d:prop>\n\t\t\t\t${getDavProperties()}\n\t\t\t</d:prop>\n\t\t</d:select>\n\t\t<d:from>\n\t\t\t<d:scope>\n\t\t\t\t<d:href>/files/${getCurrentUser()?.uid}/</d:href>\n\t\t\t\t<d:depth>infinity</d:depth>\n\t\t\t</d:scope>\n\t\t</d:from>\n\t\t<d:where>\n\t\t\t<d:and>\n\t\t\t\t<d:or>\n\t\t\t\t\t<d:not>\n\t\t\t\t\t\t<d:eq>\n\t\t\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t\t\t<d:getcontenttype/>\n\t\t\t\t\t\t\t</d:prop>\n\t\t\t\t\t\t\t<d:literal>httpd/unix-directory</d:literal>\n\t\t\t\t\t\t</d:eq>\n\t\t\t\t\t</d:not>\n\t\t\t\t\t<d:eq>\n\t\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t\t<oc:size/>\n\t\t\t\t\t\t</d:prop>\n\t\t\t\t\t\t<d:literal>0</d:literal>\n\t\t\t\t\t</d:eq>\n\t\t\t\t</d:or>\n\t\t\t\t<d:gt>\n\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t<d:getlastmodified/>\n\t\t\t\t\t</d:prop>\n\t\t\t\t\t<d:literal>${lastModified}</d:literal>\n\t\t\t\t</d:gt>\n\t\t\t</d:and>\n\t\t</d:where>\n\t\t<d:orderby>\n\t\t\t<d:order>\n\t\t\t\t<d:prop>\n\t\t\t\t\t<d:getlastmodified/>\n\t\t\t\t</d:prop>\n\t\t\t\t<d:descending/>\n\t\t\t</d:order>\n\t\t</d:orderby>\n\t\t<d:limit>\n\t\t\t<d:nresults>100</d:nresults>\n\t\t\t<ns:firstresult>0</ns:firstresult>\n\t\t</d:limit>\n\t</d:basicsearch>\n</d:searchrequest>`;\n};\nconst davParsePermissions = function(permString = \"\") {\n let permissions = Permission.NONE;\n if (!permString) {\n return permissions;\n }\n if (permString.includes(\"C\") || permString.includes(\"K\")) {\n permissions |= Permission.CREATE;\n }\n if (permString.includes(\"G\")) {\n permissions |= Permission.READ;\n }\n if (permString.includes(\"W\") || permString.includes(\"N\") || permString.includes(\"V\")) {\n permissions |= Permission.UPDATE;\n }\n if (permString.includes(\"D\")) {\n permissions |= Permission.DELETE;\n }\n if (permString.includes(\"R\")) {\n permissions |= Permission.SHARE;\n }\n return permissions;\n};\nvar FileType = /* @__PURE__ */ ((FileType2) => {\n FileType2[\"Folder\"] = \"folder\";\n FileType2[\"File\"] = \"file\";\n return FileType2;\n})(FileType || {});\nconst isDavRessource = function(source, davService) {\n return source.match(davService) !== null;\n};\nconst validateData = (data, davService) => {\n if (data.id && typeof data.id !== \"number\") {\n throw new Error(\"Invalid id type of value\");\n }\n if (!data.source) {\n throw new Error(\"Missing mandatory source\");\n }\n try {\n new URL(data.source);\n } catch (e) {\n throw new Error(\"Invalid source format, source must be a valid URL\");\n }\n if (!data.source.startsWith(\"http\")) {\n throw new Error(\"Invalid source format, only http(s) is supported\");\n }\n if (data.displayname && typeof data.displayname !== \"string\") {\n throw new Error(\"Invalid displayname type\");\n }\n if (data.mtime && !(data.mtime instanceof Date)) {\n throw new Error(\"Invalid mtime type\");\n }\n if (data.crtime && !(data.crtime instanceof Date)) {\n throw new Error(\"Invalid crtime type\");\n }\n if (!data.mime || typeof data.mime !== \"string\" || !data.mime.match(/^[-\\w.]+\\/[-+\\w.]+$/gi)) {\n throw new Error(\"Missing or invalid mandatory mime\");\n }\n if (\"size\" in data && typeof data.size !== \"number\" && data.size !== void 0) {\n throw new Error(\"Invalid size type\");\n }\n if (\"permissions\" in data && data.permissions !== void 0 && !(typeof data.permissions === \"number\" && data.permissions >= Permission.NONE && data.permissions <= Permission.ALL)) {\n throw new Error(\"Invalid permissions\");\n }\n if (data.owner && data.owner !== null && typeof data.owner !== \"string\") {\n throw new Error(\"Invalid owner type\");\n }\n if (data.attributes && typeof data.attributes !== \"object\") {\n throw new Error(\"Invalid attributes type\");\n }\n if (data.root && typeof data.root !== \"string\") {\n throw new Error(\"Invalid root type\");\n }\n if (data.root && !data.root.startsWith(\"/\")) {\n throw new Error(\"Root must start with a leading slash\");\n }\n if (data.root && !data.source.includes(data.root)) {\n throw new Error(\"Root must be part of the source\");\n }\n if (data.root && isDavRessource(data.source, davService)) {\n const service = data.source.match(davService)[0];\n if (!data.source.includes(join(service, data.root))) {\n throw new Error(\"The root must be relative to the service. e.g /files/emma\");\n }\n }\n if (data.status && !Object.values(NodeStatus).includes(data.status)) {\n throw new Error(\"Status must be a valid NodeStatus\");\n }\n};\nvar NodeStatus = /* @__PURE__ */ ((NodeStatus2) => {\n NodeStatus2[\"NEW\"] = \"new\";\n NodeStatus2[\"FAILED\"] = \"failed\";\n NodeStatus2[\"LOADING\"] = \"loading\";\n NodeStatus2[\"LOCKED\"] = \"locked\";\n return NodeStatus2;\n})(NodeStatus || {});\nclass Node {\n _data;\n _attributes;\n _knownDavService = /(remote|public)\\.php\\/(web)?dav/i;\n readonlyAttributes = Object.entries(Object.getOwnPropertyDescriptors(Node.prototype)).filter((e) => typeof e[1].get === \"function\" && e[0] !== \"__proto__\").map((e) => e[0]);\n handler = {\n set: (target, prop, value) => {\n if (this.readonlyAttributes.includes(prop)) {\n return false;\n }\n return Reflect.set(target, prop, value);\n },\n deleteProperty: (target, prop) => {\n if (this.readonlyAttributes.includes(prop)) {\n return false;\n }\n return Reflect.deleteProperty(target, prop);\n },\n // TODO: This is deprecated and only needed for files v3\n get: (target, prop, receiver) => {\n if (this.readonlyAttributes.includes(prop)) {\n logger.warn(`Accessing \"Node.attributes.${prop}\" is deprecated, access it directly on the Node instance.`);\n return Reflect.get(this, prop);\n }\n return Reflect.get(target, prop, receiver);\n }\n };\n constructor(data, davService) {\n validateData(data, davService || this._knownDavService);\n this._data = {\n // TODO: Remove with next major release, this is just for compatibility\n displayname: data.attributes?.displayname,\n ...data,\n attributes: {}\n };\n this._attributes = new Proxy(this._data.attributes, this.handler);\n this.update(data.attributes ?? {});\n if (davService) {\n this._knownDavService = davService;\n }\n }\n /**\n * Get the source url to this object\n * There is no setter as the source is not meant to be changed manually.\n * You can use the rename or move method to change the source.\n */\n get source() {\n return this._data.source.replace(/\\/$/i, \"\");\n }\n /**\n * Get the encoded source url to this object for requests purposes\n */\n get encodedSource() {\n const { origin } = new URL(this.source);\n return origin + encodePath(this.source.slice(origin.length));\n }\n /**\n * Get this object name\n * There is no setter as the source is not meant to be changed manually.\n * You can use the rename or move method to change the source.\n */\n get basename() {\n return basename(this.source);\n }\n /**\n * The nodes displayname\n * By default the display name and the `basename` are identical,\n * but it is possible to have a different name. This happens\n * on the files app for example for shared folders.\n */\n get displayname() {\n return this._data.displayname || this.basename;\n }\n /**\n * Set the displayname\n */\n set displayname(displayname) {\n this._data.displayname = displayname;\n }\n /**\n * Get this object's extension\n * There is no setter as the source is not meant to be changed manually.\n * You can use the rename or move method to change the source.\n */\n get extension() {\n return extname(this.source);\n }\n /**\n * Get the directory path leading to this object\n * Will use the relative path to root if available\n *\n * There is no setter as the source is not meant to be changed manually.\n * You can use the rename or move method to change the source.\n */\n get dirname() {\n if (this.root) {\n let source = this.source;\n if (this.isDavRessource) {\n source = source.split(this._knownDavService).pop();\n }\n const firstMatch = source.indexOf(this.root);\n const root = this.root.replace(/\\/$/, \"\");\n return dirname(source.slice(firstMatch + root.length) || \"/\");\n }\n const url = new URL(this.source);\n return dirname(url.pathname);\n }\n /**\n * Get the file mime\n * There is no setter as the mime is not meant to be changed\n */\n get mime() {\n return this._data.mime;\n }\n /**\n * Get the file modification time\n */\n get mtime() {\n return this._data.mtime;\n }\n /**\n * Set the file modification time\n */\n set mtime(mtime) {\n this._data.mtime = mtime;\n }\n /**\n * Get the file creation time\n * There is no setter as the creation time is not meant to be changed\n */\n get crtime() {\n return this._data.crtime;\n }\n /**\n * Get the file size\n */\n get size() {\n return this._data.size;\n }\n /**\n * Set the file size\n */\n set size(size) {\n this.updateMtime();\n this._data.size = size;\n }\n /**\n * Get the file attribute\n * This contains all additional attributes not provided by the Node class\n */\n get attributes() {\n return this._attributes;\n }\n /**\n * Get the file permissions\n */\n get permissions() {\n if (this.owner === null && !this.isDavRessource) {\n return Permission.READ;\n }\n return this._data.permissions !== void 0 ? this._data.permissions : Permission.NONE;\n }\n /**\n * Set the file permissions\n */\n set permissions(permissions) {\n this.updateMtime();\n this._data.permissions = permissions;\n }\n /**\n * Get the file owner\n * There is no setter as the owner is not meant to be changed\n */\n get owner() {\n if (!this.isDavRessource) {\n return null;\n }\n return this._data.owner;\n }\n /**\n * Is this a dav-related ressource ?\n */\n get isDavRessource() {\n return isDavRessource(this.source, this._knownDavService);\n }\n /**\n * Get the dav root of this object\n * There is no setter as the root is not meant to be changed\n */\n get root() {\n if (this._data.root) {\n return this._data.root.replace(/^(.+)\\/$/, \"$1\");\n }\n if (this.isDavRessource) {\n const root = dirname(this.source);\n return root.split(this._knownDavService).pop() || null;\n }\n return null;\n }\n /**\n * Get the absolute path of this object relative to the root\n */\n get path() {\n if (this.root) {\n let source = this.source;\n if (this.isDavRessource) {\n source = source.split(this._knownDavService).pop();\n }\n const firstMatch = source.indexOf(this.root);\n const root = this.root.replace(/\\/$/, \"\");\n return source.slice(firstMatch + root.length) || \"/\";\n }\n return (this.dirname + \"/\" + this.basename).replace(/\\/\\//g, \"/\");\n }\n /**\n * Get the node id if defined.\n * There is no setter as the fileid is not meant to be changed\n */\n get fileid() {\n return this._data?.id;\n }\n /**\n * Get the node status.\n */\n get status() {\n return this._data?.status;\n }\n /**\n * Set the node status.\n */\n set status(status) {\n this._data.status = status;\n }\n /**\n * Move the node to a new destination\n *\n * @param {string} destination the new source.\n * e.g. https://cloud.domain.com/remote.php/dav/files/emma/Photos/picture.jpg\n */\n move(destination) {\n validateData({ ...this._data, source: destination }, this._knownDavService);\n const oldBasename = this.basename;\n this._data.source = destination;\n if (this.displayname === oldBasename && this.basename !== oldBasename) {\n this.displayname = this.basename;\n }\n this.updateMtime();\n }\n /**\n * Rename the node\n * This aliases the move method for easier usage\n *\n * @param basename The new name of the node\n */\n rename(basename2) {\n if (basename2.includes(\"/\")) {\n throw new Error(\"Invalid basename\");\n }\n this.move(dirname(this.source) + \"/\" + basename2);\n }\n /**\n * Update the mtime if exists\n */\n updateMtime() {\n if (this._data.mtime) {\n this._data.mtime = /* @__PURE__ */ new Date();\n }\n }\n /**\n * Update the attributes of the node\n * Warning, updating attributes will NOT automatically update the mtime.\n *\n * @param attributes The new attributes to update on the Node attributes\n */\n update(attributes) {\n for (const [name, value] of Object.entries(attributes)) {\n try {\n if (value === void 0) {\n delete this.attributes[name];\n } else {\n this.attributes[name] = value;\n }\n } catch (e) {\n if (e instanceof TypeError) {\n continue;\n }\n throw e;\n }\n }\n }\n}\nclass File extends Node {\n get type() {\n return FileType.File;\n }\n}\nclass Folder extends Node {\n constructor(data) {\n super({\n ...data,\n mime: \"httpd/unix-directory\"\n });\n }\n get type() {\n return FileType.Folder;\n }\n get extension() {\n return null;\n }\n get mime() {\n return \"httpd/unix-directory\";\n }\n}\nfunction davGetRootPath() {\n if (isPublicShare()) {\n return `/files/${getSharingToken()}`;\n }\n return `/files/${getCurrentUser()?.uid}`;\n}\nconst davRootPath = davGetRootPath();\nfunction davGetRemoteURL() {\n const url = generateRemoteUrl(\"dav\");\n if (isPublicShare()) {\n return url.replace(\"remote.php\", \"public.php\");\n }\n return url;\n}\nconst davRemoteURL = davGetRemoteURL();\nconst davGetClient = function(remoteURL = davRemoteURL, headers = {}) {\n const client = createClient(remoteURL, { headers });\n function setHeaders(token) {\n client.setHeaders({\n ...headers,\n // Add this so the server knows it is an request from the browser\n \"X-Requested-With\": \"XMLHttpRequest\",\n // Inject user auth\n requesttoken: token ?? \"\"\n });\n }\n onRequestTokenUpdate(setHeaders);\n setHeaders(getRequestToken());\n const patcher = getPatcher();\n patcher.patch(\"fetch\", (url, options) => {\n const headers2 = options.headers;\n if (headers2?.method) {\n options.method = headers2.method;\n delete headers2.method;\n }\n return fetch(url, options);\n });\n return client;\n};\nconst getFavoriteNodes = (davClient, path = \"/\", davRoot = davRootPath) => {\n const controller = new AbortController();\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n onCancel(() => controller.abort());\n try {\n const contentsResponse = await davClient.getDirectoryContents(`${davRoot}${path}`, {\n signal: controller.signal,\n details: true,\n data: davGetFavoritesReport(),\n headers: {\n // see davGetClient for patched webdav client\n method: \"REPORT\"\n },\n includeSelf: true\n });\n const nodes = contentsResponse.data.filter((node) => node.filename !== path).map((result) => davResultToNode(result, davRoot));\n resolve(nodes);\n } catch (error) {\n reject(error);\n }\n });\n};\nconst davResultToNode = function(node, filesRoot = davRootPath, remoteURL = davRemoteURL) {\n let userId = getCurrentUser()?.uid;\n if (isPublicShare()) {\n userId = userId ?? \"anonymous\";\n } else if (!userId) {\n throw new Error(\"No user id found\");\n }\n const props = node.props;\n const permissions = davParsePermissions(props?.permissions);\n const owner = String(props?.[\"owner-id\"] || userId);\n const id = props.fileid || 0;\n const nodeData = {\n id,\n source: `${remoteURL}${node.filename}`,\n mtime: new Date(Date.parse(node.lastmod)),\n mime: node.mime || \"application/octet-stream\",\n // Manually cast to work around for https://github.com/perry-mitchell/webdav-client/pull/380\n displayname: props.displayname !== void 0 ? String(props.displayname) : void 0,\n size: props?.size || Number.parseInt(props.getcontentlength || \"0\"),\n // The fileid is set to -1 for failed requests\n status: id < 0 ? NodeStatus.FAILED : void 0,\n permissions,\n owner,\n root: filesRoot,\n attributes: {\n ...node,\n ...props,\n hasPreview: props?.[\"has-preview\"]\n }\n };\n delete nodeData.attributes?.props;\n return node.type === \"file\" ? new File(nodeData) : new Folder(nodeData);\n};\nvar InvalidFilenameErrorReason = /* @__PURE__ */ ((InvalidFilenameErrorReason2) => {\n InvalidFilenameErrorReason2[\"ReservedName\"] = \"reserved name\";\n InvalidFilenameErrorReason2[\"Character\"] = \"character\";\n InvalidFilenameErrorReason2[\"Extension\"] = \"extension\";\n return InvalidFilenameErrorReason2;\n})(InvalidFilenameErrorReason || {});\nclass InvalidFilenameError extends Error {\n constructor(options) {\n super(`Invalid ${options.reason} '${options.segment}' in filename '${options.filename}'`, { cause: options });\n }\n /**\n * The filename that was validated\n */\n get filename() {\n return this.cause.filename;\n }\n /**\n * Reason why the validation failed\n */\n get reason() {\n return this.cause.reason;\n }\n /**\n * Part of the filename that caused this error\n */\n get segment() {\n return this.cause.segment;\n }\n}\nfunction validateFilename(filename) {\n const capabilities = getCapabilities().files;\n const forbiddenCharacters = capabilities.forbidden_filename_characters ?? window._oc_config?.forbidden_filenames_characters ?? [\"/\", \"\\\\\"];\n for (const character of forbiddenCharacters) {\n if (filename.includes(character)) {\n throw new InvalidFilenameError({ segment: character, reason: \"character\", filename });\n }\n }\n filename = filename.toLocaleLowerCase();\n const forbiddenFilenames = capabilities.forbidden_filenames ?? [\".htaccess\"];\n if (forbiddenFilenames.includes(filename)) {\n throw new InvalidFilenameError({\n filename,\n segment: filename,\n reason: \"reserved name\"\n /* ReservedName */\n });\n }\n const endOfBasename = filename.indexOf(\".\", 1);\n const basename2 = filename.substring(0, endOfBasename === -1 ? void 0 : endOfBasename);\n const forbiddenFilenameBasenames = capabilities.forbidden_filename_basenames ?? [];\n if (forbiddenFilenameBasenames.includes(basename2)) {\n throw new InvalidFilenameError({\n filename,\n segment: basename2,\n reason: \"reserved name\"\n /* ReservedName */\n });\n }\n const forbiddenFilenameExtensions = capabilities.forbidden_filename_extensions ?? [\".part\", \".filepart\"];\n for (const extension of forbiddenFilenameExtensions) {\n if (filename.length > extension.length && filename.endsWith(extension)) {\n throw new InvalidFilenameError({ segment: extension, reason: \"extension\", filename });\n }\n }\n}\nfunction isFilenameValid(filename) {\n try {\n validateFilename(filename);\n return true;\n } catch (error) {\n if (error instanceof InvalidFilenameError) {\n return false;\n }\n throw error;\n }\n}\nfunction getUniqueName(name, otherNames, options) {\n const opts = {\n suffix: (n) => `(${n})`,\n ignoreFileExtension: false,\n ...options\n };\n let newName = name;\n let i = 1;\n while (otherNames.includes(newName)) {\n const ext = opts.ignoreFileExtension ? \"\" : extname(name);\n const base = basename(name, ext);\n newName = `${base} ${opts.suffix(i++)}${ext}`;\n }\n return newName;\n}\nconst humanList = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"];\nconst humanListBinary = [\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\"];\nfunction formatFileSize(size, skipSmallSizes = false, binaryPrefixes = false, base1000 = false) {\n binaryPrefixes = binaryPrefixes && !base1000;\n if (typeof size === \"string\") {\n size = Number(size);\n }\n let order = size > 0 ? Math.floor(Math.log(size) / Math.log(base1000 ? 1e3 : 1024)) : 0;\n order = Math.min((binaryPrefixes ? humanListBinary.length : humanList.length) - 1, order);\n const readableFormat = binaryPrefixes ? humanListBinary[order] : humanList[order];\n let relativeSize = (size / Math.pow(base1000 ? 1e3 : 1024, order)).toFixed(1);\n if (skipSmallSizes === true && order === 0) {\n return (relativeSize !== \"0.0\" ? \"< 1 \" : \"0 \") + (binaryPrefixes ? humanListBinary[1] : humanList[1]);\n }\n if (order < 2) {\n relativeSize = parseFloat(relativeSize).toFixed(0);\n } else {\n relativeSize = parseFloat(relativeSize).toLocaleString(getCanonicalLocale());\n }\n return relativeSize + \" \" + readableFormat;\n}\nfunction parseFileSize(value, forceBinary = false) {\n try {\n value = `${value}`.toLocaleLowerCase().replaceAll(/\\s+/g, \"\").replaceAll(\",\", \".\");\n } catch (e) {\n return null;\n }\n const match = value.match(/^([0-9]*(\\.[0-9]*)?)([kmgtp]?)(i?)b?$/);\n if (match === null || match[1] === \".\" || match[1] === \"\") {\n return null;\n }\n const bytesArray = {\n \"\": 0,\n k: 1,\n m: 2,\n g: 3,\n t: 4,\n p: 5,\n e: 6\n };\n const decimalString = `${match[1]}`;\n const base = match[4] === \"i\" || forceBinary ? 1024 : 1e3;\n return Math.round(Number.parseFloat(decimalString) * base ** bytesArray[match[3]]);\n}\nfunction stringify(value) {\n if (value instanceof Date) {\n return value.toISOString();\n }\n return String(value);\n}\nfunction orderBy(collection, identifiers2, orders) {\n identifiers2 = identifiers2 ?? [(value) => value];\n orders = orders ?? [];\n const sorting = identifiers2.map((_, index) => (orders[index] ?? \"asc\") === \"asc\" ? 1 : -1);\n const collator = Intl.Collator(\n [getLanguage(), getCanonicalLocale()],\n {\n // handle 10 as ten and not as one-zero\n numeric: true,\n usage: \"sort\"\n }\n );\n return [...collection].sort((a, b) => {\n for (const [index, identifier] of identifiers2.entries()) {\n const value = collator.compare(stringify(identifier(a)), stringify(identifier(b)));\n if (value !== 0) {\n return value * sorting[index];\n }\n }\n return 0;\n });\n}\nvar FilesSortingMode = /* @__PURE__ */ ((FilesSortingMode2) => {\n FilesSortingMode2[\"Name\"] = \"basename\";\n FilesSortingMode2[\"Modified\"] = \"mtime\";\n FilesSortingMode2[\"Size\"] = \"size\";\n return FilesSortingMode2;\n})(FilesSortingMode || {});\nfunction sortNodes(nodes, options = {}) {\n const sortingOptions = {\n // Default to sort by name\n sortingMode: \"basename\",\n // Default to sort ascending\n sortingOrder: \"asc\",\n ...options\n };\n const basename2 = (name) => name.lastIndexOf(\".\") > 0 ? name.slice(0, name.lastIndexOf(\".\")) : name;\n const identifiers2 = [\n // 1: Sort favorites first if enabled\n ...sortingOptions.sortFavoritesFirst ? [(v) => v.attributes?.favorite !== 1] : [],\n // 2: Sort folders first if sorting by name\n ...sortingOptions.sortFoldersFirst ? [(v) => v.type !== \"folder\"] : [],\n // 3: Use sorting mode if NOT basename (to be able to use display name too)\n ...sortingOptions.sortingMode !== \"basename\" ? [(v) => v[sortingOptions.sortingMode]] : [],\n // 4: Use display name if available, fallback to name\n (v) => basename2(v.attributes?.displayname || v.basename),\n // 5: Finally, use basename if all previous sorting methods failed\n (v) => v.basename\n ];\n const orders = [\n // (for 1): always sort favorites before normal files\n ...sortingOptions.sortFavoritesFirst ? [\"asc\"] : [],\n // (for 2): always sort folders before files\n ...sortingOptions.sortFoldersFirst ? [\"asc\"] : [],\n // (for 3): Reverse if sorting by mtime as mtime higher means edited more recent -> lower\n ...sortingOptions.sortingMode === \"mtime\" ? [sortingOptions.sortingOrder === \"asc\" ? \"desc\" : \"asc\"] : [],\n // (also for 3 so make sure not to conflict with 2 and 3)\n ...sortingOptions.sortingMode !== \"mtime\" && sortingOptions.sortingMode !== \"basename\" ? [sortingOptions.sortingOrder] : [],\n // for 4: use configured sorting direction\n sortingOptions.sortingOrder,\n // for 5: use configured sorting direction\n sortingOptions.sortingOrder\n ];\n return orderBy(nodes, identifiers2, orders);\n}\nclass Navigation extends TypedEventTarget {\n _views = [];\n _currentView = null;\n /**\n * Register a new view on the navigation\n * @param view The view to register\n * @throws `Error` is thrown if a view with the same id is already registered\n */\n register(view) {\n if (this._views.find((search) => search.id === view.id)) {\n throw new Error(`View id ${view.id} is already registered`);\n }\n this._views.push(view);\n this.dispatchTypedEvent(\"update\", new CustomEvent(\"update\"));\n }\n /**\n * Remove a registered view\n * @param id The id of the view to remove\n */\n remove(id) {\n const index = this._views.findIndex((view) => view.id === id);\n if (index !== -1) {\n this._views.splice(index, 1);\n this.dispatchTypedEvent(\"update\", new CustomEvent(\"update\"));\n }\n }\n /**\n * Set the currently active view\n * @fires UpdateActiveViewEvent\n * @param view New active view\n */\n setActive(view) {\n this._currentView = view;\n const event = new CustomEvent(\"updateActive\", { detail: view });\n this.dispatchTypedEvent(\"updateActive\", event);\n }\n /**\n * The currently active files view\n */\n get active() {\n return this._currentView;\n }\n /**\n * All registered views\n */\n get views() {\n return this._views;\n }\n}\nconst getNavigation = function() {\n if (typeof window._nc_navigation === \"undefined\") {\n window._nc_navigation = new Navigation();\n logger.debug(\"Navigation service initialized\");\n }\n return window._nc_navigation;\n};\nclass Column {\n _column;\n constructor(column) {\n isValidColumn(column);\n this._column = column;\n }\n get id() {\n return this._column.id;\n }\n get title() {\n return this._column.title;\n }\n get render() {\n return this._column.render;\n }\n get sort() {\n return this._column.sort;\n }\n get summary() {\n return this._column.summary;\n }\n}\nconst isValidColumn = function(column) {\n if (!column.id || typeof column.id !== \"string\") {\n throw new Error(\"A column id is required\");\n }\n if (!column.title || typeof column.title !== \"string\") {\n throw new Error(\"A column title is required\");\n }\n if (!column.render || typeof column.render !== \"function\") {\n throw new Error(\"A render function is required\");\n }\n if (column.sort && typeof column.sort !== \"function\") {\n throw new Error(\"Column sortFunction must be a function\");\n }\n if (column.summary && typeof column.summary !== \"function\") {\n throw new Error(\"Column summary must be a function\");\n }\n return true;\n};\nfunction getDefaultExportFromCjs(x) {\n return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, \"default\") ? x[\"default\"] : x;\n}\nvar validator$2 = {};\nvar util$3 = {};\n(function(exports) {\n const nameStartChar = \":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\";\n const nameChar = nameStartChar + \"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\";\n const nameRegexp = \"[\" + nameStartChar + \"][\" + nameChar + \"]*\";\n const regexName = new RegExp(\"^\" + nameRegexp + \"$\");\n const getAllMatches = function(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n allmatches.startIndex = regex.lastIndex - match[0].length;\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n };\n const isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === \"undefined\");\n };\n exports.isExist = function(v) {\n return typeof v !== \"undefined\";\n };\n exports.isEmptyObject = function(obj) {\n return Object.keys(obj).length === 0;\n };\n exports.merge = function(target, a, arrayMode) {\n if (a) {\n const keys = Object.keys(a);\n const len = keys.length;\n for (let i = 0; i < len; i++) {\n if (arrayMode === \"strict\") {\n target[keys[i]] = [a[keys[i]]];\n } else {\n target[keys[i]] = a[keys[i]];\n }\n }\n }\n };\n exports.getValue = function(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return \"\";\n }\n };\n exports.isName = isName;\n exports.getAllMatches = getAllMatches;\n exports.nameRegexp = nameRegexp;\n})(util$3);\nconst util$2 = util$3;\nconst defaultOptions$2 = {\n allowBooleanAttributes: false,\n //A tag can have attributes without any value\n unpairedTags: []\n};\nvalidator$2.validate = function(xmlData, options) {\n options = Object.assign({}, defaultOptions$2, options);\n const tags = [];\n let tagFound = false;\n let reachedRoot = false;\n if (xmlData[0] === \"\\uFEFF\") {\n xmlData = xmlData.substr(1);\n }\n for (let i = 0; i < xmlData.length; i++) {\n if (xmlData[i] === \"<\" && xmlData[i + 1] === \"?\") {\n i += 2;\n i = readPI(xmlData, i);\n if (i.err) return i;\n } else if (xmlData[i] === \"<\") {\n let tagStartPos = i;\n i++;\n if (xmlData[i] === \"!\") {\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i] === \"/\") {\n closingTag = true;\n i++;\n }\n let tagName = \"\";\n for (; i < xmlData.length && xmlData[i] !== \">\" && xmlData[i] !== \" \" && xmlData[i] !== \"\t\" && xmlData[i] !== \"\\n\" && xmlData[i] !== \"\\r\"; i++) {\n tagName += xmlData[i];\n }\n tagName = tagName.trim();\n if (tagName[tagName.length - 1] === \"/\") {\n tagName = tagName.substring(0, tagName.length - 1);\n i--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"Invalid space after '<'.\";\n } else {\n msg = \"Tag '\" + tagName + \"' is an invalid name.\";\n }\n return getErrorObject(\"InvalidTag\", msg, getLineNumberForPosition(xmlData, i));\n }\n const result = readAttributeStr(xmlData, i);\n if (result === false) {\n return getErrorObject(\"InvalidAttr\", \"Attributes for '\" + tagName + \"' have open quote.\", getLineNumberForPosition(xmlData, i));\n }\n let attrStr = result.value;\n i = result.index;\n if (attrStr[attrStr.length - 1] === \"/\") {\n const attrStrStart = i - attrStr.length;\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n } else {\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else if (tags.length === 0) {\n return getErrorObject(\"InvalidTag\", \"Closing tag '\" + tagName + \"' has not been opened.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else {\n const otg = tags.pop();\n if (tagName !== otg.tagName) {\n let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n return getErrorObject(\n \"InvalidTag\",\n \"Expected closing tag '\" + otg.tagName + \"' (opened in line \" + openPos.line + \", col \" + openPos.col + \") instead of closing tag '\" + tagName + \"'.\",\n getLineNumberForPosition(xmlData, tagStartPos)\n );\n }\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n }\n if (reachedRoot === true) {\n return getErrorObject(\"InvalidXml\", \"Multiple possible root nodes found.\", getLineNumberForPosition(xmlData, i));\n } else if (options.unpairedTags.indexOf(tagName) !== -1) ;\n else {\n tags.push({ tagName, tagStartPos });\n }\n tagFound = true;\n }\n for (i++; i < xmlData.length; i++) {\n if (xmlData[i] === \"<\") {\n if (xmlData[i + 1] === \"!\") {\n i++;\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else if (xmlData[i + 1] === \"?\") {\n i = readPI(xmlData, ++i);\n if (i.err) return i;\n } else {\n break;\n }\n } else if (xmlData[i] === \"&\") {\n const afterAmp = validateAmpersand(xmlData, i);\n if (afterAmp == -1)\n return getErrorObject(\"InvalidChar\", \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i));\n i = afterAmp;\n } else {\n if (reachedRoot === true && !isWhiteSpace(xmlData[i])) {\n return getErrorObject(\"InvalidXml\", \"Extra text at the end\", getLineNumberForPosition(xmlData, i));\n }\n }\n }\n if (xmlData[i] === \"<\") {\n i--;\n }\n }\n } else {\n if (isWhiteSpace(xmlData[i])) {\n continue;\n }\n return getErrorObject(\"InvalidChar\", \"char '\" + xmlData[i] + \"' is not expected.\", getLineNumberForPosition(xmlData, i));\n }\n }\n if (!tagFound) {\n return getErrorObject(\"InvalidXml\", \"Start tag expected.\", 1);\n } else if (tags.length == 1) {\n return getErrorObject(\"InvalidTag\", \"Unclosed tag '\" + tags[0].tagName + \"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n } else if (tags.length > 0) {\n return getErrorObject(\"InvalidXml\", \"Invalid '\" + JSON.stringify(tags.map((t2) => t2.tagName), null, 4).replace(/\\r?\\n/g, \"\") + \"' found.\", { line: 1, col: 1 });\n }\n return true;\n};\nfunction isWhiteSpace(char) {\n return char === \" \" || char === \"\t\" || char === \"\\n\" || char === \"\\r\";\n}\nfunction readPI(xmlData, i) {\n const start = i;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] == \"?\" || xmlData[i] == \" \") {\n const tagname = xmlData.substr(start, i - start);\n if (i > 5 && tagname === \"xml\") {\n return getErrorObject(\"InvalidXml\", \"XML declaration allowed only at the start of the document.\", getLineNumberForPosition(xmlData, i));\n } else if (xmlData[i] == \"?\" && xmlData[i + 1] == \">\") {\n i++;\n break;\n } else {\n continue;\n }\n }\n }\n return i;\n}\nfunction readCommentAndCDATA(xmlData, i) {\n if (xmlData.length > i + 5 && xmlData[i + 1] === \"-\" && xmlData[i + 2] === \"-\") {\n for (i += 3; i < xmlData.length; i++) {\n if (xmlData[i] === \"-\" && xmlData[i + 1] === \"-\" && xmlData[i + 2] === \">\") {\n i += 2;\n break;\n }\n }\n } else if (xmlData.length > i + 8 && xmlData[i + 1] === \"D\" && xmlData[i + 2] === \"O\" && xmlData[i + 3] === \"C\" && xmlData[i + 4] === \"T\" && xmlData[i + 5] === \"Y\" && xmlData[i + 6] === \"P\" && xmlData[i + 7] === \"E\") {\n let angleBracketsCount = 1;\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === \"<\") {\n angleBracketsCount++;\n } else if (xmlData[i] === \">\") {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (xmlData.length > i + 9 && xmlData[i + 1] === \"[\" && xmlData[i + 2] === \"C\" && xmlData[i + 3] === \"D\" && xmlData[i + 4] === \"A\" && xmlData[i + 5] === \"T\" && xmlData[i + 6] === \"A\" && xmlData[i + 7] === \"[\") {\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === \"]\" && xmlData[i + 1] === \"]\" && xmlData[i + 2] === \">\") {\n i += 2;\n break;\n }\n }\n }\n return i;\n}\nconst doubleQuote = '\"';\nconst singleQuote = \"'\";\nfunction readAttributeStr(xmlData, i) {\n let attrStr = \"\";\n let startChar = \"\";\n let tagClosed = false;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) {\n if (startChar === \"\") {\n startChar = xmlData[i];\n } else if (startChar !== xmlData[i]) ;\n else {\n startChar = \"\";\n }\n } else if (xmlData[i] === \">\") {\n if (startChar === \"\") {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i];\n }\n if (startChar !== \"\") {\n return false;\n }\n return {\n value: attrStr,\n index: i,\n tagClosed\n };\n}\nconst validAttrStrRegxp = new RegExp(`(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\"])(([\\\\s\\\\S])*?)\\\\5)?`, \"g\");\nfunction validateAttributeString(attrStr, options) {\n const matches = util$2.getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n for (let i = 0; i < matches.length; i++) {\n if (matches[i][1].length === 0) {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + matches[i][2] + \"' has no space in starting.\", getPositionFromMatch(matches[i]));\n } else if (matches[i][3] !== void 0 && matches[i][4] === void 0) {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + matches[i][2] + \"' is without value.\", getPositionFromMatch(matches[i]));\n } else if (matches[i][3] === void 0 && !options.allowBooleanAttributes) {\n return getErrorObject(\"InvalidAttr\", \"boolean attribute '\" + matches[i][2] + \"' is not allowed.\", getPositionFromMatch(matches[i]));\n }\n const attrName = matches[i][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + attrName + \"' is an invalid name.\", getPositionFromMatch(matches[i]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n attrNames[attrName] = 1;\n } else {\n return getErrorObject(\"InvalidAttr\", \"Attribute '\" + attrName + \"' is repeated.\", getPositionFromMatch(matches[i]));\n }\n }\n return true;\n}\nfunction validateNumberAmpersand(xmlData, i) {\n let re2 = /\\d/;\n if (xmlData[i] === \"x\") {\n i++;\n re2 = /[\\da-fA-F]/;\n }\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === \";\")\n return i;\n if (!xmlData[i].match(re2))\n break;\n }\n return -1;\n}\nfunction validateAmpersand(xmlData, i) {\n i++;\n if (xmlData[i] === \";\")\n return -1;\n if (xmlData[i] === \"#\") {\n i++;\n return validateNumberAmpersand(xmlData, i);\n }\n let count = 0;\n for (; i < xmlData.length; i++, count++) {\n if (xmlData[i].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i] === \";\")\n break;\n return -1;\n }\n return i;\n}\nfunction getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code,\n msg: message,\n line: lineNumber.line || lineNumber,\n col: lineNumber.col\n }\n };\n}\nfunction validateAttrName(attrName) {\n return util$2.isName(attrName);\n}\nfunction validateTagName(tagname) {\n return util$2.isName(tagname);\n}\nfunction getLineNumberForPosition(xmlData, index) {\n const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return {\n line: lines.length,\n // column number is last line's length + 1, because column numbering starts at 1:\n col: lines[lines.length - 1].length + 1\n };\n}\nfunction getPositionFromMatch(match) {\n return match.startIndex + match[1].length;\n}\nvar OptionsBuilder = {};\nconst defaultOptions$1 = {\n preserveOrder: false,\n attributeNamePrefix: \"@_\",\n attributesGroupName: false,\n textNodeName: \"#text\",\n ignoreAttributes: true,\n removeNSPrefix: false,\n // remove NS from tag name or attribute name if true\n allowBooleanAttributes: false,\n //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: true,\n parseAttributeValue: false,\n trimValues: true,\n //Trim string values of tag and attributes\n cdataPropName: false,\n numberParseOptions: {\n hex: true,\n leadingZeros: true,\n eNotation: true\n },\n tagValueProcessor: function(tagName, val2) {\n return val2;\n },\n attributeValueProcessor: function(attrName, val2) {\n return val2;\n },\n stopNodes: [],\n //nested tags will not be parsed even for errors\n alwaysCreateTextNode: false,\n isArray: () => false,\n commentPropName: false,\n unpairedTags: [],\n processEntities: true,\n htmlEntities: false,\n ignoreDeclaration: false,\n ignorePiTags: false,\n transformTagName: false,\n transformAttributeName: false,\n updateTag: function(tagName, jPath, attrs) {\n return tagName;\n }\n // skipEmptyListItem: false\n};\nconst buildOptions$1 = function(options) {\n return Object.assign({}, defaultOptions$1, options);\n};\nOptionsBuilder.buildOptions = buildOptions$1;\nOptionsBuilder.defaultOptions = defaultOptions$1;\nclass XmlNode {\n constructor(tagname) {\n this.tagname = tagname;\n this.child = [];\n this[\":@\"] = {};\n }\n add(key, val2) {\n if (key === \"__proto__\") key = \"#__proto__\";\n this.child.push({ [key]: val2 });\n }\n addChild(node) {\n if (node.tagname === \"__proto__\") node.tagname = \"#__proto__\";\n if (node[\":@\"] && Object.keys(node[\":@\"]).length > 0) {\n this.child.push({ [node.tagname]: node.child, [\":@\"]: node[\":@\"] });\n } else {\n this.child.push({ [node.tagname]: node.child });\n }\n }\n}\nvar xmlNode$1 = XmlNode;\nconst util$1 = util$3;\nfunction readDocType$1(xmlData, i) {\n const entities = {};\n if (xmlData[i + 3] === \"O\" && xmlData[i + 4] === \"C\" && xmlData[i + 5] === \"T\" && xmlData[i + 6] === \"Y\" && xmlData[i + 7] === \"P\" && xmlData[i + 8] === \"E\") {\n i = i + 9;\n let angleBracketsCount = 1;\n let hasBody = false, comment = false;\n let exp = \"\";\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === \"<\" && !comment) {\n if (hasBody && isEntity(xmlData, i)) {\n i += 7;\n [entityName, val, i] = readEntityExp(xmlData, i + 1);\n if (val.indexOf(\"&\") === -1)\n entities[validateEntityName(entityName)] = {\n regx: RegExp(`&${entityName};`, \"g\"),\n val\n };\n } else if (hasBody && isElement(xmlData, i)) i += 8;\n else if (hasBody && isAttlist(xmlData, i)) i += 8;\n else if (hasBody && isNotation(xmlData, i)) i += 9;\n else if (isComment) comment = true;\n else throw new Error(\"Invalid DOCTYPE\");\n angleBracketsCount++;\n exp = \"\";\n } else if (xmlData[i] === \">\") {\n if (comment) {\n if (xmlData[i - 1] === \"-\" && xmlData[i - 2] === \"-\") {\n comment = false;\n angleBracketsCount--;\n }\n } else {\n angleBracketsCount--;\n }\n if (angleBracketsCount === 0) {\n break;\n }\n } else if (xmlData[i] === \"[\") {\n hasBody = true;\n } else {\n exp += xmlData[i];\n }\n }\n if (angleBracketsCount !== 0) {\n throw new Error(`Unclosed DOCTYPE`);\n }\n } else {\n throw new Error(`Invalid Tag instead of DOCTYPE`);\n }\n return { entities, i };\n}\nfunction readEntityExp(xmlData, i) {\n let entityName2 = \"\";\n for (; i < xmlData.length && (xmlData[i] !== \"'\" && xmlData[i] !== '\"'); i++) {\n entityName2 += xmlData[i];\n }\n entityName2 = entityName2.trim();\n if (entityName2.indexOf(\" \") !== -1) throw new Error(\"External entites are not supported\");\n const startChar = xmlData[i++];\n let val2 = \"\";\n for (; i < xmlData.length && xmlData[i] !== startChar; i++) {\n val2 += xmlData[i];\n }\n return [entityName2, val2, i];\n}\nfunction isComment(xmlData, i) {\n if (xmlData[i + 1] === \"!\" && xmlData[i + 2] === \"-\" && xmlData[i + 3] === \"-\") return true;\n return false;\n}\nfunction isEntity(xmlData, i) {\n if (xmlData[i + 1] === \"!\" && xmlData[i + 2] === \"E\" && xmlData[i + 3] === \"N\" && xmlData[i + 4] === \"T\" && xmlData[i + 5] === \"I\" && xmlData[i + 6] === \"T\" && xmlData[i + 7] === \"Y\") return true;\n return false;\n}\nfunction isElement(xmlData, i) {\n if (xmlData[i + 1] === \"!\" && xmlData[i + 2] === \"E\" && xmlData[i + 3] === \"L\" && xmlData[i + 4] === \"E\" && xmlData[i + 5] === \"M\" && xmlData[i + 6] === \"E\" && xmlData[i + 7] === \"N\" && xmlData[i + 8] === \"T\") return true;\n return false;\n}\nfunction isAttlist(xmlData, i) {\n if (xmlData[i + 1] === \"!\" && xmlData[i + 2] === \"A\" && xmlData[i + 3] === \"T\" && xmlData[i + 4] === \"T\" && xmlData[i + 5] === \"L\" && xmlData[i + 6] === \"I\" && xmlData[i + 7] === \"S\" && xmlData[i + 8] === \"T\") return true;\n return false;\n}\nfunction isNotation(xmlData, i) {\n if (xmlData[i + 1] === \"!\" && xmlData[i + 2] === \"N\" && xmlData[i + 3] === \"O\" && xmlData[i + 4] === \"T\" && xmlData[i + 5] === \"A\" && xmlData[i + 6] === \"T\" && xmlData[i + 7] === \"I\" && xmlData[i + 8] === \"O\" && xmlData[i + 9] === \"N\") return true;\n return false;\n}\nfunction validateEntityName(name) {\n if (util$1.isName(name))\n return name;\n else\n throw new Error(`Invalid entity name ${name}`);\n}\nvar DocTypeReader = readDocType$1;\nconst hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\nconst numRegex = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\nif (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n}\nif (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n}\nconst consider = {\n hex: true,\n leadingZeros: true,\n decimalPoint: \".\",\n eNotation: true\n //skipLike: /regex/\n};\nfunction toNumber$1(str, options = {}) {\n options = Object.assign({}, consider, options);\n if (!str || typeof str !== \"string\") return str;\n let trimmedStr = str.trim();\n if (options.skipLike !== void 0 && options.skipLike.test(trimmedStr)) return str;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return Number.parseInt(trimmedStr, 16);\n } else {\n const match = numRegex.exec(trimmedStr);\n if (match) {\n const sign = match[1];\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]);\n const eNotation = match[4] || match[6];\n if (!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== \".\") return str;\n else if (!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== \".\") return str;\n else {\n const num = Number(trimmedStr);\n const numStr = \"\" + num;\n if (numStr.search(/[eE]/) !== -1) {\n if (options.eNotation) return num;\n else return str;\n } else if (eNotation) {\n if (options.eNotation) return num;\n else return str;\n } else if (trimmedStr.indexOf(\".\") !== -1) {\n if (numStr === \"0\" && numTrimmedByZeros === \"\") return num;\n else if (numStr === numTrimmedByZeros) return num;\n else if (sign && numStr === \"-\" + numTrimmedByZeros) return num;\n else return str;\n }\n if (leadingZeros) {\n if (numTrimmedByZeros === numStr) return num;\n else if (sign + numTrimmedByZeros === numStr) return num;\n else return str;\n }\n if (trimmedStr === numStr) return num;\n else if (trimmedStr === sign + numStr) return num;\n return str;\n }\n } else {\n return str;\n }\n }\n}\nfunction trimZeros(numStr) {\n if (numStr && numStr.indexOf(\".\") !== -1) {\n numStr = numStr.replace(/0+$/, \"\");\n if (numStr === \".\") numStr = \"0\";\n else if (numStr[0] === \".\") numStr = \"0\" + numStr;\n else if (numStr[numStr.length - 1] === \".\") numStr = numStr.substr(0, numStr.length - 1);\n return numStr;\n }\n return numStr;\n}\nvar strnum = toNumber$1;\nconst util = util$3;\nconst xmlNode = xmlNode$1;\nconst readDocType = DocTypeReader;\nconst toNumber = strnum;\nlet OrderedObjParser$1 = class OrderedObjParser {\n constructor(options) {\n this.options = options;\n this.currentNode = null;\n this.tagsNodeStack = [];\n this.docTypeEntities = {};\n this.lastEntities = {\n \"apos\": { regex: /&(apos|#39|#x27);/g, val: \"'\" },\n \"gt\": { regex: /&(gt|#62|#x3E);/g, val: \">\" },\n \"lt\": { regex: /&(lt|#60|#x3C);/g, val: \"<\" },\n \"quot\": { regex: /&(quot|#34|#x22);/g, val: '\"' }\n };\n this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: \"&\" };\n this.htmlEntities = {\n \"space\": { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n \"cent\": { regex: /&(cent|#162);/g, val: \"¢\" },\n \"pound\": { regex: /&(pound|#163);/g, val: \"£\" },\n \"yen\": { regex: /&(yen|#165);/g, val: \"¥\" },\n \"euro\": { regex: /&(euro|#8364);/g, val: \"€\" },\n \"copyright\": { regex: /&(copy|#169);/g, val: \"©\" },\n \"reg\": { regex: /&(reg|#174);/g, val: \"®\" },\n \"inr\": { regex: /&(inr|#8377);/g, val: \"₹\" },\n \"num_dec\": { regex: /&#([0-9]{1,7});/g, val: (_, str) => String.fromCharCode(Number.parseInt(str, 10)) },\n \"num_hex\": { regex: /&#x([0-9a-fA-F]{1,6});/g, val: (_, str) => String.fromCharCode(Number.parseInt(str, 16)) }\n };\n this.addExternalEntities = addExternalEntities;\n this.parseXml = parseXml;\n this.parseTextData = parseTextData;\n this.resolveNameSpace = resolveNameSpace;\n this.buildAttributesMap = buildAttributesMap;\n this.isItStopNode = isItStopNode;\n this.replaceEntitiesValue = replaceEntitiesValue$1;\n this.readStopNodeData = readStopNodeData;\n this.saveTextToParentTag = saveTextToParentTag;\n this.addChild = addChild;\n }\n};\nfunction addExternalEntities(externalEntities) {\n const entKeys = Object.keys(externalEntities);\n for (let i = 0; i < entKeys.length; i++) {\n const ent = entKeys[i];\n this.lastEntities[ent] = {\n regex: new RegExp(\"&\" + ent + \";\", \"g\"),\n val: externalEntities[ent]\n };\n }\n}\nfunction parseTextData(val2, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {\n if (val2 !== void 0) {\n if (this.options.trimValues && !dontTrim) {\n val2 = val2.trim();\n }\n if (val2.length > 0) {\n if (!escapeEntities) val2 = this.replaceEntitiesValue(val2);\n const newval = this.options.tagValueProcessor(tagName, val2, jPath, hasAttributes, isLeafNode);\n if (newval === null || newval === void 0) {\n return val2;\n } else if (typeof newval !== typeof val2 || newval !== val2) {\n return newval;\n } else if (this.options.trimValues) {\n return parseValue(val2, this.options.parseTagValue, this.options.numberParseOptions);\n } else {\n const trimmedVal = val2.trim();\n if (trimmedVal === val2) {\n return parseValue(val2, this.options.parseTagValue, this.options.numberParseOptions);\n } else {\n return val2;\n }\n }\n }\n }\n}\nfunction resolveNameSpace(tagname) {\n if (this.options.removeNSPrefix) {\n const tags = tagname.split(\":\");\n const prefix = tagname.charAt(0) === \"/\" ? \"/\" : \"\";\n if (tags[0] === \"xmlns\") {\n return \"\";\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n}\nconst attrsRegx = new RegExp(`([^\\\\s=]+)\\\\s*(=\\\\s*(['\"])([\\\\s\\\\S]*?)\\\\3)?`, \"gm\");\nfunction buildAttributesMap(attrStr, jPath, tagName) {\n if (!this.options.ignoreAttributes && typeof attrStr === \"string\") {\n const matches = util.getAllMatches(attrStr, attrsRegx);\n const len = matches.length;\n const attrs = {};\n for (let i = 0; i < len; i++) {\n const attrName = this.resolveNameSpace(matches[i][1]);\n let oldVal = matches[i][4];\n let aName = this.options.attributeNamePrefix + attrName;\n if (attrName.length) {\n if (this.options.transformAttributeName) {\n aName = this.options.transformAttributeName(aName);\n }\n if (aName === \"__proto__\") aName = \"#__proto__\";\n if (oldVal !== void 0) {\n if (this.options.trimValues) {\n oldVal = oldVal.trim();\n }\n oldVal = this.replaceEntitiesValue(oldVal);\n const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath);\n if (newVal === null || newVal === void 0) {\n attrs[aName] = oldVal;\n } else if (typeof newVal !== typeof oldVal || newVal !== oldVal) {\n attrs[aName] = newVal;\n } else {\n attrs[aName] = parseValue(\n oldVal,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n }\n } else if (this.options.allowBooleanAttributes) {\n attrs[aName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (this.options.attributesGroupName) {\n const attrCollection = {};\n attrCollection[this.options.attributesGroupName] = attrs;\n return attrCollection;\n }\n return attrs;\n }\n}\nconst parseXml = function(xmlData) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\");\n const xmlObj = new xmlNode(\"!xml\");\n let currentNode = xmlObj;\n let textData = \"\";\n let jPath = \"\";\n for (let i = 0; i < xmlData.length; i++) {\n const ch = xmlData[i];\n if (ch === \"<\") {\n if (xmlData[i + 1] === \"/\") {\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"Closing Tag is not closed.\");\n let tagName = xmlData.substring(i + 2, closeIndex).trim();\n if (this.options.removeNSPrefix) {\n const colonIndex = tagName.indexOf(\":\");\n if (colonIndex !== -1) {\n tagName = tagName.substr(colonIndex + 1);\n }\n }\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n if (currentNode) {\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n }\n const lastTagName = jPath.substring(jPath.lastIndexOf(\".\") + 1);\n if (tagName && this.options.unpairedTags.indexOf(tagName) !== -1) {\n throw new Error(`Unpaired tag can not be used as closing tag: </${tagName}>`);\n }\n let propIndex = 0;\n if (lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1) {\n propIndex = jPath.lastIndexOf(\".\", jPath.lastIndexOf(\".\") - 1);\n this.tagsNodeStack.pop();\n } else {\n propIndex = jPath.lastIndexOf(\".\");\n }\n jPath = jPath.substring(0, propIndex);\n currentNode = this.tagsNodeStack.pop();\n textData = \"\";\n i = closeIndex;\n } else if (xmlData[i + 1] === \"?\") {\n let tagData = readTagExp(xmlData, i, false, \"?>\");\n if (!tagData) throw new Error(\"Pi Tag is not closed.\");\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n if (this.options.ignoreDeclaration && tagData.tagName === \"?xml\" || this.options.ignorePiTags) ;\n else {\n const childNode = new xmlNode(tagData.tagName);\n childNode.add(this.options.textNodeName, \"\");\n if (tagData.tagName !== tagData.tagExp && tagData.attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName);\n }\n this.addChild(currentNode, childNode, jPath);\n }\n i = tagData.closeIndex + 1;\n } else if (xmlData.substr(i + 1, 3) === \"!--\") {\n const endIndex = findClosingIndex(xmlData, \"-->\", i + 4, \"Comment is not closed.\");\n if (this.options.commentPropName) {\n const comment = xmlData.substring(i + 4, endIndex - 2);\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n currentNode.add(this.options.commentPropName, [{ [this.options.textNodeName]: comment }]);\n }\n i = endIndex;\n } else if (xmlData.substr(i + 1, 2) === \"!D\") {\n const result = readDocType(xmlData, i);\n this.docTypeEntities = result.entities;\n i = result.i;\n } else if (xmlData.substr(i + 1, 2) === \"![\") {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"CDATA is not closed.\") - 2;\n const tagExp = xmlData.substring(i + 9, closeIndex);\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n let val2 = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true, true);\n if (val2 == void 0) val2 = \"\";\n if (this.options.cdataPropName) {\n currentNode.add(this.options.cdataPropName, [{ [this.options.textNodeName]: tagExp }]);\n } else {\n currentNode.add(this.options.textNodeName, val2);\n }\n i = closeIndex + 2;\n } else {\n let result = readTagExp(xmlData, i, this.options.removeNSPrefix);\n let tagName = result.tagName;\n const rawTagName = result.rawTagName;\n let tagExp = result.tagExp;\n let attrExpPresent = result.attrExpPresent;\n let closeIndex = result.closeIndex;\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n if (currentNode && textData) {\n if (currentNode.tagname !== \"!xml\") {\n textData = this.saveTextToParentTag(textData, currentNode, jPath, false);\n }\n }\n const lastTag = currentNode;\n if (lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1) {\n currentNode = this.tagsNodeStack.pop();\n jPath = jPath.substring(0, jPath.lastIndexOf(\".\"));\n }\n if (tagName !== xmlObj.tagname) {\n jPath += jPath ? \".\" + tagName : tagName;\n }\n if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) {\n let tagContent = \"\";\n if (tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1) {\n if (tagName[tagName.length - 1] === \"/\") {\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n } else {\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n i = result.closeIndex;\n } else if (this.options.unpairedTags.indexOf(tagName) !== -1) {\n i = result.closeIndex;\n } else {\n const result2 = this.readStopNodeData(xmlData, rawTagName, closeIndex + 1);\n if (!result2) throw new Error(`Unexpected end of ${rawTagName}`);\n i = result2.i;\n tagContent = result2.tagContent;\n }\n const childNode = new xmlNode(tagName);\n if (tagName !== tagExp && attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n if (tagContent) {\n tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);\n }\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n childNode.add(this.options.textNodeName, tagContent);\n this.addChild(currentNode, childNode, jPath);\n } else {\n if (tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1) {\n if (tagName[tagName.length - 1] === \"/\") {\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n } else {\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n const childNode = new xmlNode(tagName);\n if (tagName !== tagExp && attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath);\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n } else {\n const childNode = new xmlNode(tagName);\n this.tagsNodeStack.push(currentNode);\n if (tagName !== tagExp && attrExpPresent) {\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath);\n currentNode = childNode;\n }\n textData = \"\";\n i = closeIndex;\n }\n }\n } else {\n textData += xmlData[i];\n }\n }\n return xmlObj.child;\n};\nfunction addChild(currentNode, childNode, jPath) {\n const result = this.options.updateTag(childNode.tagname, jPath, childNode[\":@\"]);\n if (result === false) ;\n else if (typeof result === \"string\") {\n childNode.tagname = result;\n currentNode.addChild(childNode);\n } else {\n currentNode.addChild(childNode);\n }\n}\nconst replaceEntitiesValue$1 = function(val2) {\n if (this.options.processEntities) {\n for (let entityName2 in this.docTypeEntities) {\n const entity = this.docTypeEntities[entityName2];\n val2 = val2.replace(entity.regx, entity.val);\n }\n for (let entityName2 in this.lastEntities) {\n const entity = this.lastEntities[entityName2];\n val2 = val2.replace(entity.regex, entity.val);\n }\n if (this.options.htmlEntities) {\n for (let entityName2 in this.htmlEntities) {\n const entity = this.htmlEntities[entityName2];\n val2 = val2.replace(entity.regex, entity.val);\n }\n }\n val2 = val2.replace(this.ampEntity.regex, this.ampEntity.val);\n }\n return val2;\n};\nfunction saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {\n if (textData) {\n if (isLeafNode === void 0) isLeafNode = Object.keys(currentNode.child).length === 0;\n textData = this.parseTextData(\n textData,\n currentNode.tagname,\n jPath,\n false,\n currentNode[\":@\"] ? Object.keys(currentNode[\":@\"]).length !== 0 : false,\n isLeafNode\n );\n if (textData !== void 0 && textData !== \"\")\n currentNode.add(this.options.textNodeName, textData);\n textData = \"\";\n }\n return textData;\n}\nfunction isItStopNode(stopNodes, jPath, currentTagName) {\n const allNodesExp = \"*.\" + currentTagName;\n for (const stopNodePath in stopNodes) {\n const stopNodeExp = stopNodes[stopNodePath];\n if (allNodesExp === stopNodeExp || jPath === stopNodeExp) return true;\n }\n return false;\n}\nfunction tagExpWithClosingIndex(xmlData, i, closingChar = \">\") {\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i; index < xmlData.length; index++) {\n let ch = xmlData[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === closingChar[0]) {\n if (closingChar[1]) {\n if (xmlData[index + 1] === closingChar[1]) {\n return {\n data: tagExp,\n index\n };\n }\n } else {\n return {\n data: tagExp,\n index\n };\n }\n } else if (ch === \"\t\") {\n ch = \" \";\n }\n tagExp += ch;\n }\n}\nfunction findClosingIndex(xmlData, str, i, errMsg) {\n const closingIndex = xmlData.indexOf(str, i);\n if (closingIndex === -1) {\n throw new Error(errMsg);\n } else {\n return closingIndex + str.length - 1;\n }\n}\nfunction readTagExp(xmlData, i, removeNSPrefix, closingChar = \">\") {\n const result = tagExpWithClosingIndex(xmlData, i + 1, closingChar);\n if (!result) return;\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.search(/\\s/);\n let tagName = tagExp;\n let attrExpPresent = true;\n if (separatorIndex !== -1) {\n tagName = tagExp.substring(0, separatorIndex);\n tagExp = tagExp.substring(separatorIndex + 1).trimStart();\n }\n const rawTagName = tagName;\n if (removeNSPrefix) {\n const colonIndex = tagName.indexOf(\":\");\n if (colonIndex !== -1) {\n tagName = tagName.substr(colonIndex + 1);\n attrExpPresent = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n return {\n tagName,\n tagExp,\n closeIndex,\n attrExpPresent,\n rawTagName\n };\n}\nfunction readStopNodeData(xmlData, tagName, i) {\n const startIndex = i;\n let openTagCount = 1;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === \"<\") {\n if (xmlData[i + 1] === \"/\") {\n const closeIndex = findClosingIndex(xmlData, \">\", i, `${tagName} is not closed`);\n let closeTagName = xmlData.substring(i + 2, closeIndex).trim();\n if (closeTagName === tagName) {\n openTagCount--;\n if (openTagCount === 0) {\n return {\n tagContent: xmlData.substring(startIndex, i),\n i: closeIndex\n };\n }\n }\n i = closeIndex;\n } else if (xmlData[i + 1] === \"?\") {\n const closeIndex = findClosingIndex(xmlData, \"?>\", i + 1, \"StopNode is not closed.\");\n i = closeIndex;\n } else if (xmlData.substr(i + 1, 3) === \"!--\") {\n const closeIndex = findClosingIndex(xmlData, \"-->\", i + 3, \"StopNode is not closed.\");\n i = closeIndex;\n } else if (xmlData.substr(i + 1, 2) === \"![\") {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"StopNode is not closed.\") - 2;\n i = closeIndex;\n } else {\n const tagData = readTagExp(xmlData, i, \">\");\n if (tagData) {\n const openTagName = tagData && tagData.tagName;\n if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length - 1] !== \"/\") {\n openTagCount++;\n }\n i = tagData.closeIndex;\n }\n }\n }\n }\n}\nfunction parseValue(val2, shouldParse, options) {\n if (shouldParse && typeof val2 === \"string\") {\n const newval = val2.trim();\n if (newval === \"true\") return true;\n else if (newval === \"false\") return false;\n else return toNumber(val2, options);\n } else {\n if (util.isExist(val2)) {\n return val2;\n } else {\n return \"\";\n }\n }\n}\nvar OrderedObjParser_1 = OrderedObjParser$1;\nvar node2json = {};\nfunction prettify$1(node, options) {\n return compress(node, options);\n}\nfunction compress(arr, options, jPath) {\n let text;\n const compressedObj = {};\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const property = propName$1(tagObj);\n let newJpath = \"\";\n if (jPath === void 0) newJpath = property;\n else newJpath = jPath + \".\" + property;\n if (property === options.textNodeName) {\n if (text === void 0) text = tagObj[property];\n else text += \"\" + tagObj[property];\n } else if (property === void 0) {\n continue;\n } else if (tagObj[property]) {\n let val2 = compress(tagObj[property], options, newJpath);\n const isLeaf = isLeafTag(val2, options);\n if (tagObj[\":@\"]) {\n assignAttributes(val2, tagObj[\":@\"], newJpath, options);\n } else if (Object.keys(val2).length === 1 && val2[options.textNodeName] !== void 0 && !options.alwaysCreateTextNode) {\n val2 = val2[options.textNodeName];\n } else if (Object.keys(val2).length === 0) {\n if (options.alwaysCreateTextNode) val2[options.textNodeName] = \"\";\n else val2 = \"\";\n }\n if (compressedObj[property] !== void 0 && compressedObj.hasOwnProperty(property)) {\n if (!Array.isArray(compressedObj[property])) {\n compressedObj[property] = [compressedObj[property]];\n }\n compressedObj[property].push(val2);\n } else {\n if (options.isArray(property, newJpath, isLeaf)) {\n compressedObj[property] = [val2];\n } else {\n compressedObj[property] = val2;\n }\n }\n }\n }\n if (typeof text === \"string\") {\n if (text.length > 0) compressedObj[options.textNodeName] = text;\n } else if (text !== void 0) compressedObj[options.textNodeName] = text;\n return compressedObj;\n}\nfunction propName$1(obj) {\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (key !== \":@\") return key;\n }\n}\nfunction assignAttributes(obj, attrMap, jpath, options) {\n if (attrMap) {\n const keys = Object.keys(attrMap);\n const len = keys.length;\n for (let i = 0; i < len; i++) {\n const atrrName = keys[i];\n if (options.isArray(atrrName, jpath + \".\" + atrrName, true, true)) {\n obj[atrrName] = [attrMap[atrrName]];\n } else {\n obj[atrrName] = attrMap[atrrName];\n }\n }\n }\n}\nfunction isLeafTag(obj, options) {\n const { textNodeName } = options;\n const propCount = Object.keys(obj).length;\n if (propCount === 0) {\n return true;\n }\n if (propCount === 1 && (obj[textNodeName] || typeof obj[textNodeName] === \"boolean\" || obj[textNodeName] === 0)) {\n return true;\n }\n return false;\n}\nnode2json.prettify = prettify$1;\nconst { buildOptions } = OptionsBuilder;\nconst OrderedObjParser2 = OrderedObjParser_1;\nconst { prettify } = node2json;\nconst validator$1 = validator$2;\nlet XMLParser$1 = class XMLParser {\n constructor(options) {\n this.externalEntities = {};\n this.options = buildOptions(options);\n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(xmlData, validationOption) {\n if (typeof xmlData === \"string\") ;\n else if (xmlData.toString) {\n xmlData = xmlData.toString();\n } else {\n throw new Error(\"XML data is accepted in String or Bytes[] form.\");\n }\n if (validationOption) {\n if (validationOption === true) validationOption = {};\n const result = validator$1.validate(xmlData, validationOption);\n if (result !== true) {\n throw Error(`${result.err.msg}:${result.err.line}:${result.err.col}`);\n }\n }\n const orderedObjParser = new OrderedObjParser2(this.options);\n orderedObjParser.addExternalEntities(this.externalEntities);\n const orderedResult = orderedObjParser.parseXml(xmlData);\n if (this.options.preserveOrder || orderedResult === void 0) return orderedResult;\n else return prettify(orderedResult, this.options);\n }\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(key, value) {\n if (value.indexOf(\"&\") !== -1) {\n throw new Error(\"Entity value can't have '&'\");\n } else if (key.indexOf(\"&\") !== -1 || key.indexOf(\";\") !== -1) {\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'\");\n } else if (value === \"&\") {\n throw new Error(\"An entity with value '&' is not permitted\");\n } else {\n this.externalEntities[key] = value;\n }\n }\n};\nvar XMLParser_1 = XMLParser$1;\nconst EOL = \"\\n\";\nfunction toXml(jArray, options) {\n let indentation = \"\";\n if (options.format && options.indentBy.length > 0) {\n indentation = EOL;\n }\n return arrToStr(jArray, options, \"\", indentation);\n}\nfunction arrToStr(arr, options, jPath, indentation) {\n let xmlStr = \"\";\n let isPreviousElementTag = false;\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const tagName = propName(tagObj);\n if (tagName === void 0) continue;\n let newJPath = \"\";\n if (jPath.length === 0) newJPath = tagName;\n else newJPath = `${jPath}.${tagName}`;\n if (tagName === options.textNodeName) {\n let tagText = tagObj[tagName];\n if (!isStopNode(newJPath, options)) {\n tagText = options.tagValueProcessor(tagName, tagText);\n tagText = replaceEntitiesValue(tagText, options);\n }\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += tagText;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.cdataPropName) {\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += `<![CDATA[${tagObj[tagName][0][options.textNodeName]}]]>`;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.commentPropName) {\n xmlStr += indentation + `<!--${tagObj[tagName][0][options.textNodeName]}-->`;\n isPreviousElementTag = true;\n continue;\n } else if (tagName[0] === \"?\") {\n const attStr2 = attr_to_str(tagObj[\":@\"], options);\n const tempInd = tagName === \"?xml\" ? \"\" : indentation;\n let piTextNodeName = tagObj[tagName][0][options.textNodeName];\n piTextNodeName = piTextNodeName.length !== 0 ? \" \" + piTextNodeName : \"\";\n xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr2}?>`;\n isPreviousElementTag = true;\n continue;\n }\n let newIdentation = indentation;\n if (newIdentation !== \"\") {\n newIdentation += options.indentBy;\n }\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tagStart = indentation + `<${tagName}${attStr}`;\n const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation);\n if (options.unpairedTags.indexOf(tagName) !== -1) {\n if (options.suppressUnpairedNode) xmlStr += tagStart + \">\";\n else xmlStr += tagStart + \"/>\";\n } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) {\n xmlStr += tagStart + \"/>\";\n } else if (tagValue && tagValue.endsWith(\">\")) {\n xmlStr += tagStart + `>${tagValue}${indentation}</${tagName}>`;\n } else {\n xmlStr += tagStart + \">\";\n if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"</\"))) {\n xmlStr += indentation + options.indentBy + tagValue + indentation;\n } else {\n xmlStr += tagValue;\n }\n xmlStr += `</${tagName}>`;\n }\n isPreviousElementTag = true;\n }\n return xmlStr;\n}\nfunction propName(obj) {\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (!obj.hasOwnProperty(key)) continue;\n if (key !== \":@\") return key;\n }\n}\nfunction attr_to_str(attrMap, options) {\n let attrStr = \"\";\n if (attrMap && !options.ignoreAttributes) {\n for (let attr in attrMap) {\n if (!attrMap.hasOwnProperty(attr)) continue;\n let attrVal = options.attributeValueProcessor(attr, attrMap[attr]);\n attrVal = replaceEntitiesValue(attrVal, options);\n if (attrVal === true && options.suppressBooleanAttributes) {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;\n } else {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}=\"${attrVal}\"`;\n }\n }\n }\n return attrStr;\n}\nfunction isStopNode(jPath, options) {\n jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1);\n let tagName = jPath.substr(jPath.lastIndexOf(\".\") + 1);\n for (let index in options.stopNodes) {\n if (options.stopNodes[index] === jPath || options.stopNodes[index] === \"*.\" + tagName) return true;\n }\n return false;\n}\nfunction replaceEntitiesValue(textValue, options) {\n if (textValue && textValue.length > 0 && options.processEntities) {\n for (let i = 0; i < options.entities.length; i++) {\n const entity = options.entities[i];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n}\nvar orderedJs2Xml = toXml;\nconst buildFromOrderedJs = orderedJs2Xml;\nconst defaultOptions = {\n attributeNamePrefix: \"@_\",\n attributesGroupName: false,\n textNodeName: \"#text\",\n ignoreAttributes: true,\n cdataPropName: false,\n format: false,\n indentBy: \" \",\n suppressEmptyNode: false,\n suppressUnpairedNode: true,\n suppressBooleanAttributes: true,\n tagValueProcessor: function(key, a) {\n return a;\n },\n attributeValueProcessor: function(attrName, a) {\n return a;\n },\n preserveOrder: false,\n commentPropName: false,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&amp;\" },\n //it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \"&gt;\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"&lt;\" },\n { regex: new RegExp(\"'\", \"g\"), val: \"&apos;\" },\n { regex: new RegExp('\"', \"g\"), val: \"&quot;\" }\n ],\n processEntities: true,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n oneListGroup: false\n};\nfunction Builder(options) {\n this.options = Object.assign({}, defaultOptions, options);\n if (this.options.ignoreAttributes || this.options.attributesGroupName) {\n this.isAttribute = function() {\n return false;\n };\n } else {\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n this.processTextOrObjNode = processTextOrObjNode;\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = \">\\n\";\n this.newLine = \"\\n\";\n } else {\n this.indentate = function() {\n return \"\";\n };\n this.tagEndChar = \">\";\n this.newLine = \"\";\n }\n}\nBuilder.prototype.build = function(jObj) {\n if (this.options.preserveOrder) {\n return buildFromOrderedJs(jObj, this.options);\n } else {\n if (Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1) {\n jObj = {\n [this.options.arrayNodeName]: jObj\n };\n }\n return this.j2x(jObj, 0).val;\n }\n};\nBuilder.prototype.j2x = function(jObj, level) {\n let attrStr = \"\";\n let val2 = \"\";\n for (let key in jObj) {\n if (!Object.prototype.hasOwnProperty.call(jObj, key)) continue;\n if (typeof jObj[key] === \"undefined\") {\n if (this.isAttribute(key)) {\n val2 += \"\";\n }\n } else if (jObj[key] === null) {\n if (this.isAttribute(key)) {\n val2 += \"\";\n } else if (key[0] === \"?\") {\n val2 += this.indentate(level) + \"<\" + key + \"?\" + this.tagEndChar;\n } else {\n val2 += this.indentate(level) + \"<\" + key + \"/\" + this.tagEndChar;\n }\n } else if (jObj[key] instanceof Date) {\n val2 += this.buildTextValNode(jObj[key], key, \"\", level);\n } else if (typeof jObj[key] !== \"object\") {\n const attr = this.isAttribute(key);\n if (attr) {\n attrStr += this.buildAttrPairStr(attr, \"\" + jObj[key]);\n } else {\n if (key === this.options.textNodeName) {\n let newval = this.options.tagValueProcessor(key, \"\" + jObj[key]);\n val2 += this.replaceEntitiesValue(newval);\n } else {\n val2 += this.buildTextValNode(jObj[key], key, \"\", level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n const arrLen = jObj[key].length;\n let listTagVal = \"\";\n let listTagAttr = \"\";\n for (let j = 0; j < arrLen; j++) {\n const item = jObj[key][j];\n if (typeof item === \"undefined\") ;\n else if (item === null) {\n if (key[0] === \"?\") val2 += this.indentate(level) + \"<\" + key + \"?\" + this.tagEndChar;\n else val2 += this.indentate(level) + \"<\" + key + \"/\" + this.tagEndChar;\n } else if (typeof item === \"object\") {\n if (this.options.oneListGroup) {\n const result = this.j2x(item, level + 1);\n listTagVal += result.val;\n if (this.options.attributesGroupName && item.hasOwnProperty(this.options.attributesGroupName)) {\n listTagAttr += result.attrStr;\n }\n } else {\n listTagVal += this.processTextOrObjNode(item, key, level);\n }\n } else {\n if (this.options.oneListGroup) {\n let textValue = this.options.tagValueProcessor(key, item);\n textValue = this.replaceEntitiesValue(textValue);\n listTagVal += textValue;\n } else {\n listTagVal += this.buildTextValNode(item, key, \"\", level);\n }\n }\n }\n if (this.options.oneListGroup) {\n listTagVal = this.buildObjectNode(listTagVal, key, listTagAttr, level);\n }\n val2 += listTagVal;\n } else {\n if (this.options.attributesGroupName && key === this.options.attributesGroupName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j = 0; j < L; j++) {\n attrStr += this.buildAttrPairStr(Ks[j], \"\" + jObj[key][Ks[j]]);\n }\n } else {\n val2 += this.processTextOrObjNode(jObj[key], key, level);\n }\n }\n }\n return { attrStr, val: val2 };\n};\nBuilder.prototype.buildAttrPairStr = function(attrName, val2) {\n val2 = this.options.attributeValueProcessor(attrName, \"\" + val2);\n val2 = this.replaceEntitiesValue(val2);\n if (this.options.suppressBooleanAttributes && val2 === \"true\") {\n return \" \" + attrName;\n } else return \" \" + attrName + '=\"' + val2 + '\"';\n};\nfunction processTextOrObjNode(object, key, level) {\n const result = this.j2x(object, level + 1);\n if (object[this.options.textNodeName] !== void 0 && Object.keys(object).length === 1) {\n return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);\n } else {\n return this.buildObjectNode(result.val, key, result.attrStr, level);\n }\n}\nBuilder.prototype.buildObjectNode = function(val2, key, attrStr, level) {\n if (val2 === \"\") {\n if (key[0] === \"?\") return this.indentate(level) + \"<\" + key + attrStr + \"?\" + this.tagEndChar;\n else {\n return this.indentate(level) + \"<\" + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }\n } else {\n let tagEndExp = \"</\" + key + this.tagEndChar;\n let piClosingChar = \"\";\n if (key[0] === \"?\") {\n piClosingChar = \"?\";\n tagEndExp = \"\";\n }\n if ((attrStr || attrStr === \"\") && val2.indexOf(\"<\") === -1) {\n return this.indentate(level) + \"<\" + key + attrStr + piClosingChar + \">\" + val2 + tagEndExp;\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {\n return this.indentate(level) + `<!--${val2}-->` + this.newLine;\n } else {\n return this.indentate(level) + \"<\" + key + attrStr + piClosingChar + this.tagEndChar + val2 + this.indentate(level) + tagEndExp;\n }\n }\n};\nBuilder.prototype.closeTag = function(key) {\n let closeTag = \"\";\n if (this.options.unpairedTags.indexOf(key) !== -1) {\n if (!this.options.suppressUnpairedNode) closeTag = \"/\";\n } else if (this.options.suppressEmptyNode) {\n closeTag = \"/\";\n } else {\n closeTag = `></${key}`;\n }\n return closeTag;\n};\nBuilder.prototype.buildTextValNode = function(val2, key, attrStr, level) {\n if (this.options.cdataPropName !== false && key === this.options.cdataPropName) {\n return this.indentate(level) + `<![CDATA[${val2}]]>` + this.newLine;\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName) {\n return this.indentate(level) + `<!--${val2}-->` + this.newLine;\n } else if (key[0] === \"?\") {\n return this.indentate(level) + \"<\" + key + attrStr + \"?\" + this.tagEndChar;\n } else {\n let textValue = this.options.tagValueProcessor(key, val2);\n textValue = this.replaceEntitiesValue(textValue);\n if (textValue === \"\") {\n return this.indentate(level) + \"<\" + key + attrStr + this.closeTag(key) + this.tagEndChar;\n } else {\n return this.indentate(level) + \"<\" + key + attrStr + \">\" + textValue + \"</\" + key + this.tagEndChar;\n }\n }\n};\nBuilder.prototype.replaceEntitiesValue = function(textValue) {\n if (textValue && textValue.length > 0 && this.options.processEntities) {\n for (let i = 0; i < this.options.entities.length; i++) {\n const entity = this.options.entities[i];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n};\nfunction indentate(level) {\n return this.options.indentBy.repeat(level);\n}\nfunction isAttribute(name) {\n if (name.startsWith(this.options.attributeNamePrefix) && name !== this.options.textNodeName) {\n return name.substr(this.attrPrefixLen);\n } else {\n return false;\n }\n}\nvar json2xml = Builder;\nconst validator = validator$2;\nconst XMLParser2 = XMLParser_1;\nconst XMLBuilder = json2xml;\nvar fxp = {\n XMLParser: XMLParser2,\n XMLValidator: validator,\n XMLBuilder\n};\nfunction isSvg(string) {\n if (typeof string !== \"string\") {\n throw new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n }\n string = string.trim();\n if (string.length === 0) {\n return false;\n }\n if (fxp.XMLValidator.validate(string) !== true) {\n return false;\n }\n let jsonObject;\n const parser = new fxp.XMLParser();\n try {\n jsonObject = parser.parse(string);\n } catch {\n return false;\n }\n if (!jsonObject) {\n return false;\n }\n if (!Object.keys(jsonObject).some((x) => x.toLowerCase() === \"svg\")) {\n return false;\n }\n return true;\n}\nclass View {\n _view;\n constructor(view) {\n isValidView(view);\n this._view = view;\n }\n get id() {\n return this._view.id;\n }\n get name() {\n return this._view.name;\n }\n get caption() {\n return this._view.caption;\n }\n get emptyTitle() {\n return this._view.emptyTitle;\n }\n get emptyCaption() {\n return this._view.emptyCaption;\n }\n get getContents() {\n return this._view.getContents;\n }\n get icon() {\n return this._view.icon;\n }\n set icon(icon) {\n this._view.icon = icon;\n }\n get order() {\n return this._view.order;\n }\n set order(order) {\n this._view.order = order;\n }\n get params() {\n return this._view.params;\n }\n set params(params) {\n this._view.params = params;\n }\n get columns() {\n return this._view.columns;\n }\n get emptyView() {\n return this._view.emptyView;\n }\n get parent() {\n return this._view.parent;\n }\n get sticky() {\n return this._view.sticky;\n }\n get expanded() {\n return this._view.expanded;\n }\n set expanded(expanded) {\n this._view.expanded = expanded;\n }\n get defaultSortKey() {\n return this._view.defaultSortKey;\n }\n get loadChildViews() {\n return this._view.loadChildViews;\n }\n}\nconst isValidView = function(view) {\n if (!view.id || typeof view.id !== \"string\") {\n throw new Error(\"View id is required and must be a string\");\n }\n if (!view.name || typeof view.name !== \"string\") {\n throw new Error(\"View name is required and must be a string\");\n }\n if (view.columns && view.columns.length > 0 && (!view.caption || typeof view.caption !== \"string\")) {\n throw new Error(\"View caption is required for top-level views and must be a string\");\n }\n if (!view.getContents || typeof view.getContents !== \"function\") {\n throw new Error(\"View getContents is required and must be a function\");\n }\n if (!view.icon || typeof view.icon !== \"string\" || !isSvg(view.icon)) {\n throw new Error(\"View icon is required and must be a valid svg string\");\n }\n if (\"order\" in view && typeof view.order !== \"number\") {\n throw new Error(\"View order must be a number\");\n }\n if (view.columns) {\n view.columns.forEach((column) => {\n if (!(column instanceof Column)) {\n throw new Error(\"View columns must be an array of Column. Invalid column found\");\n }\n });\n }\n if (view.emptyView && typeof view.emptyView !== \"function\") {\n throw new Error(\"View emptyView must be a function\");\n }\n if (view.parent && typeof view.parent !== \"string\") {\n throw new Error(\"View parent must be a string\");\n }\n if (\"sticky\" in view && typeof view.sticky !== \"boolean\") {\n throw new Error(\"View sticky must be a boolean\");\n }\n if (\"expanded\" in view && typeof view.expanded !== \"boolean\") {\n throw new Error(\"View expanded must be a boolean\");\n }\n if (view.defaultSortKey && typeof view.defaultSortKey !== \"string\") {\n throw new Error(\"View defaultSortKey must be a string\");\n }\n if (view.loadChildViews && typeof view.loadChildViews !== \"function\") {\n throw new Error(\"View loadChildViews must be a function\");\n }\n return true;\n};\nconst debug$1 = typeof process === \"object\" && process.env && process.env.NODE_DEBUG && /\\bsemver\\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error(\"SEMVER\", ...args) : () => {\n};\nvar debug_1 = debug$1;\nconst SEMVER_SPEC_VERSION = \"2.0.0\";\nconst MAX_LENGTH$1 = 256;\nconst MAX_SAFE_INTEGER$1 = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */\n9007199254740991;\nconst MAX_SAFE_COMPONENT_LENGTH = 16;\nconst MAX_SAFE_BUILD_LENGTH = MAX_LENGTH$1 - 6;\nconst RELEASE_TYPES = [\n \"major\",\n \"premajor\",\n \"minor\",\n \"preminor\",\n \"patch\",\n \"prepatch\",\n \"prerelease\"\n];\nvar constants = {\n MAX_LENGTH: MAX_LENGTH$1,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER: MAX_SAFE_INTEGER$1,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 1,\n FLAG_LOOSE: 2\n};\nvar re$1 = { exports: {} };\n(function(module, exports) {\n const {\n MAX_SAFE_COMPONENT_LENGTH: MAX_SAFE_COMPONENT_LENGTH2,\n MAX_SAFE_BUILD_LENGTH: MAX_SAFE_BUILD_LENGTH2,\n MAX_LENGTH: MAX_LENGTH2\n } = constants;\n const debug2 = debug_1;\n exports = module.exports = {};\n const re2 = exports.re = [];\n const safeRe = exports.safeRe = [];\n const src = exports.src = [];\n const t2 = exports.t = {};\n let R = 0;\n const LETTERDASHNUMBER = \"[a-zA-Z0-9-]\";\n const safeRegexReplacements = [\n [\"\\\\s\", 1],\n [\"\\\\d\", MAX_LENGTH2],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH2]\n ];\n const makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);\n }\n return value;\n };\n const createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value);\n const index = R++;\n debug2(name, index, value);\n t2[name] = index;\n src[index] = value;\n re2[index] = new RegExp(value, isGlobal ? \"g\" : void 0);\n safeRe[index] = new RegExp(safe, isGlobal ? \"g\" : void 0);\n };\n createToken(\"NUMERICIDENTIFIER\", \"0|[1-9]\\\\d*\");\n createToken(\"NUMERICIDENTIFIERLOOSE\", \"\\\\d+\");\n createToken(\"NONNUMERICIDENTIFIER\", `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);\n createToken(\"MAINVERSION\", `(${src[t2.NUMERICIDENTIFIER]})\\\\.(${src[t2.NUMERICIDENTIFIER]})\\\\.(${src[t2.NUMERICIDENTIFIER]})`);\n createToken(\"MAINVERSIONLOOSE\", `(${src[t2.NUMERICIDENTIFIERLOOSE]})\\\\.(${src[t2.NUMERICIDENTIFIERLOOSE]})\\\\.(${src[t2.NUMERICIDENTIFIERLOOSE]})`);\n createToken(\"PRERELEASEIDENTIFIER\", `(?:${src[t2.NUMERICIDENTIFIER]}|${src[t2.NONNUMERICIDENTIFIER]})`);\n createToken(\"PRERELEASEIDENTIFIERLOOSE\", `(?:${src[t2.NUMERICIDENTIFIERLOOSE]}|${src[t2.NONNUMERICIDENTIFIER]})`);\n createToken(\"PRERELEASE\", `(?:-(${src[t2.PRERELEASEIDENTIFIER]}(?:\\\\.${src[t2.PRERELEASEIDENTIFIER]})*))`);\n createToken(\"PRERELEASELOOSE\", `(?:-?(${src[t2.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${src[t2.PRERELEASEIDENTIFIERLOOSE]})*))`);\n createToken(\"BUILDIDENTIFIER\", `${LETTERDASHNUMBER}+`);\n createToken(\"BUILD\", `(?:\\\\+(${src[t2.BUILDIDENTIFIER]}(?:\\\\.${src[t2.BUILDIDENTIFIER]})*))`);\n createToken(\"FULLPLAIN\", `v?${src[t2.MAINVERSION]}${src[t2.PRERELEASE]}?${src[t2.BUILD]}?`);\n createToken(\"FULL\", `^${src[t2.FULLPLAIN]}$`);\n createToken(\"LOOSEPLAIN\", `[v=\\\\s]*${src[t2.MAINVERSIONLOOSE]}${src[t2.PRERELEASELOOSE]}?${src[t2.BUILD]}?`);\n createToken(\"LOOSE\", `^${src[t2.LOOSEPLAIN]}$`);\n createToken(\"GTLT\", \"((?:<|>)?=?)\");\n createToken(\"XRANGEIDENTIFIERLOOSE\", `${src[t2.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`);\n createToken(\"XRANGEIDENTIFIER\", `${src[t2.NUMERICIDENTIFIER]}|x|X|\\\\*`);\n createToken(\"XRANGEPLAIN\", `[v=\\\\s]*(${src[t2.XRANGEIDENTIFIER]})(?:\\\\.(${src[t2.XRANGEIDENTIFIER]})(?:\\\\.(${src[t2.XRANGEIDENTIFIER]})(?:${src[t2.PRERELEASE]})?${src[t2.BUILD]}?)?)?`);\n createToken(\"XRANGEPLAINLOOSE\", `[v=\\\\s]*(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${src[t2.XRANGEIDENTIFIERLOOSE]})(?:${src[t2.PRERELEASELOOSE]})?${src[t2.BUILD]}?)?)?`);\n createToken(\"XRANGE\", `^${src[t2.GTLT]}\\\\s*${src[t2.XRANGEPLAIN]}$`);\n createToken(\"XRANGELOOSE\", `^${src[t2.GTLT]}\\\\s*${src[t2.XRANGEPLAINLOOSE]}$`);\n createToken(\"COERCEPLAIN\", `${\"(^|[^\\\\d])(\\\\d{1,\"}${MAX_SAFE_COMPONENT_LENGTH2}})(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH2}}))?(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH2}}))?`);\n createToken(\"COERCE\", `${src[t2.COERCEPLAIN]}(?:$|[^\\\\d])`);\n createToken(\"COERCEFULL\", src[t2.COERCEPLAIN] + `(?:${src[t2.PRERELEASE]})?(?:${src[t2.BUILD]})?(?:$|[^\\\\d])`);\n createToken(\"COERCERTL\", src[t2.COERCE], true);\n createToken(\"COERCERTLFULL\", src[t2.COERCEFULL], true);\n createToken(\"LONETILDE\", \"(?:~>?)\");\n createToken(\"TILDETRIM\", `(\\\\s*)${src[t2.LONETILDE]}\\\\s+`, true);\n exports.tildeTrimReplace = \"$1~\";\n createToken(\"TILDE\", `^${src[t2.LONETILDE]}${src[t2.XRANGEPLAIN]}$`);\n createToken(\"TILDELOOSE\", `^${src[t2.LONETILDE]}${src[t2.XRANGEPLAINLOOSE]}$`);\n createToken(\"LONECARET\", \"(?:\\\\^)\");\n createToken(\"CARETTRIM\", `(\\\\s*)${src[t2.LONECARET]}\\\\s+`, true);\n exports.caretTrimReplace = \"$1^\";\n createToken(\"CARET\", `^${src[t2.LONECARET]}${src[t2.XRANGEPLAIN]}$`);\n createToken(\"CARETLOOSE\", `^${src[t2.LONECARET]}${src[t2.XRANGEPLAINLOOSE]}$`);\n createToken(\"COMPARATORLOOSE\", `^${src[t2.GTLT]}\\\\s*(${src[t2.LOOSEPLAIN]})$|^$`);\n createToken(\"COMPARATOR\", `^${src[t2.GTLT]}\\\\s*(${src[t2.FULLPLAIN]})$|^$`);\n createToken(\"COMPARATORTRIM\", `(\\\\s*)${src[t2.GTLT]}\\\\s*(${src[t2.LOOSEPLAIN]}|${src[t2.XRANGEPLAIN]})`, true);\n exports.comparatorTrimReplace = \"$1$2$3\";\n createToken(\"HYPHENRANGE\", `^\\\\s*(${src[t2.XRANGEPLAIN]})\\\\s+-\\\\s+(${src[t2.XRANGEPLAIN]})\\\\s*$`);\n createToken(\"HYPHENRANGELOOSE\", `^\\\\s*(${src[t2.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${src[t2.XRANGEPLAINLOOSE]})\\\\s*$`);\n createToken(\"STAR\", \"(<|>)?=?\\\\s*\\\\*\");\n createToken(\"GTE0\", \"^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$\");\n createToken(\"GTE0PRE\", \"^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$\");\n})(re$1, re$1.exports);\nvar reExports = re$1.exports;\nconst looseOption = Object.freeze({ loose: true });\nconst emptyOpts = Object.freeze({});\nconst parseOptions$1 = (options) => {\n if (!options) {\n return emptyOpts;\n }\n if (typeof options !== \"object\") {\n return looseOption;\n }\n return options;\n};\nvar parseOptions_1 = parseOptions$1;\nconst numeric = /^[0-9]+$/;\nconst compareIdentifiers$1 = (a, b) => {\n const anum = numeric.test(a);\n const bnum = numeric.test(b);\n if (anum && bnum) {\n a = +a;\n b = +b;\n }\n return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;\n};\nconst rcompareIdentifiers = (a, b) => compareIdentifiers$1(b, a);\nvar identifiers = {\n compareIdentifiers: compareIdentifiers$1,\n rcompareIdentifiers\n};\nconst debug = debug_1;\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = constants;\nconst { safeRe: re, t } = reExports;\nconst parseOptions = parseOptions_1;\nconst { compareIdentifiers } = identifiers;\nlet SemVer$2 = class SemVer {\n constructor(version, options) {\n options = parseOptions(options);\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {\n return version;\n } else {\n version = version.version;\n }\n } else if (typeof version !== \"string\") {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`);\n }\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n );\n }\n debug(\"SemVer\", version, options);\n this.options = options;\n this.loose = !!options.loose;\n this.includePrerelease = !!options.includePrerelease;\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`);\n }\n this.raw = version;\n this.major = +m[1];\n this.minor = +m[2];\n this.patch = +m[3];\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError(\"Invalid major version\");\n }\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError(\"Invalid minor version\");\n }\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError(\"Invalid patch version\");\n }\n if (!m[4]) {\n this.prerelease = [];\n } else {\n this.prerelease = m[4].split(\".\").map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id;\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num;\n }\n }\n return id;\n });\n }\n this.build = m[5] ? m[5].split(\".\") : [];\n this.format();\n }\n format() {\n this.version = `${this.major}.${this.minor}.${this.patch}`;\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join(\".\")}`;\n }\n return this.version;\n }\n toString() {\n return this.version;\n }\n compare(other) {\n debug(\"SemVer.compare\", this.version, this.options, other);\n if (!(other instanceof SemVer)) {\n if (typeof other === \"string\" && other === this.version) {\n return 0;\n }\n other = new SemVer(other, this.options);\n }\n if (other.version === this.version) {\n return 0;\n }\n return this.compareMain(other) || this.comparePre(other);\n }\n compareMain(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);\n }\n comparePre(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n if (this.prerelease.length && !other.prerelease.length) {\n return -1;\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1;\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0;\n }\n let i = 0;\n do {\n const a = this.prerelease[i];\n const b = other.prerelease[i];\n debug(\"prerelease compare\", i, a, b);\n if (a === void 0 && b === void 0) {\n return 0;\n } else if (b === void 0) {\n return 1;\n } else if (a === void 0) {\n return -1;\n } else if (a === b) {\n continue;\n } else {\n return compareIdentifiers(a, b);\n }\n } while (++i);\n }\n compareBuild(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n let i = 0;\n do {\n const a = this.build[i];\n const b = other.build[i];\n debug(\"build compare\", i, a, b);\n if (a === void 0 && b === void 0) {\n return 0;\n } else if (b === void 0) {\n return 1;\n } else if (a === void 0) {\n return -1;\n } else if (a === b) {\n continue;\n } else {\n return compareIdentifiers(a, b);\n }\n } while (++i);\n }\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc(release, identifier, identifierBase) {\n switch (release) {\n case \"premajor\":\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor = 0;\n this.major++;\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"preminor\":\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor++;\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"prepatch\":\n this.prerelease.length = 0;\n this.inc(\"patch\", identifier, identifierBase);\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"prerelease\":\n if (this.prerelease.length === 0) {\n this.inc(\"patch\", identifier, identifierBase);\n }\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"major\":\n if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {\n this.major++;\n }\n this.minor = 0;\n this.patch = 0;\n this.prerelease = [];\n break;\n case \"minor\":\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++;\n }\n this.patch = 0;\n this.prerelease = [];\n break;\n case \"patch\":\n if (this.prerelease.length === 0) {\n this.patch++;\n }\n this.prerelease = [];\n break;\n case \"pre\": {\n const base = Number(identifierBase) ? 1 : 0;\n if (!identifier && identifierBase === false) {\n throw new Error(\"invalid increment argument: identifier is empty\");\n }\n if (this.prerelease.length === 0) {\n this.prerelease = [base];\n } else {\n let i = this.prerelease.length;\n while (--i >= 0) {\n if (typeof this.prerelease[i] === \"number\") {\n this.prerelease[i]++;\n i = -2;\n }\n }\n if (i === -1) {\n if (identifier === this.prerelease.join(\".\") && identifierBase === false) {\n throw new Error(\"invalid increment argument: identifier already exists\");\n }\n this.prerelease.push(base);\n }\n }\n if (identifier) {\n let prerelease = [identifier, base];\n if (identifierBase === false) {\n prerelease = [identifier];\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease;\n }\n } else {\n this.prerelease = prerelease;\n }\n }\n break;\n }\n default:\n throw new Error(`invalid increment argument: ${release}`);\n }\n this.raw = this.format();\n if (this.build.length) {\n this.raw += `+${this.build.join(\".\")}`;\n }\n return this;\n }\n};\nvar semver = SemVer$2;\nconst SemVer$1 = semver;\nconst parse$1 = (version, options, throwErrors = false) => {\n if (version instanceof SemVer$1) {\n return version;\n }\n try {\n return new SemVer$1(version, options);\n } catch (er) {\n if (!throwErrors) {\n return null;\n }\n throw er;\n }\n};\nvar parse_1 = parse$1;\nconst parse = parse_1;\nconst valid = (version, options) => {\n const v = parse(version, options);\n return v ? v.version : null;\n};\nvar valid_1 = valid;\nconst valid$1 = /* @__PURE__ */ getDefaultExportFromCjs(valid_1);\nconst SemVer2 = semver;\nconst major = (a, loose) => new SemVer2(a, loose).major;\nvar major_1 = major;\nconst major$1 = /* @__PURE__ */ getDefaultExportFromCjs(major_1);\nclass ProxyBus {\n bus;\n constructor(bus2) {\n if (typeof bus2.getVersion !== \"function\" || !valid$1(bus2.getVersion())) {\n console.warn(\"Proxying an event bus with an unknown or invalid version\");\n } else if (major$1(bus2.getVersion()) !== major$1(this.getVersion())) {\n console.warn(\n \"Proxying an event bus of version \" + bus2.getVersion() + \" with \" + this.getVersion()\n );\n }\n this.bus = bus2;\n }\n getVersion() {\n return \"3.3.1\";\n }\n subscribe(name, handler) {\n this.bus.subscribe(name, handler);\n }\n unsubscribe(name, handler) {\n this.bus.unsubscribe(name, handler);\n }\n emit(name, event) {\n this.bus.emit(name, event);\n }\n}\nclass SimpleBus {\n handlers = /* @__PURE__ */ new Map();\n getVersion() {\n return \"3.3.1\";\n }\n subscribe(name, handler) {\n this.handlers.set(\n name,\n (this.handlers.get(name) || []).concat(\n handler\n )\n );\n }\n unsubscribe(name, handler) {\n this.handlers.set(\n name,\n (this.handlers.get(name) || []).filter((h) => h !== handler)\n );\n }\n emit(name, event) {\n (this.handlers.get(name) || []).forEach((h) => {\n try {\n h(event);\n } catch (e) {\n console.error(\"could not invoke event listener\", e);\n }\n });\n }\n}\nlet bus = null;\nfunction getBus() {\n if (bus !== null) {\n return bus;\n }\n if (typeof window === \"undefined\") {\n return new Proxy({}, {\n get: () => {\n return () => console.error(\n \"Window not available, EventBus can not be established!\"\n );\n }\n });\n }\n if (window.OC?._eventBus && typeof window._nc_event_bus === \"undefined\") {\n console.warn(\n \"found old event bus instance at OC._eventBus. Update your version!\"\n );\n window._nc_event_bus = window.OC._eventBus;\n }\n if (typeof window?._nc_event_bus !== \"undefined\") {\n bus = new ProxyBus(window._nc_event_bus);\n } else {\n bus = window._nc_event_bus = new SimpleBus();\n }\n return bus;\n}\nfunction emit(name, event) {\n getBus().emit(name, event);\n}\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nclass FileListFilter extends TypedEventTarget {\n id;\n order;\n constructor(id, order = 100) {\n super();\n this.id = id;\n this.order = order;\n }\n filter(nodes) {\n throw new Error(\"Not implemented\");\n }\n updateChips(chips) {\n this.dispatchTypedEvent(\"update:chips\", new CustomEvent(\"update:chips\", { detail: chips }));\n }\n filterUpdated() {\n this.dispatchTypedEvent(\"update:filter\", new CustomEvent(\"update:filter\"));\n }\n}\nfunction registerFileListFilter(filter) {\n if (!window._nc_filelist_filters) {\n window._nc_filelist_filters = /* @__PURE__ */ new Map();\n }\n if (window._nc_filelist_filters.has(filter.id)) {\n throw new Error(`File list filter \"${filter.id}\" already registered`);\n }\n window._nc_filelist_filters.set(filter.id, filter);\n emit(\"files:filter:added\", filter);\n}\nfunction unregisterFileListFilter(filterId) {\n if (window._nc_filelist_filters && window._nc_filelist_filters.has(filterId)) {\n window._nc_filelist_filters.delete(filterId);\n emit(\"files:filter:removed\", filterId);\n }\n}\nfunction getFileListFilters() {\n if (!window._nc_filelist_filters) {\n return [];\n }\n return [...window._nc_filelist_filters.values()];\n}\nconst addNewFileMenuEntry = function(entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.registerEntry(entry);\n};\nconst removeNewFileMenuEntry = function(entry) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.unregisterEntry(entry);\n};\nconst getNewFileMenuEntries = function(context) {\n const newFileMenu = getNewFileMenu();\n return newFileMenu.getEntries(context).sort((a, b) => {\n if (a.order !== void 0 && b.order !== void 0 && a.order !== b.order) {\n return a.order - b.order;\n }\n return a.displayName.localeCompare(b.displayName, void 0, { numeric: true, sensitivity: \"base\" });\n });\n};\nexport {\n Column,\n DefaultType,\n File,\n FileAction,\n FileListFilter,\n FileType,\n FilesSortingMode,\n Folder,\n Header,\n InvalidFilenameError,\n InvalidFilenameErrorReason,\n Navigation,\n NewMenuEntryCategory,\n Node,\n NodeStatus,\n Permission,\n View,\n addNewFileMenuEntry,\n davGetClient,\n davGetDefaultPropfind,\n davGetFavoritesReport,\n davGetRecentSearch,\n davGetRemoteURL,\n davGetRootPath,\n davParsePermissions,\n davRemoteURL,\n davResultToNode,\n davRootPath,\n defaultDavNamespaces,\n defaultDavProperties,\n formatFileSize,\n getDavNameSpaces,\n getDavProperties,\n getFavoriteNodes,\n getFileActions,\n getFileListFilters,\n getFileListHeaders,\n getNavigation,\n getNewFileMenuEntries,\n getUniqueName,\n isFilenameValid,\n orderBy,\n parseFileSize,\n registerDavProperty,\n registerFileAction,\n registerFileListFilter,\n registerFileListHeaders,\n removeNewFileMenuEntry,\n sortNodes,\n unregisterFileListFilter,\n validateFilename\n};\n","\n import API from \"!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../css-loader/dist/cjs.js!./index-Dg3Dlw7h.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../css-loader/dist/cjs.js!./index-Dg3Dlw7h.css\";\n export default content && content.locals ? content.locals : undefined;\n","export class CancelError extends Error {\n\tconstructor(reason) {\n\t\tsuper(reason || 'Promise was canceled');\n\t\tthis.name = 'CancelError';\n\t}\n\n\tget isCanceled() {\n\t\treturn true;\n\t}\n}\n\nconst promiseState = Object.freeze({\n\tpending: Symbol('pending'),\n\tcanceled: Symbol('canceled'),\n\tresolved: Symbol('resolved'),\n\trejected: Symbol('rejected'),\n});\n\nexport default class PCancelable {\n\tstatic fn(userFunction) {\n\t\treturn (...arguments_) => new PCancelable((resolve, reject, onCancel) => {\n\t\t\targuments_.push(onCancel);\n\t\t\tuserFunction(...arguments_).then(resolve, reject);\n\t\t});\n\t}\n\n\t#cancelHandlers = [];\n\t#rejectOnCancel = true;\n\t#state = promiseState.pending;\n\t#promise;\n\t#reject;\n\n\tconstructor(executor) {\n\t\tthis.#promise = new Promise((resolve, reject) => {\n\t\t\tthis.#reject = reject;\n\n\t\t\tconst onResolve = value => {\n\t\t\t\tif (this.#state !== promiseState.canceled || !onCancel.shouldReject) {\n\t\t\t\t\tresolve(value);\n\t\t\t\t\tthis.#setState(promiseState.resolved);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tconst onReject = error => {\n\t\t\t\tif (this.#state !== promiseState.canceled || !onCancel.shouldReject) {\n\t\t\t\t\treject(error);\n\t\t\t\t\tthis.#setState(promiseState.rejected);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tconst onCancel = handler => {\n\t\t\t\tif (this.#state !== promiseState.pending) {\n\t\t\t\t\tthrow new Error(`The \\`onCancel\\` handler was attached after the promise ${this.#state.description}.`);\n\t\t\t\t}\n\n\t\t\t\tthis.#cancelHandlers.push(handler);\n\t\t\t};\n\n\t\t\tObject.defineProperties(onCancel, {\n\t\t\t\tshouldReject: {\n\t\t\t\t\tget: () => this.#rejectOnCancel,\n\t\t\t\t\tset: boolean => {\n\t\t\t\t\t\tthis.#rejectOnCancel = boolean;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t});\n\n\t\t\texecutor(onResolve, onReject, onCancel);\n\t\t});\n\t}\n\n\t// eslint-disable-next-line unicorn/no-thenable\n\tthen(onFulfilled, onRejected) {\n\t\treturn this.#promise.then(onFulfilled, onRejected);\n\t}\n\n\tcatch(onRejected) {\n\t\treturn this.#promise.catch(onRejected);\n\t}\n\n\tfinally(onFinally) {\n\t\treturn this.#promise.finally(onFinally);\n\t}\n\n\tcancel(reason) {\n\t\tif (this.#state !== promiseState.pending) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#setState(promiseState.canceled);\n\n\t\tif (this.#cancelHandlers.length > 0) {\n\t\t\ttry {\n\t\t\t\tfor (const handler of this.#cancelHandlers) {\n\t\t\t\t\thandler();\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tthis.#reject(error);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (this.#rejectOnCancel) {\n\t\t\tthis.#reject(new CancelError(reason));\n\t\t}\n\t}\n\n\tget isCanceled() {\n\t\treturn this.#state === promiseState.canceled;\n\t}\n\n\t#setState(state) {\n\t\tif (this.#state === promiseState.pending) {\n\t\t\tthis.#state = state;\n\t\t}\n\t}\n}\n\nObject.setPrototypeOf(PCancelable.prototype, Promise.prototype);\n","export class TimeoutError extends Error {\n\tconstructor(message) {\n\t\tsuper(message);\n\t\tthis.name = 'TimeoutError';\n\t}\n}\n\n/**\nAn error to be thrown when the request is aborted by AbortController.\nDOMException is thrown instead of this Error when DOMException is available.\n*/\nexport class AbortError extends Error {\n\tconstructor(message) {\n\t\tsuper();\n\t\tthis.name = 'AbortError';\n\t\tthis.message = message;\n\t}\n}\n\n/**\nTODO: Remove AbortError and just throw DOMException when targeting Node 18.\n*/\nconst getDOMException = errorMessage => globalThis.DOMException === undefined\n\t? new AbortError(errorMessage)\n\t: new DOMException(errorMessage);\n\n/**\nTODO: Remove below function and just 'reject(signal.reason)' when targeting Node 18.\n*/\nconst getAbortedReason = signal => {\n\tconst reason = signal.reason === undefined\n\t\t? getDOMException('This operation was aborted.')\n\t\t: signal.reason;\n\n\treturn reason instanceof Error ? reason : getDOMException(reason);\n};\n\nexport default function pTimeout(promise, options) {\n\tconst {\n\t\tmilliseconds,\n\t\tfallback,\n\t\tmessage,\n\t\tcustomTimers = {setTimeout, clearTimeout},\n\t} = options;\n\n\tlet timer;\n\n\tconst wrappedPromise = new Promise((resolve, reject) => {\n\t\tif (typeof milliseconds !== 'number' || Math.sign(milliseconds) !== 1) {\n\t\t\tthrow new TypeError(`Expected \\`milliseconds\\` to be a positive number, got \\`${milliseconds}\\``);\n\t\t}\n\n\t\tif (options.signal) {\n\t\t\tconst {signal} = options;\n\t\t\tif (signal.aborted) {\n\t\t\t\treject(getAbortedReason(signal));\n\t\t\t}\n\n\t\t\tsignal.addEventListener('abort', () => {\n\t\t\t\treject(getAbortedReason(signal));\n\t\t\t});\n\t\t}\n\n\t\tif (milliseconds === Number.POSITIVE_INFINITY) {\n\t\t\tpromise.then(resolve, reject);\n\t\t\treturn;\n\t\t}\n\n\t\t// We create the error outside of `setTimeout` to preserve the stack trace.\n\t\tconst timeoutError = new TimeoutError();\n\n\t\ttimer = customTimers.setTimeout.call(undefined, () => {\n\t\t\tif (fallback) {\n\t\t\t\ttry {\n\t\t\t\t\tresolve(fallback());\n\t\t\t\t} catch (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (typeof promise.cancel === 'function') {\n\t\t\t\tpromise.cancel();\n\t\t\t}\n\n\t\t\tif (message === false) {\n\t\t\t\tresolve();\n\t\t\t} else if (message instanceof Error) {\n\t\t\t\treject(message);\n\t\t\t} else {\n\t\t\t\ttimeoutError.message = message ?? `Promise timed out after ${milliseconds} milliseconds`;\n\t\t\t\treject(timeoutError);\n\t\t\t}\n\t\t}, milliseconds);\n\n\t\t(async () => {\n\t\t\ttry {\n\t\t\t\tresolve(await promise);\n\t\t\t} catch (error) {\n\t\t\t\treject(error);\n\t\t\t}\n\t\t})();\n\t});\n\n\tconst cancelablePromise = wrappedPromise.finally(() => {\n\t\tcancelablePromise.clear();\n\t});\n\n\tcancelablePromise.clear = () => {\n\t\tcustomTimers.clearTimeout.call(undefined, timer);\n\t\ttimer = undefined;\n\t};\n\n\treturn cancelablePromise;\n}\n","import lowerBound from './lower-bound.js';\nexport default class PriorityQueue {\n #queue = [];\n enqueue(run, options) {\n options = {\n priority: 0,\n ...options,\n };\n const element = {\n priority: options.priority,\n run,\n };\n if (this.size && this.#queue[this.size - 1].priority >= options.priority) {\n this.#queue.push(element);\n return;\n }\n const index = lowerBound(this.#queue, element, (a, b) => b.priority - a.priority);\n this.#queue.splice(index, 0, element);\n }\n dequeue() {\n const item = this.#queue.shift();\n return item?.run;\n }\n filter(options) {\n return this.#queue.filter((element) => element.priority === options.priority).map((element) => element.run);\n }\n get size() {\n return this.#queue.length;\n }\n}\n","// Port of lower_bound from https://en.cppreference.com/w/cpp/algorithm/lower_bound\n// Used to compute insertion index to keep queue sorted after insertion\nexport default function lowerBound(array, value, comparator) {\n let first = 0;\n let count = array.length;\n while (count > 0) {\n const step = Math.trunc(count / 2);\n let it = first + step;\n if (comparator(array[it], value) <= 0) {\n first = ++it;\n count -= step + 1;\n }\n else {\n count = step;\n }\n }\n return first;\n}\n","import { EventEmitter } from 'eventemitter3';\nimport pTimeout, { TimeoutError } from 'p-timeout';\nimport PriorityQueue from './priority-queue.js';\n/**\nPromise queue with concurrency control.\n*/\nexport default class PQueue extends EventEmitter {\n #carryoverConcurrencyCount;\n #isIntervalIgnored;\n #intervalCount = 0;\n #intervalCap;\n #interval;\n #intervalEnd = 0;\n #intervalId;\n #timeoutId;\n #queue;\n #queueClass;\n #pending = 0;\n // The `!` is needed because of https://github.com/microsoft/TypeScript/issues/32194\n #concurrency;\n #isPaused;\n #throwOnTimeout;\n /**\n Per-operation timeout in milliseconds. Operations fulfill once `timeout` elapses if they haven't already.\n\n Applies to each future operation.\n */\n timeout;\n // TODO: The `throwOnTimeout` option should affect the return types of `add()` and `addAll()`\n constructor(options) {\n super();\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n options = {\n carryoverConcurrencyCount: false,\n intervalCap: Number.POSITIVE_INFINITY,\n interval: 0,\n concurrency: Number.POSITIVE_INFINITY,\n autoStart: true,\n queueClass: PriorityQueue,\n ...options,\n };\n if (!(typeof options.intervalCap === 'number' && options.intervalCap >= 1)) {\n throw new TypeError(`Expected \\`intervalCap\\` to be a number from 1 and up, got \\`${options.intervalCap?.toString() ?? ''}\\` (${typeof options.intervalCap})`);\n }\n if (options.interval === undefined || !(Number.isFinite(options.interval) && options.interval >= 0)) {\n throw new TypeError(`Expected \\`interval\\` to be a finite number >= 0, got \\`${options.interval?.toString() ?? ''}\\` (${typeof options.interval})`);\n }\n this.#carryoverConcurrencyCount = options.carryoverConcurrencyCount;\n this.#isIntervalIgnored = options.intervalCap === Number.POSITIVE_INFINITY || options.interval === 0;\n this.#intervalCap = options.intervalCap;\n this.#interval = options.interval;\n this.#queue = new options.queueClass();\n this.#queueClass = options.queueClass;\n this.concurrency = options.concurrency;\n this.timeout = options.timeout;\n this.#throwOnTimeout = options.throwOnTimeout === true;\n this.#isPaused = options.autoStart === false;\n }\n get #doesIntervalAllowAnother() {\n return this.#isIntervalIgnored || this.#intervalCount < this.#intervalCap;\n }\n get #doesConcurrentAllowAnother() {\n return this.#pending < this.#concurrency;\n }\n #next() {\n this.#pending--;\n this.#tryToStartAnother();\n this.emit('next');\n }\n #onResumeInterval() {\n this.#onInterval();\n this.#initializeIntervalIfNeeded();\n this.#timeoutId = undefined;\n }\n get #isIntervalPaused() {\n const now = Date.now();\n if (this.#intervalId === undefined) {\n const delay = this.#intervalEnd - now;\n if (delay < 0) {\n // Act as the interval was done\n // We don't need to resume it here because it will be resumed on line 160\n this.#intervalCount = (this.#carryoverConcurrencyCount) ? this.#pending : 0;\n }\n else {\n // Act as the interval is pending\n if (this.#timeoutId === undefined) {\n this.#timeoutId = setTimeout(() => {\n this.#onResumeInterval();\n }, delay);\n }\n return true;\n }\n }\n return false;\n }\n #tryToStartAnother() {\n if (this.#queue.size === 0) {\n // We can clear the interval (\"pause\")\n // Because we can redo it later (\"resume\")\n if (this.#intervalId) {\n clearInterval(this.#intervalId);\n }\n this.#intervalId = undefined;\n this.emit('empty');\n if (this.#pending === 0) {\n this.emit('idle');\n }\n return false;\n }\n if (!this.#isPaused) {\n const canInitializeInterval = !this.#isIntervalPaused;\n if (this.#doesIntervalAllowAnother && this.#doesConcurrentAllowAnother) {\n const job = this.#queue.dequeue();\n if (!job) {\n return false;\n }\n this.emit('active');\n job();\n if (canInitializeInterval) {\n this.#initializeIntervalIfNeeded();\n }\n return true;\n }\n }\n return false;\n }\n #initializeIntervalIfNeeded() {\n if (this.#isIntervalIgnored || this.#intervalId !== undefined) {\n return;\n }\n this.#intervalId = setInterval(() => {\n this.#onInterval();\n }, this.#interval);\n this.#intervalEnd = Date.now() + this.#interval;\n }\n #onInterval() {\n if (this.#intervalCount === 0 && this.#pending === 0 && this.#intervalId) {\n clearInterval(this.#intervalId);\n this.#intervalId = undefined;\n }\n this.#intervalCount = this.#carryoverConcurrencyCount ? this.#pending : 0;\n this.#processQueue();\n }\n /**\n Executes all queued functions until it reaches the limit.\n */\n #processQueue() {\n // eslint-disable-next-line no-empty\n while (this.#tryToStartAnother()) { }\n }\n get concurrency() {\n return this.#concurrency;\n }\n set concurrency(newConcurrency) {\n if (!(typeof newConcurrency === 'number' && newConcurrency >= 1)) {\n throw new TypeError(`Expected \\`concurrency\\` to be a number from 1 and up, got \\`${newConcurrency}\\` (${typeof newConcurrency})`);\n }\n this.#concurrency = newConcurrency;\n this.#processQueue();\n }\n async #throwOnAbort(signal) {\n return new Promise((_resolve, reject) => {\n signal.addEventListener('abort', () => {\n reject(signal.reason);\n }, { once: true });\n });\n }\n async add(function_, options = {}) {\n options = {\n timeout: this.timeout,\n throwOnTimeout: this.#throwOnTimeout,\n ...options,\n };\n return new Promise((resolve, reject) => {\n this.#queue.enqueue(async () => {\n this.#pending++;\n this.#intervalCount++;\n try {\n options.signal?.throwIfAborted();\n let operation = function_({ signal: options.signal });\n if (options.timeout) {\n operation = pTimeout(Promise.resolve(operation), { milliseconds: options.timeout });\n }\n if (options.signal) {\n operation = Promise.race([operation, this.#throwOnAbort(options.signal)]);\n }\n const result = await operation;\n resolve(result);\n this.emit('completed', result);\n }\n catch (error) {\n if (error instanceof TimeoutError && !options.throwOnTimeout) {\n resolve();\n return;\n }\n reject(error);\n this.emit('error', error);\n }\n finally {\n this.#next();\n }\n }, options);\n this.emit('add');\n this.#tryToStartAnother();\n });\n }\n async addAll(functions, options) {\n return Promise.all(functions.map(async (function_) => this.add(function_, options)));\n }\n /**\n Start (or resume) executing enqueued tasks within concurrency limit. No need to call this if queue is not paused (via `options.autoStart = false` or by `.pause()` method.)\n */\n start() {\n if (!this.#isPaused) {\n return this;\n }\n this.#isPaused = false;\n this.#processQueue();\n return this;\n }\n /**\n Put queue execution on hold.\n */\n pause() {\n this.#isPaused = true;\n }\n /**\n Clear the queue.\n */\n clear() {\n this.#queue = new this.#queueClass();\n }\n /**\n Can be called multiple times. Useful if you for example add additional items at a later time.\n\n @returns A promise that settles when the queue becomes empty.\n */\n async onEmpty() {\n // Instantly resolve if the queue is empty\n if (this.#queue.size === 0) {\n return;\n }\n await this.#onEvent('empty');\n }\n /**\n @returns A promise that settles when the queue size is less than the given limit: `queue.size < limit`.\n\n If you want to avoid having the queue grow beyond a certain size you can `await queue.onSizeLessThan()` before adding a new item.\n\n Note that this only limits the number of items waiting to start. There could still be up to `concurrency` jobs already running that this call does not include in its calculation.\n */\n async onSizeLessThan(limit) {\n // Instantly resolve if the queue is empty.\n if (this.#queue.size < limit) {\n return;\n }\n await this.#onEvent('next', () => this.#queue.size < limit);\n }\n /**\n The difference with `.onEmpty` is that `.onIdle` guarantees that all work from the queue has finished. `.onEmpty` merely signals that the queue is empty, but it could mean that some promises haven't completed yet.\n\n @returns A promise that settles when the queue becomes empty, and all promises have completed; `queue.size === 0 && queue.pending === 0`.\n */\n async onIdle() {\n // Instantly resolve if none pending and if nothing else is queued\n if (this.#pending === 0 && this.#queue.size === 0) {\n return;\n }\n await this.#onEvent('idle');\n }\n async #onEvent(event, filter) {\n return new Promise(resolve => {\n const listener = () => {\n if (filter && !filter()) {\n return;\n }\n this.off(event, listener);\n resolve();\n };\n this.on(event, listener);\n });\n }\n /**\n Size of the queue, the number of queued items waiting to run.\n */\n get size() {\n return this.#queue.size;\n }\n /**\n Size of the queue, filtered by the given options.\n\n For example, this can be used to find the number of items remaining in the queue with a specific priority level.\n */\n sizeBy(options) {\n // eslint-disable-next-line unicorn/no-array-callback-reference\n return this.#queue.filter(options).length;\n }\n /**\n Number of running items (no longer in the queue).\n */\n get pending() {\n return this.#pending;\n }\n /**\n Whether the queue is currently paused.\n */\n get isPaused() {\n return this.#isPaused;\n }\n}\n","import isRetryAllowed from 'is-retry-allowed';\nexport const namespace = 'axios-retry';\nexport function isNetworkError(error) {\n const CODE_EXCLUDE_LIST = ['ERR_CANCELED', 'ECONNABORTED'];\n if (error.response) {\n return false;\n }\n if (!error.code) {\n return false;\n }\n // Prevents retrying timed out & cancelled requests\n if (CODE_EXCLUDE_LIST.includes(error.code)) {\n return false;\n }\n // Prevents retrying unsafe errors\n return isRetryAllowed(error);\n}\nconst SAFE_HTTP_METHODS = ['get', 'head', 'options'];\nconst IDEMPOTENT_HTTP_METHODS = SAFE_HTTP_METHODS.concat(['put', 'delete']);\nexport function isRetryableError(error) {\n return (error.code !== 'ECONNABORTED' &&\n (!error.response ||\n error.response.status === 429 ||\n (error.response.status >= 500 && error.response.status <= 599)));\n}\nexport function isSafeRequestError(error) {\n if (!error.config?.method) {\n // Cannot determine if the request can be retried\n return false;\n }\n return isRetryableError(error) && SAFE_HTTP_METHODS.indexOf(error.config.method) !== -1;\n}\nexport function isIdempotentRequestError(error) {\n if (!error.config?.method) {\n // Cannot determine if the request can be retried\n return false;\n }\n return isRetryableError(error) && IDEMPOTENT_HTTP_METHODS.indexOf(error.config.method) !== -1;\n}\nexport function isNetworkOrIdempotentRequestError(error) {\n return isNetworkError(error) || isIdempotentRequestError(error);\n}\nexport function retryAfter(error = undefined) {\n const retryAfterHeader = error?.response?.headers['retry-after'];\n if (!retryAfterHeader) {\n return 0;\n }\n // if the retry after header is a number, convert it to milliseconds\n let retryAfterMs = (Number(retryAfterHeader) || 0) * 1000;\n // If the retry after header is a date, get the number of milliseconds until that date\n if (retryAfterMs === 0) {\n retryAfterMs = (new Date(retryAfterHeader).valueOf() || 0) - Date.now();\n }\n return Math.max(0, retryAfterMs);\n}\nfunction noDelay(_retryNumber = 0, error = undefined) {\n return Math.max(0, retryAfter(error));\n}\nexport function exponentialDelay(retryNumber = 0, error = undefined, delayFactor = 100) {\n const calculatedDelay = 2 ** retryNumber * delayFactor;\n const delay = Math.max(calculatedDelay, retryAfter(error));\n const randomSum = delay * 0.2 * Math.random(); // 0-20% of the delay\n return delay + randomSum;\n}\n/**\n * Linear delay\n * @param {number | undefined} delayFactor - delay factor in milliseconds (default: 100)\n * @returns {function} (retryNumber: number, error: AxiosError | undefined) => number\n */\nexport function linearDelay(delayFactor = 100) {\n return (retryNumber = 0, error = undefined) => {\n const delay = retryNumber * delayFactor;\n return Math.max(delay, retryAfter(error));\n };\n}\nexport const DEFAULT_OPTIONS = {\n retries: 3,\n retryCondition: isNetworkOrIdempotentRequestError,\n retryDelay: noDelay,\n shouldResetTimeout: false,\n onRetry: () => { },\n onMaxRetryTimesExceeded: () => { },\n validateResponse: null\n};\nfunction getRequestOptions(config, defaultOptions) {\n return { ...DEFAULT_OPTIONS, ...defaultOptions, ...config[namespace] };\n}\nfunction setCurrentState(config, defaultOptions, resetLastRequestTime = false) {\n const currentState = getRequestOptions(config, defaultOptions || {});\n currentState.retryCount = currentState.retryCount || 0;\n if (!currentState.lastRequestTime || resetLastRequestTime) {\n currentState.lastRequestTime = Date.now();\n }\n config[namespace] = currentState;\n return currentState;\n}\nfunction fixConfig(axiosInstance, config) {\n // @ts-ignore\n if (axiosInstance.defaults.agent === config.agent) {\n // @ts-ignore\n delete config.agent;\n }\n if (axiosInstance.defaults.httpAgent === config.httpAgent) {\n delete config.httpAgent;\n }\n if (axiosInstance.defaults.httpsAgent === config.httpsAgent) {\n delete config.httpsAgent;\n }\n}\nasync function shouldRetry(currentState, error) {\n const { retries, retryCondition } = currentState;\n const shouldRetryOrPromise = (currentState.retryCount || 0) < retries && retryCondition(error);\n // This could be a promise\n if (typeof shouldRetryOrPromise === 'object') {\n try {\n const shouldRetryPromiseResult = await shouldRetryOrPromise;\n // keep return true unless shouldRetryPromiseResult return false for compatibility\n return shouldRetryPromiseResult !== false;\n }\n catch (_err) {\n return false;\n }\n }\n return shouldRetryOrPromise;\n}\nasync function handleRetry(axiosInstance, currentState, error, config) {\n currentState.retryCount += 1;\n const { retryDelay, shouldResetTimeout, onRetry } = currentState;\n const delay = retryDelay(currentState.retryCount, error);\n // Axios fails merging this configuration to the default configuration because it has an issue\n // with circular structures: https://github.com/mzabriskie/axios/issues/370\n fixConfig(axiosInstance, config);\n if (!shouldResetTimeout && config.timeout && currentState.lastRequestTime) {\n const lastRequestDuration = Date.now() - currentState.lastRequestTime;\n const timeout = config.timeout - lastRequestDuration - delay;\n if (timeout <= 0) {\n return Promise.reject(error);\n }\n config.timeout = timeout;\n }\n config.transformRequest = [(data) => data];\n await onRetry(currentState.retryCount, error, config);\n if (config.signal?.aborted) {\n return Promise.resolve(axiosInstance(config));\n }\n return new Promise((resolve) => {\n const abortListener = () => {\n clearTimeout(timeout);\n resolve(axiosInstance(config));\n };\n const timeout = setTimeout(() => {\n resolve(axiosInstance(config));\n if (config.signal?.removeEventListener) {\n config.signal.removeEventListener('abort', abortListener);\n }\n }, delay);\n if (config.signal?.addEventListener) {\n config.signal.addEventListener('abort', abortListener, { once: true });\n }\n });\n}\nasync function handleMaxRetryTimesExceeded(currentState, error) {\n if (currentState.retryCount >= currentState.retries)\n await currentState.onMaxRetryTimesExceeded(error, currentState.retryCount);\n}\nconst axiosRetry = (axiosInstance, defaultOptions) => {\n const requestInterceptorId = axiosInstance.interceptors.request.use((config) => {\n setCurrentState(config, defaultOptions, true);\n if (config[namespace]?.validateResponse) {\n // by setting this, all HTTP responses will be go through the error interceptor first\n config.validateStatus = () => false;\n }\n return config;\n });\n const responseInterceptorId = axiosInstance.interceptors.response.use(null, async (error) => {\n const { config } = error;\n // If we have no information to retry the request\n if (!config) {\n return Promise.reject(error);\n }\n const currentState = setCurrentState(config, defaultOptions);\n if (error.response && currentState.validateResponse?.(error.response)) {\n // no issue with response\n return error.response;\n }\n if (await shouldRetry(currentState, error)) {\n return handleRetry(axiosInstance, currentState, error, config);\n }\n await handleMaxRetryTimesExceeded(currentState, error);\n return Promise.reject(error);\n });\n return { requestInterceptorId, responseInterceptorId };\n};\n// Compatibility with CommonJS\naxiosRetry.isNetworkError = isNetworkError;\naxiosRetry.isSafeRequestError = isSafeRequestError;\naxiosRetry.isIdempotentRequestError = isIdempotentRequestError;\naxiosRetry.isNetworkOrIdempotentRequestError = isNetworkOrIdempotentRequestError;\naxiosRetry.exponentialDelay = exponentialDelay;\naxiosRetry.linearDelay = linearDelay;\naxiosRetry.isRetryableError = isRetryableError;\nexport default axiosRetry;\n","import '../assets/index-Dg3Dlw7h.css';\nimport { isPublicShare } from \"@nextcloud/sharing/public\";\nimport Vue, { defineComponent, defineAsyncComponent } from \"vue\";\nimport { getCurrentUser } from \"@nextcloud/auth\";\nimport { Folder, Permission, davRootPath, davGetClient, davRemoteURL, InvalidFilenameError, InvalidFilenameErrorReason, NewMenuEntryCategory, validateFilename, getUniqueName, getNewFileMenuEntries } from \"@nextcloud/files\";\nimport { basename, encodePath } from \"@nextcloud/paths\";\nimport { normalize } from \"path\";\nimport axios, { isCancel } from \"@nextcloud/axios\";\nimport PCancelable from \"p-cancelable\";\nimport PQueue from \"p-queue\";\nimport { generateRemoteUrl } from \"@nextcloud/router\";\nimport axiosRetry from \"axios-retry\";\nimport { getGettextBuilder } from \"@nextcloud/l10n/gettext\";\nimport { getLoggerBuilder } from \"@nextcloud/logger\";\nimport { spawnDialog, showInfo, showWarning } from \"@nextcloud/dialogs\";\nimport makeEta from \"simple-eta\";\nimport NcActionButton from \"@nextcloud/vue/dist/Components/NcActionButton.js\";\nimport NcActionCaption from \"@nextcloud/vue/dist/Components/NcActionCaption.js\";\nimport NcActionSeparator from \"@nextcloud/vue/dist/Components/NcActionSeparator.js\";\nimport NcActions from \"@nextcloud/vue/dist/Components/NcActions.js\";\nimport NcButton from \"@nextcloud/vue/dist/Components/NcButton.js\";\nimport NcIconSvgWrapper from \"@nextcloud/vue/dist/Components/NcIconSvgWrapper.js\";\nimport NcProgressBar from \"@nextcloud/vue/dist/Components/NcProgressBar.js\";\nimport NcDialog from \"@nextcloud/vue/dist/Components/NcDialog.js\";\nimport NcTextField from \"@nextcloud/vue/dist/Components/NcTextField.js\";\nimport NcNoteCard from \"@nextcloud/vue/dist/Components/NcNoteCard.js\";\naxiosRetry(axios, { retries: 0 });\nconst uploadData = async function(url, uploadData2, signal, onUploadProgress = () => {\n}, destinationFile = void 0, headers = {}, retries = 5) {\n let data;\n if (uploadData2 instanceof Blob) {\n data = uploadData2;\n } else {\n data = await uploadData2();\n }\n if (destinationFile) {\n headers.Destination = destinationFile;\n }\n if (!headers[\"Content-Type\"]) {\n headers[\"Content-Type\"] = \"application/octet-stream\";\n }\n return await axios.request({\n method: \"PUT\",\n url,\n data,\n signal,\n onUploadProgress,\n headers,\n \"axios-retry\": {\n retries,\n retryDelay: (retryCount, error) => axiosRetry.exponentialDelay(retryCount, error, 1e3)\n }\n });\n};\nconst getChunk = function(file, start, length) {\n if (start === 0 && file.size <= length) {\n return Promise.resolve(new Blob([file], { type: file.type || \"application/octet-stream\" }));\n }\n return Promise.resolve(new Blob([file.slice(start, start + length)], { type: \"application/octet-stream\" }));\n};\nconst initChunkWorkspace = async function(destinationFile = void 0, retries = 5) {\n const chunksWorkspace = generateRemoteUrl(`dav/uploads/${getCurrentUser()?.uid}`);\n const hash = [...Array(16)].map(() => Math.floor(Math.random() * 16).toString(16)).join(\"\");\n const tempWorkspace = `web-file-upload-${hash}`;\n const url = `${chunksWorkspace}/${tempWorkspace}`;\n const headers = destinationFile ? { Destination: destinationFile } : void 0;\n await axios.request({\n method: \"MKCOL\",\n url,\n headers,\n \"axios-retry\": {\n retries,\n retryDelay: (retryCount, error) => axiosRetry.exponentialDelay(retryCount, error, 1e3)\n }\n });\n return url;\n};\nconst getMaxChunksSize = function(fileSize = void 0) {\n const maxChunkSize = window.OC?.appConfig?.files?.max_chunk_size;\n if (maxChunkSize <= 0) {\n return 0;\n }\n if (!Number(maxChunkSize)) {\n return 10 * 1024 * 1024;\n }\n const minimumChunkSize = Math.max(Number(maxChunkSize), 5 * 1024 * 1024);\n if (fileSize === void 0) {\n return minimumChunkSize;\n }\n return Math.max(minimumChunkSize, Math.ceil(fileSize / 1e4));\n};\nvar Status$1 = /* @__PURE__ */ ((Status2) => {\n Status2[Status2[\"INITIALIZED\"] = 0] = \"INITIALIZED\";\n Status2[Status2[\"UPLOADING\"] = 1] = \"UPLOADING\";\n Status2[Status2[\"ASSEMBLING\"] = 2] = \"ASSEMBLING\";\n Status2[Status2[\"FINISHED\"] = 3] = \"FINISHED\";\n Status2[Status2[\"CANCELLED\"] = 4] = \"CANCELLED\";\n Status2[Status2[\"FAILED\"] = 5] = \"FAILED\";\n return Status2;\n})(Status$1 || {});\nclass Upload {\n _source;\n _file;\n _isChunked;\n _chunks;\n _size;\n _uploaded = 0;\n _startTime = 0;\n _status = 0;\n _controller;\n _response = null;\n constructor(source, chunked = false, size, file) {\n const chunks = Math.min(getMaxChunksSize() > 0 ? Math.ceil(size / getMaxChunksSize()) : 1, 1e4);\n this._source = source;\n this._isChunked = chunked && getMaxChunksSize() > 0 && chunks > 1;\n this._chunks = this._isChunked ? chunks : 1;\n this._size = size;\n this._file = file;\n this._controller = new AbortController();\n }\n get source() {\n return this._source;\n }\n get file() {\n return this._file;\n }\n get isChunked() {\n return this._isChunked;\n }\n get chunks() {\n return this._chunks;\n }\n get size() {\n return this._size;\n }\n get startTime() {\n return this._startTime;\n }\n set response(response) {\n this._response = response;\n }\n get response() {\n return this._response;\n }\n get uploaded() {\n return this._uploaded;\n }\n /**\n * Update the uploaded bytes of this upload\n */\n set uploaded(length) {\n if (length >= this._size) {\n this._status = this._isChunked ? 2 : 3;\n this._uploaded = this._size;\n return;\n }\n this._status = 1;\n this._uploaded = length;\n if (this._startTime === 0) {\n this._startTime = (/* @__PURE__ */ new Date()).getTime();\n }\n }\n get status() {\n return this._status;\n }\n /**\n * Update this upload status\n */\n set status(status) {\n this._status = status;\n }\n /**\n * Returns the axios cancel token source\n */\n get signal() {\n return this._controller.signal;\n }\n /**\n * Cancel any ongoing requests linked to this upload\n */\n cancel() {\n this._controller.abort();\n this._status = 4;\n }\n}\nconst isFileSystemDirectoryEntry = (o) => \"FileSystemDirectoryEntry\" in window && o instanceof FileSystemDirectoryEntry;\nconst isFileSystemFileEntry = (o) => \"FileSystemFileEntry\" in window && o instanceof FileSystemFileEntry;\nconst isFileSystemEntry = (o) => \"FileSystemEntry\" in window && o instanceof FileSystemEntry;\nclass Directory extends File {\n _originalName;\n _path;\n _children;\n constructor(path, children) {\n super([], basename(path), { type: \"httpd/unix-directory\", lastModified: 0 });\n this._children = /* @__PURE__ */ new Map();\n this._originalName = basename(path);\n this._path = path;\n if (children) {\n children.forEach((c) => this.addChild(c));\n }\n }\n get size() {\n return this.children.reduce((sum, file) => sum + file.size, 0);\n }\n get lastModified() {\n return this.children.reduce((latest, file) => Math.max(latest, file.lastModified), 0);\n }\n // We need this to keep track of renamed files\n get originalName() {\n return this._originalName;\n }\n get children() {\n return Array.from(this._children.values());\n }\n get webkitRelativePath() {\n return this._path;\n }\n getChild(name) {\n return this._children.get(name) ?? null;\n }\n async addChild(file) {\n const rootPath = this._path && `${this._path}/`;\n if (isFileSystemFileEntry(file)) {\n file = await new Promise((resolve, reject) => file.file(resolve, reject));\n } else if (isFileSystemDirectoryEntry(file)) {\n const reader = file.createReader();\n const entries = await new Promise((resolve, reject) => reader.readEntries(resolve, reject));\n this._children.set(file.name, new Directory(`${rootPath}${file.name}`, entries));\n return;\n }\n file = file;\n const filePath = file.webkitRelativePath ?? file.name;\n if (!filePath.includes(\"/\")) {\n this._children.set(file.name, file);\n } else {\n if (!filePath.startsWith(this._path)) {\n throw new Error(`File ${filePath} is not a child of ${this._path}`);\n }\n const relPath = filePath.slice(rootPath.length);\n const name = basename(relPath);\n if (name === relPath) {\n this._children.set(name, file);\n } else {\n const base = relPath.slice(0, relPath.indexOf(\"/\"));\n if (this._children.has(base)) {\n this._children.get(base).addChild(file);\n } else {\n this._children.set(base, new Directory(`${rootPath}${base}`, [file]));\n }\n }\n }\n }\n}\nconst gtBuilder = getGettextBuilder().detectLocale();\n[{ \"locale\": \"af\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Afrikaans (https://www.transifex.com/nextcloud/teams/64236/af/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"af\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Afrikaans (https://www.transifex.com/nextcloud/teams/64236/af/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: af\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"ar\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Ali <alimahwer@yahoo.com>, 2024\", \"Language-Team\": \"Arabic (https://app.transifex.com/nextcloud/teams/64236/ar/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ar\", \"Plural-Forms\": \"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2024\\nAli <alimahwer@yahoo.com>, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Ali <alimahwer@yahoo.com>, 2024\\nLanguage-Team: Arabic (https://app.transifex.com/nextcloud/teams/64236/ar/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ar\\nPlural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\\n\"] }, '\"{segment}\" is a forbidden file or folder name.': { \"msgid\": '\"{segment}\" is a forbidden file or folder name.', \"msgstr\": ['\"{segment}\" هو اسم ممنوع لملف أو مجلد.'] }, '\"{segment}\" is a forbidden file type.': { \"msgid\": '\"{segment}\" is a forbidden file type.', \"msgstr\": ['\"{segment}\" هو نوع ممنوع أن يكون لملف.'] }, '\"{segment}\" is not allowed inside a file or folder name.': { \"msgid\": '\"{segment}\" is not allowed inside a file or folder name.', \"msgstr\": ['\"{segment}\" هو غير مسموح به في اسم ملف أو مجلد.'] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count} ملف متعارض\", \"{count} ملف متعارض\", \"{count} ملفان متعارضان\", \"{count} ملف متعارض\", \"{count} ملفات متعارضة\", \"{count} ملفات متعارضة\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{count} ملف متعارض في n {dirname}\", \"{count} ملف متعارض في n {dirname}\", \"{count} ملفان متعارضان في n {dirname}\", \"{count} ملف متعارض في n {dirname}\", \"{count} ملفات متعارضة في n {dirname}\", \"{count} ملفات متعارضة في n {dirname}\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"{seconds} ثانية متبقية\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"{time} متبقية\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"باقٍ بضعُ ثوانٍ\"] }, \"Cancel\": { \"msgid\": \"Cancel\", \"msgstr\": [\"إلغاء\"] }, \"Cancel the entire operation\": { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"إلغِ العملية بالكامل\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"إلغاء عمليات رفع الملفات\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"إستمر\"] }, \"Create new\": { \"msgid\": \"Create new\", \"msgstr\": [\"إنشاء جديد\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"تقدير الوقت المتبقي\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"الإصدار الحالي\"] }, 'Filenames must not end with \"{segment}\".': { \"msgid\": 'Filenames must not end with \"{segment}\".', \"msgstr\": ['غير مسموح ان ينتهي اسم الملف بـ \"{segment}\".'] }, \"If you select both versions, the incoming file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"إذا اخترت الاحتفاظ بالنسختين فسيتم إلحاق رقم عداد آخر اسم الملف الوارد.\"] }, \"Invalid filename\": { \"msgid\": \"Invalid filename\", \"msgstr\": [\"اسم ملف غير صحيح\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"تاريخ آخر تعديل غير معلوم\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"جديد\"] }, \"New filename\": { \"msgid\": \"New filename\", \"msgstr\": [\"اسم ملف جديد\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"نسخة جديدة\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"مُجمَّد\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"معاينة الصورة\"] }, \"Rename\": { \"msgid\": \"Rename\", \"msgstr\": [\"تغيير التسمية\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"حدِّد كل صناديق الخيارات\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"حدِّد كل الملفات الموجودة\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"حدِّد كل الملفات الجديدة\"] }, \"Skip\": { \"msgid\": \"Skip\", \"msgstr\": [\"تخطِّي\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"تخطَّ {count} ملف\", \"تخطَّ {count} ملف\", \"تخطَّ {count} ملف\", \"تخطَّ {count} ملف\", \"تخطَّ {count} ملف\", \"تخطَّ {count} ملف\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"حجم غير معلوم\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"رفع ملفات\"] }, \"Upload folders\": { \"msgid\": \"Upload folders\", \"msgstr\": [\"رفع مجلدات\"] }, \"Upload from device\": { \"msgid\": \"Upload from device\", \"msgstr\": [\"الرفع من جهاز \"] }, \"Upload has been cancelled\": { \"msgid\": \"Upload has been cancelled\", \"msgstr\": [\"تمّ إلغاء عملية رفع الملفات\"] }, \"Upload has been skipped\": { \"msgid\": \"Upload has been skipped\", \"msgstr\": [\"تمّ تجاوز الرفع\"] }, 'Upload of \"{folder}\" has been skipped': { \"msgid\": 'Upload of \"{folder}\" has been skipped', \"msgstr\": ['رفع \"{folder}\" تمّ تجاوزه'] }, \"Upload progress\": { \"msgid\": \"Upload progress\", \"msgstr\": [\"تقدُّم الرفع \"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"عند تحديد مجلد وارد، أي ملفات متعارضة بداخله ستتم الكتابة فوقها.\"] }, \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\": { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"عند تحديد مجلد وارد، ستتم كتابة المحتوى في المجلد الموجود و سيتم تنفيذ حل التعارض بشكل تعاوُدي.\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"أيُّ الملفات ترغب في الإبقاء عليها؟\"] }, \"You can either rename the file, skip this file or cancel the whole operation.\": { \"msgid\": \"You can either rename the file, skip this file or cancel the whole operation.\", \"msgstr\": [\"يمكنك إمّا تغيير اسم الملف، أو تجاوزه، أو إلغاء العملية برُمَّتها.\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"يجب أن تختار نسخة واحدة على الأقل من كل ملف للاستمرار.\"] } } } } }, { \"locale\": \"ast\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"enolp <enolp@softastur.org>, 2023\", \"Language-Team\": \"Asturian (https://app.transifex.com/nextcloud/teams/64236/ast/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ast\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nenolp <enolp@softastur.org>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: enolp <enolp@softastur.org>, 2023\\nLanguage-Team: Asturian (https://app.transifex.com/nextcloud/teams/64236/ast/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ast\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count} ficheru en coflictu\", \"{count} ficheros en coflictu\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{count} ficheru en coflictu en {dirname}\", \"{count} ficheros en coflictu en {dirname}\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"Queden {seconds} segundos\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"Tiempu que queda: {time}\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"queden unos segundos\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Encaboxar les xubes\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"Siguir\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"estimando'l tiempu que falta\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"Versión esistente\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the copied file will have a number added to its name.\", \"msgstr\": [\"Si seleiciones dambes versiones, el ficheru copiáu va tener un númberu amestáu al so nome.\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"La data de la última modificación ye desconocida\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Nuevu\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"Versión nueva\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"en posa\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"Previsualizar la imaxe\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Marcar toles caxelles\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Seleicionar tolos ficheros esistentes\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"Seleicionar tolos ficheros nuevos\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"Saltar esti ficheru\", \"Saltar {count} ficheros\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"Tamañu desconocíu\"] }, \"Upload cancelled\": { \"msgid\": \"Upload cancelled\", \"msgstr\": [\"Encaboxóse la xuba\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Xubir ficheros\"] }, \"Upload progress\": { \"msgid\": \"Upload progress\", \"msgstr\": [\"Xuba en cursu\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"¿Qué ficheros quies caltener?\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Tienes de seleicionar polo menos una versión de cada ficheru pa siguir.\"] } } } } }, { \"locale\": \"az\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Rashad Aliyev <microphprashad@gmail.com>, 2023\", \"Language-Team\": \"Azerbaijani (https://app.transifex.com/nextcloud/teams/64236/az/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"az\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nRashad Aliyev <microphprashad@gmail.com>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Rashad Aliyev <microphprashad@gmail.com>, 2023\\nLanguage-Team: Azerbaijani (https://app.transifex.com/nextcloud/teams/64236/az/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: az\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"{seconds} saniyə qalıb\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"time has the format 00:00:00\" }, \"msgstr\": [\"{time} qalıb\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"bir neçə saniyə qalıb\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"Əlavə et\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Yükləməni imtina et\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"Təxmini qalan vaxt\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"pauzadadır\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Faylları yüklə\"] } } } } }, { \"locale\": \"be\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Belarusian (https://www.transifex.com/nextcloud/teams/64236/be/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"be\", \"Plural-Forms\": \"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Belarusian (https://www.transifex.com/nextcloud/teams/64236/be/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: be\\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"bg_BG\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Bulgarian (Bulgaria) (https://www.transifex.com/nextcloud/teams/64236/bg_BG/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"bg_BG\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Bulgarian (Bulgaria) (https://www.transifex.com/nextcloud/teams/64236/bg_BG/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: bg_BG\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"bn_BD\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Bengali (Bangladesh) (https://www.transifex.com/nextcloud/teams/64236/bn_BD/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"bn_BD\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Bengali (Bangladesh) (https://www.transifex.com/nextcloud/teams/64236/bn_BD/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: bn_BD\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"br\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Breton (https://www.transifex.com/nextcloud/teams/64236/br/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"br\", \"Plural-Forms\": \"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Breton (https://www.transifex.com/nextcloud/teams/64236/br/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: br\\nPlural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"bs\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Bosnian (https://www.transifex.com/nextcloud/teams/64236/bs/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"bs\", \"Plural-Forms\": \"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Bosnian (https://www.transifex.com/nextcloud/teams/64236/bs/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: bs\\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"ca\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Toni Hermoso Pulido <toniher@softcatala.cat>, 2022\", \"Language-Team\": \"Catalan (https://www.transifex.com/nextcloud/teams/64236/ca/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ca\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nMarc Riera <marcriera@softcatala.org>, 2022\\nToni Hermoso Pulido <toniher@softcatala.cat>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Toni Hermoso Pulido <toniher@softcatala.cat>, 2022\\nLanguage-Team: Catalan (https://www.transifex.com/nextcloud/teams/64236/ca/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ca\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"Queden {seconds} segons\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"time has the format 00:00:00\" }, \"msgstr\": [\"Queden {time}\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"Queden uns segons\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"Afegeix\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Cancel·la les pujades\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"S'està estimant el temps restant\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"En pausa\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Puja els fitxers\"] } } } } }, { \"locale\": \"cs_CZ\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Pavel Borecki <pavel.borecki@gmail.com>, 2024\", \"Language-Team\": \"Czech (Czech Republic) (https://app.transifex.com/nextcloud/teams/64236/cs_CZ/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"cs_CZ\", \"Plural-Forms\": \"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2024\\nMichal Šmahel <ceskyDJ@seznam.cz>, 2024\\nMartin Hankovec, 2024\\nAppukonrad <appukonrad@gmail.com>, 2024\\nPavel Borecki <pavel.borecki@gmail.com>, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Pavel Borecki <pavel.borecki@gmail.com>, 2024\\nLanguage-Team: Czech (Czech Republic) (https://app.transifex.com/nextcloud/teams/64236/cs_CZ/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: cs_CZ\\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\\n\"] }, '\"{segment}\" is a forbidden file or folder name.': { \"msgid\": '\"{segment}\" is a forbidden file or folder name.', \"msgstr\": [\"„{segment}“ není povoleno použít jako název souboru či složky.\"] }, '\"{segment}\" is a forbidden file type.': { \"msgid\": '\"{segment}\" is a forbidden file type.', \"msgstr\": [\"„{segment}“ není povoleného typu souboru.\"] }, '\"{segment}\" is not allowed inside a file or folder name.': { \"msgid\": '\"{segment}\" is not allowed inside a file or folder name.', \"msgstr\": [\"„{segment}“ není povoleno použít v rámci názvu souboru či složky.\"] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count} kolize souborů\", \"{count} kolize souborů\", \"{count} kolizí souborů\", \"{count} kolize souborů\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{count} kolize souboru v {dirname}\", \"{count} kolize souboru v {dirname}\", \"{count} kolizí souborů v {dirname}\", \"{count} kolize souboru v {dirname}\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"zbývá {seconds}\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"zbývá {time}\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"zbývá několik sekund\"] }, \"Cancel\": { \"msgid\": \"Cancel\", \"msgstr\": [\"Zrušit\"] }, \"Cancel the entire operation\": { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Zrušit celou operaci\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Zrušit nahrávání\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"Pokračovat\"] }, \"Create new\": { \"msgid\": \"Create new\", \"msgstr\": [\"Vytvořit nový\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"odhaduje se zbývající čas\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"Existující verze\"] }, 'Filenames must not end with \"{segment}\".': { \"msgid\": 'Filenames must not end with \"{segment}\".', \"msgstr\": [\"Názvy souborů nemohou končit na „{segment}“.\"] }, \"If you select both versions, the incoming file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Pokud vyberete obě verze, příchozí soubor bude mít ke jménu přidánu číslici.\"] }, \"Invalid filename\": { \"msgid\": \"Invalid filename\", \"msgstr\": [\"Neplatný název souboru\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Neznámé datum poslední úpravy\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Nové\"] }, \"New filename\": { \"msgid\": \"New filename\", \"msgstr\": [\"Nový název souboru\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"Nová verze\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"pozastaveno\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"Náhled obrázku\"] }, \"Rename\": { \"msgid\": \"Rename\", \"msgstr\": [\"Přejmenovat\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Označit všechny zaškrtávací kolonky\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Vybrat veškeré stávající soubory\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"Vybrat veškeré nové soubory\"] }, \"Skip\": { \"msgid\": \"Skip\", \"msgstr\": [\"Přeskočit\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"Přeskočit tento soubor\", \"Přeskočit {count} soubory\", \"Přeskočit {count} souborů\", \"Přeskočit {count} soubory\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"Neznámá velikost\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Nahrát soubory\"] }, \"Upload folders\": { \"msgid\": \"Upload folders\", \"msgstr\": [\"Nahrát složky\"] }, \"Upload from device\": { \"msgid\": \"Upload from device\", \"msgstr\": [\"Nahrát ze zařízení\"] }, \"Upload has been cancelled\": { \"msgid\": \"Upload has been cancelled\", \"msgstr\": [\"Nahrávání bylo zrušeno\"] }, \"Upload has been skipped\": { \"msgid\": \"Upload has been skipped\", \"msgstr\": [\"Nahrání bylo přeskočeno\"] }, 'Upload of \"{folder}\" has been skipped': { \"msgid\": 'Upload of \"{folder}\" has been skipped', \"msgstr\": [\"Nahrání „{folder}“ bylo přeskočeno\"] }, \"Upload progress\": { \"msgid\": \"Upload progress\", \"msgstr\": [\"Postup v nahrávání\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Po výběru příchozí složky budou rovněž přepsány všechny v ní obsažené konfliktní soubory\"] }, \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\": { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Když je vybrána příchozí složka, obsah je zapsán do existující složky a je provedeno rekurzivní řešení kolizí.\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Které soubory si přejete ponechat?\"] }, \"You can either rename the file, skip this file or cancel the whole operation.\": { \"msgid\": \"You can either rename the file, skip this file or cancel the whole operation.\", \"msgstr\": [\"Soubor je možné buď přejmenovat, přeskočit nebo celou operaci zrušit.\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Aby bylo možné pokračovat, je třeba vybrat alespoň jednu verzi od každého souboru.\"] } } } } }, { \"locale\": \"cy_GB\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Welsh (United Kingdom) (https://www.transifex.com/nextcloud/teams/64236/cy_GB/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"cy_GB\", \"Plural-Forms\": \"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Welsh (United Kingdom) (https://www.transifex.com/nextcloud/teams/64236/cy_GB/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: cy_GB\\nPlural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"da\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Rasmus Rosendahl-Kaa, 2024\", \"Language-Team\": \"Danish (https://app.transifex.com/nextcloud/teams/64236/da/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"da\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2024\\nMartin Bonde <Martin@maboni.dk>, 2024\\nRasmus Rosendahl-Kaa, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Rasmus Rosendahl-Kaa, 2024\\nLanguage-Team: Danish (https://app.transifex.com/nextcloud/teams/64236/da/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: da\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, '\"{filename}\" contains invalid characters, how do you want to continue?': { \"msgid\": '\"{filename}\" contains invalid characters, how do you want to continue?', \"msgstr\": ['\"{filename}\" indeholder ugyldige karakterer, vil du stadig fortsætte?'] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count} fil konflikt\", \"{count} filer i konflikt\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{count} fil konflikt i {dirname}\", \"{count} filer i konflikt i {dirname}\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"{sekunder} sekunder tilbage\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"{tid} tilbage\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"et par sekunder tilbage\"] }, \"Cancel\": { \"msgid\": \"Cancel\", \"msgstr\": [\"Annuller\"] }, \"Cancel the entire operation\": { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Annuller hele handlingen\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Annuller uploads\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"Fortsæt\"] }, \"Create new\": { \"msgid\": \"Create new\", \"msgstr\": [\"Opret ny\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"estimering af resterende tid\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"Eksisterende version\"] }, \"If you select both versions, the incoming file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Hvis du vælger begge versioner, vil den indkommende fil have et nummer tilføjet til sit navn.\"] }, \"Invalid file name\": { \"msgid\": \"Invalid file name\", \"msgstr\": [\"Ugyldigt filnavn\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Sidste modifikationsdato ukendt\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Ny\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"Ny version\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"pauset\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"Forhåndsvisning af billede\"] }, \"Rename\": { \"msgid\": \"Rename\", \"msgstr\": [\"Omdøb\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Vælg alle felter\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Vælg alle eksisterende filer\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"Vælg alle nye filer\"] }, \"Skip\": { \"msgid\": \"Skip\", \"msgstr\": [\"Spring over\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"Spring denne fil over\", \"Spring {count} filer over\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"Ukendt størrelse\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Upload filer\"] }, \"Upload folders\": { \"msgid\": \"Upload folders\", \"msgstr\": [\"Upload mapper\"] }, \"Upload from device\": { \"msgid\": \"Upload from device\", \"msgstr\": [\"Upload fra enhed\"] }, \"Upload has been cancelled\": { \"msgid\": \"Upload has been cancelled\", \"msgstr\": [\"Upload er blevet annulleret\"] }, \"Upload progress\": { \"msgid\": \"Upload progress\", \"msgstr\": [\"Upload fremskridt\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Når en indgående mappe er valgt, vil alle modstridende filer i den også blive overskrevet.\"] }, \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\": { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Når en indkommende mappe er valgt, vil dens indhold blive skrevet ind i den eksisterende mappe og en rekursiv konfliktløsning udføres.\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Hvilke filer ønsker du at beholde?\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Du skal vælge mindst én version af hver fil for at fortsætte.\"] } } } } }, { \"locale\": \"de\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Martin Wilichowski, 2024\", \"Language-Team\": \"German (https://app.transifex.com/nextcloud/teams/64236/de/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"de\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2024\\nMario Siegmann <mario_siegmann@web.de>, 2024\\nMartin Wilichowski, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Martin Wilichowski, 2024\\nLanguage-Team: German (https://app.transifex.com/nextcloud/teams/64236/de/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: de\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, '\"{filename}\" contains invalid characters, how do you want to continue?': { \"msgid\": '\"{filename}\" contains invalid characters, how do you want to continue?', \"msgstr\": ['\"{filename}\" enthält ungültige Zeichen. Wie möchten Sie fortfahren?'] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count} Datei-Konflikt\", \"{count} Datei-Konflikte\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{count} Datei-Konflikt in {dirname}\", \"{count} Datei-Konflikte in {dirname}\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"{seconds} Sekunden verbleiben\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"{time} verbleibend\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"ein paar Sekunden verbleiben\"] }, \"Cancel\": { \"msgid\": \"Cancel\", \"msgstr\": [\"Abbrechen\"] }, \"Cancel the entire operation\": { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Den gesamten Vorgang abbrechen\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Hochladen abbrechen\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"Fortsetzen\"] }, \"Create new\": { \"msgid\": \"Create new\", \"msgstr\": [\"Neu erstellen\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"Geschätzte verbleibende Zeit\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"Vorhandene Version\"] }, \"If you select both versions, the incoming file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Wenn du beide Versionen auswählst, wird der eingehenden Datei eine Nummer zum Namen hinzugefügt.\"] }, \"Invalid file name\": { \"msgid\": \"Invalid file name\", \"msgstr\": [\"Ungültiger Dateiname\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Datum der letzten Änderung unbekannt\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Neu\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"Neue Version\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"Pausiert\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"Vorschaubild\"] }, \"Rename\": { \"msgid\": \"Rename\", \"msgstr\": [\"Umbenennen\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Alle Kontrollkästchen aktivieren\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Alle vorhandenen Dateien auswählen\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"Alle neuen Dateien auswählen\"] }, \"Skip\": { \"msgid\": \"Skip\", \"msgstr\": [\"Überspringen\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"Diese Datei überspringen\", \"{count} Dateien überspringen\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"Unbekannte Größe\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Dateien hochladen\"] }, \"Upload folders\": { \"msgid\": \"Upload folders\", \"msgstr\": [\"Ordner hochladen\"] }, \"Upload from device\": { \"msgid\": \"Upload from device\", \"msgstr\": [\"Vom Gerät hochladen\"] }, \"Upload has been cancelled\": { \"msgid\": \"Upload has been cancelled\", \"msgstr\": [\"Das Hochladen wurde abgebrochen\"] }, \"Upload progress\": { \"msgid\": \"Upload progress\", \"msgstr\": [\"Fortschritt beim Hochladen\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Wenn ein eingehender Ordner ausgewählt wird, werden alle darin enthaltenen Konfliktdateien ebenfalls überschrieben.\"] }, \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\": { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Bei Auswahl eines eingehenden Ordners wird der Inhalt in den vorhandenen Ordner geschrieben und eine rekursive Konfliktlösung durchgeführt.\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Welche Dateien möchtest du behalten?\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Du musst mindestens eine Version jeder Datei auswählen, um fortzufahren.\"] } } } } }, { \"locale\": \"de_DE\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Mario Siegmann <mario_siegmann@web.de>, 2024\", \"Language-Team\": \"German (Germany) (https://app.transifex.com/nextcloud/teams/64236/de_DE/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"de_DE\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2024\\nMario Siegmann <mario_siegmann@web.de>, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Mario Siegmann <mario_siegmann@web.de>, 2024\\nLanguage-Team: German (Germany) (https://app.transifex.com/nextcloud/teams/64236/de_DE/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: de_DE\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, '\"{segment}\" is a forbidden file or folder name.': { \"msgid\": '\"{segment}\" is a forbidden file or folder name.', \"msgstr\": ['\"{segment}\" ist ein verbotener Datei- oder Ordnername.'] }, '\"{segment}\" is a forbidden file type.': { \"msgid\": '\"{segment}\" is a forbidden file type.', \"msgstr\": ['\"{segment}\" ist ein verbotener Dateityp.'] }, '\"{segment}\" is not allowed inside a file or folder name.': { \"msgid\": '\"{segment}\" is not allowed inside a file or folder name.', \"msgstr\": ['\"{segment}\" ist in einem Datei- oder Ordnernamen nicht zulässig.'] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count} Datei-Konflikt\", \"{count} Datei-Konflikte\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{count} Datei-Konflikt in {dirname}\", \"{count} Datei-Konflikte in {dirname}\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"{seconds} Sekunden verbleiben\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"{time} verbleibend\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"ein paar Sekunden verbleiben\"] }, \"Cancel\": { \"msgid\": \"Cancel\", \"msgstr\": [\"Abbrechen\"] }, \"Cancel the entire operation\": { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Den gesamten Vorgang abbrechen\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Hochladen abbrechen\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"Fortsetzen\"] }, \"Create new\": { \"msgid\": \"Create new\", \"msgstr\": [\"Neu erstellen\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"Geschätzte verbleibende Zeit\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"Vorhandene Version\"] }, 'Filenames must not end with \"{segment}\".': { \"msgid\": 'Filenames must not end with \"{segment}\".', \"msgstr\": ['Dateinamen dürfen nicht mit \"{segment}\" enden.'] }, \"If you select both versions, the incoming file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Wenn Sie beide Versionen auswählen, wird der eingehenden Datei eine Nummer zum Namen hinzugefügt.\"] }, \"Invalid filename\": { \"msgid\": \"Invalid filename\", \"msgstr\": [\"Ungültiger Dateiname\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Datum der letzten Änderung unbekannt\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Neu\"] }, \"New filename\": { \"msgid\": \"New filename\", \"msgstr\": [\"Neuer Dateiname\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"Neue Version\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"Pausiert\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"Vorschaubild\"] }, \"Rename\": { \"msgid\": \"Rename\", \"msgstr\": [\"Umbenennen\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Alle Kontrollkästchen aktivieren\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Alle vorhandenen Dateien auswählen\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"Alle neuen Dateien auswählen\"] }, \"Skip\": { \"msgid\": \"Skip\", \"msgstr\": [\"Überspringen\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"{count} Datei überspringen\", \"{count} Dateien überspringen\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"Unbekannte Größe\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Dateien hochladen\"] }, \"Upload folders\": { \"msgid\": \"Upload folders\", \"msgstr\": [\"Ordner hochladen\"] }, \"Upload from device\": { \"msgid\": \"Upload from device\", \"msgstr\": [\"Vom Gerät hochladen\"] }, \"Upload has been cancelled\": { \"msgid\": \"Upload has been cancelled\", \"msgstr\": [\"Das Hochladen wurde abgebrochen\"] }, \"Upload has been skipped\": { \"msgid\": \"Upload has been skipped\", \"msgstr\": [\"Das Hochladen wurde übersprungen\"] }, 'Upload of \"{folder}\" has been skipped': { \"msgid\": 'Upload of \"{folder}\" has been skipped', \"msgstr\": ['Das Hochladen von \"{folder}\" wurde übersprungen'] }, \"Upload progress\": { \"msgid\": \"Upload progress\", \"msgstr\": [\"Fortschritt beim Hochladen\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Wenn ein eingehender Ordner ausgewählt wird, werden alle darin enthaltenen Konfliktdateien ebenfalls überschrieben.\"] }, \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\": { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Bei Auswahl eines eingehenden Ordners wird der Inhalt in den vorhandenen Ordner geschrieben und eine rekursive Konfliktlösung durchgeführt.\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Welche Dateien möchten Sie behalten?\"] }, \"You can either rename the file, skip this file or cancel the whole operation.\": { \"msgid\": \"You can either rename the file, skip this file or cancel the whole operation.\", \"msgstr\": [\"Sie können die Datei entweder umbenennen, diese Datei überspringen oder den gesamten Vorgang abbrechen.\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Sie müssen mindestens eine Version jeder Datei auswählen, um fortzufahren.\"] } } } } }, { \"locale\": \"el\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Nik Pap, 2022\", \"Language-Team\": \"Greek (https://www.transifex.com/nextcloud/teams/64236/el/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"el\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nNik Pap, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Nik Pap, 2022\\nLanguage-Team: Greek (https://www.transifex.com/nextcloud/teams/64236/el/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: el\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"απομένουν {seconds} δευτερόλεπτα\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"time has the format 00:00:00\" }, \"msgstr\": [\"απομένουν {time}\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"απομένουν λίγα δευτερόλεπτα\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"Προσθήκη\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Ακύρωση μεταφορτώσεων\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"εκτίμηση του χρόνου που απομένει\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"σε παύση\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Μεταφόρτωση αρχείων\"] } } } } }, { \"locale\": \"en_GB\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Andi Chandler <andi@gowling.com>, 2024\", \"Language-Team\": \"English (United Kingdom) (https://app.transifex.com/nextcloud/teams/64236/en_GB/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"en_GB\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2024\\nAndi Chandler <andi@gowling.com>, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Andi Chandler <andi@gowling.com>, 2024\\nLanguage-Team: English (United Kingdom) (https://app.transifex.com/nextcloud/teams/64236/en_GB/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: en_GB\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, '\"{segment}\" is a forbidden file or folder name.': { \"msgid\": '\"{segment}\" is a forbidden file or folder name.', \"msgstr\": ['\"{segment}\" is a forbidden file or folder name.'] }, '\"{segment}\" is a forbidden file type.': { \"msgid\": '\"{segment}\" is a forbidden file type.', \"msgstr\": ['\"{segment}\" is a forbidden file type.'] }, '\"{segment}\" is not allowed inside a file or folder name.': { \"msgid\": '\"{segment}\" is not allowed inside a file or folder name.', \"msgstr\": ['\"{segment}\" is not allowed inside a file or folder name.'] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count} file conflict\", \"{count} files conflict\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{count} file conflict in {dirname}\", \"{count} file conflicts in {dirname}\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"{seconds} seconds left\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"{time} left\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"a few seconds left\"] }, \"Cancel\": { \"msgid\": \"Cancel\", \"msgstr\": [\"Cancel\"] }, \"Cancel the entire operation\": { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Cancel the entire operation\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Cancel uploads\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"Continue\"] }, \"Create new\": { \"msgid\": \"Create new\", \"msgstr\": [\"Create new\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"estimating time left\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"Existing version\"] }, 'Filenames must not end with \"{segment}\".': { \"msgid\": 'Filenames must not end with \"{segment}\".', \"msgstr\": ['Filenames must not end with \"{segment}\".'] }, \"If you select both versions, the incoming file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"If you select both versions, the incoming file will have a number added to its name.\"] }, \"Invalid filename\": { \"msgid\": \"Invalid filename\", \"msgstr\": [\"Invalid filename\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Last modified date unknown\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"New\"] }, \"New filename\": { \"msgid\": \"New filename\", \"msgstr\": [\"New filename\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"New version\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"paused\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"Preview image\"] }, \"Rename\": { \"msgid\": \"Rename\", \"msgstr\": [\"Rename\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Select all checkboxes\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Select all existing files\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"Select all new files\"] }, \"Skip\": { \"msgid\": \"Skip\", \"msgstr\": [\"Skip\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"Skip this file\", \"Skip {count} files\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"Unknown size\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Upload files\"] }, \"Upload folders\": { \"msgid\": \"Upload folders\", \"msgstr\": [\"Upload folders\"] }, \"Upload from device\": { \"msgid\": \"Upload from device\", \"msgstr\": [\"Upload from device\"] }, \"Upload has been cancelled\": { \"msgid\": \"Upload has been cancelled\", \"msgstr\": [\"Upload has been cancelled\"] }, \"Upload has been skipped\": { \"msgid\": \"Upload has been skipped\", \"msgstr\": [\"Upload has been skipped\"] }, 'Upload of \"{folder}\" has been skipped': { \"msgid\": 'Upload of \"{folder}\" has been skipped', \"msgstr\": ['Upload of \"{folder}\" has been skipped'] }, \"Upload progress\": { \"msgid\": \"Upload progress\", \"msgstr\": [\"Upload progress\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"When an incoming folder is selected, any conflicting files within it will also be overwritten.\"] }, \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\": { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Which files do you want to keep?\"] }, \"You can either rename the file, skip this file or cancel the whole operation.\": { \"msgid\": \"You can either rename the file, skip this file or cancel the whole operation.\", \"msgstr\": [\"You can either rename the file, skip this file or cancel the whole operation.\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"You need to select at least one version of each file to continue.\"] } } } } }, { \"locale\": \"eo\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Esperanto (https://www.transifex.com/nextcloud/teams/64236/eo/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"eo\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Esperanto (https://www.transifex.com/nextcloud/teams/64236/eo/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: eo\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Julio C. Ortega, 2024\", \"Language-Team\": \"Spanish (https://app.transifex.com/nextcloud/teams/64236/es/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2024\\nFranciscoFJ <dev-ooo@satel-sa.com>, 2024\\nJulio C. Ortega, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Julio C. Ortega, 2024\\nLanguage-Team: Spanish (https://app.transifex.com/nextcloud/teams/64236/es/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, '\"{filename}\" contains invalid characters, how do you want to continue?': { \"msgid\": '\"{filename}\" contains invalid characters, how do you want to continue?', \"msgstr\": ['\"{filename}\" contiene caracteres inválidos, ¿cómo desea continuar?'] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count} conflicto de archivo\", \"{count} conflictos de archivo\", \"{count} conflictos de archivo\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{count} conflicto de archivo en {dirname}\", \"{count} conflictos de archivo en {dirname}\", \"{count} conflictos de archivo en {dirname}\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"{seconds} segundos restantes\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"{time} restante\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"quedan unos segundos\"] }, \"Cancel\": { \"msgid\": \"Cancel\", \"msgstr\": [\"Cancelar\"] }, \"Cancel the entire operation\": { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Cancelar toda la operación\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Cancelar subidas\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"Continuar\"] }, \"Create new\": { \"msgid\": \"Create new\", \"msgstr\": [\"Crear nuevo\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"estimando tiempo restante\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"Versión existente\"] }, \"If you select both versions, the incoming file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Si selecciona ambas versionas, el archivo entrante le será agregado un número a su nombre.\"] }, \"Invalid file name\": { \"msgid\": \"Invalid file name\", \"msgstr\": [\"Nombre de archivo inválido\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Última fecha de modificación desconocida\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Nuevo\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"Nueva versión\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"pausado\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"Previsualizar imagen\"] }, \"Rename\": { \"msgid\": \"Rename\", \"msgstr\": [\"Renombrar\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Seleccionar todas las casillas de verificación\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Seleccionar todos los archivos existentes\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"Seleccionar todos los archivos nuevos\"] }, \"Skip\": { \"msgid\": \"Skip\", \"msgstr\": [\"Saltar\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"Saltar este archivo\", \"Saltar {count} archivos\", \"Saltar {count} archivos\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"Tamaño desconocido\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Subir archivos\"] }, \"Upload folders\": { \"msgid\": \"Upload folders\", \"msgstr\": [\"Subir carpetas\"] }, \"Upload from device\": { \"msgid\": \"Upload from device\", \"msgstr\": [\"Subir desde dispositivo\"] }, \"Upload has been cancelled\": { \"msgid\": \"Upload has been cancelled\", \"msgstr\": [\"La subida ha sido cancelada\"] }, \"Upload progress\": { \"msgid\": \"Upload progress\", \"msgstr\": [\"Progreso de la subida\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Cuando una carpeta entrante es seleccionada, cualquier de los archivos en conflictos también serán sobre-escritos.\"] }, \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\": { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Cuando una carpeta entrante es seleccionada, el contenido es escrito en la carpeta existente y se realizará una resolución de conflictos recursiva.\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"¿Qué archivos desea conservar?\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Debe seleccionar al menos una versión de cada archivo para continuar.\"] } } } } }, { \"locale\": \"es_419\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"ALEJANDRO CASTRO, 2022\", \"Language-Team\": \"Spanish (Latin America) (https://www.transifex.com/nextcloud/teams/64236/es_419/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_419\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nALEJANDRO CASTRO, 2022\\n\" }, \"msgstr\": [\"Last-Translator: ALEJANDRO CASTRO, 2022\\nLanguage-Team: Spanish (Latin America) (https://www.transifex.com/nextcloud/teams/64236/es_419/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_419\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"{seconds} segundos restantes\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"time has the format 00:00:00\" }, \"msgstr\": [\"{tiempo} restante\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"quedan pocos segundos\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"agregar\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Cancelar subidas\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"estimando tiempo restante\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"pausado\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Subir archivos\"] } } } } }, { \"locale\": \"es_AR\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Matías Campo Hoet <matiascampo@gmail.com>, 2024\", \"Language-Team\": \"Spanish (Argentina) (https://app.transifex.com/nextcloud/teams/64236/es_AR/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_AR\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2024\\nMatías Campo Hoet <matiascampo@gmail.com>, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Matías Campo Hoet <matiascampo@gmail.com>, 2024\\nLanguage-Team: Spanish (Argentina) (https://app.transifex.com/nextcloud/teams/64236/es_AR/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_AR\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, '\"{filename}\" contains invalid characters, how do you want to continue?': { \"msgid\": '\"{filename}\" contains invalid characters, how do you want to continue?', \"msgstr\": ['\"{filename}\" contiene caracteres inválidos, ¿cómo desea continuar?'] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count} conflicto de archivo\", \"{count} conflictos de archivo\", \"{count} conflictos de archivo\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{count} conflicto de archivo en {dirname}\", \"{count} conflictos de archivo en {dirname}\", \"{count} conflictos de archivo en {dirname}\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"{seconds} segundos restantes\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"{time} restante\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"quedan unos segundos\"] }, \"Cancel\": { \"msgid\": \"Cancel\", \"msgstr\": [\"Cancelar\"] }, \"Cancel the entire operation\": { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Cancelar toda la operación\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Cancelar subidas\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"Continuar\"] }, \"Create new\": { \"msgid\": \"Create new\", \"msgstr\": [\"Crear nuevo\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"estimando tiempo restante\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"Versión existente\"] }, \"If you select both versions, the incoming file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Si selecciona ambas versionas, se agregará un número al nombre del archivo entrante.\"] }, \"Invalid file name\": { \"msgid\": \"Invalid file name\", \"msgstr\": [\"Nombre de archivo inválido\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Fecha de última modificación desconocida\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Nuevo\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"Nueva versión\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"pausado\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"Vista previa de imagen\"] }, \"Rename\": { \"msgid\": \"Rename\", \"msgstr\": [\"Renombrar\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Seleccionar todas las casillas de verificación\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Seleccionar todos los archivos existentes\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"Seleccionar todos los archivos nuevos\"] }, \"Skip\": { \"msgid\": \"Skip\", \"msgstr\": [\"Omitir\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"Omitir este archivo\", \"Omitir {count} archivos\", \"Omitir {count} archivos\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"Tamaño desconocido\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Cargar archivos\"] }, \"Upload folders\": { \"msgid\": \"Upload folders\", \"msgstr\": [\"Cargar carpetas\"] }, \"Upload from device\": { \"msgid\": \"Upload from device\", \"msgstr\": [\"Cargar desde dispositivo\"] }, \"Upload has been cancelled\": { \"msgid\": \"Upload has been cancelled\", \"msgstr\": [\"Carga cancelada\"] }, \"Upload progress\": { \"msgid\": \"Upload progress\", \"msgstr\": [\"Progreso de la carga\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Cuando una carpeta entrante es seleccionada, cualquier archivo en conflicto dentro de la misma también serán sobreescritos.\"] }, \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\": { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Cuando una carpeta entrante es seleccionada, el contenido se escribe en la carpeta existente y se realiza una resolución de conflictos recursiva.\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"¿Qué archivos desea conservar?\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Debe seleccionar al menos una versión de cada archivo para continuar.\"] } } } } }, { \"locale\": \"es_CL\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Chile) (https://www.transifex.com/nextcloud/teams/64236/es_CL/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_CL\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Spanish (Chile) (https://www.transifex.com/nextcloud/teams/64236/es_CL/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_CL\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es_CO\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Colombia) (https://www.transifex.com/nextcloud/teams/64236/es_CO/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_CO\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Spanish (Colombia) (https://www.transifex.com/nextcloud/teams/64236/es_CO/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_CO\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es_CR\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Costa Rica) (https://www.transifex.com/nextcloud/teams/64236/es_CR/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_CR\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Spanish (Costa Rica) (https://www.transifex.com/nextcloud/teams/64236/es_CR/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_CR\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es_DO\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Dominican Republic) (https://www.transifex.com/nextcloud/teams/64236/es_DO/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_DO\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Spanish (Dominican Republic) (https://www.transifex.com/nextcloud/teams/64236/es_DO/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_DO\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es_EC\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Ecuador) (https://www.transifex.com/nextcloud/teams/64236/es_EC/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_EC\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Spanish (Ecuador) (https://www.transifex.com/nextcloud/teams/64236/es_EC/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_EC\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es_GT\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Guatemala) (https://www.transifex.com/nextcloud/teams/64236/es_GT/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_GT\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Spanish (Guatemala) (https://www.transifex.com/nextcloud/teams/64236/es_GT/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_GT\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es_HN\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Honduras) (https://www.transifex.com/nextcloud/teams/64236/es_HN/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_HN\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Spanish (Honduras) (https://www.transifex.com/nextcloud/teams/64236/es_HN/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_HN\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es_MX\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Jehu Marcos Herrera Puentes, 2024\", \"Language-Team\": \"Spanish (Mexico) (https://app.transifex.com/nextcloud/teams/64236/es_MX/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_MX\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2024\\nJehu Marcos Herrera Puentes, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Jehu Marcos Herrera Puentes, 2024\\nLanguage-Team: Spanish (Mexico) (https://app.transifex.com/nextcloud/teams/64236/es_MX/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_MX\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, '\"{filename}\" contains invalid characters, how do you want to continue?': { \"msgid\": '\"{filename}\" contains invalid characters, how do you want to continue?', \"msgstr\": ['\"{filename}\" contiene caracteres inválidos, ¿Cómo desea continuar?'] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count} conflicto de archivo\", \"{count} conflictos de archivo\", \"{count} archivos en conflicto\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{count} archivo en conflicto en {dirname}\", \"{count} archivos en conflicto en {dirname}\", \"{count} archivo en conflicto en {dirname}\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"{seconds} segundos restantes\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"{tiempo} restante\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"quedan pocos segundos\"] }, \"Cancel\": { \"msgid\": \"Cancel\", \"msgstr\": [\"Cancelar\"] }, \"Cancel the entire operation\": { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Cancelar toda la operación\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Cancelar subidas\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"Continuar\"] }, \"Create new\": { \"msgid\": \"Create new\", \"msgstr\": [\"Crear nuevo\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"estimando tiempo restante\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"Versión existente\"] }, \"If you select both versions, the incoming file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Si selecciona ambas versionas, se agregará un número al nombre del archivo entrante.\"] }, \"Invalid file name\": { \"msgid\": \"Invalid file name\", \"msgstr\": [\"Nombre de archivo inválido\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Fecha de última modificación desconocida\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Nuevo\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"Nueva versión\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"en pausa\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"Previsualizar imagen\"] }, \"Rename\": { \"msgid\": \"Rename\", \"msgstr\": [\"Renombrar\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Seleccionar todas las casillas de verificación\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Seleccionar todos los archivos existentes\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"Seleccionar todos los archivos nuevos\"] }, \"Skip\": { \"msgid\": \"Skip\", \"msgstr\": [\"Omitir\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"Omitir este archivo\", \"Omitir {count} archivos\", \"Omitir {count} archivos\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"Tamaño desconocido\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Subir archivos\"] }, \"Upload folders\": { \"msgid\": \"Upload folders\", \"msgstr\": [\"Subir carpetas\"] }, \"Upload from device\": { \"msgid\": \"Upload from device\", \"msgstr\": [\"Subir desde dispositivo\"] }, \"Upload has been cancelled\": { \"msgid\": \"Upload has been cancelled\", \"msgstr\": [\"La subida ha sido cancelada\"] }, \"Upload progress\": { \"msgid\": \"Upload progress\", \"msgstr\": [\"Progreso de la subida\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Cuando una carpeta entrante es seleccionada, cualquier archivo en conflicto dentro de la misma también será sobrescrito.\"] }, \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\": { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Cuando una carpeta entrante es seleccionada, el contenido se escribe en la carpeta existente y se realiza una resolución de conflictos recursiva.\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"¿Cuáles archivos desea conservar?\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Debe seleccionar al menos una versión de cada archivo para continuar.\"] } } } } }, { \"locale\": \"es_NI\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Nicaragua) (https://www.transifex.com/nextcloud/teams/64236/es_NI/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_NI\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Spanish (Nicaragua) (https://www.transifex.com/nextcloud/teams/64236/es_NI/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_NI\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es_PA\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Panama) (https://www.transifex.com/nextcloud/teams/64236/es_PA/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_PA\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Spanish (Panama) (https://www.transifex.com/nextcloud/teams/64236/es_PA/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_PA\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es_PE\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Peru) (https://www.transifex.com/nextcloud/teams/64236/es_PE/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_PE\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Spanish (Peru) (https://www.transifex.com/nextcloud/teams/64236/es_PE/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_PE\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es_PR\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Puerto Rico) (https://www.transifex.com/nextcloud/teams/64236/es_PR/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_PR\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Spanish (Puerto Rico) (https://www.transifex.com/nextcloud/teams/64236/es_PR/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_PR\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es_PY\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Paraguay) (https://www.transifex.com/nextcloud/teams/64236/es_PY/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_PY\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Spanish (Paraguay) (https://www.transifex.com/nextcloud/teams/64236/es_PY/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_PY\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es_SV\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (El Salvador) (https://www.transifex.com/nextcloud/teams/64236/es_SV/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_SV\", \"Plural-Forms\": \"nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Spanish (El Salvador) (https://www.transifex.com/nextcloud/teams/64236/es_SV/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_SV\\nPlural-Forms: nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es_UY\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Spanish (Uruguay) (https://www.transifex.com/nextcloud/teams/64236/es_UY/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_UY\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Spanish (Uruguay) (https://www.transifex.com/nextcloud/teams/64236/es_UY/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_UY\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"et_EE\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Taavo Roos, 2023\", \"Language-Team\": \"Estonian (Estonia) (https://app.transifex.com/nextcloud/teams/64236/et_EE/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"et_EE\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nMait R, 2022\\nTaavo Roos, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Taavo Roos, 2023\\nLanguage-Team: Estonian (Estonia) (https://app.transifex.com/nextcloud/teams/64236/et_EE/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: et_EE\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"{seconds} jäänud sekundid\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"time has the format 00:00:00\" }, \"msgstr\": [\"{time} aega jäänud\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"jäänud mõni sekund\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"Lisa\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Tühista üleslaadimine\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"hinnanguline järelejäänud aeg\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"pausil\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Lae failid üles\"] } } } } }, { \"locale\": \"eu\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Unai Tolosa Pontesta <utolosa002@gmail.com>, 2022\", \"Language-Team\": \"Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"eu\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nUnai Tolosa Pontesta <utolosa002@gmail.com>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Unai Tolosa Pontesta <utolosa002@gmail.com>, 2022\\nLanguage-Team: Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: eu\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"{seconds} segundo geratzen dira\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"time has the format 00:00:00\" }, \"msgstr\": [\"{time} geratzen da\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"segundo batzuk geratzen dira\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"Gehitu\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Ezeztatu igoerak\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"kalkulatutako geratzen den denbora\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"geldituta\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Igo fitxategiak\"] } } } } }, { \"locale\": \"fa\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Fatemeh Komeily, 2023\", \"Language-Team\": \"Persian (https://app.transifex.com/nextcloud/teams/64236/fa/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"fa\", \"Plural-Forms\": \"nplurals=2; plural=(n > 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nFatemeh Komeily, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Fatemeh Komeily, 2023\\nLanguage-Team: Persian (https://app.transifex.com/nextcloud/teams/64236/fa/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: fa\\nPlural-Forms: nplurals=2; plural=(n > 1);\\n\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"ثانیه های باقی مانده\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"time has the format 00:00:00\" }, \"msgstr\": [\"باقی مانده\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"چند ثانیه مانده\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"اضافه کردن\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"کنسل کردن فایل های اپلود شده\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"تخمین زمان باقی مانده\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"مکث کردن\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"بارگذاری فایل ها\"] } } } } }, { \"locale\": \"fi_FI\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"thingumy, 2024\", \"Language-Team\": \"Finnish (Finland) (https://app.transifex.com/nextcloud/teams/64236/fi_FI/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"fi_FI\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2024\\nJiri Grönroos <jiri.gronroos@iki.fi>, 2024\\nthingumy, 2024\\n\" }, \"msgstr\": [\"Last-Translator: thingumy, 2024\\nLanguage-Team: Finnish (Finland) (https://app.transifex.com/nextcloud/teams/64236/fi_FI/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: fi_FI\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, '\"{filename}\" contains invalid characters, how do you want to continue?': { \"msgid\": '\"{filename}\" contains invalid characters, how do you want to continue?', \"msgstr\": ['\"{filename}\" sisältää virheellisiä merkkejä, miten haluat jatkaa?'] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count} tiedoston ristiriita\", \"{count} tiedoston ristiriita\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{count} tiedoston ristiriita kansiossa {dirname}\", \"{count} tiedoston ristiriita kansiossa {dirname}\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"{seconds} sekuntia jäljellä\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"{time} jäljellä\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"muutama sekunti jäljellä\"] }, \"Cancel\": { \"msgid\": \"Cancel\", \"msgstr\": [\"Peruuta\"] }, \"Cancel the entire operation\": { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Peruuta koko toimenpide\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Peruuta lähetykset\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"Jatka\"] }, \"Create new\": { \"msgid\": \"Create new\", \"msgstr\": [\"Luo uusi\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"arvioidaan jäljellä olevaa aikaa\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"Olemassa oleva versio\"] }, \"If you select both versions, the incoming file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Jos valitset molemmat versiot, saapuvan tiedoston nimeen lisätään numero.\"] }, \"Invalid file name\": { \"msgid\": \"Invalid file name\", \"msgstr\": [\"Virheellinen tiedostonimi\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Viimeisin muokkauspäivä on tuntematon\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Uusi\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"Uusi versio\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"keskeytetty\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"Esikatsele kuva\"] }, \"Rename\": { \"msgid\": \"Rename\", \"msgstr\": [\"Nimeä uudelleen\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Valitse kaikki valintaruudut\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Valitse kaikki olemassa olevat tiedostot\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"Valitse kaikki uudet tiedostot\"] }, \"Skip\": { \"msgid\": \"Skip\", \"msgstr\": [\"Ohita\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"Ohita tämä tiedosto\", \"Ohita {count} tiedostoa\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"Tuntematon koko\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Lähetä tiedostoja\"] }, \"Upload folders\": { \"msgid\": \"Upload folders\", \"msgstr\": [\"Lähetä kansioita\"] }, \"Upload from device\": { \"msgid\": \"Upload from device\", \"msgstr\": [\"Lähetä laitteelta\"] }, \"Upload has been cancelled\": { \"msgid\": \"Upload has been cancelled\", \"msgstr\": [\"Lähetys on peruttu\"] }, \"Upload progress\": { \"msgid\": \"Upload progress\", \"msgstr\": [\"Lähetyksen edistyminen\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Valittuasi saapuvien kansion, kaikki ristiriitaiset tiedostot kansiossa ylikirjoitetaan.\"] }, \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\": { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Valittuasi saapuvien kansion, sisältö kirjoitetaan olemassaolevaan kansioon ja suoritetaan rekursiivinen ristiriitojen poisto.\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Mitkä tiedostot haluat säilyttää?\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Sinun täytyy valita vähintään yksi versio jokaisesta tiedostosta jatkaaksesi.\"] } } } } }, { \"locale\": \"fo\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Faroese (https://www.transifex.com/nextcloud/teams/64236/fo/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"fo\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Faroese (https://www.transifex.com/nextcloud/teams/64236/fo/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: fo\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"fr\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"jed boulahya, 2024\", \"Language-Team\": \"French (https://app.transifex.com/nextcloud/teams/64236/fr/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"fr\", \"Plural-Forms\": \"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2024\\nBenoit Pruneau, 2024\\njed boulahya, 2024\\n\" }, \"msgstr\": [\"Last-Translator: jed boulahya, 2024\\nLanguage-Team: French (https://app.transifex.com/nextcloud/teams/64236/fr/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: fr\\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count} fichier en conflit\", \"{count} fichiers en conflit\", \"{count} fichiers en conflit\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{count} fichier en conflit dans {dirname}\", \"{count} fichiers en conflit dans {dirname}\", \"{count} fichiers en conflit dans {dirname}\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"{seconds} secondes restantes\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"{time} restant\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"quelques secondes restantes\"] }, \"Cancel\": { \"msgid\": \"Cancel\", \"msgstr\": [\"Annuler\"] }, \"Cancel the entire operation\": { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Annuler l'opération entière\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Annuler les envois\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"Continuer\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"estimation du temps restant\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"Version existante\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the copied file will have a number added to its name.\", \"msgstr\": [\"Si vous sélectionnez les deux versions, le fichier copié aura un numéro ajouté àname.\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Date de la dernière modification est inconnue\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Nouveau\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"Nouvelle version\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"en pause\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"Aperçu de l'image\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Sélectionner toutes les cases à cocher\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Sélectionner tous les fichiers existants\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"Sélectionner tous les nouveaux fichiers\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"Ignorer ce fichier\", \"Ignorer {count} fichiers\", \"Ignorer {count} fichiers\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"Taille inconnue\"] }, \"Upload cancelled\": { \"msgid\": \"Upload cancelled\", \"msgstr\": [\" annulé\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Téléchargement des fichiers\"] }, \"Upload progress\": { \"msgid\": \"Upload progress\", \"msgstr\": [\"Progression du téléchargement\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Lorsqu'un dossier entrant est sélectionné, tous les fichiers en conflit qu'il contient seront également écrasés.\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Quels fichiers souhaitez-vous conserver ?\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Vous devez sélectionner au moins une version de chaque fichier pour continuer.\"] } } } } }, { \"locale\": \"ga\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Aindriú Mac Giolla Eoin, 2024\", \"Language-Team\": \"Irish (https://app.transifex.com/nextcloud/teams/64236/ga/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ga\", \"Plural-Forms\": \"nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nAindriú Mac Giolla Eoin, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Aindriú Mac Giolla Eoin, 2024\\nLanguage-Team: Irish (https://app.transifex.com/nextcloud/teams/64236/ga/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ga\\nPlural-Forms: nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);\\n\"] }, '\"{segment}\" is a forbidden file or folder name.': { \"msgid\": '\"{segment}\" is a forbidden file or folder name.', \"msgstr\": ['Is ainm toirmiscthe comhaid nó fillteáin é \"{segment}\".'] }, '\"{segment}\" is a forbidden file type.': { \"msgid\": '\"{segment}\" is a forbidden file type.', \"msgstr\": ['Is cineál comhaid toirmiscthe é \"{segment}\".'] }, '\"{segment}\" is not allowed inside a file or folder name.': { \"msgid\": '\"{segment}\" is not allowed inside a file or folder name.', \"msgstr\": [`Ní cheadaítear \"{segment}\" taobh istigh d'ainm comhaid nó fillteáin.`] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count} coimhlint comhaid\", \"{count} coimhlintí comhaid\", \"{count} coimhlintí comhaid\", \"{count} coimhlintí comhaid\", \"{count} coimhlintí comhaid\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{count} coimhlint comhaid i {dirname}\", \"{count} coimhlintí comhaid i {dirname}\", \"{count} coimhlintí comhaid i {dirname}\", \"{count} coimhlintí comhaid i {dirname}\", \"{count} coimhlintí comhaid i {dirname}\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"{seconds} soicind fágtha\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"{time} fágtha\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"cúpla soicind fágtha\"] }, \"Cancel\": { \"msgid\": \"Cancel\", \"msgstr\": [\"Cealaigh\"] }, \"Cancel the entire operation\": { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Cealaigh an oibríocht iomlán\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Cealaigh uaslódálacha\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"Leanúint ar aghaidh\"] }, \"Create new\": { \"msgid\": \"Create new\", \"msgstr\": [\"Cruthaigh nua\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"ag déanamh meastachán ar an am atá fágtha\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"Leagan láithreach \"] }, 'Filenames must not end with \"{segment}\".': { \"msgid\": 'Filenames must not end with \"{segment}\".', \"msgstr\": ['Níor cheart go gcríochnaíonn comhaid chomhad le \"{segment}\".'] }, \"If you select both versions, the incoming file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Má roghnaíonn tú an dá leagan, cuirfear uimhir leis an ainm a thagann isteach.\"] }, \"Invalid filename\": { \"msgid\": \"Invalid filename\", \"msgstr\": [\"Ainm comhaid neamhbhailí\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Dáta modhnaithe is déanaí anaithnid\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Nua\"] }, \"New filename\": { \"msgid\": \"New filename\", \"msgstr\": [\"Ainm comhaid nua\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"Leagan nua\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"sos\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"Íomhá réamhamharc\"] }, \"Rename\": { \"msgid\": \"Rename\", \"msgstr\": [\"Athainmnigh\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Roghnaigh gach ticbhosca\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Roghnaigh gach comhad atá ann cheana féin\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"Roghnaigh gach comhad nua\"] }, \"Skip\": { \"msgid\": \"Skip\", \"msgstr\": [\"Scipeáil\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"Léim an comhad seo\", \"Léim ar {count} comhad\", \"Léim ar {count} comhad\", \"Léim ar {count} comhad\", \"Léim ar {count} comhad\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"Méid anaithnid\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Uaslódáil comhaid\"] }, \"Upload folders\": { \"msgid\": \"Upload folders\", \"msgstr\": [\"Uaslódáil fillteáin\"] }, \"Upload from device\": { \"msgid\": \"Upload from device\", \"msgstr\": [\"Íosluchtaigh ó ghléas\"] }, \"Upload has been cancelled\": { \"msgid\": \"Upload has been cancelled\", \"msgstr\": [\"Cuireadh an t-uaslódáil ar ceal\"] }, \"Upload has been skipped\": { \"msgid\": \"Upload has been skipped\", \"msgstr\": [\"Léiríodh an uaslódáil\"] }, 'Upload of \"{folder}\" has been skipped': { \"msgid\": 'Upload of \"{folder}\" has been skipped', \"msgstr\": ['Léiríodh an uaslódáil \"{folder}\".'] }, \"Upload progress\": { \"msgid\": \"Upload progress\", \"msgstr\": [\"Uaslódáil dul chun cinn\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Nuair a roghnaítear fillteán isteach, déanfar aon chomhad contrártha laistigh de a fhorscríobh freisin.\"] }, \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\": { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Nuair a roghnaítear fillteán isteach, scríobhtar an t-ábhar isteach san fhillteán atá ann cheana agus déantar réiteach coinbhleachta athchúrsach.\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Cé na comhaid ar mhaith leat a choinneáil?\"] }, \"You can either rename the file, skip this file or cancel the whole operation.\": { \"msgid\": \"You can either rename the file, skip this file or cancel the whole operation.\", \"msgstr\": [\"Is féidir leat an comhad a athainmniú, scipeáil an comhad seo nó an oibríocht iomlán a chealú.\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Ní mór duit leagan amháin ar a laghad de gach comhad a roghnú chun leanúint ar aghaidh.\"] } } } } }, { \"locale\": \"gd\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Gaelic, Scottish (https://www.transifex.com/nextcloud/teams/64236/gd/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"gd\", \"Plural-Forms\": \"nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Gaelic, Scottish (https://www.transifex.com/nextcloud/teams/64236/gd/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: gd\\nPlural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"gl\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Miguel Anxo Bouzada <mbouzada@gmail.com>, 2024\", \"Language-Team\": \"Galician (https://app.transifex.com/nextcloud/teams/64236/gl/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"gl\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2024\\nMiguel Anxo Bouzada <mbouzada@gmail.com>, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Miguel Anxo Bouzada <mbouzada@gmail.com>, 2024\\nLanguage-Team: Galician (https://app.transifex.com/nextcloud/teams/64236/gl/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: gl\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, '\"{segment}\" is a forbidden file or folder name.': { \"msgid\": '\"{segment}\" is a forbidden file or folder name.', \"msgstr\": [\"«{segment}» é un nome vedado para un ficheiro ou cartafol.\"] }, '\"{segment}\" is a forbidden file type.': { \"msgid\": '\"{segment}\" is a forbidden file type.', \"msgstr\": [\"«{segment}» é un tipo de ficheiro vedado.\"] }, '\"{segment}\" is not allowed inside a file or folder name.': { \"msgid\": '\"{segment}\" is not allowed inside a file or folder name.', \"msgstr\": [\"«{segment}» non está permitido dentro dun nome de ficheiro ou cartafol.\"] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count} conflito de ficheiros\", \"{count} conflitos de ficheiros\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{count} conflito de ficheiros en {dirname}\", \"{count} conflitos de ficheiros en {dirname}\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"faltan {seconds} segundos\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"falta {time}\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"faltan uns segundos\"] }, \"Cancel\": { \"msgid\": \"Cancel\", \"msgstr\": [\"Cancelar\"] }, \"Cancel the entire operation\": { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Cancela toda a operación\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Cancelar envíos\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"Continuar\"] }, \"Create new\": { \"msgid\": \"Create new\", \"msgstr\": [\"Crear un novo\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"calculando canto tempo falta\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"Versión existente\"] }, 'Filenames must not end with \"{segment}\".': { \"msgid\": 'Filenames must not end with \"{segment}\".', \"msgstr\": [\"Os nomes de ficheiros non deben rematar con «{segment}».\"] }, \"If you select both versions, the incoming file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Se selecciona ambas as versións, o ficheiro entrante terá un número engadido ao seu nome.\"] }, \"Invalid filename\": { \"msgid\": \"Invalid filename\", \"msgstr\": [\"O nome de ficheiro non é válido\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Data da última modificación descoñecida\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Nova\"] }, \"New filename\": { \"msgid\": \"New filename\", \"msgstr\": [\"Novo nome de ficheiro\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"Nova versión\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"detido\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"Vista previa da imaxe\"] }, \"Rename\": { \"msgid\": \"Rename\", \"msgstr\": [\"Renomear\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Marcar todas as caixas de selección\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Seleccionar todos os ficheiros existentes\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"Seleccionar todos os ficheiros novos\"] }, \"Skip\": { \"msgid\": \"Skip\", \"msgstr\": [\"Omitir\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"Omita este ficheiro\", \"Omitir {count} ficheiros\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"Tamaño descoñecido\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Enviar ficheiros\"] }, \"Upload folders\": { \"msgid\": \"Upload folders\", \"msgstr\": [\"Enviar cartafoles\"] }, \"Upload from device\": { \"msgid\": \"Upload from device\", \"msgstr\": [\"Enviar dende o dispositivo\"] }, \"Upload has been cancelled\": { \"msgid\": \"Upload has been cancelled\", \"msgstr\": [\"O envío foi cancelado\"] }, \"Upload has been skipped\": { \"msgid\": \"Upload has been skipped\", \"msgstr\": [\"O envío foi omitido\"] }, 'Upload of \"{folder}\" has been skipped': { \"msgid\": 'Upload of \"{folder}\" has been skipped', \"msgstr\": [\"O envío de «{folder}» foi omitido\"] }, \"Upload progress\": { \"msgid\": \"Upload progress\", \"msgstr\": [\"Progreso do envío\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Cando se selecciona un cartafol entrante, tamén se sobrescribirán os ficheiros en conflito dentro del.\"] }, \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\": { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Cando se selecciona un cartafol entrante, o contido escríbese no cartafol existente e lévase a cabo unha resolución recursiva de conflitos.\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Que ficheiros quere conservar?\"] }, \"You can either rename the file, skip this file or cancel the whole operation.\": { \"msgid\": \"You can either rename the file, skip this file or cancel the whole operation.\", \"msgstr\": [\"Pode cambiar o nome do ficheiro, omitir este ficheiro ou cancelar toda a operación.\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Debe seleccionar polo menos unha versión de cada ficheiro para continuar.\"] } } } } }, { \"locale\": \"he\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"he\", \"Plural-Forms\": \"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: he\\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"hi_IN\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Hindi (India) (https://www.transifex.com/nextcloud/teams/64236/hi_IN/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"hi_IN\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Hindi (India) (https://www.transifex.com/nextcloud/teams/64236/hi_IN/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: hi_IN\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"hr\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Croatian (https://www.transifex.com/nextcloud/teams/64236/hr/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"hr\", \"Plural-Forms\": \"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Croatian (https://www.transifex.com/nextcloud/teams/64236/hr/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: hr\\nPlural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"hsb\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Upper Sorbian (https://www.transifex.com/nextcloud/teams/64236/hsb/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"hsb\", \"Plural-Forms\": \"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Upper Sorbian (https://www.transifex.com/nextcloud/teams/64236/hsb/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: hsb\\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"hu_HU\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Balázs Úr, 2022\", \"Language-Team\": \"Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"hu_HU\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nBalázs Meskó <meskobalazs@mailbox.org>, 2022\\nBalázs Úr, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Balázs Úr, 2022\\nLanguage-Team: Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: hu_HU\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"{} másodperc van hátra\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"time has the format 00:00:00\" }, \"msgstr\": [\"{time} van hátra\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"pár másodperc van hátra\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"Hozzáadás\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Feltöltések megszakítása\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"hátralévő idő becslése\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"szüneteltetve\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Fájlok feltöltése\"] } } } } }, { \"locale\": \"hy\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Armenian (https://www.transifex.com/nextcloud/teams/64236/hy/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"hy\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Armenian (https://www.transifex.com/nextcloud/teams/64236/hy/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: hy\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"ia\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Interlingua (https://www.transifex.com/nextcloud/teams/64236/ia/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ia\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Interlingua (https://www.transifex.com/nextcloud/teams/64236/ia/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ia\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"id\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Linerly <linerly@proton.me>, 2023\", \"Language-Team\": \"Indonesian (https://app.transifex.com/nextcloud/teams/64236/id/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"id\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nEmpty Slot Filler, 2023\\nLinerly <linerly@proton.me>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Linerly <linerly@proton.me>, 2023\\nLanguage-Team: Indonesian (https://app.transifex.com/nextcloud/teams/64236/id/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: id\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count} berkas berkonflik\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{count} berkas berkonflik dalam {dirname}\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"{seconds} detik tersisa\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"{time} tersisa\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"tinggal sebentar lagi\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Batalkan unggahan\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"Lanjutkan\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"memperkirakan waktu yang tersisa\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"Versi yang ada\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the copied file will have a number added to its name.\", \"msgstr\": [\"Jika Anda memilih kedua versi, nama berkas yang disalin akan ditambahi angka.\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Tanggal perubahan terakhir tidak diketahui\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Baru\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"Versi baru\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"dijeda\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"Gambar pratinjau\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Pilih semua kotak centang\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Pilih semua berkas yang ada\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"Pilih semua berkas baru\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"Lewati {count} berkas\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"Ukuran tidak diketahui\"] }, \"Upload cancelled\": { \"msgid\": \"Upload cancelled\", \"msgstr\": [\"Unggahan dibatalkan\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Unggah berkas\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Berkas mana yang Anda ingin tetap simpan?\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Anda harus memilih setidaknya satu versi dari masing-masing berkas untuk melanjutkan.\"] } } } } }, { \"locale\": \"ig\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Igbo (https://www.transifex.com/nextcloud/teams/64236/ig/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ig\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Igbo (https://www.transifex.com/nextcloud/teams/64236/ig/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ig\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"is\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Sveinn í Felli <sv1@fellsnet.is>, 2023\", \"Language-Team\": \"Icelandic (https://app.transifex.com/nextcloud/teams/64236/is/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"is\", \"Plural-Forms\": \"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nSveinn í Felli <sv1@fellsnet.is>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Sveinn í Felli <sv1@fellsnet.is>, 2023\\nLanguage-Team: Icelandic (https://app.transifex.com/nextcloud/teams/64236/is/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: is\\nPlural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\\n\"] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count} árekstur skráa\", \"{count} árekstrar skráa\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{count} árekstur skráa í {dirname}\", \"{count} árekstrar skráa í {dirname}\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"{seconds} sekúndur eftir\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"{time} eftir\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"nokkrar sekúndur eftir\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Hætta við innsendingar\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"Halda áfram\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"áætla tíma sem eftir er\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"Fyrirliggjandi útgáfa\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the copied file will have a number added to its name.\", \"msgstr\": [\"Ef þú velur báðar útgáfur, þá mun verða bætt tölustaf aftan við heiti afrituðu skrárinnar.\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Síðasta breytingadagsetning er óþekkt\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Nýtt\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"Ný útgáfa\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"í bið\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"Forskoðun myndar\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Velja gátreiti\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Velja allar fyrirliggjandi skrár\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"Velja allar nýjar skrár\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"Sleppa þessari skrá\", \"Sleppa {count} skrám\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"Óþekkt stærð\"] }, \"Upload cancelled\": { \"msgid\": \"Upload cancelled\", \"msgstr\": [\"Hætt við innsendingu\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Senda inn skrár\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Hvaða skrám vilt þú vilt halda eftir?\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Þú verður að velja að minnsta kosti eina útgáfu af hverri skrá til að halda áfram.\"] } } } } }, { \"locale\": \"it\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Random_R, 2023\", \"Language-Team\": \"Italian (https://app.transifex.com/nextcloud/teams/64236/it/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"it\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nLep Lep, 2023\\nRandom_R, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Random_R, 2023\\nLanguage-Team: Italian (https://app.transifex.com/nextcloud/teams/64236/it/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: it\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count} file in conflitto\", \"{count} file in conflitto\", \"{count} file in conflitto\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{count} file in conflitto in {dirname}\", \"{count} file in conflitto in {dirname}\", \"{count} file in conflitto in {dirname}\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"{seconds} secondi rimanenti \"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"{time} rimanente\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"alcuni secondi rimanenti\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Annulla i caricamenti\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"Continua\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"calcolo il tempo rimanente\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"Versione esistente\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the copied file will have a number added to its name.\", \"msgstr\": [\"Se selezioni entrambe le versioni, nel nome del file copiato verrà aggiunto un numero \"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Ultima modifica sconosciuta\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Nuovo\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"Nuova versione\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"pausa\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"Anteprima immagine\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Seleziona tutte le caselle\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Seleziona tutti i file esistenti\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"Seleziona tutti i nuovi file\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"Salta questo file\", \"Salta {count} file\", \"Salta {count} file\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"Dimensione sconosciuta\"] }, \"Upload cancelled\": { \"msgid\": \"Upload cancelled\", \"msgstr\": [\"Caricamento cancellato\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Carica i file\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Quali file vuoi mantenere?\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Devi selezionare almeno una versione di ogni file per continuare\"] } } } } }, { \"locale\": \"ja_JP\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"devi, 2024\", \"Language-Team\": \"Japanese (Japan) (https://app.transifex.com/nextcloud/teams/64236/ja_JP/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ja_JP\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2024\\nkojima.imamura, 2024\\nTakafumi AKAMATSU, 2024\\ndevi, 2024\\n\" }, \"msgstr\": [\"Last-Translator: devi, 2024\\nLanguage-Team: Japanese (Japan) (https://app.transifex.com/nextcloud/teams/64236/ja_JP/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ja_JP\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, '\"{segment}\" is a forbidden file or folder name.': { \"msgid\": '\"{segment}\" is a forbidden file or folder name.', \"msgstr\": ['\"{segment}\" は禁止されているファイルまたはフォルダ名です。'] }, '\"{segment}\" is a forbidden file type.': { \"msgid\": '\"{segment}\" is a forbidden file type.', \"msgstr\": ['\"{segment}\" は禁止されているファイルタイプです。'] }, '\"{segment}\" is not allowed inside a file or folder name.': { \"msgid\": '\"{segment}\" is not allowed inside a file or folder name.', \"msgstr\": ['ファイルまたはフォルダ名に \"{segment}\" を含めることはできません。'] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count} ファイル数の競合\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{dirname} で {count} 個のファイルが競合しています\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"残り {seconds} 秒\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"残り {time}\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"残り数秒\"] }, \"Cancel\": { \"msgid\": \"Cancel\", \"msgstr\": [\"キャンセル\"] }, \"Cancel the entire operation\": { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"すべての操作をキャンセルする\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"アップロードをキャンセル\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"続ける\"] }, \"Create new\": { \"msgid\": \"Create new\", \"msgstr\": [\"新規作成\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"概算残り時間\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"既存バージョン\"] }, 'Filenames must not end with \"{segment}\".': { \"msgid\": 'Filenames must not end with \"{segment}\".', \"msgstr\": ['ファイル名の末尾に \"{segment}\" を付けることはできません。'] }, \"If you select both versions, the incoming file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"両方のバージョンを選択した場合、受信ファイルの名前に数字が追加されます。\"] }, \"Invalid filename\": { \"msgid\": \"Invalid filename\", \"msgstr\": [\"無効なファイル名\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"最終更新日不明\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"新規作成\"] }, \"New filename\": { \"msgid\": \"New filename\", \"msgstr\": [\"新しいファイル名\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"新しいバージョン\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"一時停止中\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"プレビュー画像\"] }, \"Rename\": { \"msgid\": \"Rename\", \"msgstr\": [\"名前を変更\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"すべて選択\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"すべての既存ファイルを選択\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"すべての新規ファイルを選択\"] }, \"Skip\": { \"msgid\": \"Skip\", \"msgstr\": [\"スキップ\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"{count} 個のファイルをスキップする\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"サイズ不明\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"ファイルをアップロード\"] }, \"Upload folders\": { \"msgid\": \"Upload folders\", \"msgstr\": [\"フォルダのアップロード\"] }, \"Upload from device\": { \"msgid\": \"Upload from device\", \"msgstr\": [\"デバイスからのアップロード\"] }, \"Upload has been cancelled\": { \"msgid\": \"Upload has been cancelled\", \"msgstr\": [\"アップロードはキャンセルされました\"] }, \"Upload has been skipped\": { \"msgid\": \"Upload has been skipped\", \"msgstr\": [\"アップロードがスキップされました\"] }, 'Upload of \"{folder}\" has been skipped': { \"msgid\": 'Upload of \"{folder}\" has been skipped', \"msgstr\": ['\"{folder}\" のアップロードがスキップされました'] }, \"Upload progress\": { \"msgid\": \"Upload progress\", \"msgstr\": [\"アップロード進行状況\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"受信フォルダが選択されると、その中の競合するファイルもすべて上書きされます。\"] }, \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\": { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"受信フォルダが選択されると、その内容は既存のフォルダに書き込まれ、再帰的な競合解決が行われます。\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"どのファイルを保持しますか?\"] }, \"You can either rename the file, skip this file or cancel the whole operation.\": { \"msgid\": \"You can either rename the file, skip this file or cancel the whole operation.\", \"msgstr\": [\"ファイル名を変更するか、このファイルをスキップするか、操作全体をキャンセルすることができます。\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"続行するには、各ファイルの少なくとも1つのバージョンを選択する必要があります。\"] } } } } }, { \"locale\": \"ka\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Georgian (https://www.transifex.com/nextcloud/teams/64236/ka/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ka\", \"Plural-Forms\": \"nplurals=2; plural=(n!=1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Georgian (https://www.transifex.com/nextcloud/teams/64236/ka/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ka\\nPlural-Forms: nplurals=2; plural=(n!=1);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"ka_GE\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Georgian (Georgia) (https://www.transifex.com/nextcloud/teams/64236/ka_GE/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ka_GE\", \"Plural-Forms\": \"nplurals=2; plural=(n!=1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Georgian (Georgia) (https://www.transifex.com/nextcloud/teams/64236/ka_GE/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ka_GE\\nPlural-Forms: nplurals=2; plural=(n!=1);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"kab\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"ZiriSut, 2023\", \"Language-Team\": \"Kabyle (https://app.transifex.com/nextcloud/teams/64236/kab/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"kab\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nZiriSut, 2023\\n\" }, \"msgstr\": [\"Last-Translator: ZiriSut, 2023\\nLanguage-Team: Kabyle (https://app.transifex.com/nextcloud/teams/64236/kab/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: kab\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"{seconds} tesdatin i d-yeqqimen\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"time has the format 00:00:00\" }, \"msgstr\": [\"{time} i d-yeqqimen\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"qqiment-d kra n tesdatin kan\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"Rnu\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Sefsex asali\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"asizel n wakud i d-yeqqimen\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"yeḥbes\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Sali-d ifuyla\"] } } } } }, { \"locale\": \"kk\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Kazakh (https://www.transifex.com/nextcloud/teams/64236/kk/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"kk\", \"Plural-Forms\": \"nplurals=2; plural=(n!=1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Kazakh (https://www.transifex.com/nextcloud/teams/64236/kk/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: kk\\nPlural-Forms: nplurals=2; plural=(n!=1);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"km\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Khmer (https://www.transifex.com/nextcloud/teams/64236/km/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"km\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Khmer (https://www.transifex.com/nextcloud/teams/64236/km/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: km\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"kn\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Kannada (https://www.transifex.com/nextcloud/teams/64236/kn/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"kn\", \"Plural-Forms\": \"nplurals=2; plural=(n > 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Kannada (https://www.transifex.com/nextcloud/teams/64236/kn/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: kn\\nPlural-Forms: nplurals=2; plural=(n > 1);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"ko\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"이상오, 2024\", \"Language-Team\": \"Korean (https://app.transifex.com/nextcloud/teams/64236/ko/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ko\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2024\\n이상오, 2024\\n\" }, \"msgstr\": [\"Last-Translator: 이상오, 2024\\nLanguage-Team: Korean (https://app.transifex.com/nextcloud/teams/64236/ko/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ko\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, '\"{filename}\" contains invalid characters, how do you want to continue?': { \"msgid\": '\"{filename}\" contains invalid characters, how do you want to continue?', \"msgstr\": ['\"{filename}\"에 유효하지 않은 문자가 있습니다, 계속하시겠습니까?'] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count}개의 파일이 충돌함\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{dirname}에서 {count}개의 파일이 충돌함\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"{seconds}초 남음\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"{time} 남음\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"곧 완료\"] }, \"Cancel\": { \"msgid\": \"Cancel\", \"msgstr\": [\"취소\"] }, \"Cancel the entire operation\": { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"전체 작업을 취소\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"업로드 취소\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"확인\"] }, \"Create new\": { \"msgid\": \"Create new\", \"msgstr\": [\"새로 만들기\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"남은 시간 계산\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"현재 버전\"] }, \"If you select both versions, the incoming file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"두 파일을 모두 선택하면, 들어오는 파일의 이름에 번호가 추가됩니다.\"] }, \"Invalid file name\": { \"msgid\": \"Invalid file name\", \"msgstr\": [\"잘못된 파일 이름\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"최근 수정일 알 수 없음\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"새로 만들기\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"새 버전\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"일시정지됨\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"미리보기 이미지\"] }, \"Rename\": { \"msgid\": \"Rename\", \"msgstr\": [\"이름 바꾸기\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"모든 체크박스 선택\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"기존 파일을 모두 선택\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"새로운 파일을 모두 선택\"] }, \"Skip\": { \"msgid\": \"Skip\", \"msgstr\": [\"건너뛰기\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"{count}개의 파일 넘기기\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"크기를 알 수 없음\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"파일 업로드\"] }, \"Upload folders\": { \"msgid\": \"Upload folders\", \"msgstr\": [\"폴더 업로드\"] }, \"Upload from device\": { \"msgid\": \"Upload from device\", \"msgstr\": [\"장치에서 업로드\"] }, \"Upload has been cancelled\": { \"msgid\": \"Upload has been cancelled\", \"msgstr\": [\"업로드가 취소되었습니다.\"] }, \"Upload progress\": { \"msgid\": \"Upload progress\", \"msgstr\": [\"업로드 진행도\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"들어오는 폴더를 선택했다면, 충돌하는 내부 파일들은 덮어쓰기 됩니다.\"] }, \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\": { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"들어오는 폴더를 선택했다면 내용물이 그 기존 폴더 안에 작성되고, 전체적으로 충돌 해결을 수행합니다.\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"어떤 파일을 보존하시겠습니까?\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"계속하기 위해서는 한 파일에 최소 하나의 버전을 선택해야 합니다.\"] } } } } }, { \"locale\": \"la\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Latin (https://www.transifex.com/nextcloud/teams/64236/la/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"la\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Latin (https://www.transifex.com/nextcloud/teams/64236/la/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: la\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"lb\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Luxembourgish (https://www.transifex.com/nextcloud/teams/64236/lb/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"lb\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Luxembourgish (https://www.transifex.com/nextcloud/teams/64236/lb/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: lb\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"lo\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Lao (https://www.transifex.com/nextcloud/teams/64236/lo/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"lo\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Lao (https://www.transifex.com/nextcloud/teams/64236/lo/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: lo\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"lt_LT\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"lt_LT\", \"Plural-Forms\": \"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: lt_LT\\nPlural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"lv\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"lv\", \"Plural-Forms\": \"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: lv\\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"mk\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Сашко Тодоров <sasetodorov@gmail.com>, 2022\", \"Language-Team\": \"Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"mk\", \"Plural-Forms\": \"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nСашко Тодоров <sasetodorov@gmail.com>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Сашко Тодоров <sasetodorov@gmail.com>, 2022\\nLanguage-Team: Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: mk\\nPlural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\\n\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"преостануваат {seconds} секунди\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"time has the format 00:00:00\" }, \"msgstr\": [\"преостанува {time}\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"уште неколку секунди\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"Додади\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Прекини прикачување\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"приближно преостанато време\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"паузирано\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Прикачување датотеки\"] } } } } }, { \"locale\": \"mn\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"BATKHUYAG Ganbold, 2023\", \"Language-Team\": \"Mongolian (https://app.transifex.com/nextcloud/teams/64236/mn/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"mn\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nBATKHUYAG Ganbold, 2023\\n\" }, \"msgstr\": [\"Last-Translator: BATKHUYAG Ganbold, 2023\\nLanguage-Team: Mongolian (https://app.transifex.com/nextcloud/teams/64236/mn/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: mn\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"{seconds} секунд үлдсэн\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"time has the format 00:00:00\" }, \"msgstr\": [\"{time} үлдсэн\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"хэдхэн секунд үлдсэн\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"Нэмэх\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Илгээлтийг цуцлах\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"Үлдсэн хугацааг тооцоолж байна\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"түр зогсоосон\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Файл илгээх\"] } } } } }, { \"locale\": \"mr\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Marathi (https://www.transifex.com/nextcloud/teams/64236/mr/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"mr\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Marathi (https://www.transifex.com/nextcloud/teams/64236/mr/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: mr\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"ms_MY\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Malay (Malaysia) (https://www.transifex.com/nextcloud/teams/64236/ms_MY/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ms_MY\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Malay (Malaysia) (https://www.transifex.com/nextcloud/teams/64236/ms_MY/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ms_MY\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"my\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Burmese (https://www.transifex.com/nextcloud/teams/64236/my/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"my\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Burmese (https://www.transifex.com/nextcloud/teams/64236/my/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: my\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"nb_NO\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Roger Knutsen, 2024\", \"Language-Team\": \"Norwegian Bokmål (Norway) (https://app.transifex.com/nextcloud/teams/64236/nb_NO/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"nb_NO\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2024\\nRoger Knutsen, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Roger Knutsen, 2024\\nLanguage-Team: Norwegian Bokmål (Norway) (https://app.transifex.com/nextcloud/teams/64236/nb_NO/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: nb_NO\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, '\"{segment}\" is a forbidden file or folder name.': { \"msgid\": '\"{segment}\" is a forbidden file or folder name.', \"msgstr\": ['\"{segment}\" er et forbudt fil- eller mappenavn.'] }, '\"{segment}\" is a forbidden file type.': { \"msgid\": '\"{segment}\" is a forbidden file type.', \"msgstr\": ['\"{segment}\" er en forbudt filtype.'] }, '\"{segment}\" is not allowed inside a file or folder name.': { \"msgid\": '\"{segment}\" is not allowed inside a file or folder name.', \"msgstr\": ['\"{segment}\" er ikke tillatt i et fil- eller mappenavn.'] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count} file conflict\", \"{count} filkonflikter\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{count} file conflict in {dirname}\", \"{count} filkonflikter i {dirname}\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"{seconds} sekunder igjen\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"{time} igjen\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"noen få sekunder igjen\"] }, \"Cancel\": { \"msgid\": \"Cancel\", \"msgstr\": [\"Avbryt\"] }, \"Cancel the entire operation\": { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Avbryt hele operasjonen\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Avbryt opplastninger\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"Fortsett\"] }, \"Create new\": { \"msgid\": \"Create new\", \"msgstr\": [\"Opprett ny\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"Estimerer tid igjen\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"Gjeldende versjon\"] }, 'Filenames must not end with \"{segment}\".': { \"msgid\": 'Filenames must not end with \"{segment}\".', \"msgstr\": ['Filnavn må ikke slutte med \"{segment}\".'] }, \"If you select both versions, the incoming file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Hvis du velger begge versjonene, vil den innkommende filen ha et nummer lagt til navnet.\"] }, \"Invalid filename\": { \"msgid\": \"Invalid filename\", \"msgstr\": [\"Ugyldig filnavn\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Siste gang redigert ukjent\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Ny\"] }, \"New filename\": { \"msgid\": \"New filename\", \"msgstr\": [\"Nytt filnavn\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"Ny versjon\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"pauset\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"Forhåndsvis bilde\"] }, \"Rename\": { \"msgid\": \"Rename\", \"msgstr\": [\"Omdøp\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Velg alle\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Velg alle eksisterende filer\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"Velg alle nye filer\"] }, \"Skip\": { \"msgid\": \"Skip\", \"msgstr\": [\"Hopp over\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"Skip this file\", \"Hopp over {count} filer\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"Ukjent størrelse\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Last opp filer\"] }, \"Upload folders\": { \"msgid\": \"Upload folders\", \"msgstr\": [\"Last opp mapper\"] }, \"Upload from device\": { \"msgid\": \"Upload from device\", \"msgstr\": [\"Last opp fra enhet\"] }, \"Upload has been cancelled\": { \"msgid\": \"Upload has been cancelled\", \"msgstr\": [\"Opplastingen er kansellert\"] }, \"Upload has been skipped\": { \"msgid\": \"Upload has been skipped\", \"msgstr\": [\"Opplastingen er hoppet over\"] }, 'Upload of \"{folder}\" has been skipped': { \"msgid\": 'Upload of \"{folder}\" has been skipped', \"msgstr\": ['Opplasting av \"{folder}\" er hoppet over'] }, \"Upload progress\": { \"msgid\": \"Upload progress\", \"msgstr\": [\"Fremdrift, opplasting\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Når en innkommende mappe velges, blir eventuelle motstridende filer i den også overskrevet.\"] }, \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\": { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Når en innkommende mappe velges, skrives innholdet inn i den eksisterende mappen, og en rekursiv konfliktløsning utføres.\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Hvilke filer vil du beholde?\"] }, \"You can either rename the file, skip this file or cancel the whole operation.\": { \"msgid\": \"You can either rename the file, skip this file or cancel the whole operation.\", \"msgstr\": [\"Du kan enten gi nytt navn til filen, hoppe over denne filen eller avbryte hele operasjonen.\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Du må velge minst en versjon av hver fil for å fortsette.\"] } } } } }, { \"locale\": \"ne\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Nepali (https://www.transifex.com/nextcloud/teams/64236/ne/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ne\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Nepali (https://www.transifex.com/nextcloud/teams/64236/ne/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ne\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"nl\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Rico <rico-schwab@hotmail.com>, 2023\", \"Language-Team\": \"Dutch (https://app.transifex.com/nextcloud/teams/64236/nl/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"nl\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nRico <rico-schwab@hotmail.com>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Rico <rico-schwab@hotmail.com>, 2023\\nLanguage-Team: Dutch (https://app.transifex.com/nextcloud/teams/64236/nl/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: nl\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"Nog {seconds} seconden\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"time has the format 00:00:00\" }, \"msgstr\": [\"{seconds} over\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"Nog een paar seconden\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"Voeg toe\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Uploads annuleren\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"Schatting van de resterende tijd\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"Gepauzeerd\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Upload bestanden\"] } } } } }, { \"locale\": \"nn_NO\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Norwegian Nynorsk (Norway) (https://www.transifex.com/nextcloud/teams/64236/nn_NO/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"nn_NO\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Norwegian Nynorsk (Norway) (https://www.transifex.com/nextcloud/teams/64236/nn_NO/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: nn_NO\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"oc\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"oc\", \"Plural-Forms\": \"nplurals=2; plural=(n > 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: oc\\nPlural-Forms: nplurals=2; plural=(n > 1);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"pl\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Piotr Strębski <strebski@gmail.com>, 2024\", \"Language-Team\": \"Polish (https://app.transifex.com/nextcloud/teams/64236/pl/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"pl\", \"Plural-Forms\": \"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2024\\nPiotr Strębski <strebski@gmail.com>, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Piotr Strębski <strebski@gmail.com>, 2024\\nLanguage-Team: Polish (https://app.transifex.com/nextcloud/teams/64236/pl/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: pl\\nPlural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\\n\"] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"konflikt 1 pliku\", \"{count} konfliktów plików\", \"{count} konfliktów plików\", \"{count} konfliktów plików\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{count} konfliktowy plik w {dirname}\", \"{count} konfliktowych plików w {dirname}\", \"{count} konfliktowych plików w {dirname}\", \"{count} konfliktowych plików w {dirname}\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"Pozostało {seconds} sekund\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"Pozostało {time}\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"Pozostało kilka sekund\"] }, \"Cancel\": { \"msgid\": \"Cancel\", \"msgstr\": [\"Anuluj\"] }, \"Cancel the entire operation\": { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Anuluj całą operację\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Anuluj wysyłanie\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"Kontynuuj\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"Szacowanie pozostałego czasu\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"Istniejąca wersja\"] }, \"If you select both versions, the incoming file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Jeśli wybierzesz obie wersje, do nazwy pliku przychodzącego zostanie dodany numer.\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Nieznana data ostatniej modyfikacji\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Nowy\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"Nowa wersja\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"Wstrzymane\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"Podgląd obrazu\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Zaznacz wszystkie boxy\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Zaznacz wszystkie istniejące pliki\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"Zaznacz wszystkie nowe pliki\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"Pomiń 1 plik\", \"Pomiń {count} plików\", \"Pomiń {count} plików\", \"Pomiń {count} plików\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"Nieznany rozmiar\"] }, \"Upload cancelled\": { \"msgid\": \"Upload cancelled\", \"msgstr\": [\"Anulowano wysyłanie\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Wyślij pliki\"] }, \"Upload progress\": { \"msgid\": \"Upload progress\", \"msgstr\": [\"Postęp wysyłania\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Po wybraniu folderu przychodzącego wszelkie znajdujące się w nim pliki powodujące konflikt również zostaną nadpisane.\"] }, \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\": { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Po wybraniu folderu przychodzącego zawartość jest zapisywana w istniejącym folderze i przeprowadzane jest rekursywne rozwiązywanie konfliktów.\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Które pliki chcesz zachować?\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Aby kontynuować, musisz wybrać co najmniej jedną wersję każdego pliku.\"] } } } } }, { \"locale\": \"ps\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Pashto (https://www.transifex.com/nextcloud/teams/64236/ps/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ps\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Pashto (https://www.transifex.com/nextcloud/teams/64236/ps/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ps\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"pt_BR\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Leonardo Colman Lopes <leonardo.dev@colman.com.br>, 2024\", \"Language-Team\": \"Portuguese (Brazil) (https://app.transifex.com/nextcloud/teams/64236/pt_BR/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"pt_BR\", \"Plural-Forms\": \"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2024\\nLeonardo Colman Lopes <leonardo.dev@colman.com.br>, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Leonardo Colman Lopes <leonardo.dev@colman.com.br>, 2024\\nLanguage-Team: Portuguese (Brazil) (https://app.transifex.com/nextcloud/teams/64236/pt_BR/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: pt_BR\\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count} arquivos em conflito\", \"{count} arquivos em conflito\", \"{count} arquivos em conflito\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{count} conflitos de arquivo em {dirname}\", \"{count} conflitos de arquivo em {dirname}\", \"{count} conflitos de arquivo em {dirname}\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"{seconds} segundos restantes\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"{time} restante\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"alguns segundos restantes\"] }, \"Cancel\": { \"msgid\": \"Cancel\", \"msgstr\": [\"Cancelar\"] }, \"Cancel the entire operation\": { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Cancelar a operação inteira\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Cancelar uploads\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"Continuar\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"estimando tempo restante\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"Versão existente\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the copied file will have a number added to its name.\", \"msgstr\": [\"Se você selecionar ambas as versões, o arquivo copiado terá um número adicionado ao seu nome.\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Data da última modificação desconhecida\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Novo\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"Nova versão\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"pausado\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"Visualizar imagem\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Marque todas as caixas de seleção\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Selecione todos os arquivos existentes\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"Selecione todos os novos arquivos\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"Ignorar {count} arquivos\", \"Ignorar {count} arquivos\", \"Ignorar {count} arquivos\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"Tamanho desconhecido\"] }, \"Upload cancelled\": { \"msgid\": \"Upload cancelled\", \"msgstr\": [\"Envio cancelado\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Enviar arquivos\"] }, \"Upload progress\": { \"msgid\": \"Upload progress\", \"msgstr\": [\"Envio em progresso\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Quando uma pasta é selecionada, quaisquer arquivos dentro dela também serão sobrescritos.\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Quais arquivos você deseja manter?\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Você precisa selecionar pelo menos uma versão de cada arquivo para continuar.\"] } } } } }, { \"locale\": \"pt_PT\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Manuela Silva <mmsrs@sky.com>, 2022\", \"Language-Team\": \"Portuguese (Portugal) (https://www.transifex.com/nextcloud/teams/64236/pt_PT/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"pt_PT\", \"Plural-Forms\": \"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nManuela Silva <mmsrs@sky.com>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Manuela Silva <mmsrs@sky.com>, 2022\\nLanguage-Team: Portuguese (Portugal) (https://www.transifex.com/nextcloud/teams/64236/pt_PT/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: pt_PT\\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"faltam {seconds} segundo(s)\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"time has the format 00:00:00\" }, \"msgstr\": [\"faltam {time}\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"faltam uns segundos\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"Adicionar\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Cancelar envios\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"tempo em falta estimado\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"pausado\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Enviar ficheiros\"] } } } } }, { \"locale\": \"ro\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Mădălin Vasiliu <contact@madalinvasiliu.com>, 2022\", \"Language-Team\": \"Romanian (https://www.transifex.com/nextcloud/teams/64236/ro/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ro\", \"Plural-Forms\": \"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nMădălin Vasiliu <contact@madalinvasiliu.com>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Mădălin Vasiliu <contact@madalinvasiliu.com>, 2022\\nLanguage-Team: Romanian (https://www.transifex.com/nextcloud/teams/64236/ro/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ro\\nPlural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\\n\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"{seconds} secunde rămase\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"time has the format 00:00:00\" }, \"msgstr\": [\"{time} rămas\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"câteva secunde rămase\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"Adaugă\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Anulați încărcările\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"estimarea timpului rămas\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"pus pe pauză\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Încarcă fișiere\"] } } } } }, { \"locale\": \"ru\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Alex <fedotov22091982@gmail.com>, 2024\", \"Language-Team\": \"Russian (https://app.transifex.com/nextcloud/teams/64236/ru/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ru\", \"Plural-Forms\": \"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2024\\nAlex <kekcuha@gmail.com>, 2024\\nВлад, 2024\\nAlex <fedotov22091982@gmail.com>, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Alex <fedotov22091982@gmail.com>, 2024\\nLanguage-Team: Russian (https://app.transifex.com/nextcloud/teams/64236/ru/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ru\\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\\n\"] }, '\"{segment}\" is a forbidden file or folder name.': { \"msgid\": '\"{segment}\" is a forbidden file or folder name.', \"msgstr\": [\"{segment} — это запрещенное имя файла или папки.\"] }, '\"{segment}\" is a forbidden file type.': { \"msgid\": '\"{segment}\" is a forbidden file type.', \"msgstr\": [\"{segment}— это запрещенный тип файла.\"] }, '\"{segment}\" is not allowed inside a file or folder name.': { \"msgid\": '\"{segment}\" is not allowed inside a file or folder name.', \"msgstr\": [\"{segment}не допускается в имени файла или папки.\"] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"конфликт {count} файла\", \"конфликт {count} файлов\", \"конфликт {count} файлов\", \"конфликт {count} файлов\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"конфликт {count} файла в {dirname}\", \"конфликт {count} файлов в {dirname}\", \"конфликт {count} файлов в {dirname}\", \"конфликт {count} файлов в {dirname}\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"осталось {seconds} секунд\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"осталось {time}\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"осталось несколько секунд\"] }, \"Cancel\": { \"msgid\": \"Cancel\", \"msgstr\": [\"Отмена\"] }, \"Cancel the entire operation\": { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Отменить всю операцию целиком\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Отменить загрузки\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"Продолжить\"] }, \"Create new\": { \"msgid\": \"Create new\", \"msgstr\": [\"Создать новое\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"оценка оставшегося времени\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"Текущая версия\"] }, 'Filenames must not end with \"{segment}\".': { \"msgid\": 'Filenames must not end with \"{segment}\".', \"msgstr\": [\"Имена файлов не должны заканчиваться на {segment}\"] }, \"If you select both versions, the incoming file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Если вы выберете обе версии, к имени входящего файла будет добавлен номер.\"] }, \"Invalid filename\": { \"msgid\": \"Invalid filename\", \"msgstr\": [\"Неверное имя файла\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Дата последнего изменения неизвестна\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Новый\"] }, \"New filename\": { \"msgid\": \"New filename\", \"msgstr\": [\"Новое имя файла\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"Новая версия\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"приостановлено\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"Предварительный просмотр\"] }, \"Rename\": { \"msgid\": \"Rename\", \"msgstr\": [\"Переименовать\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Установить все флажки\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Выбрать все существующие файлы\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"Выбрать все новые файлы\"] }, \"Skip\": { \"msgid\": \"Skip\", \"msgstr\": [\"Пропуск\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"Пропустить файл\", \"Пропустить {count} файла\", \"Пропустить {count} файлов\", \"Пропустить {count} файлов\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"Неизвестный размер\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Загрузка файлов\"] }, \"Upload folders\": { \"msgid\": \"Upload folders\", \"msgstr\": [\"Загрузка папок\"] }, \"Upload from device\": { \"msgid\": \"Upload from device\", \"msgstr\": [\"Загрузка с устройства\"] }, \"Upload has been cancelled\": { \"msgid\": \"Upload has been cancelled\", \"msgstr\": [\"Загрузка была отменена\"] }, \"Upload has been skipped\": { \"msgid\": \"Upload has been skipped\", \"msgstr\": [\"Загрузка была пропущена\"] }, 'Upload of \"{folder}\" has been skipped': { \"msgid\": 'Upload of \"{folder}\" has been skipped', \"msgstr\": [\"Загрузка {folder}была пропущена\"] }, \"Upload progress\": { \"msgid\": \"Upload progress\", \"msgstr\": [\"Состояние передачи на сервер\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Когда выбрана входящая папка, все конфликтующие файлы в ней также будут перезаписаны.\"] }, \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\": { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Когда выбрана входящая папка, содержимое записывается в существующую папку и выполняется рекурсивное разрешение конфликтов.\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Какие файлы вы хотите сохранить?\"] }, \"You can either rename the file, skip this file or cancel the whole operation.\": { \"msgid\": \"You can either rename the file, skip this file or cancel the whole operation.\", \"msgstr\": [\"Вы можете переименовать файл, пропустить этот файл или отменить всю операцию.\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Для продолжения вам нужно выбрать по крайней мере одну версию каждого файла.\"] } } } } }, { \"locale\": \"sc\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Sardinian (https://www.transifex.com/nextcloud/teams/64236/sc/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"sc\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Sardinian (https://www.transifex.com/nextcloud/teams/64236/sc/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sc\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"si\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Sinhala (https://www.transifex.com/nextcloud/teams/64236/si/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"si\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Sinhala (https://www.transifex.com/nextcloud/teams/64236/si/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: si\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"sk_SK\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Slovak (Slovakia) (https://www.transifex.com/nextcloud/teams/64236/sk_SK/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"sk_SK\", \"Plural-Forms\": \"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Slovak (Slovakia) (https://www.transifex.com/nextcloud/teams/64236/sk_SK/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sk_SK\\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"sl\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Matej Urbančič <>, 2022\", \"Language-Team\": \"Slovenian (https://www.transifex.com/nextcloud/teams/64236/sl/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"sl\", \"Plural-Forms\": \"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nMatej Urbančič <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Matej Urbančič <>, 2022\\nLanguage-Team: Slovenian (https://www.transifex.com/nextcloud/teams/64236/sl/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sl\\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\\n\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"še {seconds} sekund\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"time has the format 00:00:00\" }, \"msgstr\": [\"še {time}\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"še nekaj sekund\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"Dodaj\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Prekliči pošiljanje\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"ocenjen čas do konca\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"v premoru\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Pošlji datoteke\"] } } } } }, { \"locale\": \"sq\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Albanian (https://www.transifex.com/nextcloud/teams/64236/sq/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"sq\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Albanian (https://www.transifex.com/nextcloud/teams/64236/sq/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sq\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"sr\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Иван Пешић, 2023\", \"Language-Team\": \"Serbian (https://app.transifex.com/nextcloud/teams/64236/sr/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"sr\", \"Plural-Forms\": \"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nИван Пешић, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Иван Пешић, 2023\\nLanguage-Team: Serbian (https://app.transifex.com/nextcloud/teams/64236/sr/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sr\\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\\n\"] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count} фајл конфликт\", \"{count} фајл конфликта\", \"{count} фајл конфликта\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{count} фајл конфликт у {dirname}\", \"{count} фајл конфликта у {dirname}\", \"{count} фајл конфликта у {dirname}\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"преостало је {seconds} секунди\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"{time} преостало\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"преостало је неколико секунди\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Обустави отпремања\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"Настави\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"процена преосталог времена\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"Постојећа верзија\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the copied file will have a number added to its name.\", \"msgstr\": [\"Ако изаберете обе верзије, на име копираног фајла ће се додати број.\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Није познат датум последње измене\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Ново\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"Нова верзија\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"паузирано\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"Слика прегледа\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Штиклирај сва поља за штиклирање\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Изабери све постојеће фајлове\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"Изабери све нове фајлове\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"Прескочи овај фајл\", \"Прескочи {count} фајла\", \"Прескочи {count} фајлова\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"Непозната величина\"] }, \"Upload cancelled\": { \"msgid\": \"Upload cancelled\", \"msgstr\": [\"Отпремање је отказано\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Отпреми фајлове\"] }, \"Upload progress\": { \"msgid\": \"Upload progress\", \"msgstr\": [\"Напредак отпремања\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Које фајлове желите да задржите?\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Морате да изаберете барем једну верзију сваког фајла да наставите.\"] } } } } }, { \"locale\": \"sr@latin\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Serbian (Latin) (https://www.transifex.com/nextcloud/teams/64236/sr@latin/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"sr@latin\", \"Plural-Forms\": \"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Serbian (Latin) (https://www.transifex.com/nextcloud/teams/64236/sr@latin/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sr@latin\\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"sv\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Magnus Höglund, 2024\", \"Language-Team\": \"Swedish (https://app.transifex.com/nextcloud/teams/64236/sv/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"sv\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2024\\nMagnus Höglund, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Magnus Höglund, 2024\\nLanguage-Team: Swedish (https://app.transifex.com/nextcloud/teams/64236/sv/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sv\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, '\"{segment}\" is a forbidden file or folder name.': { \"msgid\": '\"{segment}\" is a forbidden file or folder name.', \"msgstr\": ['\"{segment}\" är ett förbjudet fil- eller mappnamn.'] }, '\"{segment}\" is a forbidden file type.': { \"msgid\": '\"{segment}\" is a forbidden file type.', \"msgstr\": ['\"{segment}\" är en förbjuden filtyp.'] }, '\"{segment}\" is not allowed inside a file or folder name.': { \"msgid\": '\"{segment}\" is not allowed inside a file or folder name.', \"msgstr\": ['\"{segment}\" är inte tillåtet i ett fil- eller mappnamn.'] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count} filkonflikt\", \"{count} filkonflikter\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{count} filkonflikt i {dirname}\", \"{count} filkonflikter i {dirname}\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"{seconds} sekunder kvarstår\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"{time} kvarstår\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"några sekunder kvar\"] }, \"Cancel\": { \"msgid\": \"Cancel\", \"msgstr\": [\"Avbryt\"] }, \"Cancel the entire operation\": { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Avbryt hela operationen\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Avbryt uppladdningar\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"Fortsätt\"] }, \"Create new\": { \"msgid\": \"Create new\", \"msgstr\": [\"Skapa ny\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"uppskattar kvarstående tid\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"Nuvarande version\"] }, 'Filenames must not end with \"{segment}\".': { \"msgid\": 'Filenames must not end with \"{segment}\".', \"msgstr\": ['Filnamn får inte sluta med \"{segment}\".'] }, \"If you select both versions, the incoming file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Om du väljer båda versionerna kommer den inkommande filen att läggas till ett nummer i namnet.\"] }, \"Invalid filename\": { \"msgid\": \"Invalid filename\", \"msgstr\": [\"Ogiltigt filnamn\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Senaste ändringsdatum okänt\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Ny\"] }, \"New filename\": { \"msgid\": \"New filename\", \"msgstr\": [\"Nytt filnamn\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"Ny version\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"pausad\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"Förhandsgranska bild\"] }, \"Rename\": { \"msgid\": \"Rename\", \"msgstr\": [\"Byt namn\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Markera alla kryssrutor\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Välj alla befintliga filer\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"Välj alla nya filer\"] }, \"Skip\": { \"msgid\": \"Skip\", \"msgstr\": [\"Hoppa över\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"Hoppa över denna fil\", \"Hoppa över {count} filer\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"Okänd storlek\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Ladda upp filer\"] }, \"Upload folders\": { \"msgid\": \"Upload folders\", \"msgstr\": [\"Ladda upp mappar\"] }, \"Upload from device\": { \"msgid\": \"Upload from device\", \"msgstr\": [\"Ladda upp från enhet\"] }, \"Upload has been cancelled\": { \"msgid\": \"Upload has been cancelled\", \"msgstr\": [\"Uppladdningen har avbrutits\"] }, \"Upload has been skipped\": { \"msgid\": \"Upload has been skipped\", \"msgstr\": [\"Uppladdningen har hoppats över\"] }, 'Upload of \"{folder}\" has been skipped': { \"msgid\": 'Upload of \"{folder}\" has been skipped', \"msgstr\": ['Uppladdningen av \"{folder}\" har hoppats över'] }, \"Upload progress\": { \"msgid\": \"Upload progress\", \"msgstr\": [\"Uppladdningsförlopp\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"När en inkommande mapp väljs skrivs även alla konfliktande filer i den över.\"] }, \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\": { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"När en inkommande mapp väljs skrivs innehållet in i den befintliga mappen och en rekursiv konfliktlösning utförs.\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Vilka filer vill du behålla?\"] }, \"You can either rename the file, skip this file or cancel the whole operation.\": { \"msgid\": \"You can either rename the file, skip this file or cancel the whole operation.\", \"msgstr\": [\"Du kan antingen byta namn på filen, hoppa över den här filen eller avbryta hela operationen.\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Du måste välja minst en version av varje fil för att fortsätta.\"] } } } } }, { \"locale\": \"sw\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Swahili (https://www.transifex.com/nextcloud/teams/64236/sw/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"sw\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Swahili (https://www.transifex.com/nextcloud/teams/64236/sw/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sw\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"ta\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Tamil (https://www.transifex.com/nextcloud/teams/64236/ta/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ta\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Tamil (https://www.transifex.com/nextcloud/teams/64236/ta/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ta\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"th_TH\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Phongpanot Phairat <ppnplus@protonmail.com>, 2022\", \"Language-Team\": \"Thai (Thailand) (https://www.transifex.com/nextcloud/teams/64236/th_TH/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"th_TH\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nPhongpanot Phairat <ppnplus@protonmail.com>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Phongpanot Phairat <ppnplus@protonmail.com>, 2022\\nLanguage-Team: Thai (Thailand) (https://www.transifex.com/nextcloud/teams/64236/th_TH/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: th_TH\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"เหลืออีก {seconds} วินาที\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"time has the format 00:00:00\" }, \"msgstr\": [\"เหลืออีก {time}\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"เหลืออีกไม่กี่วินาที\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"เพิ่ม\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"ยกเลิกการอัปโหลด\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"กำลังคำนวณเวลาที่เหลือ\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"หยุดชั่วคราว\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"อัปโหลดไฟล์\"] } } } } }, { \"locale\": \"tk\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Turkmen (https://www.transifex.com/nextcloud/teams/64236/tk/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"tk\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Turkmen (https://www.transifex.com/nextcloud/teams/64236/tk/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: tk\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"tr\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Kaya Zeren <kayazeren@gmail.com>, 2024\", \"Language-Team\": \"Turkish (https://app.transifex.com/nextcloud/teams/64236/tr/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"tr\", \"Plural-Forms\": \"nplurals=2; plural=(n > 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2024\\nKaya Zeren <kayazeren@gmail.com>, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Kaya Zeren <kayazeren@gmail.com>, 2024\\nLanguage-Team: Turkish (https://app.transifex.com/nextcloud/teams/64236/tr/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: tr\\nPlural-Forms: nplurals=2; plural=(n > 1);\\n\"] }, '\"{segment}\" is a forbidden file or folder name.': { \"msgid\": '\"{segment}\" is a forbidden file or folder name.', \"msgstr\": ['\"{segment}\" dosya ya da klasör adına izin verilmiyor.'] }, '\"{segment}\" is a forbidden file type.': { \"msgid\": '\"{segment}\" is a forbidden file type.', \"msgstr\": ['\"{segment}\" dosya türüne izin verilmiyor.'] }, '\"{segment}\" is not allowed inside a file or folder name.': { \"msgid\": '\"{segment}\" is not allowed inside a file or folder name.', \"msgstr\": ['Bir dosya ya da klasör adında \"{segment}\" ifadesine izin verilmiyor.'] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count} dosya çakışması var\", \"{count} dosya çakışması var\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{dirname} klasöründe {count} dosya çakışması var\", \"{dirname} klasöründe {count} dosya çakışması var\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"{seconds} saniye kaldı\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"{time} kaldı\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"bir kaç saniye kaldı\"] }, \"Cancel\": { \"msgid\": \"Cancel\", \"msgstr\": [\"İptal\"] }, \"Cancel the entire operation\": { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Tüm işlemi iptal et\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Yüklemeleri iptal et\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"İlerle\"] }, \"Create new\": { \"msgid\": \"Create new\", \"msgstr\": [\"Yeni ekle\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"öngörülen kalan süre\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"Var olan sürüm\"] }, 'Filenames must not end with \"{segment}\".': { \"msgid\": 'Filenames must not end with \"{segment}\".', \"msgstr\": ['Dosya adları \"{segment}\" ile bitmemeli.'] }, \"If you select both versions, the incoming file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"İki sürümü de seçerseniz, gelen dosyanın adına bir sayı eklenir.\"] }, \"Invalid filename\": { \"msgid\": \"Invalid filename\", \"msgstr\": [\"Dosya adı geçersiz\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Son değiştirilme tarihi bilinmiyor\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Yeni\"] }, \"New filename\": { \"msgid\": \"New filename\", \"msgstr\": [\"Yeni dosya adı\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"Yeni sürüm\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"duraklatıldı\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"Görsel ön izlemesi\"] }, \"Rename\": { \"msgid\": \"Rename\", \"msgstr\": [\"Yeniden adlandır\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Tüm kutuları işaretle\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Tüm var olan dosyaları seç\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"Tüm yeni dosyaları seç\"] }, \"Skip\": { \"msgid\": \"Skip\", \"msgstr\": [\"Atla\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"Bu dosyayı atla\", \"{count} dosyayı atla\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"Boyut bilinmiyor\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Dosyaları yükle\"] }, \"Upload folders\": { \"msgid\": \"Upload folders\", \"msgstr\": [\"Klasörleri yükle\"] }, \"Upload from device\": { \"msgid\": \"Upload from device\", \"msgstr\": [\"Aygıttan yükle\"] }, \"Upload has been cancelled\": { \"msgid\": \"Upload has been cancelled\", \"msgstr\": [\"Yükleme iptal edildi\"] }, \"Upload has been skipped\": { \"msgid\": \"Upload has been skipped\", \"msgstr\": [\"Yükleme atlandı\"] }, 'Upload of \"{folder}\" has been skipped': { \"msgid\": 'Upload of \"{folder}\" has been skipped', \"msgstr\": ['\"{folder}\" klasörünün yüklenmesi atlandı'] }, \"Upload progress\": { \"msgid\": \"Upload progress\", \"msgstr\": [\"Yükleme ilerlemesi\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Bir gelen klasör seçildiğinde, içindeki çakışan dosyaların da üzerine yazılır.\"] }, \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\": { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Bir gelen klasörü seçildiğinde içerik var olan klasöre yazılır ve yinelemeli bir çakışma çözümü uygulanır.\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Hangi dosyaları tutmak istiyorsunuz?\"] }, \"You can either rename the file, skip this file or cancel the whole operation.\": { \"msgid\": \"You can either rename the file, skip this file or cancel the whole operation.\", \"msgstr\": [\"Dosya adını değiştirebilir, bu dosyayı atlayabilir ya da tüm işlemi iptal edebilirsiniz.\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"İlerlemek için her dosyanın en az bir sürümünü seçmelisiniz.\"] } } } } }, { \"locale\": \"ug\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Uyghur (https://www.transifex.com/nextcloud/teams/64236/ug/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ug\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Uyghur (https://www.transifex.com/nextcloud/teams/64236/ug/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ug\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"uk\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"O St <oleksiy.stasevych@gmail.com>, 2024\", \"Language-Team\": \"Ukrainian (https://app.transifex.com/nextcloud/teams/64236/uk/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"uk\", \"Plural-Forms\": \"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2024\\nO St <oleksiy.stasevych@gmail.com>, 2024\\n\" }, \"msgstr\": [\"Last-Translator: O St <oleksiy.stasevych@gmail.com>, 2024\\nLanguage-Team: Ukrainian (https://app.transifex.com/nextcloud/teams/64236/uk/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: uk\\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\\n\"] }, '\"{segment}\" is a forbidden file or folder name.': { \"msgid\": '\"{segment}\" is a forbidden file or folder name.', \"msgstr\": [`\"{segment}\" не є дозволеним ім'ям файлу або каталогу.`] }, '\"{segment}\" is a forbidden file type.': { \"msgid\": '\"{segment}\" is a forbidden file type.', \"msgstr\": ['\"{segment}\" не є дозволеним типом файлу.'] }, '\"{segment}\" is not allowed inside a file or folder name.': { \"msgid\": '\"{segment}\" is not allowed inside a file or folder name.', \"msgstr\": ['\"{segment}\" не дозволене сполучення символів в назві файлу або каталогу.'] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count} конфліктний файл\", \"{count} конфліктних файли\", \"{count} конфліктних файлів\", \"{count} конфліктних файлів\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{count} конфліктний файл у каталозі {dirname}\", \"{count} конфліктних файли у каталозі {dirname}\", \"{count} конфліктних файлів у каталозі {dirname}\", \"{count} конфліктних файлів у каталозі {dirname}\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"Залишилося {seconds} секунд\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"Залишилося {time}\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"залишилося кілька секунд\"] }, \"Cancel\": { \"msgid\": \"Cancel\", \"msgstr\": [\"Скасувати\"] }, \"Cancel the entire operation\": { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"Скасувати операцію повністю\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Скасувати завантаження\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"Продовжити\"] }, \"Create new\": { \"msgid\": \"Create new\", \"msgstr\": [\"Створити новий\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"оцінка часу, що залишився\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"Присутня версія\"] }, 'Filenames must not end with \"{segment}\".': { \"msgid\": 'Filenames must not end with \"{segment}\".', \"msgstr\": [`Ім'я файлів не можуть закінчуватися на \"{segment}\".`] }, \"If you select both versions, the incoming file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"Якщо буде вибрано обидві версії, до імени вхідного файлу було додано цифру.\"] }, \"Invalid filename\": { \"msgid\": \"Invalid filename\", \"msgstr\": [\"Недійсне ім'я файлу\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Дата останньої зміни невідома\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Нове\"] }, \"New filename\": { \"msgid\": \"New filename\", \"msgstr\": [\"Нове ім'я файлу\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"Нова версія\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"призупинено\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"Попередній перегляд\"] }, \"Rename\": { \"msgid\": \"Rename\", \"msgstr\": [\"Перейменувати\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Вибрати все\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Вибрати усі присутні файли\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"Вибрати усі нові файли\"] }, \"Skip\": { \"msgid\": \"Skip\", \"msgstr\": [\"Пропустити\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"Пропустити файл\", \"Пропустити {count} файли\", \"Пропустити {count} файлів\", \"Пропустити {count} файлів\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"Невідомий розмір\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Завантажити файли\"] }, \"Upload folders\": { \"msgid\": \"Upload folders\", \"msgstr\": [\"Завантажити каталоги\"] }, \"Upload from device\": { \"msgid\": \"Upload from device\", \"msgstr\": [\"Завантажити з пристрою\"] }, \"Upload has been cancelled\": { \"msgid\": \"Upload has been cancelled\", \"msgstr\": [\"Завантаження скасовано\"] }, \"Upload has been skipped\": { \"msgid\": \"Upload has been skipped\", \"msgstr\": [\"Завантаження пропущено\"] }, 'Upload of \"{folder}\" has been skipped': { \"msgid\": 'Upload of \"{folder}\" has been skipped', \"msgstr\": ['Завантаження \"{folder}\" пропущено'] }, \"Upload progress\": { \"msgid\": \"Upload progress\", \"msgstr\": [\"Поступ завантаження\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"Усі конфліктні файли у вибраному каталозі призначення буде перезаписано поверх.\"] }, \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\": { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"Якщо буде вибрано вхідний каталог, вміст буде записано до наявного каталогу та вирішено конфлікти у відповідних файлах каталогу та підкаталогів.\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Які файли залишити?\"] }, \"You can either rename the file, skip this file or cancel the whole operation.\": { \"msgid\": \"You can either rename the file, skip this file or cancel the whole operation.\", \"msgstr\": [\"Ви можете або перейменувати цей файл, пропустити або скасувати дію з файлом.\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Для продовження потрібно вибрати принаймні одну версію для кожного файлу.\"] } } } } }, { \"locale\": \"ur_PK\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Urdu (Pakistan) (https://www.transifex.com/nextcloud/teams/64236/ur_PK/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ur_PK\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Urdu (Pakistan) (https://www.transifex.com/nextcloud/teams/64236/ur_PK/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ur_PK\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"uz\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2022\", \"Language-Team\": \"Uzbek (https://www.transifex.com/nextcloud/teams/64236/uz/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"uz\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2022\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2022\\nLanguage-Team: Uzbek (https://www.transifex.com/nextcloud/teams/64236/uz/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: uz\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, \"{estimate} seconds left\": { \"msgid\": \"{estimate} seconds left\", \"msgstr\": [\"\"] }, \"{hours} hours and {minutes} minutes left\": { \"msgid\": \"{hours} hours and {minutes} minutes left\", \"msgstr\": [\"\"] }, \"{minutes} minutes left\": { \"msgid\": \"{minutes} minutes left\", \"msgstr\": [\"\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"\"] } } } } }, { \"locale\": \"vi\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Tung DangQuang, 2023\", \"Language-Team\": \"Vietnamese (https://app.transifex.com/nextcloud/teams/64236/vi/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"vi\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nTung DangQuang, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Tung DangQuang, 2023\\nLanguage-Team: Vietnamese (https://app.transifex.com/nextcloud/teams/64236/vi/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: vi\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count} Tập tin xung đột\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{count} tập tin lỗi trong {dirname}\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"Còn {second} giây\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"Còn lại {time}\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"Còn lại một vài giây\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"Huỷ tải lên\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"Tiếp Tục\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"Thời gian còn lại dự kiến\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"Phiên Bản Hiện Tại\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the copied file will have a number added to its name.\", \"msgstr\": [\"Nếu bạn chọn cả hai phiên bản, tệp được sao chép sẽ có thêm một số vào tên của nó.\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"Ngày sửa dổi lần cuối không xác định\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Tạo Mới\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"Phiên Bản Mới\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"đã tạm dừng\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"Xem Trước Ảnh\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"Chọn tất cả hộp checkbox\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"Chọn tất cả các tập tin có sẵn\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"Chọn tất cả các tập tin mới\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"Bỏ Qua {count} tập tin\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"Không rõ dung lượng\"] }, \"Upload cancelled\": { \"msgid\": \"Upload cancelled\", \"msgstr\": [\"Dừng Tải Lên\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"Tập tin tải lên\"] }, \"Upload progress\": { \"msgid\": \"Upload progress\", \"msgstr\": [\"Đang Tải Lên\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"Bạn muốn giữ tập tin nào?\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"Bạn cần chọn ít nhất một phiên bản tập tin mới có thể tiếp tục\"] } } } } }, { \"locale\": \"zh_CN\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Hongbo Chen, 2023\", \"Language-Team\": \"Chinese (China) (https://app.transifex.com/nextcloud/teams/64236/zh_CN/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"zh_CN\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nHongbo Chen, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Hongbo Chen, 2023\\nLanguage-Team: Chinese (China) (https://app.transifex.com/nextcloud/teams/64236/zh_CN/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: zh_CN\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count}文件冲突\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"在{dirname}目录下有{count}个文件冲突\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"剩余 {seconds} 秒\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"剩余 {time}\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"还剩几秒\"] }, \"Add\": { \"msgid\": \"Add\", \"msgstr\": [\"添加\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"取消上传\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"继续\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"估计剩余时间\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"版本已存在\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the copied file will have a number added to its name.\", \"msgstr\": [\"如果选择所有的版本,新增版本的文件名为原文件名加数字\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"文件最后修改日期未知\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"新版本\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"已暂停\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"图片预览\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"选择所有的选择框\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"选择所有存在的文件\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"选择所有的新文件\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"跳过{count}个文件\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"文件大小未知\"] }, \"Upload cancelled\": { \"msgid\": \"Upload cancelled\", \"msgstr\": [\"取消上传\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"上传文件\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"你要保留哪些文件?\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"每个文件至少选择一个版本\"] } } } } }, { \"locale\": \"zh_HK\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Café Tango, 2024\", \"Language-Team\": \"Chinese (Hong Kong) (https://app.transifex.com/nextcloud/teams/64236/zh_HK/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"zh_HK\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2024\\nCafé Tango, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Café Tango, 2024\\nLanguage-Team: Chinese (Hong Kong) (https://app.transifex.com/nextcloud/teams/64236/zh_HK/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: zh_HK\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count} 個檔案衝突\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{dirname} 中有 {count} 個檔案衝突\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"剩餘 {seconds} 秒\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"剩餘 {time}\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"還剩幾秒\"] }, \"Cancel\": { \"msgid\": \"Cancel\", \"msgstr\": [\"取消\"] }, \"Cancel the entire operation\": { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"取消整個操作\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"取消上傳\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"繼續\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"估計剩餘時間\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"既有版本\"] }, \"If you select both versions, the incoming file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the incoming file will have a number added to its name.\", \"msgstr\": [\"若您選取兩個版本,傳入檔案的名稱將會新增編號。\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"最後修改日期不詳\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"新增\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"新版本 \"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"已暫停\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"預覽圖片\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"選取所有核取方塊\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"選取所有既有檔案\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"選取所有新檔案\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"略過 {count} 個檔案\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"大小不詳\"] }, \"Upload cancelled\": { \"msgid\": \"Upload cancelled\", \"msgstr\": [\"已取消上傳\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"上傳檔案\"] }, \"Upload progress\": { \"msgid\": \"Upload progress\", \"msgstr\": [\"上傳進度\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"選取傳入資料夾後,其中任何的衝突檔案都會被覆寫。\"] }, \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\": { \"msgid\": \"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\", \"msgstr\": [\"選擇傳入資料夾後,內容將寫入現有資料夾並執行遞歸衝突解決。\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"您想保留哪些檔案?\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"您必須為每個檔案都至少選取一個版本以繼續。\"] } } } } }, { \"locale\": \"zh_TW\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"黃柏諺 <s8321414@gmail.com>, 2024\", \"Language-Team\": \"Chinese (Taiwan) (https://app.transifex.com/nextcloud/teams/64236/zh_TW/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"zh_TW\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2024\\n黃柏諺 <s8321414@gmail.com>, 2024\\n\" }, \"msgstr\": [\"Last-Translator: 黃柏諺 <s8321414@gmail.com>, 2024\\nLanguage-Team: Chinese (Taiwan) (https://app.transifex.com/nextcloud/teams/64236/zh_TW/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: zh_TW\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, \"{count} file conflict\": { \"msgid\": \"{count} file conflict\", \"msgid_plural\": \"{count} files conflict\", \"msgstr\": [\"{count} 個檔案衝突\"] }, \"{count} file conflict in {dirname}\": { \"msgid\": \"{count} file conflict in {dirname}\", \"msgid_plural\": \"{count} file conflicts in {dirname}\", \"msgstr\": [\"{dirname} 中有 {count} 個檔案衝突\"] }, \"{seconds} seconds left\": { \"msgid\": \"{seconds} seconds left\", \"msgstr\": [\"剩餘 {seconds} 秒\"] }, \"{time} left\": { \"msgid\": \"{time} left\", \"comments\": { \"extracted\": \"TRANSLATORS time has the format 00:00:00\" }, \"msgstr\": [\"剩餘 {time}\"] }, \"a few seconds left\": { \"msgid\": \"a few seconds left\", \"msgstr\": [\"還剩幾秒\"] }, \"Cancel\": { \"msgid\": \"Cancel\", \"msgstr\": [\"取消\"] }, \"Cancel the entire operation\": { \"msgid\": \"Cancel the entire operation\", \"msgstr\": [\"取消整個操作\"] }, \"Cancel uploads\": { \"msgid\": \"Cancel uploads\", \"msgstr\": [\"取消上傳\"] }, \"Continue\": { \"msgid\": \"Continue\", \"msgstr\": [\"繼續\"] }, \"estimating time left\": { \"msgid\": \"estimating time left\", \"msgstr\": [\"估計剩餘時間\"] }, \"Existing version\": { \"msgid\": \"Existing version\", \"msgstr\": [\"既有版本\"] }, \"If you select both versions, the copied file will have a number added to its name.\": { \"msgid\": \"If you select both versions, the copied file will have a number added to its name.\", \"msgstr\": [\"若您選取兩個版本,複製的檔案的名稱將會新增編號。\"] }, \"Last modified date unknown\": { \"msgid\": \"Last modified date unknown\", \"msgstr\": [\"最後修改日期未知\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"新增\"] }, \"New version\": { \"msgid\": \"New version\", \"msgstr\": [\"新版本\"] }, \"paused\": { \"msgid\": \"paused\", \"msgstr\": [\"已暫停\"] }, \"Preview image\": { \"msgid\": \"Preview image\", \"msgstr\": [\"預覽圖片\"] }, \"Select all checkboxes\": { \"msgid\": \"Select all checkboxes\", \"msgstr\": [\"選取所有核取方塊\"] }, \"Select all existing files\": { \"msgid\": \"Select all existing files\", \"msgstr\": [\"選取所有既有檔案\"] }, \"Select all new files\": { \"msgid\": \"Select all new files\", \"msgstr\": [\"選取所有新檔案\"] }, \"Skip this file\": { \"msgid\": \"Skip this file\", \"msgid_plural\": \"Skip {count} files\", \"msgstr\": [\"略過 {count} 檔案\"] }, \"Unknown size\": { \"msgid\": \"Unknown size\", \"msgstr\": [\"未知大小\"] }, \"Upload cancelled\": { \"msgid\": \"Upload cancelled\", \"msgstr\": [\"已取消上傳\"] }, \"Upload files\": { \"msgid\": \"Upload files\", \"msgstr\": [\"上傳檔案\"] }, \"Upload progress\": { \"msgid\": \"Upload progress\", \"msgstr\": [\"上傳進度\"] }, \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\": { \"msgid\": \"When an incoming folder is selected, any conflicting files within it will also be overwritten.\", \"msgstr\": [\"選取傳入資料夾後,其中任何的衝突檔案都會被覆寫。\"] }, \"Which files do you want to keep?\": { \"msgid\": \"Which files do you want to keep?\", \"msgstr\": [\"您想保留哪些檔案?\"] }, \"You need to select at least one version of each file to continue.\": { \"msgid\": \"You need to select at least one version of each file to continue.\", \"msgstr\": [\"您必須為每個檔案都至少選取一個版本以繼續。\"] } } } } }].map((data) => gtBuilder.addTranslation(data.locale, data.json));\nconst gt = gtBuilder.build();\nconst n = gt.ngettext.bind(gt);\nconst t = gt.gettext.bind(gt);\nconst logger = getLoggerBuilder().setApp(\"@nextcloud/upload\").detectUser().build();\nvar Status = /* @__PURE__ */ ((Status2) => {\n Status2[Status2[\"IDLE\"] = 0] = \"IDLE\";\n Status2[Status2[\"UPLOADING\"] = 1] = \"UPLOADING\";\n Status2[Status2[\"PAUSED\"] = 2] = \"PAUSED\";\n return Status2;\n})(Status || {});\nconst MAX_CONCURRENCY = 5;\nclass Uploader {\n // Initialized via setter in the constructor\n _destinationFolder;\n _isPublic;\n // Global upload queue\n _uploadQueue = [];\n _jobQueue = new PQueue({ concurrency: MAX_CONCURRENCY });\n _queueSize = 0;\n _queueProgress = 0;\n _queueStatus = 0;\n _notifiers = [];\n /**\n * Initialize uploader\n *\n * @param {boolean} isPublic are we in public mode ?\n * @param {Folder} destinationFolder the context folder to operate, relative to the root folder\n */\n constructor(isPublic = false, destinationFolder) {\n this._isPublic = isPublic;\n if (!destinationFolder) {\n const source = `${davRemoteURL}${davRootPath}`;\n let owner;\n if (isPublic) {\n owner = \"anonymous\";\n } else {\n const user = getCurrentUser()?.uid;\n if (!user) {\n throw new Error(\"User is not logged in\");\n }\n owner = user;\n }\n destinationFolder = new Folder({\n id: 0,\n owner,\n permissions: Permission.ALL,\n root: davRootPath,\n source\n });\n }\n this.destination = destinationFolder;\n this._jobQueue.addListener(\"idle\", () => this.reset());\n logger.debug(\"Upload workspace initialized\", {\n destination: this.destination,\n root: this.root,\n isPublic,\n maxChunksSize: getMaxChunksSize()\n });\n }\n /**\n * Get the upload destination path relative to the root folder\n */\n get destination() {\n return this._destinationFolder;\n }\n /**\n * Set the upload destination path relative to the root folder\n */\n set destination(folder) {\n if (!folder) {\n throw new Error(\"Invalid destination folder\");\n }\n logger.debug(\"Destination set\", { folder });\n this._destinationFolder = folder;\n }\n /**\n * Get the root folder\n */\n get root() {\n return this._destinationFolder.source;\n }\n /**\n * Get the upload queue\n */\n get queue() {\n return this._uploadQueue;\n }\n reset() {\n this._uploadQueue.splice(0, this._uploadQueue.length);\n this._jobQueue.clear();\n this._queueSize = 0;\n this._queueProgress = 0;\n this._queueStatus = 0;\n }\n /**\n * Pause any ongoing upload(s)\n */\n pause() {\n this._jobQueue.pause();\n this._queueStatus = 2;\n }\n /**\n * Resume any pending upload(s)\n */\n start() {\n this._jobQueue.start();\n this._queueStatus = 1;\n this.updateStats();\n }\n /**\n * Get the upload queue stats\n */\n get info() {\n return {\n size: this._queueSize,\n progress: this._queueProgress,\n status: this._queueStatus\n };\n }\n updateStats() {\n const size = this._uploadQueue.map((upload2) => upload2.size).reduce((partialSum, a) => partialSum + a, 0);\n const uploaded = this._uploadQueue.map((upload2) => upload2.uploaded).reduce((partialSum, a) => partialSum + a, 0);\n this._queueSize = size;\n this._queueProgress = uploaded;\n if (this._queueStatus === 2) {\n return;\n }\n this._queueStatus = this._jobQueue.size > 0 ? 1 : 0;\n }\n addNotifier(notifier) {\n this._notifiers.push(notifier);\n }\n /**\n * Notify listeners of the upload completion\n * @param upload The upload that finished\n */\n _notifyAll(upload2) {\n for (const notifier of this._notifiers) {\n try {\n notifier(upload2);\n } catch (error) {\n logger.warn(\"Error in upload notifier\", { error, source: upload2.source });\n }\n }\n }\n /**\n * Uploads multiple files or folders while preserving the relative path (if available)\n * @param {string} destination The destination path relative to the root folder. e.g. /foo/bar (a file \"a.txt\" will be uploaded then to \"/foo/bar/a.txt\")\n * @param {Array<File|FileSystemEntry>} files The files and/or folders to upload\n * @param {Function} callback Callback that receives the nodes in the current folder and the current path to allow resolving conflicts, all nodes that are returned will be uploaded (if a folder does not exist it will be created)\n * @return Cancelable promise that resolves to an array of uploads\n *\n * @example\n * ```ts\n * // For example this is from handling the onchange event of an input[type=file]\n * async handleFiles(files: File[]) {\n * this.uploads = await this.uploader.batchUpload('uploads', files, this.handleConflicts)\n * }\n *\n * async handleConflicts(nodes: File[], currentPath: string) {\n * const conflicts = getConflicts(nodes, this.fetchContent(currentPath))\n * if (conficts.length === 0) {\n * // No conflicts so upload all\n * return nodes\n * } else {\n * // Open the conflict picker to resolve conflicts\n * try {\n * const { selected, renamed } = await openConflictPicker(currentPath, conflicts, this.fetchContent(currentPath), { recursive: true })\n * return [...selected, ...renamed]\n * } catch (e) {\n * return false\n * }\n * }\n * }\n * ```\n */\n batchUpload(destination, files, callback) {\n const rootFolder = new Directory(\"\", files);\n if (!callback) {\n callback = async (files2) => files2;\n }\n return new PCancelable(async (resolve, reject, onCancel) => {\n const upload2 = new Upload(`${this.root.replace(/\\/$/, \"\")}/${destination.replace(/^\\//, \"\")}`, false, 0, rootFolder);\n upload2.status = Status$1.UPLOADING;\n this._uploadQueue.push(upload2);\n try {\n const promise = this.uploadDirectory(destination, rootFolder, callback, davGetClient(this.root));\n onCancel(() => promise.cancel());\n const uploads = await promise;\n upload2.status = Status$1.FINISHED;\n resolve(uploads);\n } catch (error) {\n logger.error(\"Error in batch upload\", { error });\n upload2.status = Status$1.FAILED;\n reject(t(\"Upload has been cancelled\"));\n } finally {\n this._notifyAll(upload2);\n this.updateStats();\n }\n });\n }\n /**\n * Helper to create a directory wrapped inside an Upload class\n * @param destination Destination where to create the directory\n * @param directory The directory to create\n * @param client The cached WebDAV client\n */\n createDirectory(destination, directory, client) {\n const folderPath = normalize(`${destination}/${directory.name}`).replace(/\\/$/, \"\");\n const rootPath = `${this.root.replace(/\\/$/, \"\")}/${folderPath.replace(/^\\//, \"\")}`;\n if (!directory.name) {\n throw new Error(\"Can not create empty directory\");\n }\n const currentUpload = new Upload(rootPath, false, 0, directory);\n this._uploadQueue.push(currentUpload);\n return new PCancelable(async (resolve, reject, onCancel) => {\n const abort = new AbortController();\n onCancel(() => abort.abort());\n currentUpload.signal.addEventListener(\"abort\", () => reject(t(\"Upload has been cancelled\")));\n await this._jobQueue.add(async () => {\n currentUpload.status = Status$1.UPLOADING;\n try {\n await client.createDirectory(folderPath, { signal: abort.signal });\n resolve(currentUpload);\n } catch (error) {\n if (error && typeof error === \"object\" && \"status\" in error && error.status === 405) {\n currentUpload.status = Status$1.FINISHED;\n logger.debug(\"Directory already exists, writing into it\", { directory: directory.name });\n } else {\n currentUpload.status = Status$1.FAILED;\n reject(error);\n }\n } finally {\n this._notifyAll(currentUpload);\n this.updateStats();\n }\n });\n });\n }\n // Helper for uploading directories (recursively)\n uploadDirectory(destination, directory, callback, client) {\n const folderPath = normalize(`${destination}/${directory.name}`).replace(/\\/$/, \"\");\n return new PCancelable(async (resolve, reject, onCancel) => {\n const abort = new AbortController();\n onCancel(() => abort.abort());\n const selectedForUpload = await callback(directory.children, folderPath);\n if (selectedForUpload === false) {\n reject(t(\"Upload has been cancelled\"));\n return;\n } else if (selectedForUpload.length === 0 && directory.children.length > 0) {\n resolve([]);\n return;\n }\n const directories = [];\n const uploads = [];\n abort.signal.addEventListener(\"abort\", () => {\n directories.forEach((upload2) => upload2.cancel());\n uploads.forEach((upload2) => upload2.cancel());\n });\n try {\n if (directory.name) {\n uploads.push(this.createDirectory(destination, directory, client));\n await uploads.at(-1);\n }\n for (const node of selectedForUpload) {\n if (node instanceof Directory) {\n directories.push(this.uploadDirectory(folderPath, node, callback, client));\n } else {\n uploads.push(this.upload(`${folderPath}/${node.name}`, node));\n }\n }\n const resolvedUploads = await Promise.all(uploads);\n const resolvedDirectoryUploads = await Promise.all(directories);\n resolve([resolvedUploads, ...resolvedDirectoryUploads].flat());\n } catch (e) {\n abort.abort(e);\n reject(e);\n }\n });\n }\n /**\n * Upload a file to the given path\n * @param {string} destination the destination path relative to the root folder. e.g. /foo/bar.txt\n * @param {File|FileSystemFileEntry} fileHandle the file to upload\n * @param {string} root the root folder to upload to\n * @param retries number of retries\n */\n upload(destination, fileHandle, root, retries = 5) {\n root = root || this.root;\n const destinationPath = `${root.replace(/\\/$/, \"\")}/${destination.replace(/^\\//, \"\")}`;\n const { origin } = new URL(destinationPath);\n const encodedDestinationFile = origin + encodePath(destinationPath.slice(origin.length));\n logger.debug(`Uploading ${fileHandle.name} to ${encodedDestinationFile}`);\n const promise = new PCancelable(async (resolve, reject, onCancel) => {\n if (isFileSystemFileEntry(fileHandle)) {\n fileHandle = await new Promise((resolve2) => fileHandle.file(resolve2, reject));\n }\n const file = fileHandle;\n const maxChunkSize = getMaxChunksSize(\"size\" in file ? file.size : void 0);\n const disabledChunkUpload = this._isPublic || maxChunkSize === 0 || \"size\" in file && file.size < maxChunkSize;\n const upload2 = new Upload(destinationPath, !disabledChunkUpload, file.size, file);\n this._uploadQueue.push(upload2);\n this.updateStats();\n onCancel(upload2.cancel);\n if (!disabledChunkUpload) {\n logger.debug(\"Initializing chunked upload\", { file, upload: upload2 });\n const tempUrl = await initChunkWorkspace(encodedDestinationFile, retries);\n const chunksQueue = [];\n for (let chunk = 0; chunk < upload2.chunks; chunk++) {\n const bufferStart = chunk * maxChunkSize;\n const bufferEnd = Math.min(bufferStart + maxChunkSize, upload2.size);\n const blob = () => getChunk(file, bufferStart, maxChunkSize);\n const request = () => {\n return uploadData(\n `${tempUrl}/${chunk + 1}`,\n blob,\n upload2.signal,\n () => this.updateStats(),\n encodedDestinationFile,\n {\n \"X-OC-Mtime\": file.lastModified / 1e3,\n \"OC-Total-Length\": file.size,\n \"Content-Type\": \"application/octet-stream\"\n },\n retries\n ).then(() => {\n upload2.uploaded = upload2.uploaded + maxChunkSize;\n }).catch((error) => {\n if (error?.response?.status === 507) {\n logger.error(\"Upload failed, not enough space on the server or quota exceeded. Cancelling the remaining chunks\", { error, upload: upload2 });\n upload2.cancel();\n upload2.status = Status$1.FAILED;\n throw error;\n }\n if (!isCancel(error)) {\n logger.error(`Chunk ${chunk + 1} ${bufferStart} - ${bufferEnd} uploading failed`, { error, upload: upload2 });\n upload2.cancel();\n upload2.status = Status$1.FAILED;\n }\n throw error;\n });\n };\n chunksQueue.push(this._jobQueue.add(request));\n }\n try {\n await Promise.all(chunksQueue);\n this.updateStats();\n upload2.response = await axios.request({\n method: \"MOVE\",\n url: `${tempUrl}/.file`,\n headers: {\n \"X-OC-Mtime\": file.lastModified / 1e3,\n \"OC-Total-Length\": file.size,\n Destination: encodedDestinationFile\n }\n });\n this.updateStats();\n upload2.status = Status$1.FINISHED;\n logger.debug(`Successfully uploaded ${file.name}`, { file, upload: upload2 });\n resolve(upload2);\n } catch (error) {\n if (!isCancel(error)) {\n upload2.status = Status$1.FAILED;\n reject(\"Failed assembling the chunks together\");\n } else {\n upload2.status = Status$1.FAILED;\n reject(t(\"Upload has been cancelled\"));\n }\n axios.request({\n method: \"DELETE\",\n url: `${tempUrl}`\n });\n }\n this._notifyAll(upload2);\n } else {\n logger.debug(\"Initializing regular upload\", { file, upload: upload2 });\n const blob = await getChunk(file, 0, upload2.size);\n const request = async () => {\n try {\n upload2.response = await uploadData(\n encodedDestinationFile,\n blob,\n upload2.signal,\n (event) => {\n upload2.uploaded = upload2.uploaded + event.bytes;\n this.updateStats();\n },\n void 0,\n {\n \"X-OC-Mtime\": file.lastModified / 1e3,\n \"Content-Type\": file.type\n }\n );\n upload2.uploaded = upload2.size;\n this.updateStats();\n logger.debug(`Successfully uploaded ${file.name}`, { file, upload: upload2 });\n resolve(upload2);\n } catch (error) {\n if (isCancel(error)) {\n upload2.status = Status$1.FAILED;\n reject(t(\"Upload has been cancelled\"));\n return;\n }\n if (error?.response) {\n upload2.response = error.response;\n }\n upload2.status = Status$1.FAILED;\n logger.error(`Failed uploading ${file.name}`, { error, file, upload: upload2 });\n reject(\"Failed uploading the file\");\n }\n this._notifyAll(upload2);\n };\n this._jobQueue.add(request);\n this.updateStats();\n }\n return upload2;\n });\n return promise;\n }\n}\nfunction normalizeComponent(scriptExports, render7, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {\n var options = typeof scriptExports === \"function\" ? scriptExports.options : scriptExports;\n if (render7) {\n options.render = render7;\n options.staticRenderFns = staticRenderFns;\n options._compiled = true;\n }\n if (functionalTemplate) {\n options.functional = true;\n }\n if (scopeId) {\n options._scopeId = \"data-v-\" + scopeId;\n }\n var hook;\n if (moduleIdentifier) {\n hook = function(context) {\n context = context || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext;\n if (!context && typeof __VUE_SSR_CONTEXT__ !== \"undefined\") {\n context = __VUE_SSR_CONTEXT__;\n }\n if (injectStyles) {\n injectStyles.call(this, context);\n }\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n };\n options._ssrRegister = hook;\n } else if (injectStyles) {\n hook = shadowMode ? function() {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n );\n } : injectStyles;\n }\n if (hook) {\n if (options.functional) {\n options._injectStyles = hook;\n var originalRender = options.render;\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n return {\n exports: scriptExports,\n options\n };\n}\nconst _sfc_main$5 = {\n name: \"CancelIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$5 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon cancel-icon\", attrs: { \"aria-hidden\": _vm.title ? null : true, \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22 2 17.5 2 12 6.5 2 12 2M12 4C10.1 4 8.4 4.6 7.1 5.7L18.3 16.9C19.3 15.5 20 13.8 20 12C20 7.6 16.4 4 12 4M16.9 18.3L5.7 7.1C4.6 8.4 4 10.1 4 12C4 16.4 7.6 20 12 20C13.9 20 15.6 19.4 16.9 18.3Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$5 = [];\nvar __component__$5 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$5,\n _sfc_render$5,\n _sfc_staticRenderFns$5,\n false,\n null,\n null,\n null,\n null\n);\nconst IconCancel = __component__$5.exports;\nconst _sfc_main$4 = {\n name: \"FolderUploadIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$4 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon folder-upload-icon\", attrs: { \"aria-hidden\": _vm.title ? null : true, \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M20,6A2,2 0 0,1 22,8V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H10L12,6H20M10.75,13H14V17H16V13H19.25L15,8.75\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$4 = [];\nvar __component__$4 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$4,\n _sfc_render$4,\n _sfc_staticRenderFns$4,\n false,\n null,\n null,\n null,\n null\n);\nconst IconFolderUpload = __component__$4.exports;\nconst _sfc_main$3 = {\n name: \"PlusIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$3 = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon plus-icon\", attrs: { \"aria-hidden\": _vm.title ? null : true, \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$3 = [];\nvar __component__$3 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$3,\n _sfc_render$3,\n _sfc_staticRenderFns$3,\n false,\n null,\n null,\n null,\n null\n);\nconst IconPlus = __component__$3.exports;\nconst _sfc_main$2 = {\n name: \"UploadIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$2 = function render4() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon upload-icon\", attrs: { \"aria-hidden\": _vm.title ? null : true, \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M9,16V10H5L12,3L19,10H15V16H9M5,20V18H19V20H5Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n null,\n null,\n null\n);\nconst IconUpload = __component__$2.exports;\nconst _sfc_main$1 = defineComponent({\n components: {\n NcDialog,\n NcNoteCard,\n NcTextField\n },\n props: {\n error: {\n type: InvalidFilenameError,\n required: true\n },\n /**\n * @deprecated just for legacy reasons, replace with function from @nextcloud/files in future\n */\n validateFilename: {\n type: Function,\n required: true\n }\n },\n setup() {\n return {\n t\n };\n },\n data() {\n return {\n newName: \"\",\n validationError: \"\"\n };\n },\n computed: {\n isValidName() {\n return this.validationError === \"\";\n },\n isInvalidFileType() {\n return this.error.reason === InvalidFilenameErrorReason.Extension && this.error.segment.match(/^\\.\\w/) !== null;\n },\n canRename() {\n return !this.isInvalidFileType;\n },\n dialogButtons() {\n const buttons = [\n {\n label: t(\"Cancel\"),\n type: \"error\",\n callback: () => {\n this.$emit(\"close\", { cancel: true });\n }\n },\n {\n label: t(\"Skip\"),\n callback: () => {\n this.$emit(\"close\", { skip: true });\n }\n }\n ];\n if (this.canRename) {\n buttons.push({\n label: t(\"Rename\"),\n type: \"primary\",\n disabled: !this.isValidName,\n callback: () => {\n this.$emit(\"close\", { rename: this.newName.trimEnd() });\n }\n });\n }\n return buttons;\n }\n },\n watch: {\n error: {\n handler() {\n this.validationError = this.getErrorText(this.error);\n this.newName = this.error.filename;\n },\n immediate: true\n },\n newName() {\n try {\n this.validateFilename(this.newName.trimEnd());\n this.validationError = \"\";\n } catch (error) {\n this.validationError = this.getErrorText(error);\n } finally {\n const textfield = this.$refs.textfield?.$el.querySelector(\"input\");\n if (textfield) {\n textfield.setCustomValidity(this.validationError);\n textfield.reportValidity();\n }\n }\n }\n },\n methods: {\n getErrorText(error) {\n switch (error.reason) {\n case InvalidFilenameErrorReason.Character:\n return t('\"{segment}\" is not allowed inside a file or folder name.', { segment: error.segment });\n case InvalidFilenameErrorReason.ReservedName:\n return t('\"{segment}\" is a forbidden file or folder name.', { segment: error.segment });\n case InvalidFilenameErrorReason.Extension:\n return error.segment.match(/\\.\\w/) ? t('\"{segment}\" is a forbidden file type.', { segment: error.segment }) : t('Filenames must not end with \"{segment}\".', { segment: error.segment });\n }\n }\n }\n});\nvar _sfc_render$1 = function render5() {\n var _vm = this, _c = _vm._self._c;\n _vm._self._setupProxy;\n return _c(\"NcDialog\", { attrs: { \"buttons\": _vm.dialogButtons, \"name\": _vm.t(\"Invalid filename\") }, on: { \"close\": function($event) {\n return _vm.$emit(\"close\", { cancel: true });\n } } }, [_c(\"NcNoteCard\", { attrs: { \"severity\": \"error\" } }, [_vm._v(\" \" + _vm._s(_vm.getErrorText(_vm.error)) + \" \" + _vm._s(_vm.t(\"You can either rename the file, skip this file or cancel the whole operation.\")) + \" \")]), _vm.canRename ? _c(\"NcTextField\", { ref: \"textfield\", staticClass: \"invalid-filename-dialog__input\", attrs: { \"error\": !_vm.isValidName, \"helper-text\": _vm.validationError, \"label\": _vm.t(\"New filename\"), \"value\": _vm.newName }, on: { \"update:value\": function($event) {\n _vm.newName = $event;\n } } }) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"3a479259\",\n null,\n null\n);\nconst InvalidFilenameDialog = __component__$1.exports;\nconst _sfc_main = Vue.extend({\n name: \"UploadPicker\",\n components: {\n IconCancel,\n IconFolderUpload,\n IconPlus,\n IconUpload,\n NcActionButton,\n NcActionCaption,\n NcActionSeparator,\n NcActions,\n NcButton,\n NcIconSvgWrapper,\n NcProgressBar\n },\n props: {\n accept: {\n type: Array,\n default: null\n },\n disabled: {\n type: Boolean,\n default: false\n },\n multiple: {\n type: Boolean,\n default: false\n },\n destination: {\n type: Folder,\n default: void 0\n },\n allowFolders: {\n type: Boolean,\n default: false\n },\n /**\n * List of file present in the destination folder\n * It is also possible to provide a function that takes a relative path to the current directory and returns the content of it\n * Note: If a function is passed it should return the current base directory when no path or an empty is passed\n */\n content: {\n type: [Array, Function],\n default: () => []\n },\n /**\n * Overwrite forbidden characters (by default the capabilities of the server are used)\n * @deprecated Deprecated and will be removed in the next major version\n */\n forbiddenCharacters: {\n type: Array,\n default: () => []\n }\n },\n setup() {\n return {\n t,\n // non reactive data / properties\n progressTimeId: `nc-uploader-progress-${Math.random().toString(36).slice(7)}`\n };\n },\n data() {\n return {\n eta: null,\n timeLeft: \"\",\n newFileMenuEntries: [],\n uploadManager: getUploader()\n };\n },\n computed: {\n menuEntriesUpload() {\n return this.newFileMenuEntries.filter((entry) => entry.category === NewMenuEntryCategory.UploadFromDevice);\n },\n menuEntriesNew() {\n return this.newFileMenuEntries.filter((entry) => entry.category === NewMenuEntryCategory.CreateNew);\n },\n menuEntriesOther() {\n return this.newFileMenuEntries.filter((entry) => entry.category === NewMenuEntryCategory.Other);\n },\n /**\n * Check whether the current browser supports uploading directories\n * Hint: This does not check if the current connection supports this, as some browsers require a secure context!\n */\n canUploadFolders() {\n return this.allowFolders && \"webkitdirectory\" in document.createElement(\"input\");\n },\n totalQueueSize() {\n return this.uploadManager.info?.size || 0;\n },\n uploadedQueueSize() {\n return this.uploadManager.info?.progress || 0;\n },\n progress() {\n return Math.round(this.uploadedQueueSize / this.totalQueueSize * 100) || 0;\n },\n queue() {\n return this.uploadManager.queue;\n },\n hasFailure() {\n return this.queue?.filter((upload2) => upload2.status === Status$1.FAILED).length !== 0;\n },\n isUploading() {\n return this.queue?.length > 0;\n },\n isAssembling() {\n return this.queue?.filter((upload2) => upload2.status === Status$1.ASSEMBLING).length !== 0;\n },\n isPaused() {\n return this.uploadManager.info?.status === Status.PAUSED;\n },\n // Hide the button text if we're uploading\n buttonName() {\n if (this.isUploading) {\n return void 0;\n }\n return t(\"New\");\n }\n },\n watch: {\n allowFolders: {\n immediate: true,\n handler() {\n if (typeof this.content !== \"function\" && this.allowFolders) {\n logger.error(\"[UploadPicker] Setting `allowFolders` is only allowed if `content` is a function\");\n }\n }\n },\n destination(destination) {\n this.setDestination(destination);\n },\n totalQueueSize(size) {\n this.eta = makeEta({ min: 0, max: size });\n this.updateStatus();\n },\n uploadedQueueSize(size) {\n this.eta?.report?.(size);\n this.updateStatus();\n },\n isPaused(isPaused) {\n if (isPaused) {\n this.$emit(\"paused\", this.queue);\n } else {\n this.$emit(\"resumed\", this.queue);\n }\n }\n },\n beforeMount() {\n if (this.destination) {\n this.setDestination(this.destination);\n }\n this.uploadManager.addNotifier(this.onUploadCompletion);\n logger.debug(\"UploadPicker initialised\");\n },\n methods: {\n /**\n * Handle clicking a new-menu entry\n * @param entry The entry that was clicked\n */\n async onClick(entry) {\n entry.handler(\n this.destination,\n await this.getContent().catch(() => [])\n );\n },\n /**\n * Trigger file picker\n * @param uploadFolders Upload folders\n */\n onTriggerPick(uploadFolders = false) {\n const input = this.$refs.input;\n if (this.canUploadFolders) {\n input.webkitdirectory = uploadFolders;\n }\n this.$nextTick(() => input.click());\n },\n /**\n * Helper for backwards compatibility that queries the content of the current directory\n * @param path The current path\n */\n async getContent(path) {\n return Array.isArray(this.content) ? this.content : await this.content(path);\n },\n /**\n * Show a dialog to let the user decide how to proceed with invalid filenames.\n * The returned promise resolves to false if the file should be skipped, and resolves to a string if it should be renamed.\n * The promise rejects when the user want to abort the operation.\n *\n * @param error the validation error\n */\n showInvalidFileNameDialog(error) {\n const { promise, reject, resolve } = Promise.withResolvers();\n spawnDialog(\n InvalidFilenameDialog,\n {\n error,\n validateFilename: this.validateFilename.bind(this)\n },\n (...rest) => {\n const [{ skip, rename }] = rest;\n if (skip) {\n resolve(false);\n } else if (rename) {\n resolve(rename);\n } else {\n reject();\n }\n }\n );\n return promise;\n },\n /**\n * Wrapper to allow overwriting forbidden characters\n * Remove with next major\n * @param filename name to validate\n */\n validateFilename(filename) {\n if (this.forbiddenCharacters.length > 0) {\n for (const c of this.forbiddenCharacters) {\n if (filename.includes(c)) {\n throw new InvalidFilenameError({\n filename,\n reason: InvalidFilenameErrorReason.Character,\n segment: c\n });\n }\n }\n } else {\n validateFilename(filename);\n }\n },\n async handleConflicts(nodes, path) {\n try {\n const content = await this.getContent(path).catch(() => []);\n const conflicts = getConflicts(nodes, content);\n if (conflicts.length > 0) {\n const { selected, renamed } = await openConflictPicker(path, conflicts, content, { recursive: true });\n nodes = [...selected, ...renamed];\n }\n const filesToUpload = [];\n for (const file of nodes) {\n try {\n this.validateFilename(file.name);\n filesToUpload.push(file);\n } catch (error) {\n if (!(error instanceof InvalidFilenameError)) {\n logger.error(`Unexpected error while validating ${file.name}`, { error });\n throw error;\n }\n let newName = await this.showInvalidFileNameDialog(error);\n if (newName !== false) {\n newName = getUniqueName(newName, nodes.map((node) => node.name));\n Object.defineProperty(file, \"name\", { value: newName });\n filesToUpload.push(file);\n }\n }\n }\n if (filesToUpload.length === 0 && nodes.length > 0) {\n const folder = basename(path);\n showInfo(\n folder ? t('Upload of \"{folder}\" has been skipped', { folder }) : t(\"Upload has been skipped\")\n );\n }\n return filesToUpload;\n } catch (error) {\n logger.debug(\"Upload has been cancelled\", { error });\n showWarning(t(\"Upload has been cancelled\"));\n return false;\n }\n },\n /**\n * Start uploading\n */\n onPick() {\n const input = this.$refs.input;\n const files = input.files ? Array.from(input.files) : [];\n this.uploadManager.batchUpload(\"\", files, this.handleConflicts).catch((error) => logger.debug(\"Error while uploading\", { error })).finally(() => this.resetForm());\n },\n resetForm() {\n const form = this.$refs.form;\n form?.reset();\n },\n /**\n * Cancel ongoing queue\n */\n onCancel() {\n this.uploadManager.queue.forEach((upload2) => {\n upload2.cancel();\n });\n this.resetForm();\n },\n updateStatus() {\n if (this.isPaused) {\n this.timeLeft = t(\"paused\");\n return;\n }\n const estimate = Math.round(this.eta.estimate());\n if (estimate === Infinity) {\n this.timeLeft = t(\"estimating time left\");\n return;\n }\n if (estimate < 10) {\n this.timeLeft = t(\"a few seconds left\");\n return;\n }\n if (estimate > 60) {\n const date = /* @__PURE__ */ new Date(0);\n date.setSeconds(estimate);\n const time = date.toISOString().slice(11, 11 + 8);\n this.timeLeft = t(\"{time} left\", { time });\n return;\n }\n this.timeLeft = t(\"{seconds} seconds left\", { seconds: estimate });\n },\n setDestination(destination) {\n if (!this.destination) {\n logger.debug(\"Invalid destination\");\n return;\n }\n this.uploadManager.destination = destination;\n this.newFileMenuEntries = getNewFileMenuEntries(destination);\n },\n onUploadCompletion(upload2) {\n if (upload2.status === Status$1.FAILED) {\n this.$emit(\"failed\", upload2);\n } else {\n this.$emit(\"uploaded\", upload2);\n }\n }\n }\n});\nvar _sfc_render = function render6() {\n var _vm = this, _c = _vm._self._c;\n _vm._self._setupProxy;\n return _vm.destination ? _c(\"form\", { ref: \"form\", staticClass: \"upload-picker\", class: { \"upload-picker--uploading\": _vm.isUploading, \"upload-picker--paused\": _vm.isPaused }, attrs: { \"data-cy-upload-picker\": \"\" } }, [_vm.newFileMenuEntries && _vm.newFileMenuEntries.length === 0 ? _c(\"NcButton\", { attrs: { \"disabled\": _vm.disabled, \"data-cy-upload-picker-add\": \"\", \"data-cy-upload-picker-menu-entry\": \"upload-file\", \"type\": \"secondary\" }, on: { \"click\": function($event) {\n return _vm.onTriggerPick();\n } }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"IconPlus\", { attrs: { \"size\": 20 } })];\n }, proxy: true }], null, false, 1991456921) }, [_vm._v(\" \" + _vm._s(_vm.buttonName) + \" \")]) : _c(\"NcActions\", { attrs: { \"menu-name\": _vm.buttonName, \"menu-title\": _vm.t(\"New\"), \"type\": \"secondary\" }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"IconPlus\", { attrs: { \"size\": 20 } })];\n }, proxy: true }], null, false, 1991456921) }, [_c(\"NcActionCaption\", { attrs: { \"name\": _vm.t(\"Upload from device\") } }), _c(\"NcActionButton\", { attrs: { \"data-cy-upload-picker-add\": \"\", \"data-cy-upload-picker-menu-entry\": \"upload-file\", \"close-after-click\": true }, on: { \"click\": function($event) {\n return _vm.onTriggerPick();\n } }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"IconUpload\", { attrs: { \"size\": 20 } })];\n }, proxy: true }], null, false, 337456192) }, [_vm._v(\" \" + _vm._s(_vm.t(\"Upload files\")) + \" \")]), _vm.canUploadFolders ? _c(\"NcActionButton\", { attrs: { \"close-after-click\": \"\", \"data-cy-upload-picker-add-folders\": \"\", \"data-cy-upload-picker-menu-entry\": \"upload-folder\" }, on: { \"click\": function($event) {\n return _vm.onTriggerPick(true);\n } }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"IconFolderUpload\", { staticStyle: { \"color\": \"var(--color-primary-element)\" }, attrs: { \"size\": 20 } })];\n }, proxy: true }], null, false, 1037549157) }, [_vm._v(\" \" + _vm._s(_vm.t(\"Upload folders\")) + \" \")]) : _vm._e(), _vm._l(_vm.menuEntriesUpload, function(entry) {\n return _c(\"NcActionButton\", { key: entry.id, staticClass: \"upload-picker__menu-entry\", attrs: { \"icon\": entry.iconClass, \"close-after-click\": true, \"data-cy-upload-picker-menu-entry\": entry.id }, on: { \"click\": function($event) {\n return _vm.onClick(entry);\n } }, scopedSlots: _vm._u([entry.iconSvgInline ? { key: \"icon\", fn: function() {\n return [_c(\"NcIconSvgWrapper\", { attrs: { \"svg\": entry.iconSvgInline } })];\n }, proxy: true } : null], null, true) }, [_vm._v(\" \" + _vm._s(entry.displayName) + \" \")]);\n }), _vm.menuEntriesNew.length > 0 ? [_c(\"NcActionSeparator\"), _c(\"NcActionCaption\", { attrs: { \"name\": _vm.t(\"Create new\") } }), _vm._l(_vm.menuEntriesNew, function(entry) {\n return _c(\"NcActionButton\", { key: entry.id, staticClass: \"upload-picker__menu-entry\", attrs: { \"icon\": entry.iconClass, \"close-after-click\": true, \"data-cy-upload-picker-menu-entry\": entry.id }, on: { \"click\": function($event) {\n return _vm.onClick(entry);\n } }, scopedSlots: _vm._u([entry.iconSvgInline ? { key: \"icon\", fn: function() {\n return [_c(\"NcIconSvgWrapper\", { attrs: { \"svg\": entry.iconSvgInline } })];\n }, proxy: true } : null], null, true) }, [_vm._v(\" \" + _vm._s(entry.displayName) + \" \")]);\n })] : _vm._e(), _vm.menuEntriesOther.length > 0 ? [_c(\"NcActionSeparator\"), _vm._l(_vm.menuEntriesOther, function(entry) {\n return _c(\"NcActionButton\", { key: entry.id, staticClass: \"upload-picker__menu-entry\", attrs: { \"icon\": entry.iconClass, \"close-after-click\": true, \"data-cy-upload-picker-menu-entry\": entry.id }, on: { \"click\": function($event) {\n return _vm.onClick(entry);\n } }, scopedSlots: _vm._u([entry.iconSvgInline ? { key: \"icon\", fn: function() {\n return [_c(\"NcIconSvgWrapper\", { attrs: { \"svg\": entry.iconSvgInline } })];\n }, proxy: true } : null], null, true) }, [_vm._v(\" \" + _vm._s(entry.displayName) + \" \")]);\n })] : _vm._e()], 2), _c(\"div\", { directives: [{ name: \"show\", rawName: \"v-show\", value: _vm.isUploading, expression: \"isUploading\" }], staticClass: \"upload-picker__progress\" }, [_c(\"NcProgressBar\", { attrs: { \"aria-label\": _vm.t(\"Upload progress\"), \"aria-describedby\": _vm.progressTimeId, \"error\": _vm.hasFailure, \"value\": _vm.progress, \"size\": \"medium\" } }), _c(\"p\", { attrs: { \"id\": _vm.progressTimeId } }, [_vm._v(\" \" + _vm._s(_vm.timeLeft) + \" \")])], 1), _vm.isUploading ? _c(\"NcButton\", { staticClass: \"upload-picker__cancel\", attrs: { \"type\": \"tertiary\", \"aria-label\": _vm.t(\"Cancel uploads\"), \"data-cy-upload-picker-cancel\": \"\" }, on: { \"click\": _vm.onCancel }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"IconCancel\", { attrs: { \"size\": 20 } })];\n }, proxy: true }], null, false, 3076329829) }) : _vm._e(), _c(\"input\", { ref: \"input\", staticClass: \"hidden-visually\", attrs: { \"accept\": _vm.accept?.join?.(\", \"), \"multiple\": _vm.multiple, \"data-cy-upload-picker-input\": \"\", \"type\": \"file\" }, on: { \"change\": _vm.onPick } })], 1) : _vm._e();\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"3e5a9212\",\n null,\n null\n);\nconst UploadPicker = __component__.exports;\nlet _uploader = null;\nfunction getUploader(isPublic = isPublicShare(), forceRecreate = false) {\n if (_uploader instanceof Uploader && !forceRecreate) {\n return _uploader;\n }\n _uploader = new Uploader(isPublic);\n return _uploader;\n}\nfunction upload(destinationPath, file) {\n const uploader = getUploader();\n uploader.upload(destinationPath, file);\n return uploader;\n}\nasync function openConflictPicker(dirname, conflicts, content, options) {\n const ConflictPicker = defineAsyncComponent(() => import(\"./ConflictPicker-CqsvbW_U.mjs\"));\n return new Promise((resolve, reject) => {\n const picker = new Vue({\n name: \"ConflictPickerRoot\",\n render: (h) => h(ConflictPicker, {\n props: {\n dirname,\n conflicts,\n content,\n recursiveUpload: options?.recursive === true\n },\n on: {\n submit(results) {\n resolve(results);\n picker.$destroy();\n picker.$el?.parentNode?.removeChild(picker.$el);\n },\n cancel(error) {\n reject(error ?? new Error(\"Canceled\"));\n picker.$destroy();\n picker.$el?.parentNode?.removeChild(picker.$el);\n }\n }\n })\n });\n picker.$mount();\n document.body.appendChild(picker.$el);\n });\n}\nfunction hasConflict(files, content) {\n return getConflicts(files, content).length > 0;\n}\nfunction getConflicts(files, content) {\n const contentNames = content.map((node) => node.basename);\n const conflicts = files.filter((node) => {\n const name = \"basename\" in node ? node.basename : node.name;\n return contentNames.indexOf(name) !== -1;\n });\n return conflicts;\n}\nexport {\n Status as S,\n UploadPicker as U,\n n as a,\n getConflicts as b,\n Upload as c,\n Status$1 as d,\n getUploader as g,\n hasConflict as h,\n isFileSystemEntry as i,\n logger as l,\n normalizeComponent as n,\n openConflictPicker as o,\n t,\n upload as u\n};\n","import Toastify from \"toastify-js\";\nimport { getGettextBuilder } from \"@nextcloud/l10n/gettext\";\nconst gtBuilder = getGettextBuilder().detectLocale();\n[{ \"locale\": \"af\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Afrikaans (https://app.transifex.com/nextcloud/teams/64236/af/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"af\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Afrikaans (https://app.transifex.com/nextcloud/teams/64236/af/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: af\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"ar\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Ali <alimahwer@yahoo.com>, 2024\", \"Language-Team\": \"Arabic (https://app.transifex.com/nextcloud/teams/64236/ar/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ar\", \"Plural-Forms\": \"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nAli <alimahwer@yahoo.com>, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Ali <alimahwer@yahoo.com>, 2024\\nLanguage-Team: Arabic (https://app.transifex.com/nextcloud/teams/64236/ar/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ar\\nPlural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" لا يصلح كاسم مجلد.'] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" غير مسموح به كاسم مجلد'] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" غير مسموح به داخل اسم مجلد.'] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"كل الملفات\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"إختَر\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"إختَر {file}\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"إختَر %n ملف\", \"إختَر %n ملف\", \"إختَر %n ملف\", \"إختَر %n ملفات\", \"إختَر %n ملف\", \"إختَر %n ملف\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"نسخ\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"نسخٌ إلى {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"تعذّر إنشاء المجلد الجديد\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"يتعذّر تحميل إعدادات الملفات\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"يتعذّر تحميل مناظير views الملفات\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"أنشِيءْ مجلّداً\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"مُنتقِي المنظور الحالي\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"المُفضَّلة\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"الملفات و المجلدات التي تُميِّزُها كمٌفضَّلة ستظهر هنا.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"الملفات و المجلدات التي قمت مؤخراً بتعديلها سوف تظهر هنا.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"فلترة قائمة الملفات\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"اسم المجلد لا يمكن أن يكون فارغاً.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"البداية\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"مُعدَّل\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"أُنقُل\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"أُنقُل إلى {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"الاسم\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"جديد\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"مٌجلّد جديد\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"اسم المجلد الجديد\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"لا توجد ملفات هنا\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"لا توجد ملفات تتطابق مع الفلتر الذي وضعته\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"لا توجد ملفات مُطابِقة\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"الحالي\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"حدِّد كل المداخل\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"إختَر المدخل\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"إختر سطر الـ {nodename}\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"الحجم\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"تراجع\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"قُم برفع محتوىً أو قُم بمزامنة أجهزتك!\"] } } } } }, { \"locale\": \"ast\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"enolp <enolp@softastur.org>, 2024\", \"Language-Team\": \"Asturian (https://app.transifex.com/nextcloud/teams/64236/ast/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ast\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nenolp <enolp@softastur.org>, 2024\\n\" }, \"msgstr\": [\"Last-Translator: enolp <enolp@softastur.org>, 2024\\nLanguage-Team: Asturian (https://app.transifex.com/nextcloud/teams/64236/ast/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ast\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": [\"«{name}» ye un nome de carpeta inválidu.\"] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": [\"«{name}» ye un nome de carpeta inválidu\"] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": [\"Nun se permite'l caráuter «/» dientro'l nome de les carpetes.\"] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Tolos ficheros\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Escoyer\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Escoyer «{ficheru}»\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Escoyer %n ficheru\", \"Escoyer %n ficheros\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Copiar\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copiar en: {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Nun se pudo crear la carpeta\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Nun se pudo cargar la configuración de los ficheros\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Nun se pudieron cargar les vistes de los ficheros\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Crear un direutoriu\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Selector de la vista actual\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritos\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Equí apaecen los ficheros y les carpetes que metas en Favoritos.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Equí apaecen los fichero y les carpetes que modificares apocayá.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Peñerar la llista de ficheros\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"El nome de la carpeta nun pue tar baleru.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Aniciu\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Modificóse\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Mover\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Mover a {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Nome\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Nuevu\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Carpeta nueva\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Nome de carpeta nuevu\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"Equí nun hai nengún ficheru\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nun s'atopó nengún ficheru que concasare cola peñera.\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"Nun hai nengún ficheru que concase\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"De recién\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Seleicionar toles entraes\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Seleicionar la entrada\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Seleicionar la filera de: {nodename}\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Tamañu\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Desfacer\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"¡Xubi dalgún elementu o sincroniza colos tos preseos!\"] } } } } }, { \"locale\": \"az\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Azerbaijani (https://app.transifex.com/nextcloud/teams/64236/az/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"az\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Azerbaijani (https://app.transifex.com/nextcloud/teams/64236/az/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: az\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"be\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Belarusian (https://app.transifex.com/nextcloud/teams/64236/be/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"be\", \"Plural-Forms\": \"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Belarusian (https://app.transifex.com/nextcloud/teams/64236/be/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: be\\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"bg_BG\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Bulgarian (Bulgaria) (https://app.transifex.com/nextcloud/teams/64236/bg_BG/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"bg_BG\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Bulgarian (Bulgaria) (https://app.transifex.com/nextcloud/teams/64236/bg_BG/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: bg_BG\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"bn_BD\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Bengali (Bangladesh) (https://app.transifex.com/nextcloud/teams/64236/bn_BD/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"bn_BD\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Bengali (Bangladesh) (https://app.transifex.com/nextcloud/teams/64236/bn_BD/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: bn_BD\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"br\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Breton (https://app.transifex.com/nextcloud/teams/64236/br/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"br\", \"Plural-Forms\": \"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Breton (https://app.transifex.com/nextcloud/teams/64236/br/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: br\\nPlural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"Disober\"] } } } } }, { \"locale\": \"bs\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Bosnian (https://app.transifex.com/nextcloud/teams/64236/bs/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"bs\", \"Plural-Forms\": \"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Bosnian (https://app.transifex.com/nextcloud/teams/64236/bs/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: bs\\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"ca\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Sergi Font, 2024\", \"Language-Team\": \"Catalan (https://app.transifex.com/nextcloud/teams/64236/ca/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ca\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nv v <e670006006@gmail.com>, 2024\\nMarc Riera <marcriera@softcatala.org>, 2024\\nSergi Font, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Sergi Font, 2024\\nLanguage-Team: Catalan (https://app.transifex.com/nextcloud/teams/64236/ca/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ca\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" és un nom de carpeta no vàlid.'] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" no és permès en el nom de carpeta'] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" no és permès en el nom de carpeta.'] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Tots els fitxers\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Tria\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Tria {file}\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Tria %n fitxer\", \"Tria %n fitxers\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Copia\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copia a {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"No s'ha pogut crear la carpeta nova\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"No es poden carregar fitxers de configuració\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"No es poden carregar fitxers de vistes\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Crear directori\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Selector de visualització actual\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Preferits\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Els fitxers i les carpetes que marqueu com a favorits es mostraran aquí.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Els fitxers i les carpetes recentment modificats es mostraran aquí.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrar llistat de fitxers\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"El nom de la carpeta no pot estar buit.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Inici\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Data de modificació\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Desplaça\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Desplaça a {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Nom\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Crea\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Carpeta nova\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Nom de la carpeta nova\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"No hi ha cap fitxer\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"No s'ha trobat cap fitxer que coincideixi amb el filtre.\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"No hi ha cap fitxer que coincideixi\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Recents\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Selecciona totes les entrades\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Selecciona l'entrada\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Selecciona la fila per a {nodename}\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Mida\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Desfés\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Pugeu contingut o sincronitzeu-lo amb els vostres dispositius!\"] } } } } }, { \"locale\": \"cs\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Pavel Borecki <pavel.borecki@gmail.com>, 2020\", \"Language-Team\": \"Czech (https://www.transifex.com/nextcloud/teams/64236/cs/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"cs\", \"Plural-Forms\": \"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nPavel Borecki <pavel.borecki@gmail.com>, 2020\\n\" }, \"msgstr\": [\"Last-Translator: Pavel Borecki <pavel.borecki@gmail.com>, 2020\\nLanguage-Team: Czech (https://www.transifex.com/nextcloud/teams/64236/cs/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: cs\\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:187\" }, \"msgstr\": [\"Zpět\"] } } } } }, { \"locale\": \"cs_CZ\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Pavel Borecki <pavel.borecki@gmail.com>, 2024\", \"Language-Team\": \"Czech (Czech Republic) (https://app.transifex.com/nextcloud/teams/64236/cs_CZ/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"cs_CZ\", \"Plural-Forms\": \"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nPavel Borecki <pavel.borecki@gmail.com>, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Pavel Borecki <pavel.borecki@gmail.com>, 2024\\nLanguage-Team: Czech (Czech Republic) (https://app.transifex.com/nextcloud/teams/64236/cs_CZ/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: cs_CZ\\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": [\"„{name}“ není platný název složky.\"] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": [\"„{name}“ není povolený název složky.\"] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": [\"znak „/“ (dopředné lomítko) není možné použít v názvu složky.\"] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Veškeré soubory\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Zvolit\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Zvolit {file}\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Zvolte %n soubor\", \"Zvolte %n soubory\", \"Zvolte %n souborů\", \"Zvolte %n soubory\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Zkopírovat\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Zkopírovat do {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Novou složku se nepodařilo vytvořit\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Nepodařilo se načíst nastavení pro soubory\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Nepodařilo se načíst pohledy souborů\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Vytvořit složku\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Výběr stávajícího zobrazení\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Oblíbené\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Zde se zobrazí soubory a složky, které označíte jako oblíbené.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Zde se zobrazí soubory a složky, které jste nedávno pozměnili.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrovat seznam souborů\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Složku je třeba nějak nazvat.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Domů\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Změněno\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Přesounout\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Přesunout do {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Název\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Nové\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Nová složka\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Název pro novou složku\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"Nejsou zde žádné soubory\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nenalezeny žádné soubory odpovídající vašemu filtru\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"Žádné odpovídající soubory\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Nedávné\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Vybrat všechny položky\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Vybrat položku\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Vybrat řádek pro {nodename}\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Velikost\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Zpět\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Nahrajte nějaký obsah nebo proveďte synchronizaci se svými zařízeními!\"] } } } } }, { \"locale\": \"cy_GB\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Welsh (United Kingdom) (https://app.transifex.com/nextcloud/teams/64236/cy_GB/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"cy_GB\", \"Plural-Forms\": \"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Welsh (United Kingdom) (https://app.transifex.com/nextcloud/teams/64236/cy_GB/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: cy_GB\\nPlural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"da\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Martin Bonde <Martin@maboni.dk>, 2024\", \"Language-Team\": \"Danish (https://app.transifex.com/nextcloud/teams/64236/da/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"da\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nMartin Bonde <Martin@maboni.dk>, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Martin Bonde <Martin@maboni.dk>, 2024\\nLanguage-Team: Danish (https://app.transifex.com/nextcloud/teams/64236/da/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: da\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" er et ugyldigt mappenavn.'] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" er ikke et tilladt mappenavn'] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" er ikke tilladt i et mappenavn.'] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Alle filer\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Vælg\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Vælg {file}\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Vælg %n fil\", \"Vælg %n filer\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Kopier\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopier til {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Kunne ikke oprette den nye mappe\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Filindstillingerne kunne ikke indlæses\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Kunne ikke indlæse filvisninger\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Opret mappe\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Aktuel visningsvælger\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritter\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Filer og mapper, du markerer som foretrukne, vises her.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Filer og mapper, du for nylig har ændret, vises her.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrer fil liste\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Mappenavnet må ikke være tomt.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Hjem\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Ændret\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Flyt\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Flyt til {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Navn\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Ny\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Ny mappe\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Ny mappe navn\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"Ingen filer here\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Der blev ikke fundet nogen filer, der matcher dit filter.\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"Ingen matchende filer\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Seneste\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Vælg alle poster\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Vælg post\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Vælg rækken for {nodenavn}\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Størelse\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Fortryd\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Upload noget indhold eller synkroniser med dine enheder!\"] } } } } }, { \"locale\": \"de\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Ettore Atalan <atalanttore@googlemail.com>, 2024\", \"Language-Team\": \"German (https://app.transifex.com/nextcloud/teams/64236/de/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"de\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nMario Siegmann <mario_siegmann@web.de>, 2023\\nMarkus Eckstein, 2023\\nAndy Scherzinger <info@andy-scherzinger.de>, 2023\\nJoachim Sokolowski, 2023\\nEttore Atalan <atalanttore@googlemail.com>, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Ettore Atalan <atalanttore@googlemail.com>, 2024\\nLanguage-Team: German (https://app.transifex.com/nextcloud/teams/64236/de/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: de\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" ist ein ungültiger Ordnername.'] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" ist kein zulässiger Ordnername'] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" ist innerhalb eines Ordnernamens nicht zulässig.'] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Alle Dateien\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Auswählen\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"{file} auswählen\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"%n Datei auswählen\", \"%n Dateien auswählen\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Kopieren\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Nach {target} kopieren\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Der neue Ordner konnte nicht erstellt werden.\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Dateieinstellungen konnten nicht geladen werden\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Dateiansichten konnten nicht geladen werden\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Verzeichnis erstellen\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Aktuelle Ansichtsauswahl\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoriten\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Dateien und Ordner, die du als Favorit markierst, werden hier angezeigt.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Dateien und Ordner, die du kürzlich geändert hast, werden hier angezeigt.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Dateiliste filtern\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Der Ordnername darf nicht leer sein.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Startseite\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Geändert\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Verschieben\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Nach {target} verschieben\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Name\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Neu\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Neuer Ordner\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Neuer Ordnername\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"Keine Dateien vorhanden\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Es wurden keine Dateien gefunden, die deinem Filter entsprechen.\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"Keine passenden Dateien\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Jüngste\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Alle Einträge auswählen\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Eintrag auswählen\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Die Zeile für {nodename} auswählen.\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Größe\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Rückgängig\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Lade Inhalte hoch oder synchronisieren diese mit deinen Geräten!\"] } } } } }, { \"locale\": \"de_DE\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Mario Siegmann <mario_siegmann@web.de>, 2024\", \"Language-Team\": \"German (Germany) (https://app.transifex.com/nextcloud/teams/64236/de_DE/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"de_DE\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nMark Ziegler <mark.ziegler@rakekniven.de>, 2023\\nMario Siegmann <mario_siegmann@web.de>, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Mario Siegmann <mario_siegmann@web.de>, 2024\\nLanguage-Team: German (Germany) (https://app.transifex.com/nextcloud/teams/64236/de_DE/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: de_DE\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" ist ein ungültiger Ordnername.'] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" ist kein zulässiger Ordnername'] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" ist innerhalb eines Ordnernamens nicht zulässig.'] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Alle Dateien\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Auswählen\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"{file} auswählen\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"%n Datei auswählen\", \"%n Dateien auswählen\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Kopieren\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Nach {target} kopieren\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Der neue Ordner konnte nicht erstellt werden\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Dateieinstellungen konnten nicht geladen werden\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Dateiansichten konnten nicht geladen werden\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Verzeichnis erstellen\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Aktuelle Ansichtsauswahl\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoriten\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Dateien und Ordner, die Sie als Favorit markieren, werden hier angezeigt.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Dateien und Ordner, die Sie kürzlich geändert haben, werden hier angezeigt.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Dateiliste filtern\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Der Ordnername darf nicht leer sein.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Home\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Geändert\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Verschieben\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Nach {target} verschieben\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Name\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Neu\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Neuer Ordner\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Neuer Ordnername\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"Hier sind keine Dateien\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Es wurden keine Dateien gefunden, die Ihrem Filter entsprechen.\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"Keine passenden Dateien\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Neueste\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Alle Einträge auswählen\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Eintrag auswählen\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Die Zeile für {nodename} auswählen.\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Größe\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Rückgängig machen\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Laden Sie Inhalte hoch oder synchronisieren Sie diese mit Ihren Geräten!\"] } } } } }, { \"locale\": \"el\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Greek (https://app.transifex.com/nextcloud/teams/64236/el/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"el\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Greek (https://app.transifex.com/nextcloud/teams/64236/el/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: el\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"Αναίρεση\"] } } } } }, { \"locale\": \"en_GB\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Andi Chandler <andi@gowling.com>, 2024\", \"Language-Team\": \"English (United Kingdom) (https://app.transifex.com/nextcloud/teams/64236/en_GB/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"en_GB\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nCafé Tango, 2023\\nAndi Chandler <andi@gowling.com>, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Andi Chandler <andi@gowling.com>, 2024\\nLanguage-Team: English (United Kingdom) (https://app.transifex.com/nextcloud/teams/64236/en_GB/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: en_GB\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" is an invalid folder name.'] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" is not an allowed folder name'] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" is not allowed inside a folder name.'] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"All files\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Choose\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Choose {file}\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Choose %n file\", \"Choose %n files\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Copy\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copy to {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Could not create the new folder\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Could not load files settings\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Could not load files views\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Create directory\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Current view selector\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Favourites\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Files and folders you mark as favourite will show up here.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Files and folders you recently modified will show up here.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filter file list\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Folder name cannot be empty.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Home\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Modified\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Move\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Move to {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Name\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"New\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"New folder\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"New folder name\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"No files in here\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"No files matching your filter were found.\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"No matching files\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Recent\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Select all entries\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Select entry\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Select the row for {nodename}\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Size\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Undo\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Upload some content or sync with your devices!\"] } } } } }, { \"locale\": \"eo\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Esperanto (https://app.transifex.com/nextcloud/teams/64236/eo/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"eo\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Esperanto (https://app.transifex.com/nextcloud/teams/64236/eo/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: eo\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"Malfari\"] } } } } }, { \"locale\": \"es\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Julio C. Ortega, 2024\", \"Language-Team\": \"Spanish (https://app.transifex.com/nextcloud/teams/64236/es/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nFranciscoFJ <dev-ooo@satel-sa.com>, 2023\\nMark Ziegler <mark.ziegler@rakekniven.de>, 2024\\nJulio C. Ortega, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Julio C. Ortega, 2024\\nLanguage-Team: Spanish (https://app.transifex.com/nextcloud/teams/64236/es/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" es un nombre de carpeta no válido.'] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" no es un nombre de carpeta permitido'] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" no está permitido dentro del nombre de una carpeta.'] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Todos los archivos\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Seleccionar\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Seleccionar {file}\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Elige %n archivo\", \"Elige %n archivos\", \"Seleccione %n archivos\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Copiar\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copiar a {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"No se pudo crear la nueva carpeta\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"No se pudieron cargar los ajustes de archivos\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"No se pudieron cargar las vistas de los archivos\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Crear directorio\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Selector de vista actual\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritos\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Los archivos y carpetas que marque como favoritos aparecerán aquí.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Los archivos y carpetas que modificó recientemente aparecerán aquí.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrar lista de archivos\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"El nombre de la carpeta no puede estar vacío.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Inicio\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Modificado\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Mover\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Mover a {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Nombre\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Nuevo\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\" Nueva carpeta\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Nuevo nombre de carpeta\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"No hay archivos aquí\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"No se encontraron archivos que coincidiesen con su filtro.\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"No hay archivos coincidentes\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Reciente\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Seleccionar todas las entradas\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Seleccionar entrada\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Seleccione la fila para {nodename}\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Tamaño\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Deshacer\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"¡Cargue algún contenido o sincronice con sus dispositivos!\"] } } } } }, { \"locale\": \"es_419\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Latin America) (https://app.transifex.com/nextcloud/teams/64236/es_419/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_419\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Latin America) (https://app.transifex.com/nextcloud/teams/64236/es_419/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_419\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es_AR\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Matías Campo Hoet <matiascampo@gmail.com>, 2024\", \"Language-Team\": \"Spanish (Argentina) (https://app.transifex.com/nextcloud/teams/64236/es_AR/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_AR\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nMatías Campo Hoet <matiascampo@gmail.com>, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Matías Campo Hoet <matiascampo@gmail.com>, 2024\\nLanguage-Team: Spanish (Argentina) (https://app.transifex.com/nextcloud/teams/64236/es_AR/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_AR\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" es un nombre de carpeta inválido.'] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" no es un nombre de carpeta permitido'] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" no está permitido en el nombre de una carpeta.'] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Todos los archivos\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Elegir\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Elija {file}\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Elija %n archivo\", \"Elija %n archivos\", \"Elija %n archivos\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Copiar\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copiar a {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"No se pudo crear la nueva carpeta\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"No se pudo cargar la configuración de archivos\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"No se pudieron cargar las vistas de los archivos\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Crear directorio\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Selector de vista actual\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritos\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Los archivos y carpetas que marque como favoritos aparecerán aquí.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Los archivos y carpetas que modificó recientemente aparecerán aquí.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrar lista de archivos\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"El nombre de la carpeta no puede estar vacío.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Inicio\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Modificado\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Mover\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Mover a {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Nombre\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Nuevo\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Nueva carpeta\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Nombre de nueva carpeta\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"No hay archivos aquí\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"No se encontraron archivos que coincidan con su filtro.\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"No hay archivos coincidentes\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Reciente\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Seleccionar todas las entradas\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Seleccionar entrada\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Seleccione la fila para {nodename}\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Tamaño\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Deshacer\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"¡Cargue algún contenido o sincronice con sus dispositivos!\"] } } } } }, { \"locale\": \"es_CL\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Chile) (https://app.transifex.com/nextcloud/teams/64236/es_CL/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_CL\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Chile) (https://app.transifex.com/nextcloud/teams/64236/es_CL/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_CL\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es_CO\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Colombia) (https://app.transifex.com/nextcloud/teams/64236/es_CO/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_CO\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Colombia) (https://app.transifex.com/nextcloud/teams/64236/es_CO/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_CO\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es_CR\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Costa Rica) (https://app.transifex.com/nextcloud/teams/64236/es_CR/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_CR\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Costa Rica) (https://app.transifex.com/nextcloud/teams/64236/es_CR/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_CR\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es_DO\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Dominican Republic) (https://app.transifex.com/nextcloud/teams/64236/es_DO/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_DO\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Dominican Republic) (https://app.transifex.com/nextcloud/teams/64236/es_DO/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_DO\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es_EC\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Ecuador) (https://app.transifex.com/nextcloud/teams/64236/es_EC/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_EC\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Ecuador) (https://app.transifex.com/nextcloud/teams/64236/es_EC/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_EC\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es_GT\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Guatemala) (https://app.transifex.com/nextcloud/teams/64236/es_GT/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_GT\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Guatemala) (https://app.transifex.com/nextcloud/teams/64236/es_GT/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_GT\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es_HN\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Honduras) (https://app.transifex.com/nextcloud/teams/64236/es_HN/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_HN\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Honduras) (https://app.transifex.com/nextcloud/teams/64236/es_HN/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_HN\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es_MX\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Jehu Marcos Herrera Puentes, 2024\", \"Language-Team\": \"Spanish (Mexico) (https://app.transifex.com/nextcloud/teams/64236/es_MX/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_MX\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nJehu Marcos Herrera Puentes, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Jehu Marcos Herrera Puentes, 2024\\nLanguage-Team: Spanish (Mexico) (https://app.transifex.com/nextcloud/teams/64236/es_MX/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_MX\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" es un nombre de carpeta inválido.'] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" no es un nombre de carpeta permitido.'] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" no está permitido en el nombre de la carpeta.'] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Todos los archivos\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Seleccionar\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Seleccionar {file}\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Seleccionar %n archivo\", \"Seleccionar %n archivos\", \"Seleccionar %n archivos\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Copiar\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copiar a {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"No se pudo crear la nueva carpeta\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"No se pudo cargar la configuración de archivos\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"No se pudieron cargar las vistas de los archivos\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Crear carpeta\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Selector de vista actual\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritos\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Los archivos y carpetas que marque como favoritos aparecerán aquí.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Los archivos y carpetas que modificó recientemente aparecerán aquí.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrar lista de archivos\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"El nombre de la carpeta no puede estar vacío.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Inicio\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Modificado\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Mover\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Mover a {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Nombre\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Nuevo\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Nueva carpeta\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Nombre de nueva carpeta\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"No hay archivos aquí\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"No se encontraron archivos que coincidan con su filtro.\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"No hay archivos coincidentes\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Reciente\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Seleccionar todas las entradas\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Seleccionar entrada\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Seleccione la fila para {nodename}\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Tamaño\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Deshacer\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"¡Suba algún contenido o sincronice con sus dispositivos!\"] } } } } }, { \"locale\": \"es_NI\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Nicaragua) (https://app.transifex.com/nextcloud/teams/64236/es_NI/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_NI\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Nicaragua) (https://app.transifex.com/nextcloud/teams/64236/es_NI/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_NI\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es_PA\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Panama) (https://app.transifex.com/nextcloud/teams/64236/es_PA/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_PA\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Panama) (https://app.transifex.com/nextcloud/teams/64236/es_PA/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_PA\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es_PE\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Peru) (https://app.transifex.com/nextcloud/teams/64236/es_PE/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_PE\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Peru) (https://app.transifex.com/nextcloud/teams/64236/es_PE/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_PE\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es_PR\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Puerto Rico) (https://app.transifex.com/nextcloud/teams/64236/es_PR/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_PR\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Puerto Rico) (https://app.transifex.com/nextcloud/teams/64236/es_PR/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_PR\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es_PY\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Paraguay) (https://app.transifex.com/nextcloud/teams/64236/es_PY/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_PY\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Paraguay) (https://app.transifex.com/nextcloud/teams/64236/es_PY/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_PY\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es_SV\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (El Salvador) (https://app.transifex.com/nextcloud/teams/64236/es_SV/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_SV\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (El Salvador) (https://app.transifex.com/nextcloud/teams/64236/es_SV/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_SV\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"es_UY\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Spanish (Uruguay) (https://app.transifex.com/nextcloud/teams/64236/es_UY/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"es_UY\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Spanish (Uruguay) (https://app.transifex.com/nextcloud/teams/64236/es_UY/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es_UY\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"et_EE\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Estonian (Estonia) (https://app.transifex.com/nextcloud/teams/64236/et_EE/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"et_EE\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Estonian (Estonia) (https://app.transifex.com/nextcloud/teams/64236/et_EE/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: et_EE\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"eu\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Basque (https://app.transifex.com/nextcloud/teams/64236/eu/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"eu\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Basque (https://app.transifex.com/nextcloud/teams/64236/eu/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: eu\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"Desegin\"] } } } } }, { \"locale\": \"fa\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Persian (https://app.transifex.com/nextcloud/teams/64236/fa/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"fa\", \"Plural-Forms\": \"nplurals=2; plural=(n > 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Persian (https://app.transifex.com/nextcloud/teams/64236/fa/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: fa\\nPlural-Forms: nplurals=2; plural=(n > 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"بازگردانی\"] } } } } }, { \"locale\": \"fi_FI\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"thingumy, 2024\", \"Language-Team\": \"Finnish (Finland) (https://app.transifex.com/nextcloud/teams/64236/fi_FI/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"fi_FI\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nJiri Grönroos <jiri.gronroos@iki.fi>, 2024\\nthingumy, 2024\\n\" }, \"msgstr\": [\"Last-Translator: thingumy, 2024\\nLanguage-Team: Finnish (Finland) (https://app.transifex.com/nextcloud/teams/64236/fi_FI/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: fi_FI\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" on virheellinen kansion nimi.'] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" ei ole sallittu kansion nimi'] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" ei ole sallittu kansion nimessä.'] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Kaikki tiedostot\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Valitse\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Valitse {file}\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Valitse %n tiedosto\", \"Valitse %n tiedostoa\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Kopioi\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopioi sijaintiin {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Uutta kansiota ei voitu luoda\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Tiedoston asetuksia ei saa ladattua\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Tiedoston näkymiä ei saa ladattua\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Luo kansio\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Nykyisen näkymän valinta\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Suosikit\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Tiedostot ja kansiot, jotka merkitset suosikkeihisi, näkyvät täällä.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Tiedostot ja kansiot, joita muokkasit äskettäin, näkyvät täällä.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Suodata tiedostolistaa\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Kansion nimi ei voi olla tyhjä.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Koti\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Muokattu\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Siirrä\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Siirrä sijaintiin {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Nimi\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Uusi\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Uusi kansio\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Uuden kansion nimi\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"Täällä ei ole tiedostoja\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Suodatinta vastaavia tiedostoja ei löytynyt.\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"Ei vastaavia tiedostoja\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Viimeisimmät\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Valitse kaikki tietueet\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Valitse tietue\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Valitse rivi {nodename}:lle\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Koko\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Kumoa\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Lähetä jotain sisältöä tai synkronoi laitteidesi kanssa!\"] } } } } }, { \"locale\": \"fo\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Faroese (https://app.transifex.com/nextcloud/teams/64236/fo/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"fo\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Faroese (https://app.transifex.com/nextcloud/teams/64236/fo/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: fo\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"fr\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Benoit Pruneau, 2024\", \"Language-Team\": \"French (https://app.transifex.com/nextcloud/teams/64236/fr/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"fr\", \"Plural-Forms\": \"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nRémi LEBLOND, 2023\\nMordecai, 2023\\nfleopaulD, 2023\\nFrançois Ch., 2024\\nJérôme HERBINET, 2024\\nBenoit Pruneau, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Benoit Pruneau, 2024\\nLanguage-Team: French (https://app.transifex.com/nextcloud/teams/64236/fr/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: fr\\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": [\"« {name} » n'est pas un nom de dossier valide.\"] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": [\"« {name} » n'est pas un nom de dossier autorisé.\"] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": [\"Le caractère « / » n'est pas autorisé dans un nom de dossier.\"] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Tous les fichiers\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Choisir\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Choisir {file}\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Choisir %n fichier\", \"Choisir %n fichiers\", \"Choisir %n fichiers \"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Copier\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copier vers {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Impossible de créer le nouveau dossier\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Les paramètres des fichiers n'ont pas pu être chargés\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Les aperçus des fichiers n'ont pas pu être chargés\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Créer un répertoire\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Sélecteur de vue courante\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoris\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Les fichiers et répertoires marqués en favoris apparaîtront ici.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Les fichiers et répertoires modifiés récemment apparaîtront ici.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrer la liste des fichiers\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Le nom du dossier ne peut pas être vide.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Accueil\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Modifié\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Déplacer\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Déplacer vers {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Nom\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Nouveau\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Nouveau répertoire\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Nom du nouveau répertoire\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"Aucun fichier ici\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Aucun fichier trouvé correspondant à votre filtre.\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"Aucun fichier trouvé\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Récents\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Tous sélectionner\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Sélectionner une entrée\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Sélectionner l'enregistrement pour {nodename}\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Taille\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Rétablir\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Charger du contenu ou synchroniser avec vos équipements !\"] } } } } }, { \"locale\": \"ga\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Aindriú Mac Giolla Eoin, 2024\", \"Language-Team\": \"Irish (https://app.transifex.com/nextcloud/teams/64236/ga/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ga\", \"Plural-Forms\": \"nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nAindriú Mac Giolla Eoin, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Aindriú Mac Giolla Eoin, 2024\\nLanguage-Team: Irish (https://app.transifex.com/nextcloud/teams/64236/ga/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ga\\nPlural-Forms: nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['Is ainm fillteáin neamhbhailí é \"{name}\".'] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['Ní ainm fillteáin ceadaithe é \"{name}\".'] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['Ní cheadaítear \"/\" taobh istigh d\\'ainm fillteáin.'] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Gach comhad\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Roghnaigh\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Roghnaigh {file}\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Roghnaigh %n comhad\", \"Roghnaigh %n comhaid\", \"Roghnaigh %n comhaid\", \"Roghnaigh %n comhaid\", \"Roghnaigh %n comhaid\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Cóip\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Cóipeáil chuig {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Níorbh fhéidir an fillteán nua a chruthú\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Níorbh fhéidir socruithe comhaid a lódáil\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Níorbh fhéidir radhairc comhad a lódáil\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Cruthaigh eolaire\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Roghnóir amhairc reatha\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Ceanáin\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Taispeánfar comhaid agus fillteáin a mharcálann tú mar is fearr leat anseo.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Taispeánfar comhaid agus fillteáin a d'athraigh tú le déanaí anseo.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Scag liosta comhad\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Ní féidir ainm fillteáin a bheith folamh.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Baile\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Athraithe\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Bog\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Bog go{target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Ainm\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Nua\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Fillteán nua\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Ainm fillteáin nua\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"Níl aon chomhaid istigh anseo\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Níor aimsíodh aon chomhad a tháinig le do scagaire.\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"Gan comhaid meaitseála\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"le déanaí\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Roghnaigh gach iontráil\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Roghnaigh iontráil\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Roghnaigh an ró do {nodename}\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Méid\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Cealaigh\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Uaslódáil roinnt ábhair nó sioncronaigh le do ghléasanna!\"] } } } } }, { \"locale\": \"gd\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Gaelic, Scottish (https://app.transifex.com/nextcloud/teams/64236/gd/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"gd\", \"Plural-Forms\": \"nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Gaelic, Scottish (https://app.transifex.com/nextcloud/teams/64236/gd/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: gd\\nPlural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"gl\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Miguel Anxo Bouzada <mbouzada@gmail.com>, 2024\", \"Language-Team\": \"Galician (https://app.transifex.com/nextcloud/teams/64236/gl/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"gl\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nMiguel Anxo Bouzada <mbouzada@gmail.com>, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Miguel Anxo Bouzada <mbouzada@gmail.com>, 2024\\nLanguage-Team: Galician (https://app.transifex.com/nextcloud/teams/64236/gl/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: gl\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": [\"«{name}» non é un nome de cartafol válido.\"] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": [\"«{name}» non é un nome de cartafol permitido\"] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": [\"A «/» non está permitida no nome dun cartafol.\"] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Todos os ficheiros\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Escoller\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Escoller {file}\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Escoller %n ficheiro\", \"Escoller %n ficheiros\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Copiar\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copiar en {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Non foi posíbel crear o novo cartafol\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Non foi posíbel cargar os axustes dos ficheiros\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Non foi posíbel cargar as vistas dos ficheiros\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Crear un directorio\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Selector de vista actual\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritos\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Os ficheiros e cartafoles que marque como favoritos aparecerán aquí.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Os ficheiros e cartafoles que modificou recentemente aparecerán aquí.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrar a lista de ficheiros\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"O nome do cartafol non pode estar baleiro.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Inicio\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Modificado\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Mover\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Mover cara a {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Nome\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Novo\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Novo cartafol\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Novo nome do cartafol\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"Aquí non hai ficheiros\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Non se atopou ningún ficheiro que coincida co filtro.\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"Non hai ficheiros coincidentes\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Recente\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Seleccionar todas as entradas\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Seleccionar a entrada\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Seleccionar a fila para {nodename}\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Tamaño\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Desfacer\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Enviar algún contido ou sincronizalo cos seus dispositivos!\"] } } } } }, { \"locale\": \"he\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Hebrew (https://app.transifex.com/nextcloud/teams/64236/he/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"he\", \"Plural-Forms\": \"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Hebrew (https://app.transifex.com/nextcloud/teams/64236/he/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: he\\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"ביטול\"] } } } } }, { \"locale\": \"hi_IN\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Hindi (India) (https://app.transifex.com/nextcloud/teams/64236/hi_IN/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"hi_IN\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Hindi (India) (https://app.transifex.com/nextcloud/teams/64236/hi_IN/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: hi_IN\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"hr\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Croatian (https://app.transifex.com/nextcloud/teams/64236/hr/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"hr\", \"Plural-Forms\": \"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Croatian (https://app.transifex.com/nextcloud/teams/64236/hr/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: hr\\nPlural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"hsb\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Upper Sorbian (https://app.transifex.com/nextcloud/teams/64236/hsb/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"hsb\", \"Plural-Forms\": \"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Upper Sorbian (https://app.transifex.com/nextcloud/teams/64236/hsb/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: hsb\\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"hu_HU\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Hungarian (Hungary) (https://app.transifex.com/nextcloud/teams/64236/hu_HU/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"hu_HU\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Hungarian (Hungary) (https://app.transifex.com/nextcloud/teams/64236/hu_HU/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: hu_HU\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"Visszavonás\"] } } } } }, { \"locale\": \"hy\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Armenian (https://app.transifex.com/nextcloud/teams/64236/hy/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"hy\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Armenian (https://app.transifex.com/nextcloud/teams/64236/hy/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: hy\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"ia\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Interlingua (https://app.transifex.com/nextcloud/teams/64236/ia/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ia\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Interlingua (https://app.transifex.com/nextcloud/teams/64236/ia/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ia\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"id\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Lun May, 2024\", \"Language-Team\": \"Indonesian (https://app.transifex.com/nextcloud/teams/64236/id/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"id\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nLinerly <linerly@proton.me>, 2023\\nLun May, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Lun May, 2024\\nLanguage-Team: Indonesian (https://app.transifex.com/nextcloud/teams/64236/id/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: id\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" bukan nama folder yang valid.'] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" merupakan nama folder yang tidak diperbolehkan'] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" tidak diperbolehkan di dalam nama folder.'] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Semua berkas\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Pilih\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Pilih {file}\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Pilih %n file\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Salin\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Salin ke {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Tidak dapat membuat folder baru\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Tidak dapat memuat pengaturan file\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Tidak dapat memuat tampilan file\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Buat direktori\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Pemilih tampilan saat ini\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Favorit\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Berkas dan folder yang Anda tandai sebagai favorit akan muncul di sini.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Berkas dan folder yang Anda ubah baru-baru ini akan muncul di sini.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Saring daftar berkas\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Name berkas tidak boleh kosong.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Beranda\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Diubah\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Pindahkan\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Pindahkan ke {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Nama\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Baru\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Folder baru\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Nama folder baru\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"Tidak ada berkas di sini\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Tidak ada berkas yang cocok dengan penyaringan Anda.\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"Tidak ada berkas yang cocok\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Terkini\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Pilih semua entri\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Pilih entri\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Pilih baris untuk {nodename}\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Ukuran\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Tidak jadi\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Unggah beberapa konten atau sinkronkan dengan perangkat Anda!\"] } } } } }, { \"locale\": \"ig\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Igbo (https://app.transifex.com/nextcloud/teams/64236/ig/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ig\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Igbo (https://app.transifex.com/nextcloud/teams/64236/ig/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ig\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"is\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Sveinn í Felli <sv1@fellsnet.is>, 2023\", \"Language-Team\": \"Icelandic (https://app.transifex.com/nextcloud/teams/64236/is/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"is\", \"Plural-Forms\": \"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nSveinn í Felli <sv1@fellsnet.is>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Sveinn í Felli <sv1@fellsnet.is>, 2023\\nLanguage-Team: Icelandic (https://app.transifex.com/nextcloud/teams/64236/is/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: is\\nPlural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" er ógilt möppuheiti.'] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" er ekki leyfilegt möppuheiti'] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" er er ekki leyfilegt innan í skráarheiti.'] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Allar skrár\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Veldu\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Veldu {file}\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Afrita\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Afrita í {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Get ekki búið til nýju möppuna\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Búa til möppu\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Núverandi val sýnar\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Eftirlæti\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Skrár og möppur sem þú merkir sem eftirlæti birtast hér.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Skrár og möppur sem þú breyttir nýlega birtast hér.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Sía skráalista\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Möppuheiti má ekki vera tómt.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Heim\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Breytt\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Færa\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Færa í {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Heiti\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Nýtt\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Ný mappa\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Heiti nýrrar möppu\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"Engar skrár hér\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Engar skrár fundust sem passa við síuna.\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"Engar samsvarandi skrár\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Nýlegt\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Velja allar færslur\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Velja færslu\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Veldu röðina fyrir {nodename}\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Stærð\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Afturkalla\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Sendu inn eitthvað efni eða samstilltu við tækin þín!\"] } } } } }, { \"locale\": \"it\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Sebastiano Furlan, 2024\", \"Language-Team\": \"Italian (https://app.transifex.com/nextcloud/teams/64236/it/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"it\", \"Plural-Forms\": \"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nClaudio Scandella, 2023\\nRaffaele Silano <raffaelone@gmail.com>, 2024\\nSebastiano Furlan, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Sebastiano Furlan, 2024\\nLanguage-Team: Italian (https://app.transifex.com/nextcloud/teams/64236/it/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: it\\nPlural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" non è un nome di cartella valido.'] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" non è un nome di cartella ammesso'] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" non è ammesso all\\'interno del nome di una cartella.'] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Tutti i file\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Scegli\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Scegli {file}\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Seleziona %n file\", \"Seleziona %n file\", \"Seleziona %n file\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Copia\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copia in {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Impossibile creare la nuova cartella\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Impossibile caricare le impostazioni dei file\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Impossibile caricare le visualizzazioni dei file\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Crea directory\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Selettore della vista corrente\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Preferiti\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"I file e le cartelle contrassegnate come preferite saranno mostrate qui.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"I file e le cartelle che hai modificato di recente saranno mostrate qui.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtra elenco file\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Il nome della cartella non può essere vuoto.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Home\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Modificato\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Sposta\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Sposta in {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Nome\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Nuovo\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Nuova cartella\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Nuovo nome cartella\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"Nessun file qui\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nessun file che corrisponde al tuo filtro è stato trovato.\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"Nessun file corrispondente\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Recente\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Scegli tutte le voci\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Seleziona la voce\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Seleziona la riga per {nodename}\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Taglia/dimensioni\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Annulla\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Carica qualche contenuto o sincronizza con i tuoi dispositivi!\"] } } } } }, { \"locale\": \"ja_JP\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"devi, 2024\", \"Language-Team\": \"Japanese (Japan) (https://app.transifex.com/nextcloud/teams/64236/ja_JP/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ja_JP\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nUchiyama Takuya <uchiyama@j-wmc.com>, 2023\\ntakehito kondo, 2023\\nkojima.imamura, 2024\\nTakafumi AKAMATSU, 2024\\ndevi, 2024\\n\" }, \"msgstr\": [\"Last-Translator: devi, 2024\\nLanguage-Team: Japanese (Japan) (https://app.transifex.com/nextcloud/teams/64236/ja_JP/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ja_JP\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" はフォルダー名に使用できません。'] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\"は許可されたフォルダー名ではありません'] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": [\"フォルダー名に「/(スラッシュ)」は使用できません。\"] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"すべてのファイル\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"選択\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"{file} を選択\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"%n 個のファイルを選択\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"コピー\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"{target} にコピー\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"新しいフォルダーを作成できませんでした\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"ファイル設定を読み込めませんでした\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"ファイルビューを読み込めませんでした\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"ディレクトリを作成\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"現在のビューセレクタ\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"お気に入り\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"お気に入りとしてマークしたファイルとフォルダがここに表示されます。\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"最近変更したファイルとフォルダがここに表示されます。\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"ファイルリストをフィルタ\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"フォルダ名は空にできません。\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"ホーム\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"変更済み\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"移動\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"{target} に移動\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"名前\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"新規作成\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"新しいフォルダー\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"新しいフォルダーの名前\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"ファイルがありません\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"フィルタに一致するファイルは見つかりませんでした。\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"一致するファイルはありません\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"最近\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"すべてのエントリを選択\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"エントリを選択\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"{nodename} の行を選択\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"サイズ\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"元に戻す\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"コンテンツをアップロードするか、デバイスと同期してください!\"] } } } } }, { \"locale\": \"ka\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Georgian (https://app.transifex.com/nextcloud/teams/64236/ka/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ka\", \"Plural-Forms\": \"nplurals=2; plural=(n!=1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Georgian (https://app.transifex.com/nextcloud/teams/64236/ka/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ka\\nPlural-Forms: nplurals=2; plural=(n!=1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"ka_GE\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Georgian (Georgia) (https://app.transifex.com/nextcloud/teams/64236/ka_GE/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ka_GE\", \"Plural-Forms\": \"nplurals=2; plural=(n!=1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Georgian (Georgia) (https://app.transifex.com/nextcloud/teams/64236/ka_GE/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ka_GE\\nPlural-Forms: nplurals=2; plural=(n!=1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"kab\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Kabyle (https://app.transifex.com/nextcloud/teams/64236/kab/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"kab\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Kabyle (https://app.transifex.com/nextcloud/teams/64236/kab/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: kab\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"Sefsex\"] } } } } }, { \"locale\": \"kk\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Kazakh (https://app.transifex.com/nextcloud/teams/64236/kk/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"kk\", \"Plural-Forms\": \"nplurals=2; plural=(n!=1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Kazakh (https://app.transifex.com/nextcloud/teams/64236/kk/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: kk\\nPlural-Forms: nplurals=2; plural=(n!=1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"km\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Khmer (https://app.transifex.com/nextcloud/teams/64236/km/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"km\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Khmer (https://app.transifex.com/nextcloud/teams/64236/km/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: km\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"kn\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Kannada (https://app.transifex.com/nextcloud/teams/64236/kn/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"kn\", \"Plural-Forms\": \"nplurals=2; plural=(n > 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Kannada (https://app.transifex.com/nextcloud/teams/64236/kn/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: kn\\nPlural-Forms: nplurals=2; plural=(n > 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"ko\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Korean (https://app.transifex.com/nextcloud/teams/64236/ko/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ko\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Korean (https://app.transifex.com/nextcloud/teams/64236/ko/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ko\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"되돌리기\"] } } } } }, { \"locale\": \"la\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Latin (https://app.transifex.com/nextcloud/teams/64236/la/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"la\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Latin (https://app.transifex.com/nextcloud/teams/64236/la/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: la\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"lb\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"VoXaN24ch, 2024\", \"Language-Team\": \"Luxembourgish (https://app.transifex.com/nextcloud/teams/64236/lb/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"lb\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nVoXaN24ch, 2024\\n\" }, \"msgstr\": [\"Last-Translator: VoXaN24ch, 2024\\nLanguage-Team: Luxembourgish (https://app.transifex.com/nextcloud/teams/64236/lb/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: lb\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": [\"{name} ass en ongëlteg Dossier\"] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": [\"{name} ass net en erlaabten Dossiernumm\"] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" ass net an engem Dossier Numm erlaabt'] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"All Dateien\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Wielt\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Wielt {file}\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Wielt %n Fichieren\", \"Wielt %n Fichier\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Kopie\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopie op {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Konnt den neien Dossier net erstellen\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Konnt d'Dateienastellungen net lueden\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Konnt d'Dateien net lueden\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Erstellt Verzeechnes\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Aktuell Vue selector\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritten\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Dateien an Ordner, déi Dir als Favorit markéiert, ginn hei gewisen\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Dateien an Ordner déi Dir viru kuerzem geännert hutt ginn hei op\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filter Datei Lëscht\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Dossier Numm kann net eidel sinn\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Wëllkomm\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Geännert\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Plënne\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Plënneren {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Numm\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Nei\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Neien dossier\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Neien dossier numm\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"Kee fichier hei\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Kee fichier deen äre filter passt gouf fonnt\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"Keng passende dateien\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Rezent\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Wielt all entréen\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Wielt entrée\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Wielt d'zeil fir {nodename}\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Gréisst\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Undoen\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Luet en inhalt erop oder synchroniséiert mat ären apparater\"] } } } } }, { \"locale\": \"lo\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Lao (https://app.transifex.com/nextcloud/teams/64236/lo/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"lo\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Lao (https://app.transifex.com/nextcloud/teams/64236/lo/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: lo\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"lt_LT\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Lithuanian (Lithuania) (https://app.transifex.com/nextcloud/teams/64236/lt_LT/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"lt_LT\", \"Plural-Forms\": \"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Lithuanian (Lithuania) (https://app.transifex.com/nextcloud/teams/64236/lt_LT/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: lt_LT\\nPlural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"Atšaukti\"] } } } } }, { \"locale\": \"lv\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Latvian (https://app.transifex.com/nextcloud/teams/64236/lv/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"lv\", \"Plural-Forms\": \"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Latvian (https://app.transifex.com/nextcloud/teams/64236/lv/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: lv\\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"mk\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Macedonian (https://app.transifex.com/nextcloud/teams/64236/mk/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"mk\", \"Plural-Forms\": \"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Macedonian (https://app.transifex.com/nextcloud/teams/64236/mk/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: mk\\nPlural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"Врати\"] } } } } }, { \"locale\": \"mn\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Mongolian (https://app.transifex.com/nextcloud/teams/64236/mn/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"mn\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Mongolian (https://app.transifex.com/nextcloud/teams/64236/mn/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: mn\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"Буцаах\"] } } } } }, { \"locale\": \"mr\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Marathi (https://app.transifex.com/nextcloud/teams/64236/mr/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"mr\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Marathi (https://app.transifex.com/nextcloud/teams/64236/mr/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: mr\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"पूर्ववत करा\"] } } } } }, { \"locale\": \"ms_MY\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Malay (Malaysia) (https://app.transifex.com/nextcloud/teams/64236/ms_MY/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ms_MY\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Malay (Malaysia) (https://app.transifex.com/nextcloud/teams/64236/ms_MY/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ms_MY\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"my\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Burmese (https://app.transifex.com/nextcloud/teams/64236/my/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"my\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Burmese (https://app.transifex.com/nextcloud/teams/64236/my/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: my\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"နဂိုအတိုင်းပြန်ထားရန်\"] } } } } }, { \"locale\": \"nb_NO\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"armandg <geirawsm@pm.me>, 2024\", \"Language-Team\": \"Norwegian Bokmål (Norway) (https://app.transifex.com/nextcloud/teams/64236/nb_NO/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"nb_NO\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nD PE, 2023\\nSyvert Fossdal, 2024\\narmandg <geirawsm@pm.me>, 2024\\n\" }, \"msgstr\": [\"Last-Translator: armandg <geirawsm@pm.me>, 2024\\nLanguage-Team: Norwegian Bokmål (Norway) (https://app.transifex.com/nextcloud/teams/64236/nb_NO/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: nb_NO\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" er et ugyldig mappenavn.'] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" er ikke et tillatt mappenavn.'] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" er ikke tillatt inne i et mappenavn.'] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Alle filer\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Velg\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Velg {fil}\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Velg %n fil\", \"Velg %n filer\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Kopier\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopier til {destinasjon}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Kunne ikke opprette den nye mappen\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Kunne ikke laste filinnstillinger\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Kunne ikke laste filvisninger\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Opprett mappe\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Nåværende visningsvelger\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritter\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Filer og mapper du markerer som favoritter vil vises her.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Filer og mapper du nylig har endret, vil vises her.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrer filliste\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Mappenavn kan ikke være tomt.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Hjem\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Modifisert\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Flytt\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Flytt til {destinasjon}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Navn\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Ny\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Ny mappe\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Nytt mappenavn\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"Ingen filer her\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Ingen filer funnet med ditt filter.\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"Ingen treffende filer\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Nylig\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Velg alle oppføringer\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Velg oppføring\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Velg raden for {nodenavn}\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Størrelse\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Angre\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Last opp innhold eller synkroniser med enhetene dine!\"] } } } } }, { \"locale\": \"ne\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Nepali (https://app.transifex.com/nextcloud/teams/64236/ne/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ne\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Nepali (https://app.transifex.com/nextcloud/teams/64236/ne/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ne\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"nl\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Casper <casper@vrije-mens.org>, 2024\", \"Language-Team\": \"Dutch (https://app.transifex.com/nextcloud/teams/64236/nl/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"nl\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nJoost <joho500@hotmail.com>, 2023\\nJeroen Gui, 2023\\nCasper <casper@vrije-mens.org>, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Casper <casper@vrije-mens.org>, 2024\\nLanguage-Team: Dutch (https://app.transifex.com/nextcloud/teams/64236/nl/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: nl\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" is een ongeldige mapnaam.'] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" is geen toegestane mapnaam'] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" is niet toegestaan binnen een bestandsnaam'] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Alle bestanden\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Kies\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Kies {file}\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Kies %n bestand\", \"Kies %n bestanden\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Kopieer\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopieer naar {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Kon de nieuwe map niet maken\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Kon de bestandsinstellingen niet laden\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Kon de bestandsweergaves niet laden\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Maak map\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Huidige weergave keuze\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Favorieten\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Bestanden en mappen die je favoriet maakt, worden hier getoond.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Bestanden en mappen die je recent hebt gewijzigd, worden hier getoond.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filter bestandslijst\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Mapnaam mag niet leeg zijn.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Home\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Gewijzigd\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Verplaatsen\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Verplaats naar {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Naam\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Nieuw\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Nieuwe map\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Nieuwe mapnaam\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"Geen bestanden hier\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Geen bestanden gevonden die voldoen aan je filter.\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"Geen gevonden bestanden\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Recent\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Selecteer alle invoer\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Selecteer invoer\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Selecteer de rij voor {nodename}\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Grootte\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Ongedaan maken\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Upload inhoud of synchroniseer met je apparaten!\"] } } } } }, { \"locale\": \"nn_NO\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Norwegian Nynorsk (Norway) (https://app.transifex.com/nextcloud/teams/64236/nn_NO/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"nn_NO\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Norwegian Nynorsk (Norway) (https://app.transifex.com/nextcloud/teams/64236/nn_NO/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: nn_NO\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"oc\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Occitan (post 1500) (https://app.transifex.com/nextcloud/teams/64236/oc/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"oc\", \"Plural-Forms\": \"nplurals=2; plural=(n > 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Occitan (post 1500) (https://app.transifex.com/nextcloud/teams/64236/oc/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: oc\\nPlural-Forms: nplurals=2; plural=(n > 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"Anullar\"] } } } } }, { \"locale\": \"pl\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Valdnet, 2024\", \"Language-Team\": \"Polish (https://app.transifex.com/nextcloud/teams/64236/pl/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"pl\", \"Plural-Forms\": \"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nJUJER wtf, 2023\\nM H <haincu@o2.pl>, 2023\\nValdnet, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Valdnet, 2024\\nLanguage-Team: Polish (https://app.transifex.com/nextcloud/teams/64236/pl/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: pl\\nPlural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" jest nieprawidłową nazwą folderu'] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" nie jest dozwoloną nazwą folderu'] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['Znak \"/\" nie jest dozwolony w nazwie folderu'] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Wszystkie pliki\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Wybierz\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Wybierz {file}\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Kopiuj\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Skopiuj do {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Nie można utworzyć nowego folderu\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Utwórz katalog\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Bieżący selektor widoku\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Ulubione\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Pliki i foldery które oznaczysz jako ulubione będą wyświetlały się tutaj\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Pliki i foldery które ostatnio modyfikowałeś będą wyświetlały się tutaj\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtruj listę plików\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Nazwa folderu nie może być pusta\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Strona główna\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Zmodyfikowano\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Przenieś\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Przejdź do {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Nazwa\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Nowy\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Nowy folder\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Nowa nazwa folderu\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"Brak plików\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nie znaleziono plików spełniających warunki filtru\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"Brak pasujących plików\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Ostatni\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Wybierz wszystkie wpisy\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Wybierz wpis\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Wybierz wiersz dla {nodename}\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Rozmiar\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Cofnij\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Wyślij zawartość lub zsynchronizuj ze swoimi urządzeniami!\"] } } } } }, { \"locale\": \"ps\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Pashto (https://app.transifex.com/nextcloud/teams/64236/ps/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ps\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Pashto (https://app.transifex.com/nextcloud/teams/64236/ps/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ps\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"pt_BR\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Cauan Henrique Zorzenon <cauanzorzenon@gmail.com>, 2024\", \"Language-Team\": \"Portuguese (Brazil) (https://app.transifex.com/nextcloud/teams/64236/pt_BR/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"pt_BR\", \"Plural-Forms\": \"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nFlávio Veras <flaviove@gmail.com>, 2023\\nCauan Henrique Zorzenon <cauanzorzenon@gmail.com>, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Cauan Henrique Zorzenon <cauanzorzenon@gmail.com>, 2024\\nLanguage-Team: Portuguese (Brazil) (https://app.transifex.com/nextcloud/teams/64236/pt_BR/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: pt_BR\\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" é um nome de pasta inválido.'] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" não é um nome de pasta permitido'] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" não é permitido dentro de um nome de pasta.'] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Todos os arquivos\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Escolher\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Escolher arquivo}\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Escolher %n arquivo\", \"Escolher %n arquivos\", \"Escolher %n arquivos\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Copiar\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copiar para {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Não foi possível criar a nova pasta\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Não foi possível carregar configurações de arquivos\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Não foi possível carregar exibições de arquivos\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Criar diretório\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Seletor de visualização atual\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoritos\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Os arquivos e pastas marcados como favoritos aparecerão aqui.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Arquivos e pastas que você modificou recentemente aparecerão aqui.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrar lista de arquivos\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"O nome da pasta não pode ficar vazio.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Home\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Modificado\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Mover\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Mover para {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Nome\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Novo\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Nova pasta\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Novo nome de pasta\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"Nenhum arquivo aqui\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nenhum arquivo correspondente ao seu filtro foi encontrado.\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"Nenhum arquivo correspondente\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Recente\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Selecione todas as entradas\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Selecione a entrada\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Selecione a linha para {nodename}\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Tamanho\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Desfazer\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Carregue algum conteúdo ou sincronize com seus dispositivos!\"] } } } } }, { \"locale\": \"pt_PT\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Portuguese (Portugal) (https://app.transifex.com/nextcloud/teams/64236/pt_PT/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"pt_PT\", \"Plural-Forms\": \"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Portuguese (Portugal) (https://app.transifex.com/nextcloud/teams/64236/pt_PT/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: pt_PT\\nPlural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"Anular\"] } } } } }, { \"locale\": \"ro\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Daniel MD <dmihaidumitru@gmail.com>, 2023\", \"Language-Team\": \"Romanian (https://app.transifex.com/nextcloud/teams/64236/ro/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ro\", \"Plural-Forms\": \"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nDaniel MD <dmihaidumitru@gmail.com>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Daniel MD <dmihaidumitru@gmail.com>, 2023\\nLanguage-Team: Romanian (https://app.transifex.com/nextcloud/teams/64236/ro/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ro\\nPlural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" este un nume de director invalid.'] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" nu este un nume de director permis'] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" nu este permis în numele unui director.'] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Toate fișierele\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Alege\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Alege {file}\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Copiază\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Copiază în {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Nu s-a putut crea noul director\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Creează director\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Selectorul curent al vizualizării\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Favorite\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Fișiere și directoare pe care le marcați ca favorite vor apărea aici.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Fișiere și directoare pe care le-ați modificat recent vor apărea aici.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrează lista de fișiere\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Numele de director nu poate fi necompletat.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Acasă\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Modificat\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Mută\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Mută către {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Nume\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Nou\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Director nou\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Numele noului director\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"Nu există fișiere\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nu există fișiere potrivite pentru filtrul selectat\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"Nu există fișiere potrivite\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Recente\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Selectează toate înregistrările\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Selectează înregistrarea\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Selectează rândul pentru {nodename}\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Mărime\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Anulează\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Încărcați conținut sau sincronizați cu dispozitivele dumneavoastră!\"] } } } } }, { \"locale\": \"ru\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Влад, 2024\", \"Language-Team\": \"Russian (https://app.transifex.com/nextcloud/teams/64236/ru/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ru\", \"Plural-Forms\": \"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nMax Smith <sevinfolds@gmail.com>, 2023\\nashed <craysy@gmail.com>, 2023\\nAlex <kekcuha@gmail.com>, 2024\\nR4SAS, 2024\\nВлад, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Влад, 2024\\nLanguage-Team: Russian (https://app.transifex.com/nextcloud/teams/64236/ru/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ru\\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": [\"«{name}» — недопустимое имя папки.\"] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": [\"«{name}» не является разрешенным именем папки\"] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": [\"Символ «/» не допускается внутри имени папки.\"] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Все файлы\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Выбрать\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Выбрать {file}\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Выбрать %n файл\", \"Выбрать %n файла\", \"Выбрать %n файлов\", \"Выбрать %n файлов\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Копировать\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Копировать в «{target}»\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Не удалось создать новую папку\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Не удалось загрузить настройки файлов\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Не удалось загрузить файлы просмотров\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Создать папку\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Переключатель текущего вида\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Избранное\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Здесь появятся файлы и папки, которые вы пометили как избранные.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Здесь будут отображаться файлы и папки, которые вы недавно изменили.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Фильтровать список файлов\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Имя папки не может быть пустым.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Home\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Модифицированный\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Переместить\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Перейти к {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Имя\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Новый\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Новая папка\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Новое имя папки\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"Здесь нет файлов\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Файлы, соответствующие вашему фильтру, не найдены.\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"Нет подходящих файлов\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Недавний\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Выбрать все записи\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Выберите запись\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Выберите строку для {nodename}\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Размер\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Отменить\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Загрузите контент или синхронизируйте его со своими устройствами!\"] } } } } }, { \"locale\": \"sc\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Sardinian (https://app.transifex.com/nextcloud/teams/64236/sc/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"sc\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Sardinian (https://app.transifex.com/nextcloud/teams/64236/sc/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sc\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"si\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Sinhala (https://app.transifex.com/nextcloud/teams/64236/si/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"si\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Sinhala (https://app.transifex.com/nextcloud/teams/64236/si/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: si\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"පෙරසේ\"] } } } } }, { \"locale\": \"sk_SK\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Tomas Rusnak <linkermail@gmail.com>, 2024\", \"Language-Team\": \"Slovak (Slovakia) (https://app.transifex.com/nextcloud/teams/64236/sk_SK/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"sk_SK\", \"Plural-Forms\": \"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nStanislav Prekop <prekop3@gmail.com>, 2024\\nTomas Rusnak <linkermail@gmail.com>, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Tomas Rusnak <linkermail@gmail.com>, 2024\\nLanguage-Team: Slovak (Slovakia) (https://app.transifex.com/nextcloud/teams/64236/sk_SK/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sk_SK\\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" je neplatný názov pričinka.'] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" nie je povolený názov priečinka.'] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" nie je povolené v názve priečinka.'] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Všetky súbory\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Vybrať\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Vybrať {súbor}\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Vybraný %n súbor\", \"Vybrané %n súbory\", \"Vybraných %n súborov\", \"Vybraných %n súborov\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Kopírovať\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopírovať do {umiestnenia}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Nepodarilo sa vytvoriť nový priečinok\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Nepodarilo sa načítať nastavenia súborov\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Nepodarilo sa načítať pohľady súborov\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Vytvoriť adresár\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Výber aktuálneho zobrazenia\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Obľúbené\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Tu sa zobrazia súbory a priečinky, ktoré označíte ako obľúbené.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Tu sa zobrazia súbory a priečinky, ktoré ste nedávno upravili.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrovať zoznam súborov\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Názov priečinka nemôže byť prázdny.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Domov\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Upravené\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Prejsť\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Prejsť na {umiestnenie}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Názov\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Pridať\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Pridať priečinok\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Pridať názov priečinka\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"Nie sú tu žiadne súbory\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nenašli sa žiadne súbory zodpovedajúce vášmu filtru.\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"Žiadne zodpovedajúce súbory\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Nedávne\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Vybrať všetky položky\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Vybrať položku\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Vyberte riadok pre {názov uzla}\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Veľkosť\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Späť\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Nahrajte nejaký obsah alebo synchronizujte so svojimi zariadeniami!\"] } } } } }, { \"locale\": \"sl\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Slovenian (https://app.transifex.com/nextcloud/teams/64236/sl/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"sl\", \"Plural-Forms\": \"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Slovenian (https://app.transifex.com/nextcloud/teams/64236/sl/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sl\\nPlural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"Razveljavi\"] } } } } }, { \"locale\": \"sq\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Albanian (https://app.transifex.com/nextcloud/teams/64236/sq/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"sq\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Albanian (https://app.transifex.com/nextcloud/teams/64236/sq/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sq\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"sr\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Иван Пешић, 2024\", \"Language-Team\": \"Serbian (https://app.transifex.com/nextcloud/teams/64236/sr/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"sr\", \"Plural-Forms\": \"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nИван Пешић, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Иван Пешић, 2024\\nLanguage-Team: Serbian (https://app.transifex.com/nextcloud/teams/64236/sr/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sr\\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": [\"„{name}” није исправно име фолдера.\"] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": [\"„{name}” није дозвољено име за фолдер.\"] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": [\"„/” није дозвољено унутар имена фолдера.\"] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Сви фајлови\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Изаберите\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Изаберите {file}\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Изаберите %n фајл\", \"Изаберите %n фајла\", \"Изаберите %n фајлова\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Копирај\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Копирај у {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Није могао да се креира нови фолдер\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Не могу да се учитају подешавања фајлова\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Не могу да се учитају прикази фајлова\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Креирај директоријум\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Бирач тренутног приказа\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Омиљено\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Овде ће се појавити фајлови и фолдери које сте означили као омиљене.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Овде ће се појавити фајлови и фолдери који се се недавно изменили.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Фитрирање листе фајлова\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Име фолдера не може бити празно.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Почетак\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Измењено\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Премести\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Премести у {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Име\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Ново\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Нови фолдер\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Име новог фолдера\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"Овде нема фајлова\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Није пронађен ниједан фајл који задовољава ваш филтер.\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"Нема таквих фајлова\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Скорашње\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Изаберите све ставке\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Изаберите ставку\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Изаберите ред за {nodename}\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Величина\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Поништи\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Отпремите нешто или синхронизујте са својим уређајима!\"] } } } } }, { \"locale\": \"sr@latin\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Bogdan Vuković, 2024\", \"Language-Team\": \"Serbian (Latin) (https://app.transifex.com/nextcloud/teams/64236/sr@latin/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"sr@latin\", \"Plural-Forms\": \"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nBogdan Vuković, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Bogdan Vuković, 2024\\nLanguage-Team: Serbian (Latin) (https://app.transifex.com/nextcloud/teams/64236/sr@latin/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sr@latin\\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": [\"„{name}” je neispravan naziv foldera.\"] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": [\"„{name}” je nedozvoljen naziv foldera.\"] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": [\"„/” se ne može koristiti unutar naziva foldera.\"] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Svi fajlovi\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Izaberite\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Izaberite {file}\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Izaberite %n fajl\", \"Izaberite %n fajla\", \"Izaberite %n fajlova\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Kopiraj\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopiraj u {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Neuspešno kreiranje novog foldera\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Neuspešno učitavanje podešavanja fajlova\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Neuspešno učitavanje prikaza fajlova\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Kreiraj direktorijum\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Birač trenutnog prikaza\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Omiljeno\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Lista omiljenih fajlova i foldera.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Lista fajlova i foldera sa skorašnjim izmenama.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Fitriranje liste fajlova\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Naziv foldera ne može biti prazan.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Početak\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Izmenjeno\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Premesti\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Premesti u {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Naziv\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Novo\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Novi folder\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Naziv novog foldera\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"Bez fajlova\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Nema fajlova koji zadovoljavaju uslove filtera.\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"Nema takvih fajlova\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Skorašnje\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Izaberite sve stavke\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Izaberite stavku\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Izaberite red za {nodename}\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Veličina\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Vrati\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Otpremite sadržaj ili sinhronizujte sa svojim uređajima!\"] } } } } }, { \"locale\": \"sv\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Magnus Höglund, 2024\", \"Language-Team\": \"Swedish (https://app.transifex.com/nextcloud/teams/64236/sv/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"sv\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nMagnus Höglund, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Magnus Höglund, 2024\\nLanguage-Team: Swedish (https://app.transifex.com/nextcloud/teams/64236/sv/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sv\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" är ett ogiltigt mappnamn.'] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" är inte ett tillåtet mappnamn'] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" är inte tillåtet i ett mappnamn.'] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Alla filer\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Välj\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Välj {file}\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Välj %n fil\", \"Välj %n filer\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Kopiera\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Kopiera till {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Kunde inte skapa den nya mappen\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Kunde inte ladda filinställningar\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Kunde inte ladda läsa in filvyer\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Skapa katalog\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Aktuell vyväljare\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Favoriter\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Filer och mappar som du markerar som favorit kommer att visas här.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Filer och mappar som du nyligen ändrat kommer att visas här.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Filtrera fillistan\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Mappnamnet får inte vara tomt.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Hem\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Ändrad\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Flytta\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Flytta till {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Namn\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Ny\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Ny mapp\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Nytt mappnamn\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"Inga filer här\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Inga filer som matchar ditt filter hittades.\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"Inga matchande filer\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Nyligen\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Välj alla poster\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Välj post\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Välj raden för {nodename}\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Storlek\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Ångra\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Ladda upp lite innehåll eller synkronisera med dina enheter!\"] } } } } }, { \"locale\": \"sw\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Swahili (https://app.transifex.com/nextcloud/teams/64236/sw/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"sw\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Swahili (https://app.transifex.com/nextcloud/teams/64236/sw/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sw\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"ta\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Tamil (https://app.transifex.com/nextcloud/teams/64236/ta/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ta\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Tamil (https://app.transifex.com/nextcloud/teams/64236/ta/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ta\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"செயல்தவிர்\"] } } } } }, { \"locale\": \"th_TH\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Thai (Thailand) (https://app.transifex.com/nextcloud/teams/64236/th_TH/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"th_TH\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Thai (Thailand) (https://app.transifex.com/nextcloud/teams/64236/th_TH/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: th_TH\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"เลิกทำ\"] } } } } }, { \"locale\": \"tk\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Turkmen (https://app.transifex.com/nextcloud/teams/64236/tk/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"tk\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Turkmen (https://app.transifex.com/nextcloud/teams/64236/tk/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: tk\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"tr\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Kaya Zeren <kayazeren@gmail.com>, 2024\", \"Language-Team\": \"Turkish (https://app.transifex.com/nextcloud/teams/64236/tr/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"tr\", \"Plural-Forms\": \"nplurals=2; plural=(n > 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nKaya Zeren <kayazeren@gmail.com>, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Kaya Zeren <kayazeren@gmail.com>, 2024\\nLanguage-Team: Turkish (https://app.transifex.com/nextcloud/teams/64236/tr/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: tr\\nPlural-Forms: nplurals=2; plural=(n > 1);\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" geçersiz bir klasör adı.'] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" izin verilen bir klasör adı değil'] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" karakteri klasör adında kullanılamaz.'] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Tüm dosyalar\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Seçin\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"{file} seçin\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"%n dosya seçin\", \"%n dosya seçin\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Kopyala\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"{target} üzerine kopyala\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Yeni klasör oluşturulamadı\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Dosyalar uygulamasının ayarları yüklenemedi\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Dosyalar uygulamasının görünümleri yüklenemedi\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Klasör oluştur\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Geçerli görünüm seçici\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Sık kullanılanlar\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Sık kullanılan olarak seçtiğiniz dosyalar burada görüntülenir.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Son zamanlarda değiştirdiğiniz dosya ve klasörler burada görüntülenir.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Dosya listesini süz\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Klasör adı boş olamaz.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Giriş\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Değiştirilme\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Taşı\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"{target} üzerine taşı\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Ad\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Yeni\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Yeni klasör\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Yeni klasör adı\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"Burada herhangi bir dosya yok\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Süzgece uyan bir dosya bulunamadı.\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"Eşleşen bir dosya yok\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Son kullanılanlar\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Tüm kayıtları seç\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Kaydı seç\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"{nodename} satırını seçin\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Boyut\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Geri al\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Bazı içerikler yükleyin ya da aygıtlarınızla eşitleyin!\"] } } } } }, { \"locale\": \"ug\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Uyghur (https://app.transifex.com/nextcloud/teams/64236/ug/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ug\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Uyghur (https://app.transifex.com/nextcloud/teams/64236/ug/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ug\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"uk\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"O St <oleksiy.stasevych@gmail.com>, 2024\", \"Language-Team\": \"Ukrainian (https://app.transifex.com/nextcloud/teams/64236/uk/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"uk\", \"Plural-Forms\": \"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nO St <oleksiy.stasevych@gmail.com>, 2024\\n\" }, \"msgstr\": [\"Last-Translator: O St <oleksiy.stasevych@gmail.com>, 2024\\nLanguage-Team: Ukrainian (https://app.transifex.com/nextcloud/teams/64236/uk/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: uk\\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": ['\"{name}\" є недійсною назвою для каталогу.'] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": ['\"{name}\" не є дозволеною назвою для каталогу.'] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['\"/\" не дозволено у назві каталогу.'] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"Всі файли\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"Вибрати\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"Вибрати {file}\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"Вибрати %n файл\", \"Вибрати %n файли\", \"Вибрати %n файлів\", \"Вибрати %n файлів\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"Копіювати\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"Копіювати до {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"Не вдалося створити новий каталог\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"Не вдалося завантажити налаштування файлів\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"Не вдалося завантажити подання файлів\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"Створити каталог\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"Вибір подання\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"Із зірочкою\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"Тут показуватимуться файли та каталоги, які ви позначите зірочкою.\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"Тут показуватимуться файли та каталоги, які було нещодавно змінено.\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"Фільтрувати список файлів\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"Ім'я каталогу не може бути порожнім.\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"Домівка\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"Змінено\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"Перемістити\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"Перемістити до {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"Ім'я\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"Новий\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"Новий каталог\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"Ім'я нового каталогу\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"Тут відсутні файли\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"Відсутні збіги за фільтром.\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"Відсутні збіги файлів.\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"Останні\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"Вибрати всі записи\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"Вибрати запис\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"Вибрати рядок для {nodename}\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"Розмір\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"Повернути\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"Завантажте вміст або синхронізуйте з вашим пристроєм!\"] } } } } }, { \"locale\": \"ur_PK\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Urdu (Pakistan) (https://app.transifex.com/nextcloud/teams/64236/ur_PK/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"ur_PK\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Urdu (Pakistan) (https://app.transifex.com/nextcloud/teams/64236/ur_PK/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ur_PK\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"uz\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Uzbek (https://app.transifex.com/nextcloud/teams/64236/uz/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"uz\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Uzbek (https://app.transifex.com/nextcloud/teams/64236/uz/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: uz\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }, { \"locale\": \"vi\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Joas Schilling, 2023\", \"Language-Team\": \"Vietnamese (https://app.transifex.com/nextcloud/teams/64236/vi/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"vi\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJoas Schilling, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Joas Schilling, 2023\\nLanguage-Team: Vietnamese (https://app.transifex.com/nextcloud/teams/64236/vi/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: vi\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"Hoàn tác\"] } } } } }, { \"locale\": \"zh_CN\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Eric, 2023\", \"Language-Team\": \"Chinese (China) (https://app.transifex.com/nextcloud/teams/64236/zh_CN/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"zh_CN\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nken, 2023\\nEric, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Eric, 2023\\nLanguage-Team: Chinese (China) (https://app.transifex.com/nextcloud/teams/64236/zh_CN/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: zh_CN\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": [\"“{name}”是无效的文件夹名称。\"] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": [\"“{name}”不是允许的文件夹名称\"] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": [\"文件夹名称中不允许包含“/”。\"] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"所有文件\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"选择\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"选择 {file}\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"复制\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"复制到 {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"无法创建新文件夹\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"创建目录\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"当前视图选择器\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"最爱\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"您标记为最爱的文件与文件夹会显示在这里\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"您最近修改的文件与文件夹会显示在这里\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"过滤文件列表\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"文件夹名称不能为空。\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"主目录\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"已修改\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"移动\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"移动至 {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"名称\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"新\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"新文件夹\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"新文件夹名称\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"此处无文件\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"找不到符合您过滤条件的文件\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"无符合的文件\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"最近\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"选择所有条目\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"选择条目\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"选择 {nodename} 的列\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"大小\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\" 撤消\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"上传一些项目或与您的设备同步!\"] } } } } }, { \"locale\": \"zh_HK\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Café Tango, 2024\", \"Language-Team\": \"Chinese (Hong Kong) (https://app.transifex.com/nextcloud/teams/64236/zh_HK/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"zh_HK\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\nCafé Tango, 2024\\n\" }, \"msgstr\": [\"Last-Translator: Café Tango, 2024\\nLanguage-Team: Chinese (Hong Kong) (https://app.transifex.com/nextcloud/teams/64236/zh_HK/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: zh_HK\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, '\"{name}\" is an invalid folder name.': { \"msgid\": '\"{name}\" is an invalid folder name.', \"msgstr\": [\"「{name}」是無效的資料夾名稱。\"] }, '\"{name}\" is not an allowed folder name': { \"msgid\": '\"{name}\" is not an allowed folder name', \"msgstr\": [\"「{name}」是無效的資料夾名稱。\"] }, '\"/\" is not allowed inside a folder name.': { \"msgid\": '\"/\" is not allowed inside a folder name.', \"msgstr\": ['資料夾名稱中不允許使用 \"/\"。'] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"所有檔案\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"選擇\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"選擇 {file}\"] }, \"Choose %n file\": { \"msgid\": \"Choose %n file\", \"msgid_plural\": \"Choose %n files\", \"msgstr\": [\"選擇 %n 個檔案\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"複製\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"複製到 {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"無法建立新資料夾\"] }, \"Could not load files settings\": { \"msgid\": \"Could not load files settings\", \"msgstr\": [\"無法載入檔案設定\"] }, \"Could not load files views\": { \"msgid\": \"Could not load files views\", \"msgstr\": [\"無法載入文件視圖\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"建立目錄\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"目前檢視選取器\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"最愛\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"您標記為最愛的檔案與資料夾將會顯示在此處。\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"您最近修改的檔案與資料夾將會顯示在此處。\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"過濾檔案清單\"] }, \"Folder name cannot be empty.\": { \"msgid\": \"Folder name cannot be empty.\", \"msgstr\": [\"資料夾名稱不能為空。\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"首頁\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"已修改\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"移動\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"移動至 {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"名稱\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"新\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"新資料夾\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"新資料夾名稱\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"此處無檔案\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"找不到符合您過濾條件的檔案。\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"無符合的檔案\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"最近\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"選取所有條目\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"選取條目\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"選取 {nodename} 的列\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"大小\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"還原\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"上傳一些內容或與您的裝置同步\"] } } } } }, { \"locale\": \"zh_TW\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"黃柏諺 <s8321414@gmail.com>, 2023\", \"Language-Team\": \"Chinese (Taiwan) (https://app.transifex.com/nextcloud/teams/64236/zh_TW/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"zh_TW\", \"Plural-Forms\": \"nplurals=1; plural=0;\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nJohn Molakvoæ <skjnldsv@protonmail.com>, 2023\\n黃柏諺 <s8321414@gmail.com>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: 黃柏諺 <s8321414@gmail.com>, 2023\\nLanguage-Team: Chinese (Taiwan) (https://app.transifex.com/nextcloud/teams/64236/zh_TW/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: zh_TW\\nPlural-Forms: nplurals=1; plural=0;\\n\"] }, '\"{name}\" is an invalid file name.': { \"msgid\": '\"{name}\" is an invalid file name.', \"msgstr\": [\"「{name}」是無效的檔案名稱。\"] }, '\"{name}\" is not an allowed filetype': { \"msgid\": '\"{name}\" is not an allowed filetype', \"msgstr\": [\"「{name}」並非允許的檔案類型\"] }, '\"/\" is not allowed inside a file name.': { \"msgid\": '\"/\" is not allowed inside a file name.', \"msgstr\": [\"檔案名稱中不允許使用「/」。\"] }, \"All files\": { \"msgid\": \"All files\", \"msgstr\": [\"所有檔案\"] }, \"Choose\": { \"msgid\": \"Choose\", \"msgstr\": [\"選擇\"] }, \"Choose {file}\": { \"msgid\": \"Choose {file}\", \"msgstr\": [\"選擇 {file}\"] }, \"Copy\": { \"msgid\": \"Copy\", \"msgstr\": [\"複製\"] }, \"Copy to {target}\": { \"msgid\": \"Copy to {target}\", \"msgstr\": [\"複製到 {target}\"] }, \"Could not create the new folder\": { \"msgid\": \"Could not create the new folder\", \"msgstr\": [\"無法建立新資料夾\"] }, \"Create directory\": { \"msgid\": \"Create directory\", \"msgstr\": [\"建立目錄\"] }, \"Current view selector\": { \"msgid\": \"Current view selector\", \"msgstr\": [\"目前檢視選取器\"] }, \"Favorites\": { \"msgid\": \"Favorites\", \"msgstr\": [\"最愛\"] }, \"File name cannot be empty.\": { \"msgid\": \"File name cannot be empty.\", \"msgstr\": [\"檔案名稱不能為空。\"] }, \"Filepicker sections\": { \"msgid\": \"Filepicker sections\", \"msgstr\": [\"檔案挑選器選取\"] }, \"Files and folders you mark as favorite will show up here.\": { \"msgid\": \"Files and folders you mark as favorite will show up here.\", \"msgstr\": [\"您標記為最愛的檔案與資料夾將會顯示在此處。\"] }, \"Files and folders you recently modified will show up here.\": { \"msgid\": \"Files and folders you recently modified will show up here.\", \"msgstr\": [\"您最近修改的檔案與資料夾將會顯示在此處。\"] }, \"Filter file list\": { \"msgid\": \"Filter file list\", \"msgstr\": [\"過濾檔案清單\"] }, \"Home\": { \"msgid\": \"Home\", \"msgstr\": [\"家\"] }, \"Mime type {mime}\": { \"msgid\": \"Mime type {mime}\", \"msgstr\": [\"Mime type {mime}\"] }, \"Modified\": { \"msgid\": \"Modified\", \"msgstr\": [\"已修改\"] }, \"Move\": { \"msgid\": \"Move\", \"msgstr\": [\"移動\"] }, \"Move to {target}\": { \"msgid\": \"Move to {target}\", \"msgstr\": [\"移動至 {target}\"] }, \"Name\": { \"msgid\": \"Name\", \"msgstr\": [\"名稱\"] }, \"New\": { \"msgid\": \"New\", \"msgstr\": [\"新\"] }, \"New folder\": { \"msgid\": \"New folder\", \"msgstr\": [\"新資料夾\"] }, \"New folder name\": { \"msgid\": \"New folder name\", \"msgstr\": [\"新資料夾名稱\"] }, \"No files in here\": { \"msgid\": \"No files in here\", \"msgstr\": [\"此處無檔案\"] }, \"No files matching your filter were found.\": { \"msgid\": \"No files matching your filter were found.\", \"msgstr\": [\"找不到符合您過濾條件的檔案。\"] }, \"No matching files\": { \"msgid\": \"No matching files\", \"msgstr\": [\"無符合的檔案\"] }, \"Recent\": { \"msgid\": \"Recent\", \"msgstr\": [\"最近\"] }, \"Select all entries\": { \"msgid\": \"Select all entries\", \"msgstr\": [\"選取所有條目\"] }, \"Select entry\": { \"msgid\": \"Select entry\", \"msgstr\": [\"選取條目\"] }, \"Select the row for {nodename}\": { \"msgid\": \"Select the row for {nodename}\", \"msgstr\": [\"選取 {nodename} 的列\"] }, \"Size\": { \"msgid\": \"Size\", \"msgstr\": [\"大小\"] }, \"Undo\": { \"msgid\": \"Undo\", \"msgstr\": [\"復原\"] }, \"unknown\": { \"msgid\": \"unknown\", \"msgstr\": [\"未知\"] }, \"Upload some content or sync with your devices!\": { \"msgid\": \"Upload some content or sync with your devices!\", \"msgstr\": [\"上傳一些內容或與您的裝置同步\"] } } } } }, { \"locale\": \"zu_ZA\", \"json\": { \"charset\": \"utf-8\", \"headers\": { \"Last-Translator\": \"Transifex Bot <>, 2023\", \"Language-Team\": \"Zulu (South Africa) (https://app.transifex.com/nextcloud/teams/64236/zu_ZA/)\", \"Content-Type\": \"text/plain; charset=UTF-8\", \"Language\": \"zu_ZA\", \"Plural-Forms\": \"nplurals=2; plural=(n != 1);\" }, \"translations\": { \"\": { \"\": { \"msgid\": \"\", \"comments\": { \"translator\": \"\\nTranslators:\\nTransifex Bot <>, 2023\\n\" }, \"msgstr\": [\"Last-Translator: Transifex Bot <>, 2023\\nLanguage-Team: Zulu (South Africa) (https://app.transifex.com/nextcloud/teams/64236/zu_ZA/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: zu_ZA\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"] }, \"Undo\": { \"msgid\": \"Undo\", \"comments\": { \"reference\": \"lib/toast.ts:223\" }, \"msgstr\": [\"\"] } } } } }].map((data) => gtBuilder.addTranslation(data.locale, data.json));\nconst gt = gtBuilder.build();\nconst n = gt.ngettext.bind(gt);\nconst t = gt.gettext.bind(gt);\nvar ToastType = /* @__PURE__ */ ((ToastType2) => {\n ToastType2[\"ERROR\"] = \"toast-error\";\n ToastType2[\"WARNING\"] = \"toast-warning\";\n ToastType2[\"INFO\"] = \"toast-info\";\n ToastType2[\"SUCCESS\"] = \"toast-success\";\n ToastType2[\"PERMANENT\"] = \"toast-error\";\n ToastType2[\"UNDO\"] = \"toast-undo\";\n return ToastType2;\n})(ToastType || {});\nconst TOAST_ARIA_LIVE_OFF = \"off\";\nconst TOAST_ARIA_LIVE_POLITE = \"polite\";\nconst TOAST_ARIA_LIVE_ASSERTIVE = \"assertive\";\nvar ToastAriaLive = /* @__PURE__ */ ((ToastAriaLive2) => {\n ToastAriaLive2[ToastAriaLive2[\"OFF\"] = TOAST_ARIA_LIVE_OFF] = \"OFF\";\n ToastAriaLive2[ToastAriaLive2[\"POLITE\"] = TOAST_ARIA_LIVE_POLITE] = \"POLITE\";\n ToastAriaLive2[ToastAriaLive2[\"ASSERTIVE\"] = TOAST_ARIA_LIVE_ASSERTIVE] = \"ASSERTIVE\";\n return ToastAriaLive2;\n})(ToastAriaLive || {});\nconst TOAST_UNDO_TIMEOUT = 1e4;\nconst TOAST_DEFAULT_TIMEOUT = 7e3;\nconst TOAST_PERMANENT_TIMEOUT = -1;\nfunction showMessage(data, options) {\n var _a;\n options = Object.assign({\n timeout: TOAST_DEFAULT_TIMEOUT,\n isHTML: false,\n type: void 0,\n // An undefined selector defaults to the body element\n selector: void 0,\n onRemove: () => {\n },\n onClick: void 0,\n close: true\n }, options);\n if (typeof data === \"string\" && !options.isHTML) {\n const element = document.createElement(\"div\");\n element.innerHTML = data;\n data = element.innerText;\n }\n let classes = (_a = options.type) != null ? _a : \"\";\n if (typeof options.onClick === \"function\") {\n classes += \" toast-with-click \";\n }\n const isNode = data instanceof Node;\n let ariaLive = ToastAriaLive.POLITE;\n if (options.ariaLive) {\n ariaLive = options.ariaLive;\n } else if (options.type === \"toast-error\" || options.type === \"toast-undo\") {\n ariaLive = ToastAriaLive.ASSERTIVE;\n }\n const toast = Toastify({\n [!isNode ? \"text\" : \"node\"]: data,\n duration: options.timeout,\n callback: options.onRemove,\n onClick: options.onClick,\n close: options.close,\n gravity: \"top\",\n selector: options.selector,\n position: \"right\",\n backgroundColor: \"\",\n className: \"dialogs \" + classes,\n escapeMarkup: !options.isHTML,\n ariaLive\n });\n toast.showToast();\n return toast;\n}\nfunction showError(text, options) {\n return showMessage(text, {\n ...options,\n type: \"toast-error\"\n /* ERROR */\n });\n}\nfunction showWarning(text, options) {\n return showMessage(text, {\n ...options,\n type: \"toast-warning\"\n /* WARNING */\n });\n}\nfunction showInfo(text, options) {\n return showMessage(text, {\n ...options,\n type: \"toast-info\"\n /* INFO */\n });\n}\nfunction showSuccess(text, options) {\n return showMessage(text, {\n ...options,\n type: \"toast-success\"\n /* SUCCESS */\n });\n}\nfunction showUndo(text, onUndo, options) {\n if (!(onUndo instanceof Function)) {\n throw new Error(\"Please provide a valid onUndo method\");\n }\n let toast;\n options = Object.assign(options || {}, {\n // force 10 seconds of timeout\n timeout: TOAST_UNDO_TIMEOUT,\n // remove close button\n close: false\n });\n const undoContent = document.createElement(\"span\");\n const undoButton = document.createElement(\"button\");\n undoContent.classList.add(\"toast-undo-container\");\n undoButton.classList.add(\"toast-undo-button\");\n undoButton.innerText = t(\"Undo\");\n undoContent.innerText = text;\n undoContent.appendChild(undoButton);\n undoButton.addEventListener(\"click\", function(event) {\n event.stopPropagation();\n onUndo(event);\n if ((toast == null ? void 0 : toast.hideToast) instanceof Function) {\n toast.hideToast();\n }\n });\n toast = showMessage(undoContent, {\n ...options,\n type: \"toast-undo\"\n /* UNDO */\n });\n return toast;\n}\nfunction normalizeComponent(scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {\n var options = typeof scriptExports === \"function\" ? scriptExports.options : scriptExports;\n if (render) {\n options.render = render;\n options.staticRenderFns = staticRenderFns;\n options._compiled = true;\n }\n if (functionalTemplate) {\n options.functional = true;\n }\n if (scopeId) {\n options._scopeId = \"data-v-\" + scopeId;\n }\n var hook;\n if (moduleIdentifier) {\n hook = function(context) {\n context = context || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext;\n if (!context && typeof __VUE_SSR_CONTEXT__ !== \"undefined\") {\n context = __VUE_SSR_CONTEXT__;\n }\n if (injectStyles) {\n injectStyles.call(this, context);\n }\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n };\n options._ssrRegister = hook;\n } else if (injectStyles) {\n hook = shadowMode ? function() {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n );\n } : injectStyles;\n }\n if (hook) {\n if (options.functional) {\n options._injectStyles = hook;\n var originalRender = options.render;\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n return {\n exports: scriptExports,\n options\n };\n}\nexport {\n ToastAriaLive as T,\n normalizeComponent as a,\n ToastType as b,\n TOAST_UNDO_TIMEOUT as c,\n TOAST_DEFAULT_TIMEOUT as d,\n TOAST_PERMANENT_TIMEOUT as e,\n TOAST_ARIA_LIVE_OFF as f,\n TOAST_ARIA_LIVE_POLITE as g,\n TOAST_ARIA_LIVE_ASSERTIVE as h,\n showSuccess as i,\n showWarning as j,\n showInfo as k,\n showError as l,\n showUndo as m,\n n,\n showMessage as s,\n t\n};\n","import { basename } from \"path\";\nimport Vue, { toRaw, defineComponent, onMounted, onUnmounted } from \"vue\";\nimport { t, n, a as normalizeComponent } from \"./chunks/_plugin-vue2_normalizer-CQ6iBklL.mjs\";\nimport { h, f, g, d, e, c, T, b, l, k, s, i, m, j } from \"./chunks/_plugin-vue2_normalizer-CQ6iBklL.mjs\";\nimport NcDialog from \"@nextcloud/vue/dist/Components/NcDialog.js\";\nimport NcNoteCard from \"@nextcloud/vue/dist/Components/NcNoteCard.js\";\nconst spawnDialog = (dialog, props, onClose = () => {\n}) => {\n const el = document.createElement(\"div\");\n const container = document.querySelector(props == null ? void 0 : props.container) || document.body;\n container.appendChild(el);\n const vue = new Vue({\n el,\n name: \"VueDialogHelper\",\n render: (h2) => h2(dialog, {\n props,\n on: {\n close: (...rest) => {\n onClose(...rest.map((v) => toRaw(v)));\n vue.$destroy();\n }\n }\n })\n });\n return vue;\n};\nconst IconMove = '<svg xmlns=\"http://www.w3.org/2000/svg\" id=\"mdi-folder-move\" viewBox=\"0 0 24 24\"><path d=\"M14,18V15H10V11H14V8L19,13M20,6H12L10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6Z\" /></svg>';\nconst IconCopy = '<svg xmlns=\"http://www.w3.org/2000/svg\" id=\"mdi-folder-multiple\" viewBox=\"0 0 24 24\"><path d=\"M22,4H14L12,2H6A2,2 0 0,0 4,4V16A2,2 0 0,0 6,18H22A2,2 0 0,0 24,16V6A2,2 0 0,0 22,4M2,6H0V11H0V20A2,2 0 0,0 2,22H20V20H2V6Z\" /></svg>';\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nvar FilePickerType = /* @__PURE__ */ ((FilePickerType2) => {\n FilePickerType2[FilePickerType2[\"Choose\"] = 1] = \"Choose\";\n FilePickerType2[FilePickerType2[\"Move\"] = 2] = \"Move\";\n FilePickerType2[FilePickerType2[\"Copy\"] = 3] = \"Copy\";\n FilePickerType2[FilePickerType2[\"CopyMove\"] = 4] = \"CopyMove\";\n FilePickerType2[FilePickerType2[\"Custom\"] = 5] = \"Custom\";\n return FilePickerType2;\n})(FilePickerType || {});\nclass FilePickerClosed extends Error {\n}\nclass FilePicker {\n constructor(title, multiSelect, mimeTypeFilter, directoriesAllowed, buttons, path, filter, container, disabledNavigation = false) {\n __publicField(this, \"title\");\n __publicField(this, \"multiSelect\");\n __publicField(this, \"mimeTypeFilter\");\n __publicField(this, \"directoriesAllowed\");\n __publicField(this, \"buttons\");\n __publicField(this, \"path\");\n __publicField(this, \"filter\");\n __publicField(this, \"container\");\n __publicField(this, \"disabledNavigation\");\n this.title = title;\n this.multiSelect = multiSelect;\n this.mimeTypeFilter = mimeTypeFilter;\n this.directoriesAllowed = directoriesAllowed;\n this.path = path;\n this.filter = filter;\n this.buttons = buttons;\n this.container = container;\n this.disabledNavigation = disabledNavigation;\n }\n /**\n * Pick files using the FilePicker\n *\n * @return Promise with array of picked files or rejected promise on close without picking\n */\n async pick() {\n const { FilePickerVue } = await import(\"./chunks/index-C1azEbgd.mjs\");\n return new Promise((resolve, reject) => {\n spawnDialog(FilePickerVue, {\n allowPickDirectory: this.directoriesAllowed,\n buttons: this.buttons,\n container: this.container,\n name: this.title,\n path: this.path,\n mimetypeFilter: this.mimeTypeFilter,\n multiselect: this.multiSelect,\n filterFn: this.filter,\n disabledNavigation: this.disabledNavigation\n }, (...rest) => {\n var _a;\n const [nodes] = rest;\n if (!Array.isArray(nodes) || nodes.length === 0) {\n reject(new FilePickerClosed(\"FilePicker: No nodes selected\"));\n } else {\n if (this.multiSelect) {\n resolve(nodes.map((node) => node.path));\n } else {\n resolve(((_a = nodes[0]) == null ? void 0 : _a.path) || \"/\");\n }\n }\n });\n });\n }\n}\nclass FilePickerBuilder {\n /**\n * Construct a new FilePicker\n *\n * @param title Title of the FilePicker\n */\n constructor(title) {\n __publicField(this, \"title\");\n __publicField(this, \"multiSelect\", false);\n __publicField(this, \"mimeTypeFilter\", []);\n __publicField(this, \"directoriesAllowed\", false);\n __publicField(this, \"path\");\n __publicField(this, \"filter\");\n __publicField(this, \"buttons\", []);\n __publicField(this, \"container\");\n __publicField(this, \"disabledNavigation\", false);\n this.title = title;\n }\n /**\n * Set the container where the FilePicker will be mounted\n * By default 'body' is used\n *\n * @param container The dialog container\n */\n setContainer(container) {\n this.container = container;\n return this;\n }\n /**\n * Enable or disable picking multiple files\n *\n * @param ms True to enable picking multiple files, false otherwise\n */\n setMultiSelect(ms) {\n this.multiSelect = ms;\n return this;\n }\n /**\n * Add allowed MIME type\n *\n * @param filter MIME type to allow\n */\n addMimeTypeFilter(filter) {\n this.mimeTypeFilter.push(filter);\n return this;\n }\n /**\n * Set allowed MIME types\n *\n * @param filter Array of allowed MIME types\n */\n setMimeTypeFilter(filter) {\n this.mimeTypeFilter = filter;\n return this;\n }\n /**\n * Add a button to the FilePicker\n * Note: This overrides any previous `setButtonFactory` call\n *\n * @param button The button\n */\n addButton(button) {\n if (typeof this.buttons === \"function\") {\n console.warn(\"FilePicker buttons were set to factory, now overwritten with button object.\");\n this.buttons = [];\n }\n this.buttons.push(button);\n return this;\n }\n /**\n * Set the button factory which is used to generate buttons from current view, path and selected nodes\n * Note: This overrides any previous `addButton` call\n *\n * @param factory The button factory\n */\n setButtonFactory(factory) {\n this.buttons = factory;\n return this;\n }\n /**\n * Set FilePicker type based on legacy file picker types\n * @param type The legacy filepicker type to emulate\n * @deprecated Use `addButton` or `setButtonFactory` instead as with setType you do not know which button was pressed\n */\n setType(type) {\n this.buttons = (nodes, path) => {\n var _a, _b, _c;\n const buttons = [];\n const node = ((_b = (_a = nodes == null ? void 0 : nodes[0]) == null ? void 0 : _a.attributes) == null ? void 0 : _b.displayName) || ((_c = nodes == null ? void 0 : nodes[0]) == null ? void 0 : _c.basename);\n const target = node || basename(path);\n if (type === 1) {\n let label = t(\"Choose\");\n if (nodes.length === 1) {\n label = t(\"Choose {file}\", { file: node });\n } else if (this.multiSelect) {\n label = n(\"Choose %n file\", \"Choose %n files\", nodes.length);\n }\n buttons.push({\n callback: () => {\n },\n type: \"primary\",\n label\n });\n }\n if (type === 4 || type === 3) {\n buttons.push({\n callback: () => {\n },\n label: target ? t(\"Copy to {target}\", { target }) : t(\"Copy\"),\n type: \"primary\",\n icon: IconCopy\n });\n }\n if (type === 2 || type === 4) {\n buttons.push({\n callback: () => {\n },\n label: target ? t(\"Move to {target}\", { target }) : t(\"Move\"),\n type: type === 2 ? \"primary\" : \"secondary\",\n icon: IconMove\n });\n }\n return buttons;\n };\n return this;\n }\n /**\n * Allow to pick directories besides files\n *\n * @param allow True to allow picking directories\n */\n allowDirectories(allow = true) {\n this.directoriesAllowed = allow;\n return this;\n }\n /**\n * Set starting path of the FilePicker\n *\n * @param path Path to start from picking\n */\n startAt(path) {\n this.path = path;\n return this;\n }\n /**\n * Add filter function to filter file list of FilePicker\n *\n * @param filter Filter function to apply\n */\n setFilter(filter) {\n this.filter = filter;\n return this;\n }\n /**\n * Allow to pick directories besides files\n *\n * @param allow True to allow picking directories\n */\n disableNavigation() {\n this.disabledNavigation = true;\n return this;\n }\n /**\n * Construct the configured FilePicker\n */\n build() {\n return new FilePicker(\n this.title,\n this.multiSelect,\n this.mimeTypeFilter,\n this.directoriesAllowed,\n this.buttons,\n this.path,\n this.filter,\n this.container,\n this.disabledNavigation\n );\n }\n}\nfunction getFilePickerBuilder(title) {\n return new FilePickerBuilder(title);\n}\nvar DialogSeverity = /* @__PURE__ */ ((DialogSeverity2) => {\n DialogSeverity2[\"Info\"] = \"info\";\n DialogSeverity2[\"Warning\"] = \"warning\";\n DialogSeverity2[\"Error\"] = \"error\";\n return DialogSeverity2;\n})(DialogSeverity || {});\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"GenericDialog\",\n props: {\n name: null,\n text: null,\n html: null,\n buttons: null,\n severity: null\n },\n setup(__props) {\n const props = __props;\n const handleUnload = () => \"\".concat(props.name, \": \").concat(props.text);\n onMounted(() => window.addEventListener(\"unload\", handleUnload));\n onUnmounted(() => window.removeEventListener(\"unload\", handleUnload));\n return { __sfc: true, props, handleUnload, NcDialog, NcNoteCard };\n }\n});\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;\n return _c(_setup.NcDialog, { attrs: { \"dialog-classes\": \"nc-generic-dialog\", \"buttons\": _vm.buttons, \"name\": _vm.name, \"message\": _vm.text }, on: { \"update:open\": function($event) {\n return _vm.$emit(\"close\");\n } } }, [_vm.severity ? _c(_setup.NcNoteCard, { attrs: { \"type\": _vm.severity } }, [_c(\"p\", { domProps: { \"textContent\": _vm._s(_vm.text) } })]) : _vm._e(), _vm.html ? _c(\"div\", { domProps: { \"innerHTML\": _vm._s(_vm.html) } }) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null,\n null,\n null\n);\nconst GenericDialog = __component__.exports;\nvar __typeError = (msg) => {\n throw TypeError(msg);\n};\nvar __accessCheck = (obj, member, msg) => member.has(obj) || __typeError(\"Cannot \" + msg);\nvar __privateGet = (obj, member, getter) => (__accessCheck(obj, member, \"read from private field\"), getter ? getter.call(obj) : member.get(obj));\nvar __privateAdd = (obj, member, value) => member.has(obj) ? __typeError(\"Cannot add the same private member more than once\") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\nvar __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, \"write to private field\"), setter ? setter.call(obj, value) : member.set(obj, value), value);\nvar _name, _text, _buttons, _severity, _dialog, _html, _severity2, _text2, _name2, _buttons2;\nclass Dialog {\n constructor(name, text, buttons = [], severity) {\n __privateAdd(this, _name);\n __privateAdd(this, _text);\n __privateAdd(this, _buttons);\n __privateAdd(this, _severity);\n __privateAdd(this, _dialog);\n __privateAdd(this, _html);\n __privateSet(this, _name, name);\n __privateSet(this, _text, text);\n __privateSet(this, _buttons, buttons);\n __privateSet(this, _severity, severity);\n __privateSet(this, _dialog, void 0);\n __privateSet(this, _html, void 0);\n }\n /**\n * @deprecated DO NOT USE! It will be removed in the near future!\n * @param html HTML content\n */\n setHTML(html) {\n __privateSet(this, _html, html);\n return this;\n }\n /**\n * Spawn and show the dialog - if already open the previous instance will be destroyed\n * @return Promise that resolves when the dialog is answered successfully and rejects on close\n */\n show() {\n if (__privateGet(this, _dialog)) {\n __privateGet(this, _dialog).$destroy();\n }\n return new Promise((resolve) => {\n __privateSet(this, _dialog, spawnDialog(\n GenericDialog,\n {\n buttons: __privateGet(this, _buttons),\n name: __privateGet(this, _name),\n text: __privateGet(this, _text),\n severity: __privateGet(this, _severity),\n html: __privateGet(this, _html)\n },\n resolve\n ));\n });\n }\n /**\n * Hide and destroy the current dialog instance\n */\n hide() {\n var _a;\n (_a = __privateGet(this, _dialog)) == null ? void 0 : _a.$destroy();\n }\n}\n_name = /* @__PURE__ */ new WeakMap();\n_text = /* @__PURE__ */ new WeakMap();\n_buttons = /* @__PURE__ */ new WeakMap();\n_severity = /* @__PURE__ */ new WeakMap();\n_dialog = /* @__PURE__ */ new WeakMap();\n_html = /* @__PURE__ */ new WeakMap();\nclass DialogBuilder {\n constructor(name) {\n __privateAdd(this, _severity2);\n __privateAdd(this, _text2);\n __privateAdd(this, _name2);\n __privateAdd(this, _buttons2);\n __privateSet(this, _severity2, void 0);\n __privateSet(this, _text2, \"\");\n __privateSet(this, _name2, name != null ? name : \"\");\n __privateSet(this, _buttons2, []);\n }\n /**\n * Set dialog name\n * @param name The name or headline of the dialog\n */\n setName(name) {\n __privateSet(this, _name2, name);\n return this;\n }\n /**\n * Set the dialog text\n * @param text Main text of the dialog\n */\n setText(text) {\n __privateSet(this, _text2, text);\n return this;\n }\n /**\n * Set the severity of the dialog\n * @param severity Severity of the dialog\n */\n setSeverity(severity) {\n __privateSet(this, _severity2, severity);\n return this;\n }\n /**\n * Set buttons from array\n * @param buttons Either an array of dialog buttons\n */\n setButtons(buttons) {\n if (__privateGet(this, _buttons2).length > 0) {\n console.warn(\"[@nextcloud/dialogs] Dialog buttons are already set - this overrides previous buttons.\");\n }\n __privateSet(this, _buttons2, buttons);\n return this;\n }\n /**\n * Add a single button\n * @param button Button to add\n */\n addButton(button) {\n __privateGet(this, _buttons2).push(button);\n return this;\n }\n build() {\n return new Dialog(__privateGet(this, _name2), __privateGet(this, _text2), __privateGet(this, _buttons2), __privateGet(this, _severity2));\n }\n}\n_severity2 = /* @__PURE__ */ new WeakMap();\n_text2 = /* @__PURE__ */ new WeakMap();\n_name2 = /* @__PURE__ */ new WeakMap();\n_buttons2 = /* @__PURE__ */ new WeakMap();\nfunction getDialogBuilder(name) {\n return new DialogBuilder(name);\n}\nexport {\n Dialog,\n DialogBuilder,\n DialogSeverity,\n FilePicker,\n FilePickerBuilder,\n FilePickerClosed,\n FilePickerType,\n h as TOAST_ARIA_LIVE_ASSERTIVE,\n f as TOAST_ARIA_LIVE_OFF,\n g as TOAST_ARIA_LIVE_POLITE,\n d as TOAST_DEFAULT_TIMEOUT,\n e as TOAST_PERMANENT_TIMEOUT,\n c as TOAST_UNDO_TIMEOUT,\n T as ToastAriaLive,\n b as ToastType,\n getDialogBuilder,\n getFilePickerBuilder,\n l as showError,\n k as showInfo,\n s as showMessage,\n i as showSuccess,\n m as showUndo,\n j as showWarning,\n spawnDialog\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"5161\":\"699675da6cfa80c63c57\",\"6423\":\"02bc556cbd899014f7f0\",\"6652\":\"26360a9758b3454bceeb\",\"9291\":\"3812924d520899b5c9f4\",\"9551\":\"8bd97693fb99843a3a96\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 2882;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t2882: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(94930)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","has","Object","prototype","hasOwnProperty","prefix","Events","EE","fn","context","once","this","addListener","emitter","event","TypeError","listener","evt","_events","push","_eventsCount","clearEvent","EventEmitter","create","__proto__","eventNames","events","name","names","call","slice","getOwnPropertySymbols","concat","listeners","handlers","i","l","length","ee","Array","listenerCount","emit","a1","a2","a3","a4","a5","args","len","arguments","removeListener","undefined","apply","j","on","removeAllListeners","off","prefixed","module","exports","pinia","createPinia","token","singleMatcher","RegExp","multiMatcher","decodeComponents","components","split","decodeURIComponent","join","left","right","decode","input","tokens","match","includeKeys","object","predicate","result","isArray","key","descriptor","getOwnPropertyDescriptor","enumerable","defineProperty","Reflect","ownKeys","splitOnFirst","string","separator","separatorIndex","indexOf","isNullOrUndefined","value","strictUriEncode","encodeURIComponent","replaceAll","x","charCodeAt","toString","toUpperCase","encodeFragmentIdentifier","Symbol","validateArrayFormatSeparator","encode","options","strict","encodedURI","replaceMap","exec","entries","keys","replace","customDecodeURIComponent","keysSorter","sort","a","b","Number","map","removeHash","hashStart","parseValue","type","parseBooleans","toLowerCase","isNaN","trim","parseNumbers","extract","queryStart","parse","query","arrayFormat","arrayFormatSeparator","types","formatter","accumulator","includes","isEncodedArray","newValue","item","test","arrayValue","flat","parserForArrayFormat","returnValue","parameter","parameter_","key2","value2","values","reduce","Boolean","stringify","shouldFilter","skipNull","skipEmptyString","index","keyValueSeparator","encoderForArrayFormat","objectCopy","filter","parseUrl","url","url_","hash","parseFragmentIdentifier","fragmentIdentifier","stringifyUrl","queryString","getHash","urlObjectForFragmentEncode","URL","pick","exclude","Vue","use","Router","originalPush","to","onComplete","onAbort","catch","err","mode","base","generateUrl","linkActiveClass","routes","path","redirect","params","view","props","stringifyQuery","emits","title","String","fillColor","default","size","_vm","_c","_self","_b","staticClass","attrs","$event","$emit","$attrs","_v","_s","_e","throttle","delay","callback","timeoutID","_ref","_ref$noTrailing","noTrailing","_ref$noLeading","noLeading","_ref$debounceMode","debounceMode","cancelled","lastExec","clearExistingTimeout","clearTimeout","wrapper","_len","arguments_","_key","self","elapsed","Date","now","clear","setTimeout","cancel","_ref2$upcomingOnly","upcomingOnly","getLoggerBuilder","setApp","detectUser","build","ChartPie","NcAppNavigationItem","NcProgressBar","data","loadingStorageStats","storageStats","loadState","computed","storageStatsTitle","usedQuotaByte","formatFileSize","used","quotaByte","quota","t","storageStatsTooltip","relative","beforeMount","setInterval","throttleUpdateStorageStats","subscribe","mounted","free","showStorageFullWarning","methods","debounceUpdateStorageStats","_ref$atBegin","atBegin","updateStorageStats","response","axios","get","Error","error","logger","showError","translate","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","class","stopPropagation","preventDefault","slot","Math","min","el","Function","required","$el","appendChild","userConfig","show_hidden","crop_image_previews","sort_favorites_first","sort_folders_first","grid_view","useUserConfigStore","userConfigStore","defineStore","state","actions","onUpdate","update","put","store","_initialized","Clipboard","NcAppSettingsDialog","NcAppSettingsSection","NcCheckboxRadioSwitch","NcInputField","Setting","open","setup","settings","window","OCA","Files","Settings","webdavUrl","generateRemoteUrl","getCurrentUser","uid","webdavDocs","appPasswordUrl","webdavUrlCopied","enableGridView","forEach","setting","beforeDestroy","close","onClose","setConfig","copyCloudId","document","querySelector","select","navigator","clipboard","writeText","showSuccess","folder_tree","_l","target","scopedSlots","_u","proxy","useNavigation","navigation","getNavigation","views","shallowRef","currentView","active","onUpdateActive","detail","onUpdateViews","triggerRef","onMounted","addEventListener","onUnmounted","removeEventListener","viewConfig","useViewConfigStore","getters","getConfig","getConfigs","setSortingBy","toggleSortingDirection","newDirection","sorting_direction","viewConfigStore","defineComponent","Fragment","NcIconSvgWrapper","parent","level","currentViews","acc","dir","startsWith","id","style","hasChildViews","useExactRouteMatching","generateToNavigation","isExpanded","expanded","onOpen","loadChildViews","filterView","viewMap","fromEntries","viewId","_views","_setupProxy","loading","iconClass","sticky","icon","loaded","staticStyle","FilenameFilter","FileListFilter","constructor","super","_defineProperty","updateQuery","nodes","queryParts","searchQuery","toLocaleLowerCase","node","displayname","every","part","filterUpdated","chips","text","onclick","updateChips","dispatchTypedEvent","CustomEvent","useFiltersStore","filters","filtersChanged","activeChips","sortedFilters","order","filtersWithUI","addFilter","onFilterUpdateChips","onFilterUpdate","debug","removeFilter","filterId","findIndex","splice","init","getFileListFilters","collator","Intl","Collator","getLanguage","getCanonicalLocale","numeric","usage","IconCog","FilesNavigationItem","NavigationQuota","NcAppNavigation","NcAppNavigationList","NcAppNavigationSearch","SettingsModal","filtersStore","ref","filenameFilter","registerFileListFilter","unregisterFileListFilter","watchThrottled","useFilenameFilter","settingsOpened","currentViewId","$route","compare","watch","newView","oldView","find","showView","created","loadExpandedViews","_ref2","viewConfigs","viewsToLoad","_ref3","config","_ref4","$navigation","Sidebar","setActive","openSettings","onSettingsClose","model","$$v","expression","action","FileAction","displayName","iconSvgInline","InformationSvg","enabled","root","permissions","Permission","NONE","OCP","goToRoute","fileid","useRouteParameters","route","$root","_$route","run","assign","$router","currentRoute","afterEach","useRoute","directory","fileId","parseInt","openFile","openfile","client","davGetClient","usePathsStore","files","useFilesStore","pathsStore","paths","getPath","service","addPath","payload","source","deletePath","delete","onDeletedNode","FileType","Folder","dirname","getRoot","children","Set","_children","parentSource","parentFolder","getNode","onCreatedNode","add","fetchNode","async","propfindPayload","davGetDefaultPropfind","stat","davRootPath","details","davResultToNode","fileStore","roots","getNodes","sources","getNodesById","getNodesByPath","folder","updateNodes","deleteNodes","setRoot","onUpdatedNode","Promise","all","then","n","useSelectionStore","selected","lastSelection","lastSelectedIndex","set","selection","setLastIndex","reset","uploader","useUploaderStore","getUploader","queue","Directory","File","contents","_contents","_computeDirectorySize","lastModified","_computeDirectoryMtime","file","entry","traverseTree","isFile","resolve","reject","readDirectory","dirReader","createReader","getEntries","readEntries","results","createDirectoryIfNotExists","davClient","exists","absolutePath","createDirectory","recursive","resolveConflict","destination","conflicts","basename","uploads","renamed","openConflictPicker","showInfo","info","console","getQueue","PQueue","concurrency","MoveCopyAction","canMove","minPermission","ALL","DELETE","canCopy","JSON","attributes","some","attribute","scope","canDownload","resultToNode","getContents","controller","AbortController","CancelablePromise","onCancel","abort","contentsResponse","getDirectoryContents","includeSelf","signal","filename","getActionForNodes","MOVE_OR_COPY","MOVE","COPY","handleCopyMoveNodeTo","method","overwrite","NodeStatus","LOADING","actionFinished","toast","isHTML","timeout","TOAST_PERMANENT_TIMEOUT","onRemove","hideToast","createLoadingNotification","copySuffix","currentPath","destinationPath","otherNodes","getUniqueName","suffix","ignoreFileExtension","copyFile","hasConflict","moveFile","isAxiosError","status","message","openFilePickerForAction","promise","withResolvers","fileIDs","getFilePickerBuilder","allowDirectories","setFilter","setMimeTypeFilter","setMultiSelect","startAt","setButtonFactory","buttons","dirnames","label","escape","sanitize","CopyIconSvg","disabled","CREATE","FolderMoveSvg","FilePickerClosed","e","execBatch","promises","dataTransferToFileTree","items","kind","getAsEntry","webkitGetAsEntry","warned","fileTree","DataTransferItem","warn","getAsFile","showWarning","onDropExternalFiles","uploadDirectoryContents","relativePath","joinPaths","upload","pause","start","errors","allSettled","onDropInternalFiles","isCopy","useDragAndDropStore","dragging","filesListWidth","fileListEl","clientWidth","$resizeObserver","ResizeObserver","contentRect","width","observe","disconnect","NcBreadcrumbs","NcBreadcrumb","mixins","filesListWidthMixin","draggingStore","filesStore","selectionStore","uploaderStore","dirs","sections","getFileSourceFromPath","getNodeFromSource","exact","getDirDisplayName","getTo","disableDrop","isUploadInProgress","wrapUploadProgressBar","viewIcon","selectedFiles","draggingFiles","onClick","onDragOver","dataTransfer","ctrlKey","dropEffect","onDrop","canDrop","button","titleForSection","section","ariaForSection","_t","nativeOn","getSummaryFor","fileCount","folderCount","useActionsMenuStore","opened","useRenamingStore","renamingStore","renamingNode","newName","rename","oldName","oldEncodedSource","encodedSource","headers","Destination","Overwrite","oldSource","$reset","unrefElement","elRef","_a","plain","defaultWindow","useEventListener","cleanups","cleanup","stopWatch","options2","optionsClone","flatMap","register","immediate","flush","stop","_iOSWorkaround","onClickOutside","handler","ignore","capture","detectIframe","from","body","documentElement","shouldListen","shouldIgnore","target2","querySelectorAll","composedPath","passive","activeElement","tagName","contains","vOnClickOutside","binding","modifiers","bubble","__onClickOutside_stop","unmounted","globalThis","global","extend","FileMultipleIcon","FolderIcon","isSingleNode","isSingleFolder","summary","totalSize","total","$refs","previewImg","replaceChildren","preview","parentNode","cloneNode","$nextTick","Preview","DragAndDropPreview","directive","getFileActions","NcFile","Node","isMtimeAvailable","compact","provide","defaultFileAction","enabledFileActions","dragover","gridMode","uniqueId","str","hashCode","isLoading","extension","extname","isSelected","isRenaming","isRenamingSmallScreen","isActive","currentFileId","isFailedSource","FAILED","canDrag","UPDATE","openedMenu","actionsMenuStore","mtimeOpacity","maxOpacityTime","mtime","getTime","ratio","round","color","resetState","getElementById","removeProperty","onRightClick","closest","getBoundingClientRect","setProperty","max","clientX","clientY","top","isMoreThanOneSelected","execDefaultAction","metaKey","currentDir","openDetailsIfAvailable","sidebarAction","onDragLeave","currentTarget","relatedTarget","onDragStart","clearData","image","$mount","$on","$off","getDragAndDropPreview","setDragImage","onDragEnd","render","updateRootElement","element","ArrowLeftIcon","CustomElementRender","NcActionButton","NcActions","NcActionSeparator","NcLoadingIcon","inject","openedSubmenu","enabledInlineActions","inline","enabledRenderActions","renderInline","enabledMenuActions","DefaultType","HIDDEN","topActionsIds","enabledSubmenuActions","arr","getBoundariesElement","mountType","actionDisplayName","onActionClick","isSubmenu","$set","success","isMenu","onBackToMenuClick","menuAction","focus","refInFor","keyboardStore","altKey","shiftKey","onEvent","useKeyboardStore","ariaLabel","loadingLabel","onSelectionChange","newSelectedIndex","isAlreadySelected","end","filesToSelect","resetSelection","_k","keyCode","getFilenameValidity","validateFilename","InvalidFilenameError","reason","InvalidFilenameErrorReason","Character","char","segment","ReservedName","Extension","NcTextField","renameLabel","linkTo","is","tabindex","renaming","startRenaming","renameInput","validity","checkIfNodeExists","setCustomValidity","reportValidity","setSelectionRange","dispatchEvent","Event","stopRenaming","onRename","renameForm","checkValidity","nameContainter","directives","rawName","tag","domProps","StarSvg","setAttribute","AccountGroupIcon","AccountPlusIcon","CollectivesIcon","FavoriteIcon","FileIcon","FolderOpenIcon","KeyIcon","LinkIcon","NetworkIcon","TagIcon","backgroundFailed","isFavorite","favorite","cropPreviews","previewUrl","location","origin","searchParams","etag","href","fileOverlay","PlayCircleIcon","folderOverlay","shareTypes","ShareType","SHARE_TYPE_LINK","SHARE_TYPE_EMAIL","src","onBackgroundError","_m","FileEntryActions","FileEntryCheckbox","FileEntryName","FileEntryPreview","NcDateTime","FileEntryMixin","isSizeAvailable","rowListeners","dragstart","contextmenu","dragleave","dragend","drop","columns","sizeOpacity","pow","mtimeTitle","moment","format","_g","column","inheritAttrs","header","currentFolder","updated","mount","View","classForColumn","mapState","sortingMode","sorting_mode","defaultSortKey","isAscSorting","sortingDirection","toggleSortBy","MenuDown","MenuUp","NcButton","filesSortingMixin","FilesListTableHeaderButton","selectAllBind","checked","isAllSelected","indeterminate","isSomeSelected","selectedNodes","isNoneSelected","ariaSortForMode","onToggleAll","dataComponent","dataKey","dataSources","extraProps","scrollToIndex","caption","beforeHeight","headerHeight","tableHeight","resizeObserver","isReady","bufferItems","columnCount","itemHeight","itemWidth","rowCount","ceil","floor","startIndex","shownItems","renderedItems","oldItemsKeys","$_recycledPool","unusedKeys","pop","random","substr","totalRowCount","tbodyStyle","isOverScrolled","lastIndex","hiddenAfterItems","paddingTop","paddingBottom","minHeight","scrollTo","oldColumnCount","before","thead","debounce","clientHeight","onScroll","targetRow","scrollTop","_onScrollHandle","requestAnimationFrame","topScroll","$scopedSlots","enabledActions","areSomeNodesLoading","inlineActions","selectionSources","failedSources","r","_sfc_main","__name","ariaLabelClose","validator","iconPath","iconSvg","noClose","__props","slots","canClose","__sfc","hasActions","hasIcon","mdiClose","_sfc_render","_setup","_sfc_staticRenderFns","NcChip","_defineComponent","filterStore","visualFilters","filterElements","watchEffect","NcAvatar","chip","user","FileListFilters","FilesListHeader","FilesListTableFooter","FilesListTableHeader","VirtualList","FilesListTableHeaderActions","FileEntry","FileEntryGrid","getFileListHeaders","openFileId","sortedHeaders","defaultCaption","scrollToFile","handleOpenFile","unselectFile","openSidebarForFile","unsubscribe","defaultAction","at","isForeignFile","tableElement","table","tableTop","tableBottom","height","count","TrayArrowDownIcon","canUpload","isQuotaExceeded","cantUploadLabel","resetDragOver","mainContent","onContentDrop","lastUpload","findLast","UploadStatus","webkitRelativePath","isSharingEnabled","getCapabilities","files_sharing","BreadCrumbs","DragAndDropNotice","FilesListVirtual","ListViewIcon","NcAppContent","NcEmptyContent","PlusIcon","UploadPicker","ViewGridIcon","IconAlertCircleOutline","IconReload","forbiddenCharacters","Type","dirContentsFiltered","getContent","normalizedPath","normalize","pageHeading","dirContents","dirContentsSorted","customColumn","reverse","sortNodes","sortFavoritesFirst","sortFoldersFirst","sortingOrder","isEmptyDir","isRefreshing","toPreviousDir","shareTypesAttributes","shareButtonLabel","shareButtonType","SHARE_TYPE_USER","gridViewButtonLabel","canShare","SHARE","showCustomEmptyView","emptyView","show","customEmptyView","fetchContent","newDir","oldDir","filesListVirtual","filterDirContent","onNodeDeleted","fatal","isWebDAVClientError","humanizeWebDAVError","onUpload","onUploadFail","CANCELLED","doc","DOMParser","parseFromString","getElementsByTagName","textContent","openSharingSidebar","setActiveTab","toggleGridView","emptyTitle","emptyCaption","NcContent","FilesList","Navigation","__webpack_nonce__","getCSPNonce","router","_router","goTo","PiniaVuePlugin","observable","_settings","_name","_el","_open","_close","FilesApp","___CSS_LOADER_EXPORT___","denyList","code","def","d","RC","autostart","ignoreSameProgress","rate","lastTimestamp","lastProgress","historyTimeConstant","previousOutput","dt","report","progress","timestamp","deltaTimestamp","currentRate","estimate","Infinity","estimatedTime","NewMenuEntryCategory","NewMenuEntryCategory2","NewFileMenu","_entries","registerEntry","validateEntry","category","unregisterEntry","entryIndex","getEntryIndex","DefaultType2","_action","validateAction","_nc_fileactions","_nc_filelistheader","Permission2","defaultDavProperties","defaultDavNamespaces","nc","oc","ocs","getDavProperties","_nc_dav_properties","prop","getDavNameSpaces","_nc_dav_namespaces","ns","davGetRecentSearch","FileType2","isDavRessource","davService","validateData","crtime","mime","owner","NodeStatus2","_data","_attributes","_knownDavService","readonlyAttributes","getOwnPropertyDescriptors","deleteProperty","receiver","Proxy","firstMatch","pathname","updateMtime","READ","move","oldBasename","basename2","davRemoteURL","davGetRemoteURL","remoteURL","setHeaders","requesttoken","patch","headers2","fetch","getFavoriteNodes","davRoot","filesRoot","userId","permString","davParsePermissions","nodeData","lastmod","getcontentlength","hasPreview","InvalidFilenameErrorReason2","cause","capabilities","forbidden_filename_characters","_oc_config","forbidden_filenames_characters","character","forbidden_filenames","endOfBasename","substring","forbidden_filename_basenames","forbiddenFilenameExtensions","forbidden_filename_extensions","endsWith","otherNames","opts","ext","humanList","humanListBinary","skipSmallSizes","binaryPrefixes","base1000","log","readableFormat","relativeSize","toFixed","parseFloat","toLocaleString","toISOString","sortingOptions","collection","identifiers2","orders","sorting","_","identifier","orderBy","v","lastIndexOf","_currentView","search","remove","_nc_navigation","Column","_column","isValidColumn","getDefaultExportFromCjs","__esModule","validator$2","util$3","nameStartChar","nameRegexp","regexName","isExist","isEmptyObject","obj","merge","arrayMode","getValue","isName","getAllMatches","regex","matches","allmatches","util$2","defaultOptions$2","allowBooleanAttributes","unpairedTags","isWhiteSpace","readPI","xmlData","tagname","getErrorObject","getLineNumberForPosition","readCommentAndCDATA","angleBracketsCount","validate","tags","tagFound","reachedRoot","tagStartPos","closingTag","msg","readAttributeStr","attrStr","attrStrStart","isValid","validateAttributeString","line","tagClosed","otg","openPos","col","afterAmp","validateAmpersand","t2","doubleQuote","singleQuote","startChar","validAttrStrRegxp","attrNames","getPositionFromMatch","attrName","validateAttrName","re2","validateNumberAmpersand","lineNumber","lines","OptionsBuilder","defaultOptions$1","preserveOrder","attributeNamePrefix","attributesGroupName","textNodeName","ignoreAttributes","removeNSPrefix","parseTagValue","parseAttributeValue","trimValues","cdataPropName","numberParseOptions","hex","leadingZeros","eNotation","tagValueProcessor","val2","attributeValueProcessor","stopNodes","alwaysCreateTextNode","commentPropName","processEntities","htmlEntities","ignoreDeclaration","ignorePiTags","transformTagName","transformAttributeName","updateTag","jPath","buildOptions","defaultOptions","util$1","readEntityExp","entityName2","isComment","isEntity","isElement","isAttlist","isNotation","validateEntityName","hexRegex","numRegex","consider","decimalPoint","util","xmlNode","child","addChild","readDocType","entities","hasBody","comment","exp","entityName","val","regx","toNumber","trimmedStr","skipLike","sign","numTrimmedByZeros","numStr","num","addExternalEntities","externalEntities","entKeys","ent","lastEntities","parseTextData","dontTrim","hasAttributes","isLeafNode","escapeEntities","replaceEntitiesValue","newval","resolveNameSpace","charAt","attrsRegx","buildAttributesMap","oldVal","aName","newVal","attrCollection","parseXml","xmlObj","currentNode","textData","closeIndex","findClosingIndex","colonIndex","saveTextToParentTag","lastTagName","propIndex","tagsNodeStack","tagData","readTagExp","childNode","tagExp","attrExpPresent","endIndex","docTypeEntities","rawTagName","lastTag","isItStopNode","tagContent","result2","readStopNodeData","replaceEntitiesValue$1","entity","ampEntity","currentTagName","allNodesExp","stopNodePath","stopNodeExp","errMsg","closingIndex","closingChar","attrBoundary","ch","tagExpWithClosingIndex","trimStart","openTagCount","shouldParse","node2json","compress","compressedObj","tagObj","property","propName$1","newJpath","isLeaf","isLeafTag","assignAttributes","attrMap","jpath","atrrName","propCount","prettify","OrderedObjParser2","fromCharCode","validator$1","arrToStr","indentation","xmlStr","isPreviousElementTag","propName","newJPath","tagText","isStopNode","attStr2","attr_to_str","tempInd","piTextNodeName","newIdentation","indentBy","tagStart","tagValue","suppressUnpairedNode","suppressEmptyNode","attr","attrVal","suppressBooleanAttributes","textValue","buildFromOrderedJs","jArray","oneListGroup","Builder","isAttribute","attrPrefixLen","processTextOrObjNode","indentate","tagEndChar","newLine","j2x","buildTextValNode","buildObjectNode","repeat","jObj","arrayNodeName","buildAttrPairStr","arrLen","listTagVal","listTagAttr","Ks","L","closeTag","tagEndExp","piClosingChar","fxp","XMLParser","validationOption","orderedObjParser","orderedResult","addEntity","XMLValidator","XMLBuilder","_view","isValidView","jsonObject","parser","isSvg","debug_1","process","env","NODE_DEBUG","constants","MAX_LENGTH","MAX_SAFE_COMPONENT_LENGTH","MAX_SAFE_BUILD_LENGTH","MAX_LENGTH$1","MAX_SAFE_INTEGER","RELEASE_TYPES","SEMVER_SPEC_VERSION","FLAG_INCLUDE_PRERELEASE","FLAG_LOOSE","re$1","MAX_SAFE_COMPONENT_LENGTH2","MAX_SAFE_BUILD_LENGTH2","MAX_LENGTH2","debug2","re","safeRe","R","LETTERDASHNUMBER","safeRegexReplacements","createToken","isGlobal","safe","makeSafeRegex","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","BUILDIDENTIFIER","MAINVERSION","PRERELEASE","BUILD","FULLPLAIN","MAINVERSIONLOOSE","PRERELEASELOOSE","LOOSEPLAIN","XRANGEIDENTIFIER","XRANGEIDENTIFIERLOOSE","GTLT","XRANGEPLAIN","XRANGEPLAINLOOSE","COERCEPLAIN","COERCE","COERCEFULL","LONETILDE","tildeTrimReplace","LONECARET","caretTrimReplace","comparatorTrimReplace","reExports","looseOption","freeze","loose","emptyOpts","compareIdentifiers$1","anum","bnum","identifiers","compareIdentifiers","rcompareIdentifiers","parseOptions","semver","SemVer","version","includePrerelease","m","LOOSE","FULL","raw","major","minor","prerelease","other","compareMain","comparePre","compareBuild","inc","release","identifierBase","SemVer$1","valid$1","throwErrors","er","SemVer2","major$1","ProxyBus","bus","bus2","getVersion","SimpleBus","Map","h","OC","_eventBus","_nc_event_bus","_nc_filelist_filters","getNewFileMenuEntries","_nc_newfilemenu","localeCompare","sensitivity","CancelError","isCanceled","promiseState","pending","canceled","resolved","rejected","PCancelable","userFunction","executor","description","defineProperties","shouldReject","boolean","onFulfilled","onRejected","onFinally","finally","setPrototypeOf","TimeoutError","AbortError","getDOMException","errorMessage","DOMException","getAbortedReason","PriorityQueue","enqueue","priority","array","first","step","trunc","it","lowerBound","dequeue","shift","carryoverConcurrencyCount","intervalCap","POSITIVE_INFINITY","interval","autoStart","queueClass","isFinite","throwOnTimeout","clearInterval","canInitializeInterval","job","newConcurrency","_resolve","function_","throwIfAborted","operation","milliseconds","fallback","customTimers","timer","cancelablePromise","aborted","timeoutError","pTimeout","race","addAll","functions","onEmpty","onSizeLessThan","limit","onIdle","sizeBy","isPaused","namespace","isNetworkError","SAFE_HTTP_METHODS","IDEMPOTENT_HTTP_METHODS","isRetryableError","isIdempotentRequestError","isNetworkOrIdempotentRequestError","retryAfter","retryAfterHeader","retryAfterMs","valueOf","DEFAULT_OPTIONS","retries","retryCondition","retryDelay","_retryNumber","shouldResetTimeout","onRetry","onMaxRetryTimesExceeded","validateResponse","setCurrentState","resetLastRequestTime","currentState","getRequestOptions","retryCount","lastRequestTime","axiosRetry","axiosInstance","requestInterceptorId","interceptors","request","validateStatus","responseInterceptorId","shouldRetryOrPromise","_err","shouldRetry","defaults","agent","httpAgent","httpsAgent","fixConfig","lastRequestDuration","transformRequest","abortListener","handleRetry","handleMaxRetryTimesExceeded","isSafeRequestError","exponentialDelay","retryNumber","delayFactor","calculatedDelay","linearDelay","uploadData","uploadData2","onUploadProgress","destinationFile","Blob","getChunk","getMaxChunksSize","fileSize","maxChunkSize","appConfig","max_chunk_size","minimumChunkSize","Status$1","Status2","Upload","_source","_file","_isChunked","_chunks","_size","_uploaded","_startTime","_status","_controller","_response","chunked","chunks","isChunked","startTime","uploaded","isFileSystemFileEntry","o","FileSystemFileEntry","isFileSystemEntry","FileSystemEntry","_originalName","_path","c","sum","latest","originalName","getChild","rootPath","FileSystemDirectoryEntry","reader","filePath","relPath","gtBuilder","detectLocale","addTranslation","locale","json","gt","ngettext","bind","gettext","Status","Uploader","_destinationFolder","_isPublic","_uploadQueue","_jobQueue","_queueSize","_queueProgress","_queueStatus","_notifiers","isPublic","destinationFolder","maxChunksSize","updateStats","upload2","partialSum","addNotifier","notifier","_notifyAll","batchUpload","rootFolder","files2","UPLOADING","uploadDirectory","FINISHED","folderPath","currentUpload","selectedForUpload","directories","fileHandle","encodedDestinationFile","resolve2","disabledChunkUpload","blob","bytes","tempUrl","initChunkWorkspace","chunksQueue","chunk","bufferStart","bufferEnd","normalizeComponent","scriptExports","render7","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$options","shadowRoot","_injectStyles","originalRender","existing","beforeCreate","IconCancel","IconFolderUpload","IconPlus","IconUpload","InvalidFilenameDialog","NcDialog","NcNoteCard","validationError","isValidName","isInvalidFileType","canRename","dialogButtons","skip","trimEnd","getErrorText","textfield","NcActionCaption","accept","multiple","allowFolders","content","progressTimeId","eta","timeLeft","newFileMenuEntries","uploadManager","menuEntriesUpload","UploadFromDevice","menuEntriesNew","CreateNew","menuEntriesOther","Other","canUploadFolders","createElement","totalQueueSize","uploadedQueueSize","hasFailure","isUploading","isAssembling","ASSEMBLING","PAUSED","buttonName","setDestination","updateStatus","onUploadCompletion","onTriggerPick","uploadFolders","webkitdirectory","click","showInvalidFileNameDialog","rest","handleConflicts","getConflicts","filesToUpload","onPick","resetForm","form","date","setSeconds","time","seconds","_uploader","forceRecreate","ConflictPicker","picker","recursiveUpload","submit","$destroy","removeChild","contentNames","ToastAriaLive","ToastAriaLive2","TOAST_DEFAULT_TIMEOUT","showMessage","selector","innerHTML","innerText","classes","isNode","ariaLive","POLITE","ASSERTIVE","duration","gravity","position","backgroundColor","className","escapeMarkup","showToast","spawnDialog","dialog","container","vue","h2","html","severity","handleUnload","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","O","chunkIds","notFulfilled","fulfilled","getter","definition","f","chunkId","u","g","done","script","needAttach","scripts","s","getAttribute","charset","onScriptComplete","prev","onerror","onload","doneFns","head","toStringTag","nmd","scriptUrl","importScripts","currentScript","p","baseURI","installedChunks","installedChunkData","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}