diff --git a/dist/settings-apps-view-4529.js b/dist/settings-apps-view-4529.js index c8675f0a8ac70..4fb3d8651844c 100644 --- a/dist/settings-apps-view-4529.js +++ b/dist/settings-apps-view-4529.js @@ -1,2 +1,2 @@ -"use strict";(globalThis.webpackChunknextcloud=globalThis.webpackChunknextcloud||[]).push([[4529],{92973(t,e,n){n.d(e,{l:()=>i});var a=n(53334);const i=Object.freeze({discover:(0,a.Tl)("settings","Discover"),installed:(0,a.Tl)("settings","Your apps"),enabled:(0,a.Tl)("settings","Active apps"),disabled:(0,a.Tl)("settings","Disabled apps"),updates:(0,a.Tl)("settings","Updates"),"app-bundles":(0,a.Tl)("settings","App bundles"),featured:(0,a.Tl)("settings","Featured apps"),supported:(0,a.Tl)("settings","Supported apps")})},23453(e,n,a){a.d(n,{A:()=>c});var i=a(85168),s=a(44368),o=a(63814),p=a(61338);const r=()=>s.Ay.get((0,o.KT)("core/navigation",2)+"/apps?format=json").then(({data:t})=>{200===t.ocs.meta.statuscode&&((0,p.Ic)("nextcloud:app-menu.refresh",{apps:t.ocs.data}),window.dispatchEvent(new Event("resize")))});a.dn(r);const l=window.OC.theme.productName,c={computed:{appGroups(){return this.app.groups.map(t=>({id:t,name:t}))},installing(){return this.app?.app_api?this.app&&!0===this?.appApiStore.getLoading("install"):this.$store.getters.loading("install")},isLoading(){return this.app?.app_api?this.app&&!0===this?.appApiStore.getLoading(this.app.id):this.app&&this.$store.getters.loading(this.app.id)},isInitializing(){return!!this.app?.app_api&&this.app&&("init"===this.app?.status?.action||"healthcheck"===this.app?.status?.action)},isDeploying(){return!!this.app?.app_api&&this.app&&"deploy"===this.app?.status?.action},isManualInstall(){return!!this.app?.app_api&&"manual-install"===this.app?.daemon?.accepts_deploy_id},updateButtonText(){return this.app?.app_api&&"manual-install"===this.app?.daemon?.accepts_deploy_id?t("settings","Manually installed apps cannot be updated"):t("settings","Update to {version}",{version:this.app?.update})},enableButtonText(){return this.app?.app_api?this.app&&this.app?.status?.action&&"deploy"===this.app?.status?.action?t("settings","{progress}% Deploying …",{progress:this.app?.status?.deploy??0}):this.app&&this.app?.status?.action&&"init"===this.app?.status?.action?t("settings","{progress}% Initializing …",{progress:this.app?.status?.init??0}):this.app&&this.app?.status?.action&&"healthcheck"===this.app?.status?.action?t("settings","Health checking"):this.app.needsDownload?t("settings","Deploy and Enable"):t("settings","Enable"):this.app.needsDownload?t("settings","Download and enable"):t("settings","Enable")},disableButtonText(){if(this.app?.app_api){if(this.app&&this.app?.status?.action&&"deploy"===this.app?.status?.action)return t("settings","{progress}% Deploying …",{progress:this.app?.status?.deploy});if(this.app&&this.app?.status?.action&&"init"===this.app?.status?.action)return t("settings","{progress}% Initializing …",{progress:this.app?.status?.init});if(this.app&&this.app?.status?.action&&"healthcheck"===this.app?.status?.action)return t("settings","Health checking")}return t("settings","Disable")},forceEnableButtonText(){return this.app.needsDownload,t("settings","Allow untested app")},enableButtonTooltip(){return!this.app?.app_api&&this.app.needsDownload?t("settings","The app will be downloaded from the App Store"):null},forceEnableButtonTooltip(){const e=t("settings","This app is not marked as compatible with your {productName} version.",{productName:l})+" "+t("settings","If you continue you will still be able to install the app. Note that the app might not work as expected.");return this.app.needsDownload?e+" "+t("settings","The app will be downloaded from the App Store"):e},defaultDeployDaemonAccessible(){return!this.app?.app_api||!(!this.app?.daemon||"manual-install"!==this.app?.daemon?.accepts_deploy_id)||("docker-install"===this.app?.daemon?.accepts_deploy_id&&this.appApiStore.getDefaultDaemon?.name===this.app?.daemon?.name?!0===this?.appApiStore.getDaemonAccessible:this?.appApiStore.getDaemonAccessible)}},data:()=>({groupCheckedAppsData:!1}),mounted(){this.app&&this.app.groups&&this.app.groups.length>0&&(this.groupCheckedAppsData=!0)},methods:{asyncFindGroup(t){return this.$store.dispatch("getGroups",{search:t,limit:5,offset:0})},isLimitedToGroups(t){return!this.app?.app_api&&(this.app.groups.length||this.groupCheckedAppsData)},setGroupLimit(){this.app?.app_api||this.groupCheckedAppsData||this.$store.dispatch("enableApp",{appId:this.app.id,groups:[]})},canLimitToGroups:t=>!(t.types&&t.types.includes("filesystem")||t.types.includes("prelogin")||t.types.includes("authentication")||t.types.includes("logging")||t.types.includes("prevent_group_restriction")||t?.app_api),addGroupLimitation(t){if(this.app?.app_api)return;const e=t.pop(),n=this.app.groups.concat([]).concat([e.id]);this.store&&this.store.updateAppGroups&&this.store.updateAppGroups(this.app.id,n),this.$store.dispatch("enableApp",{appId:this.app.id,groups:n})},removeGroupLimitation(t){if(this.app?.app_api)return;const e=this.app.groups.concat([]),n=e.indexOf(t.id);n>-1&&e.splice(n,1),this.store&&this.store.updateAppGroups&&this.store.updateAppGroups(this.app.id,e),0===e.length&&(this.groupCheckedAppsData=!1),this.$store.dispatch("enableApp",{appId:this.app.id,groups:e})},forceEnable(t){this.app?.app_api?this.appApiStore.forceEnableApp(t).then(()=>{r()}).catch(t=>{(0,i.Qg)(t)}):this.$store.dispatch("forceEnableApp",{appId:t,groups:[]}).then(t=>{r()}).catch(t=>{(0,i.Qg)(t)})},enable(t,e=null,n={}){this.app?.app_api?this.appApiStore.enableApp(t,e,n).then(()=>{r()}).catch(t=>{(0,i.Qg)(t)}):this.$store.dispatch("enableApp",{appId:t,groups:[]}).then(t=>{r()}).catch(t=>{(0,i.Qg)(t)})},disable(t){this.app?.app_api?this.appApiStore.disableApp(t).then(()=>{r()}).catch(t=>{(0,i.Qg)(t)}):this.$store.dispatch("disableApp",{appId:t}).then(t=>{r()}).catch(t=>{(0,i.Qg)(t)})},async remove(t,e=!1){try{this.app?.app_api?await this.appApiStore.uninstallApp(t,e):await this.$store.dispatch("uninstallApp",{appId:t,removeData:e}),await r()}catch(t){(0,i.Qg)(t)}},install(t){this.app?.app_api?this.appApiStore.enableApp(t).then(()=>{r()}).catch(t=>{(0,i.Qg)(t)}):this.$store.dispatch("enableApp",{appId:t}).then(t=>{r()}).catch(t=>{(0,i.Qg)(t)})},update(t){return this.app?.app_api?this.appApiStore.updateApp(t).then(()=>{r()}).catch(t=>{(0,i.Qg)(t)}):this.$store.dispatch("updateApp",{appId:t}).catch(t=>{(0,i.Qg)(t)}).then(()=>{r(),this.store.updateCount=Math.max(this.store.updateCount-1,0)})}}}},86438(t,e,n){n.d(e,{A:()=>i});var a=n(9165);const i=Object.freeze({discover:a.tZc,installed:a.EzL,enabled:a.Tfj,disabled:a.hyP,bundles:a.xR9,supported:a.UD9,featured:a.ZL5,updates:a.XCd,ai:a.aKS,auth:a.Mx_,customization:a.ED,dashboard:a.Knj,files:a.fEr,games:a.v3v,integration:a.bur,monitoring:a.y48,multimedia:a.WI,office:a.Ku3,organization:a.d9V,search:a.U4M,security:a.JiW,social:a.aie,tools:a.QKT,workflow:a.Rt7})},62938(t,e,n){n.d(e,{a:()=>A});var a=n(44368),i=n(16780),s=n(85168),o=n(81222),p=n(53334),r=n(63814),l=n(65899),c=n(6028),d=n(36620),u=n(85471);const A=(0,l.nY)("app-api-apps",{state:()=>({apps:[],updateCount:(0,o.C)("settings","appstoreExAppUpdateCount",0),loading:{},loadingList:!1,statusUpdater:null,daemonAccessible:(0,o.C)("settings","defaultDaemonConfigAccessible",!1),defaultDaemon:(0,o.C)("settings","defaultDaemonConfig",null),dockerDaemons:[]}),getters:{getLoading:t=>e=>t.loading[e]??!1,getAllApps:t=>t.apps,getUpdateCount:t=>t.updateCount,getDaemonAccessible:t=>t.daemonAccessible,getDefaultDaemon:t=>t.defaultDaemon,getAppStatus:t=>e=>t.apps.find(t=>t.id===e)?.status||null,getStatusUpdater:t=>t.statusUpdater,getInitializingOrDeployingApps:t=>t.apps.filter(t=>t?.status?.action&&("deploy"===t?.status?.action||"init"===t.status.action||"healthcheck"===t.status.action)&&""!==t.status.type)},actions:{appsApiFailure(t){(0,s.Qg)((0,p.Tl)("settings","An error occurred during the request. Unable to proceed.")+"
"+t.error.response.data.data.message,{isHTML:!0}),d.A.error(t)},setLoading(t,e){u.Ay.set(this.loading,t,e)},setError(t,e){(Array.isArray(t)?t:[t]).forEach(t=>{const n=this.apps.find(e=>e.id===t);n&&(n.error=e)})},enableApp(t,e,n){return this.setLoading(t,!0),this.setLoading("install",!0),(0,i.C5)().then(()=>a.Ay.post((0,r.Jv)(`/apps/app_api/apps/enable/${t}/${e.name}`),{deployOptions:n}).then(n=>{this.setLoading(t,!1),this.setLoading("install",!1);const i=this.apps.find(e=>e.id===t);return i&&(i.installed||(i.installed=!0,i.needsDownload=!1,i.daemon=e,i.status={type:"install",action:"deploy",init:0,deploy:0}),i.active=!0,i.canUnInstall=!1,i.removable=!0,i.error=""),this.updateAppsStatus(),a.Ay.get((0,r.Jv)("apps/files")).then(()=>{n.data.update_required&&((0,s.cf)((0,p.Tl)("settings","The app has been enabled but needs to be updated."),{onClick:()=>window.location.reload(),close:!1}),setTimeout(()=>{location.reload()},5e3))}).catch(()=>{this.setError(t,(0,p.Tl)("settings","Error: This app cannot be enabled because it makes the server unstable"))})}).catch(e=>{this.setLoading(t,!1),this.setLoading("install",!1),this.setError(t,e.response.data.data.message),this.appsApiFailure({appId:t,error:e})})).catch(()=>{this.setLoading(t,!1),this.setLoading("install",!1)})},forceEnableApp(t){return this.setLoading(t,!0),this.setLoading("install",!0),(0,i.C5)().then(()=>c.A.post((0,r.Jv)("/apps/app_api/apps/force"),{appId:t}).then(()=>{location.reload()}).catch(e=>{this.setLoading(t,!1),this.setLoading("install",!1),this.setError(t,e.response.data.data.message),this.appsApiFailure({appId:t,error:e})})).catch(()=>{this.setLoading(t,!1),this.setLoading("install",!1)})},disableApp(t){return this.setLoading(t,!0),(0,i.C5)().then(()=>c.A.get((0,r.Jv)(`apps/app_api/apps/disable/${t}`)).then(()=>{this.setLoading(t,!1);const e=this.apps.find(e=>e.id===t);return e&&(e.active=!1,e.removable&&(e.canUnInstall=!0)),!0}).catch(e=>{this.setLoading(t,!1),this.appsApiFailure({appId:t,error:e})})).catch(()=>{this.setLoading(t,!1)})},uninstallApp(t,e){return this.setLoading(t,!0),(0,i.C5)().then(()=>c.A.get((0,r.Jv)(`/apps/app_api/apps/uninstall/${t}?removeData=${e}`)).then(()=>{this.setLoading(t,!1);const e=this.apps.find(e=>e.id===t);return e&&(e.active=!1,e.needsDownload=!0,e.installed=!1,e.canUnInstall=!1,e.canInstall=!0,e.daemon=null,e.status={},null!==e.update&&this.updateCount--,e.update=void 0),!0}).catch(e=>{this.setLoading(t,!1),this.appsApiFailure({appId:t,error:e})}))},updateApp(t){return this.setLoading(t,!0),this.setLoading("install",!0),(0,i.C5)().then(()=>c.A.get((0,r.Jv)(`/apps/app_api/apps/update/${t}`)).then(()=>{this.setLoading(t,!1),this.setLoading("install",!1);const e=this.apps.find(e=>e.id===t);if(e){const t=e.update;e.update=void 0,e.version=t||e.version,e.status={type:"update",action:"deploy",init:0,deploy:0},e.error=""}return this.updateCount--,this.updateAppsStatus(),!0}).catch(e=>{this.setLoading(t,!1),this.setLoading("install",!1),this.appsApiFailure({appId:t,error:e})})).catch(()=>{this.setLoading(t,!1),this.setLoading("install",!1)})},async fetchAllApps(){this.loadingList=!0;try{const t=await c.A.get((0,r.Jv)("/apps/app_api/apps/list"));return this.apps=t.data.apps,this.loadingList=!1,!0}catch(t){d.A.error(t),(0,s.Qg)((0,p.Tl)("settings","An error occurred during the request. Unable to proceed.")),this.loadingList=!1}},async fetchAppStatus(t){return c.A.get((0,r.Jv)(`/apps/app_api/apps/status/${t}`)).then(e=>{const n=this.apps.find(e=>e.id===t);n&&(n.status=e.data);const a=this.getInitializingOrDeployingApps;console.debug("initializingOrDeployingApps after setAppStatus",a),0===a.length&&(console.debug("clearing interval"),clearInterval(this.statusUpdater),this.statusUpdater=null),Object.hasOwn(e.data,"error")&&""!==e.data.error&&1===a.length&&(clearInterval(this.statusUpdater),this.statusUpdater=null)}).catch(e=>{this.appsApiFailure({appId:t,error:e}),this.apps=this.apps.filter(e=>e.id!==t),this.updateAppsStatus()})},async fetchDockerDaemons(){try{const{data:t}=await a.Ay.get((0,r.Jv)("/apps/app_api/daemons"));this.defaultDaemon=t.daemons.find(e=>e.name===t.default_daemon_config),this.dockerDaemons=t.daemons.filter(t=>"docker-install"===t.accepts_deploy_id)}catch(t){return d.A.error("[app-api-store] Failed to fetch Docker daemons",{error:t}),!1}return!0},updateAppsStatus(){clearInterval(this.statusUpdater),0!==this.getInitializingOrDeployingApps.length&&(this.statusUpdater=setInterval(()=>{const t=this.getInitializingOrDeployingApps;console.debug("initializingOrDeployingApps",t),t.forEach(t=>{this.fetchAppStatus(t.id)})},2e3))}}})},846(t,e,n){n.d(e,{T:()=>u});var a=n(85168),i=n(81222),s=n(53334),o=n(63814),p=n(65899),r=n(44368),l=n(36620),c=n(86438);const d=()=>(0,a.Qg)((0,s.Tl)("settings","An error occurred during the request. Unable to proceed.")),u=(0,p.nY)("settings-apps",{state:()=>({apps:[],categories:[],updateCount:(0,i.C)("settings","appstoreUpdateCount",0),loading:{apps:!1,categories:!1},loadingList:!1,gettingCategoriesPromise:null}),actions:{async loadCategories(t=!1){if(!(this.categories.length>0)||t)try{this.loading.categories=!0;const{data:t}=await r.Ay.get((0,o.Jv)("settings/apps/categories"));for(const e of t)e.icon=c.A[e.id]??"";this.$patch({categories:t})}catch(t){l.A.error(t),d()}finally{this.loading.categories=!1}},async loadApps(t=!1){if(!(this.apps.length>0)||t)try{this.loading.apps=!0;const{data:t}=await r.Ay.get((0,o.Jv)("settings/apps/list"));this.$patch({apps:t.apps})}catch(t){l.A.error(t),d()}finally{this.loading.apps=!1}},getCategoryById(t){return this.categories.find(({id:e})=>e===t)??null},getAppById(t){return this.apps.find(({id:e})=>e===t)??null},updateAppGroups(t,e){const n=this.apps.find(({id:e})=>e===t);n&&(n.groups=[...e])}}})},40771(t,e,n){n.d(e,{A:()=>p});var a=n(71354),i=n.n(a),s=n(76314),o=n.n(s)()(i());o.push([t.id,".daemon-selection-list[data-v-07c487de]{max-height:350px;overflow-y:scroll;padding:2rem}.daemon-selection-list__empty-content[data-v-07c487de]{margin-top:0;text-align:center}","",{version:3,sources:["webpack://./apps/settings/src/components/AppAPI/DaemonSelectionList.vue"],names:[],mappings:"AACA,wCACC,gBAAA,CACA,iBAAA,CACA,YAAA,CAEA,uDACC,YAAA,CACA,iBAAA",sourcesContent:["\n.daemon-selection-list {\n\tmax-height: 350px;\n\toverflow-y: scroll;\n\tpadding: 2rem;\n\n\t&__empty-content {\n\t\tmargin-top: 0;\n\t\ttext-align: center;\n\t}\n}\n"],sourceRoot:""}]);const p=o},51314(t,e,n){n.d(e,{A:()=>p});var a=n(71354),i=n.n(a),s=n(76314),o=n.n(s)()(i());o.push([t.id,".apps-list[data-v-3b475be6]{display:flex;flex-wrap:wrap;align-content:flex-start}.apps-list--move[data-v-3b475be6]{transition:transform 1s}.apps-list #app-list-update-all[data-v-3b475be6]{margin-inline-start:10px}.apps-list__toolbar[data-v-3b475be6]{height:60px;padding:8px;padding-inline-start:60px;width:100%;background-color:var(--color-main-background);position:sticky;top:0;z-index:1;display:flex;align-items:center}.apps-list--list-view[data-v-3b475be6]{margin-bottom:100px;position:relative}.apps-list__list-container[data-v-3b475be6]{width:100%}.apps-list__store-container[data-v-3b475be6]{display:flex;flex-wrap:wrap}.apps-list__bundle-heading[data-v-3b475be6]{display:flex;align-items:center;margin-block:20px;margin-inline:0 10px}.apps-list__bundle-header[data-v-3b475be6]{color:var(--color-main-text);margin-block:0;margin-inline:50px 10px;font-weight:bold;font-size:20px;line-height:30px}#apps-list-search .app-item h2[data-v-3b475be6]{margin-bottom:0}","",{version:3,sources:["webpack://./apps/settings/src/components/AppList.vue"],names:[],mappings:"AAIA,4BACC,YAAA,CACA,cAAA,CACA,wBAAA,CAGA,kCACC,uBAAA,CAGD,iDACC,wBAAA,CAGD,qCACC,WAjBe,CAkBf,WAnBgB,CAqBhB,yBApBe,CAqBf,UAAA,CACA,6CAAA,CACA,eAAA,CACA,KAAA,CACA,SAAA,CACA,YAAA,CACA,kBAAA,CAGD,uCACC,mBAAA,CAEA,iBAAA,CAGD,4CACC,UAAA,CAGD,6CACC,YAAA,CACA,cAAA,CAGD,4CACC,YAAA,CACA,kBAAA,CACA,iBAAA,CACA,oBAAA,CAGD,2CACC,4BAAA,CACA,cAAA,CACA,uBAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CAMA,gDACC,eAAA",sourcesContent:["\n$toolbar-padding: 8px;\n$toolbar-height: 44px + $toolbar-padding * 2;\n\n.apps-list {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\talign-content: flex-start;\n\n\t// For transition group\n\t&--move {\n\t\ttransition: transform 1s;\n\t}\n\n\t#app-list-update-all {\n\t\tmargin-inline-start: 10px;\n\t}\n\n\t&__toolbar {\n\t\theight: $toolbar-height;\n\t\tpadding: $toolbar-padding;\n\t\t// Leave room for app-navigation-toggle\n\t\tpadding-inline-start: $toolbar-height;\n\t\twidth: 100%;\n\t\tbackground-color: var(--color-main-background);\n\t\tposition: sticky;\n\t\ttop: 0;\n\t\tz-index: 1;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t}\n\n\t&--list-view {\n\t\tmargin-bottom: 100px;\n\t\t// For positioning link overlay on rows\n\t\tposition: relative;\n\t}\n\n\t&__list-container {\n\t\twidth: 100%;\n\t}\n\n\t&__store-container {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t}\n\n\t&__bundle-heading {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tmargin-block: 20px;\n\t\tmargin-inline: 0 10px;\n\t}\n\n\t&__bundle-header {\n\t\tcolor: var(--color-main-text);\n\t\tmargin-block: 0;\n\t\tmargin-inline: 50px 10px;\n\t\tfont-weight: bold;\n\t\tfont-size: 20px;\n\t\tline-height: 30px;\n\t}\n}\n\n#apps-list-search {\n\t.app-item {\n\t\th2 {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const p=o},57487(t,e,n){n.d(e,{A:()=>p});var a=n(71354),i=n.n(a),s=n(76314),o=n.n(s)()(i());o.push([t.id,".app-daemon-badge[data-v-0698b3b8]{color:var(--color-text-maxcontrast);background-color:rgba(0,0,0,0);border:1px solid var(--color-text-maxcontrast);border-radius:var(--border-radius);display:flex;flex-direction:row;gap:6px;padding:3px 6px;width:fit-content}","",{version:3,sources:["webpack://./apps/settings/src/components/AppList/AppDaemonBadge.vue"],names:[],mappings:"AACA,mCACC,mCAAA,CACA,8BAAA,CACA,8CAAA,CACA,kCAAA,CAEA,YAAA,CACA,kBAAA,CACA,OAAA,CACA,eAAA,CACA,iBAAA",sourcesContent:["\n.app-daemon-badge {\n\tcolor: var(--color-text-maxcontrast);\n\tbackground-color: transparent;\n\tborder: 1px solid var(--color-text-maxcontrast);\n\tborder-radius: var(--border-radius);\n\n\tdisplay: flex;\n\tflex-direction: row;\n\tgap: 6px;\n\tpadding: 3px 6px;\n\twidth: fit-content;\n}\n"],sourceRoot:""}]);const p=o},64342(t,e,n){n.d(e,{A:()=>p});var a=n(71354),i=n.n(a),s=n(76314),o=n.n(s)()(i());o.push([t.id,'/*!\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */.app-item[data-v-2e0b174b]{position:relative}.app-item[data-v-2e0b174b]:hover{background-color:var(--color-background-dark)}.app-item--list-view[data-v-2e0b174b]{--app-item-padding: calc(var(--default-grid-baseline) * 2);--app-item-height: calc(var(--default-clickable-area) + var(--app-item-padding) * 2)}.app-item--list-view.app-item--selected[data-v-2e0b174b]{background-color:var(--color-background-dark)}.app-item--list-view>*[data-v-2e0b174b]{vertical-align:middle;border-bottom:1px solid var(--color-border);padding:var(--app-item-padding);height:var(--app-item-height)}.app-item--list-view .app-image[data-v-2e0b174b]{width:var(--default-clickable-area);height:auto;text-align:end}.app-item--list-view .app-image-icon svg[data-v-2e0b174b],.app-item--list-view .app-image-icon .icon-settings-dark[data-v-2e0b174b]{margin-top:5px;width:20px;height:20px;opacity:.5;background-size:cover;display:inline-block}.app-item--list-view .app-name[data-v-2e0b174b]{padding:0 var(--app-item-padding)}.app-item--list-view .app-name--link[data-v-2e0b174b]{height:var(--app-item-height);display:flex;align-items:center}.app-item--list-view .app-name--link[data-v-2e0b174b]::after{content:"";position:absolute;inset-inline:0;height:var(--app-item-height)}.app-item--list-view .app-actions[data-v-2e0b174b]{display:flex;gap:var(--app-item-padding);flex-wrap:wrap;justify-content:end}.app-item--list-view .app-actions .icon-loading-small[data-v-2e0b174b]{display:inline-block;top:4px;margin-inline-end:10px}@media only screen and (max-width: 900px){.app-item--list-view .app-version[data-v-2e0b174b],.app-item--list-view .app-level[data-v-2e0b174b]{display:none}}@media only screen and (max-width: 512px){.app-item--list-view .app-actions[data-v-2e0b174b]{display:none}}.app-item--store-view[data-v-2e0b174b]{padding:30px}.app-item--store-view .app-image-icon .icon-settings-dark[data-v-2e0b174b]{width:100%;height:150px;background-size:45px;opacity:.5}.app-item--store-view .app-image-icon svg[data-v-2e0b174b]{position:absolute;bottom:43px;width:64px;height:64px;opacity:.1}.app-item--store-view .app-name[data-v-2e0b174b]{margin:5px 0}.app-item--store-view .app-name--link[data-v-2e0b174b]::after{content:"";position:absolute;inset-block:0;inset-inline:0}.app-item--store-view .app-actions[data-v-2e0b174b]{margin:10px 0}@media only screen and (min-width: 1601px){.app-item--store-view[data-v-2e0b174b]{width:25%}.app-item--store-view.app-item--with-sidebar[data-v-2e0b174b]{width:33%}}@media only screen and (max-width: 1600px){.app-item--store-view[data-v-2e0b174b]{width:25%}.app-item--store-view.app-item--with-sidebar[data-v-2e0b174b]{width:33%}}@media only screen and (max-width: 1400px){.app-item--store-view[data-v-2e0b174b]{width:33%}.app-item--store-view.app-item--with-sidebar[data-v-2e0b174b]{width:50%}}@media only screen and (max-width: 900px){.app-item--store-view[data-v-2e0b174b]{width:50%}.app-item--store-view.app-item--with-sidebar[data-v-2e0b174b]{width:100%}}@media only screen and (max-width: 1024px){.app-item--store-view[data-v-2e0b174b]{width:50%}}@media only screen and (max-width: 480px){.app-item--store-view[data-v-2e0b174b]{width:100%}}.app-icon[data-v-2e0b174b]{filter:var(--background-invert-if-bright)}.app-image[data-v-2e0b174b]{position:relative;height:150px;opacity:1;overflow:hidden}.app-image img[data-v-2e0b174b]{width:100%}.app-version[data-v-2e0b174b]{color:var(--color-text-maxcontrast)}',"",{version:3,sources:["webpack://./core/css/variables.scss","webpack://./apps/settings/src/components/AppList/AppItem.vue"],names:[],mappings:"AAEA;;;EAAA,CCEA,2BACC,iBAAA,CAEA,iCACC,6CAAA,CAGD,sCACC,0DAAA,CACA,oFAAA,CAEA,yDACC,6CAAA,CAGD,wCACC,qBAAA,CACA,2CAAA,CACA,+BAAA,CACA,6BAAA,CAGD,iDACC,mCAAA,CACA,WAAA,CACA,cAAA,CAGD,oIAEC,cAAA,CACA,UAAA,CACA,WAAA,CACA,UAAA,CACA,qBAAA,CACA,oBAAA,CAGD,gDACC,iCAAA,CAGD,sDACC,6BAAA,CACA,YAAA,CACA,kBAAA,CAMD,6DACC,UAAA,CACA,iBAAA,CACA,cAAA,CACA,6BAAA,CAGD,mDACC,YAAA,CACA,2BAAA,CACA,cAAA,CACA,mBAAA,CAEA,uEACC,oBAAA,CACA,OAAA,CACA,sBAAA,CAKF,0CACC,oGAEC,YAAA,CAAA,CAKF,0CACC,mDACC,YAAA,CAAA,CAKH,uCACC,YAAA,CAEA,2EACC,UAAA,CACA,YAAA,CACA,oBAAA,CACA,UAAA,CAGD,2DACC,iBAAA,CACA,WAAA,CAEA,UAAA,CACA,WAAA,CACA,UAAA,CAGD,iDACC,YAAA,CAGD,8DACC,UAAA,CACA,iBAAA,CACA,aAAA,CACA,cAAA,CAGD,oDACC,aAAA,CAGD,2CAlCD,uCAmCE,SAAA,CAEA,8DACC,SAAA,CAAA,CAIF,2CA1CD,uCA2CE,SAAA,CAEA,8DACC,SAAA,CAAA,CAIF,2CAlDD,uCAmDE,SAAA,CAEA,8DACC,SAAA,CAAA,CAIF,0CA1DD,uCA2DE,SAAA,CAEA,8DACC,UAAA,CAAA,CAIF,2CAlED,uCAmEE,SAAA,CAAA,CAGD,0CAtED,uCAuEE,UAAA,CAAA,CAKH,2BACC,yCAAA,CAGD,4BACC,iBAAA,CACA,YAAA,CACA,SAAA,CACA,eAAA,CAEA,gCACC,UAAA,CAIF,8BACC,mCAAA",sourcesContent:['@use \'sass:color\';\n\n/*!\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n// SCSS darken/lighten function override\n@function nc-darken($color, $value) {\n\t@return color.adjust($color, $lightness: - $value, $space: hsl);\n}\n\n@function nc-lighten($color, $value) {\n\t@return color.adjust($color, $lightness: $value, $space: hsl);\n}\n\n// SCSS variables\n// DEPRECATED, please use CSS4 vars\n$color-main-text: #222 !default; // Not #000 for better readability\n$color-main-background: #fff !default;\n$color-main-background-translucent: rgba($color-main-background, .97) !default;\n\n// used for different active/hover/focus/disabled states\n$color-background-hover: nc-darken($color-main-background, 4%) !default;\n$color-background-dark: nc-darken($color-main-background, 7%) !default;\n$color-background-darker: nc-darken($color-main-background, 14%) !default;\n\n$color-placeholder-light: nc-darken($color-main-background, 10%) !default;\n$color-placeholder-dark: nc-darken($color-main-background, 20%) !default;\n\n$color-primary: #0082c9 !default;\n$color-primary-hover: color.mix($color-primary, $color-main-background, 80%) !default;\n\n$color-primary-light: color.mix($color-primary, $color-main-background, 10%) !default;\n$color-primary-light-text: $color-primary !default;\n$color-primary-light-hover: color.mix($color-primary-light, $color-main-text, 95%) !default;\n\n$color-primary-text: #ffffff !default;\n// do not use nc-darken/lighten in case of overriding because\n// primary-text is independent of color-main-text\n$color-primary-element-text-dark: color.adjust($color-primary-text, $lightness: -7%, $space: hsl) !default;\n$color-primary-element: $color-primary !default;\n$color-primary-element-hover: color.mix($color-primary-element, $color-main-background, 80%) !default;\n$color-primary-element-light: color.adjust($color-primary-element, $lightness: 15%, $space: hsl) !default;\n\n$color-error: #e9322d;\n$color-error-hover: color.mix($color-error, $color-main-background, 80%) !default;\n$color-warning: #eca700;\n$color-warning-hover: color.mix($color-warning, $color-main-background, 80%) !default;\n$color-success: #46ba61;\n$color-success-hover: color.mix($color-success, $color-main-background, 80%) !default;\n// used for svg\n$color-white: #fff;\n$color-black: #000;\n$color-yellow: #FC0;\n\n// rgb(118, 118, 118) / #767676\n// min. color contrast for normal text on white background according to WCAG AA\n// (Works as well: color: #000; opacity: 0.57;)\n$color-text-maxcontrast: nc-lighten($color-main-text, 33%) !default;\n\n$image-logo: url(\'../img/logo/logo.svg?v=1\') !default;\n$image-login-background: url(\'../img/background.png?v=2\') !default;\n$image-logoheader: url(\'../img/logo/logo.svg?v=1\') !default;\n$image-favicon: url(\'../img/logo/logo.svg?v=1\') !default;\n\n$color-loading-light: #ccc !default;\n$color-loading-dark: #444 !default;\n\n$color-box-shadow: color.adjust(nc-darken($color-main-background, 70%), $alpha: -0.5, $space: hsl) !default;\n\n// light border like file table or app-content list\n$color-border: nc-darken($color-main-background, 7%) !default;\n// darker border like inputs or very visible elements\n$color-border-dark: nc-darken($color-main-background, 14%) !default;\n\n$border-radius: 3px !default;\n$border-radius-large: 10px !default;\n// Pill-style button, value is large so big buttons also have correct roundness\n$border-radius-pill: 100px !default;\n\n$font-face: system-ui, -apple-system, "Segoe UI", Roboto, Oxygen-Sans, Cantarell, Ubuntu, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;\n$default-font-size: 15px;\n\n$default-line-height: 24px;\n\n$animation-quick: 100ms;\n$animation-slow: 300ms;\n\n// various structure data\n$header-height: 50px;\n$navigation-width: 300px;\n$sidebar-min-width: 300px;\n$sidebar-max-width: 500px;\n$list-min-width: 200px;\n$list-max-width: 300px;\n$header-menu-item-height: 44px;\n$header-menu-profile-item-height: 66px;\n\n// mobile. Keep in sync with core/js/js.js\n$breakpoint-mobile: 1024px;\n',"\n@use '../../../../../core/css/variables.scss' as variables;\n@use 'sass:math';\n\n.app-item {\n\tposition: relative;\n\n\t&:hover {\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t&--list-view {\n\t\t--app-item-padding: calc(var(--default-grid-baseline) * 2);\n\t\t--app-item-height: calc(var(--default-clickable-area) + var(--app-item-padding) * 2);\n\n\t\t&.app-item--selected {\n\t\t\tbackground-color: var(--color-background-dark);\n\t\t}\n\n\t\t> * {\n\t\t\tvertical-align: middle;\n\t\t\tborder-bottom: 1px solid var(--color-border);\n\t\t\tpadding: var(--app-item-padding);\n\t\t\theight: var(--app-item-height);\n\t\t}\n\n\t\t.app-image {\n\t\t\twidth: var(--default-clickable-area);\n\t\t\theight: auto;\n\t\t\ttext-align: end;\n\t\t}\n\n\t\t.app-image-icon svg,\n\t\t.app-image-icon .icon-settings-dark {\n\t\t\tmargin-top: 5px;\n\t\t\twidth: 20px;\n\t\t\theight: 20px;\n\t\t\topacity: .5;\n\t\t\tbackground-size: cover;\n\t\t\tdisplay: inline-block;\n\t\t}\n\n\t\t.app-name {\n\t\t\tpadding: 0 var(--app-item-padding);\n\t\t}\n\n\t\t.app-name--link {\n\t\t\theight: var(--app-item-height);\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t}\n\n\t\t// Note: because of Safari bug, we cannot position link overlay relative to the table row\n\t\t// So we need to manually position it relative to the table container and cell\n\t\t// See: https://bugs.webkit.org/show_bug.cgi?id=240961\n\t\t.app-name--link::after {\n\t\t\tcontent: '';\n\t\t\tposition: absolute;\n\t\t\tinset-inline: 0;\n\t\t\theight: var(--app-item-height);\n\t\t}\n\n\t\t.app-actions {\n\t\t\tdisplay: flex;\n\t\t\tgap: var(--app-item-padding);\n\t\t\tflex-wrap: wrap;\n\t\t\tjustify-content: end;\n\n\t\t\t.icon-loading-small {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\ttop: 4px;\n\t\t\t\tmargin-inline-end: 10px;\n\t\t\t}\n\t\t}\n\n\t\t/* hide app version and level on narrower screens */\n\t\t@media only screen and (max-width: 900px) {\n\t\t\t.app-version,\n\t\t\t.app-level {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\n\t\t/* Hide actions on a small screen. Click on app opens fill-screen sidebar with the buttons */\n\t\t@media only screen and (max-width: math.div(variables.$breakpoint-mobile, 2)) {\n\t\t\t.app-actions {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n\n\t&--store-view {\n\t\tpadding: 30px;\n\n\t\t.app-image-icon .icon-settings-dark {\n\t\t\twidth: 100%;\n\t\t\theight: 150px;\n\t\t\tbackground-size: 45px;\n\t\t\topacity: 0.5;\n\t\t}\n\n\t\t.app-image-icon svg {\n\t\t\tposition: absolute;\n\t\t\tbottom: 43px;\n\t\t\t/* position halfway vertically */\n\t\t\twidth: 64px;\n\t\t\theight: 64px;\n\t\t\topacity: .1;\n\t\t}\n\n\t\t.app-name {\n\t\t\tmargin: 5px 0;\n\t\t}\n\n\t\t.app-name--link::after {\n\t\t\tcontent: '';\n\t\t\tposition: absolute;\n\t\t\tinset-block: 0;\n\t\t\tinset-inline: 0;\n\t\t}\n\n\t\t.app-actions {\n\t\t\tmargin: 10px 0;\n\t\t}\n\n\t\t@media only screen and (min-width: 1601px) {\n\t\t\twidth: 25%;\n\n\t\t\t&.app-item--with-sidebar {\n\t\t\t\twidth: 33%;\n\t\t\t}\n\t\t}\n\n\t\t@media only screen and (max-width: 1600px) {\n\t\t\twidth: 25%;\n\n\t\t\t&.app-item--with-sidebar {\n\t\t\t\twidth: 33%;\n\t\t\t}\n\t\t}\n\n\t\t@media only screen and (max-width: 1400px) {\n\t\t\twidth: 33%;\n\n\t\t\t&.app-item--with-sidebar {\n\t\t\t\twidth: 50%;\n\t\t\t}\n\t\t}\n\n\t\t@media only screen and (max-width: 900px) {\n\t\t\twidth: 50%;\n\n\t\t\t&.app-item--with-sidebar {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t}\n\n\t\t@media only screen and (max-width: variables.$breakpoint-mobile) {\n\t\t\twidth: 50%;\n\t\t}\n\n\t\t@media only screen and (max-width: 480px) {\n\t\t\twidth: 100%;\n\t\t}\n\t}\n}\n\n.app-icon {\n\tfilter: var(--background-invert-if-bright);\n}\n\n.app-image {\n\tposition: relative;\n\theight: 150px;\n\topacity: 1;\n\toverflow: hidden;\n\n\timg {\n\t\twidth: 100%;\n\t}\n}\n\n.app-version {\n\tcolor: var(--color-text-maxcontrast);\n}\n"],sourceRoot:""}]);const p=o},47780(t,e,n){n.d(e,{A:()=>p});var a=n(71354),i=n.n(a),s=n(76314),o=n.n(s)()(i());o.push([t.id,".app-level-badge[data-v-4f1ef3a1]{color:var(--color-text-maxcontrast);background-color:rgba(0,0,0,0);border:1px solid var(--color-text-maxcontrast);border-radius:var(--border-radius);display:flex;flex-direction:row;gap:6px;padding:3px 6px;width:fit-content}.app-level-badge--supported[data-v-4f1ef3a1]{background-color:var(--color-success);border-color:var(--color-border-success);color:var(--color-success-text)}","",{version:3,sources:["webpack://./apps/settings/src/components/AppList/AppLevelBadge.vue"],names:[],mappings:"AACA,kCACC,mCAAA,CACA,8BAAA,CACA,8CAAA,CACA,kCAAA,CAEA,YAAA,CACA,kBAAA,CACA,OAAA,CACA,eAAA,CACA,iBAAA,CAEA,6CACC,qCAAA,CACA,wCAAA,CACA,+BAAA",sourcesContent:["\n.app-level-badge {\n\tcolor: var(--color-text-maxcontrast);\n\tbackground-color: transparent;\n\tborder: 1px solid var(--color-text-maxcontrast);\n\tborder-radius: var(--border-radius);\n\n\tdisplay: flex;\n\tflex-direction: row;\n\tgap: 6px;\n\tpadding: 3px 6px;\n\twidth: fit-content;\n\n\t&--supported {\n\t\tbackground-color: var(--color-success);\n\t\tborder-color: var(--color-border-success);\n\t\tcolor: var(--color-success-text);\n\t}\n}\n"],sourceRoot:""}]);const p=o},5472(t,e,n){n.d(e,{A:()=>p});var a=n(71354),i=n.n(a),s=n(76314),o=n.n(s)()(i());o.push([t.id,".app-discover[data-v-114ea95a]{max-width:1008px;margin-inline:auto;padding-inline:54px;padding-block-end:var(--default-clickable-area, 44px);display:flex;flex-direction:column;gap:var(--default-clickable-area, 44px)}","",{version:3,sources:["webpack://./apps/settings/src/components/AppStoreDiscover/AppStoreDiscoverSection.vue"],names:[],mappings:"AACA,+BACC,gBAAA,CACA,kBAAA,CACA,mBAAA,CAEA,qDAAA,CAEA,YAAA,CACA,qBAAA,CACA,uCAAA",sourcesContent:["\n.app-discover {\n\tmax-width: 1008px; /* 900px + 2x 54px padding for the carousel controls */\n\tmargin-inline: auto;\n\tpadding-inline: 54px;\n\t/* Padding required to make last element not bound to the bottom */\n\tpadding-block-end: var(--default-clickable-area, 44px);\n\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: var(--default-clickable-area, 44px);\n}\n"],sourceRoot:""}]);const p=o},98656(t,e,n){n.d(e,{A:()=>p});var a=n(71354),i=n.n(a),s=n(76314),o=n.n(s)()(i());o.push([t.id,".daemon[data-v-e726cadc]{padding:20px}.daemon h4[data-v-e726cadc]{font-weight:bold;margin:10px auto}","",{version:3,sources:["webpack://./apps/settings/src/components/AppStoreSidebar/AppDeployDaemonTab.vue"],names:[],mappings:"AACA,yBACE,YAAA,CAEA,4BACE,gBAAA,CACA,gBAAA",sourcesContent:["\n.daemon {\n padding: 20px;\n\n h4 {\n font-weight: bold;\n margin: 10px auto;\n }\n}\n"],sourceRoot:""}]);const p=o},73855(t,e,n){n.d(e,{A:()=>p});var a=n(71354),i=n.n(a),s=n(76314),o=n.n(s)()(i());o.push([t.id,".app-description[data-v-10fcea52]{padding:12px}","",{version:3,sources:["webpack://./apps/settings/src/components/AppStoreSidebar/AppDescriptionTab.vue"],names:[],mappings:"AACA,kCACC,YAAA",sourcesContent:["\n.app-description {\n\tpadding: 12px;\n}\n"],sourceRoot:""}]);const p=o},24027(t,e,n){n.d(e,{A:()=>p});var a=n(71354),i=n.n(a),s=n(76314),o=n.n(s)()(i());o.push([t.id,'.app-details[data-v-60bee524]{padding:20px}.app-details__actions-manage[data-v-60bee524]{display:flex;align-items:center}.app-details__actions-manage input[data-v-60bee524]{flex:0 1 auto;min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-details__authors[data-v-60bee524]{color:var(--color-text-maxcontrast)}.app-details__section[data-v-60bee524]{margin-top:15px}.app-details__section h4[data-v-60bee524]{font-size:16px;font-weight:bold;margin-block-end:5px}.app-details__interact[data-v-60bee524]{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px}.app-details__documentation a[data-v-60bee524]{text-decoration:underline}.app-details__documentation li[data-v-60bee524]{padding-inline-start:20px}.app-details__documentation li[data-v-60bee524]::before{width:5px;height:5px;border-radius:100%;background-color:var(--color-main-text);content:"";float:inline-start;margin-inline-start:-13px;position:relative;top:10px}.force[data-v-60bee524]{color:var(--color-text-error);border-color:var(--color-border-error);background:var(--color-main-background)}.force[data-v-60bee524]:hover,.force[data-v-60bee524]:active{color:var(--color-main-background);border-color:var(--color-border-error) !important;background:var(--color-error)}.missing-dependencies[data-v-60bee524]{list-style:initial;list-style-type:initial;list-style-position:inside}',"",{version:3,sources:["webpack://./apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue"],names:[],mappings:"AACA,8BACC,YAAA,CAIC,8CAEC,YAAA,CACA,kBAAA,CACA,oDACC,aAAA,CACA,WAAA,CACA,sBAAA,CACA,kBAAA,CACA,eAAA,CAIH,uCACC,mCAAA,CAGD,uCACC,eAAA,CAEA,0CACC,cAAA,CACA,gBAAA,CACA,oBAAA,CAIF,wCACC,YAAA,CACA,kBAAA,CACA,cAAA,CACA,QAAA,CAIA,+CACC,yBAAA,CAED,gDACC,yBAAA,CAEA,wDACC,SAAA,CACA,UAAA,CACA,kBAAA,CACA,uCAAA,CACA,UAAA,CACA,kBAAA,CACA,yBAAA,CACA,iBAAA,CACA,QAAA,CAMJ,wBACC,6BAAA,CACA,sCAAA,CACA,uCAAA,CAGD,6DAEC,kCAAA,CACA,iDAAA,CACA,6BAAA,CAGD,uCACC,kBAAA,CACA,uBAAA,CACA,0BAAA",sourcesContent:['\n.app-details {\n\tpadding: 20px;\n\n\t&__actions {\n\t\t// app management\n\t\t&-manage {\n\t\t\t// if too many, shrink them and ellipsis\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tinput {\n\t\t\t\tflex: 0 1 auto;\n\t\t\t\tmin-width: 0;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\t\t}\n\t}\n\t&__authors {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t&__section {\n\t\tmargin-top: 15px;\n\n\t\th4 {\n\t\t\tfont-size: 16px;\n\t\t\tfont-weight: bold;\n\t\t\tmargin-block-end: 5px;\n\t\t}\n\t}\n\n\t&__interact {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tflex-wrap: wrap;\n\t\tgap: 12px;\n\t}\n\n\t&__documentation {\n\t\ta {\n\t\t\ttext-decoration: underline;\n\t\t}\n\t\tli {\n\t\t\tpadding-inline-start: 20px;\n\n\t\t\t&::before {\n\t\t\t\twidth: 5px;\n\t\t\t\theight: 5px;\n\t\t\t\tborder-radius: 100%;\n\t\t\t\tbackground-color: var(--color-main-text);\n\t\t\t\tcontent: "";\n\t\t\t\tfloat: inline-start;\n\t\t\t\tmargin-inline-start: -13px;\n\t\t\t\tposition: relative;\n\t\t\t\ttop: 10px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.force {\n\tcolor: var(--color-text-error);\n\tborder-color: var(--color-border-error);\n\tbackground: var(--color-main-background);\n}\n\n.force:hover,\n.force:active {\n\tcolor: var(--color-main-background);\n\tborder-color: var(--color-border-error) !important;\n\tbackground: var(--color-error);\n}\n\n.missing-dependencies {\n\tlist-style: initial;\n\tlist-style-type: initial;\n\tlist-style-position: inside;\n}\n'],sourceRoot:""}]);const p=o},54891(t,e,n){n.d(e,{A:()=>p});var a=n(71354),i=n.n(a),s=n(76314),o=n.n(s)()(i());o.push([t.id,".app-sidebar-tabs__release h2[data-v-1114c30b]{border-bottom:1px solid var(--color-border);font-size:24px}.app-sidebar-tabs__release-text[data-v-1114c30b] h3{font-size:20px}.app-sidebar-tabs__release-text[data-v-1114c30b] h4{font-size:17px}","",{version:3,sources:["webpack://./apps/settings/src/components/AppStoreSidebar/AppReleasesTab.vue"],names:[],mappings:"AAEC,+CACC,2CAAA,CACA,cAAA,CAKA,oDACC,cAAA,CAED,oDACC,cAAA",sourcesContent:["\n.app-sidebar-tabs__release {\n\th2 {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t\tfont-size: 24px;\n\t}\n\n\t&-text {\n\t\t// Overwrite changelog heading styles\n\t\t:deep(h3) {\n\t\t\tfont-size: 20px;\n\t\t}\n\t\t:deep(h4) {\n\t\t\tfont-size: 17px;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const p=o},39698(t,e,n){n.d(e,{A:()=>p});var a=n(71354),i=n.n(a),s=n(76314),o=n.n(s)()(i());o.push([t.id,'.settings-markdown[data-v-35d8331c] a{text-decoration:underline}.settings-markdown[data-v-35d8331c] a::after{content:"↗";padding-inline:calc(var(--default-grid-baseline)/2)}.settings-markdown[data-v-35d8331c] pre{white-space:pre;overflow-x:auto;background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:1em 1.3em;margin-bottom:1em}.settings-markdown[data-v-35d8331c] p code{background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:.1em .3em}.settings-markdown[data-v-35d8331c] li{position:relative}.settings-markdown[data-v-35d8331c] ul,.settings-markdown[data-v-35d8331c] ol{padding-inline-start:10px;margin-inline-start:10px}.settings-markdown[data-v-35d8331c] ul li{list-style-type:disc}.settings-markdown[data-v-35d8331c] ul>li>ul>li{list-style-type:circle}.settings-markdown[data-v-35d8331c] ul>li>ul>li ul li{list-style-type:square}.settings-markdown[data-v-35d8331c] blockquote{padding-inline-start:1em;border-inline-start:4px solid var(--color-primary-element);color:var(--color-text-maxcontrast);margin-inline:0}',"",{version:3,sources:["webpack://./Markdown.vue","webpack://./apps/settings/src/components/Markdown.vue"],names:[],mappings:"AAAA,sCCEC,yBACC,CAAA,6CACA,WACC,CAAA,mDACA,CAAA,wCAIF,eACC,CAAA,eACA,CAAA,6CACA,CAAA,kCACA,CAAA,iBACA,CAAA,iBACA,CAAA,2CAGD,6CACC,CAAA,kCACA,CAAA,iBACA,CAAA,uCAGD,iBACC,CAAA,8EAGD,yBACC,CAAA,wBACA,CAAA,0CAGD,oBACC,CAAA,gDAGD,sBACC,CAAA,sDAGD,sBACC,CAAA,+CAGD,wBACC,CAAA,0DACA,CAAA,mCACA,CAAA,eACA",sourcesContent:['.settings-markdown :deep a{text-decoration:underline}.settings-markdown :deep a::after{content:"↗";padding-inline:calc(var(--default-grid-baseline)/2)}.settings-markdown :deep pre{white-space:pre;overflow-x:auto;background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:1em 1.3em;margin-bottom:1em}.settings-markdown :deep p code{background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:.1em .3em}.settings-markdown :deep li{position:relative}.settings-markdown :deep ul,.settings-markdown :deep ol{padding-inline-start:10px;margin-inline-start:10px}.settings-markdown :deep ul li{list-style-type:disc}.settings-markdown :deep ul>li>ul>li{list-style-type:circle}.settings-markdown :deep ul>li>ul>li ul li{list-style-type:square}.settings-markdown :deep blockquote{padding-inline-start:1em;border-inline-start:4px solid var(--color-primary-element);color:var(--color-text-maxcontrast);margin-inline:0}',"\n.settings-markdown :deep {\n\ta {\n\t\ttext-decoration: underline;\n\t\t&::after {\n\t\t\tcontent: '↗';\n\t\t\tpadding-inline: calc(var(--default-grid-baseline) / 2);\n\t\t}\n\t}\n\n\tpre {\n\t\twhite-space: pre;\n\t\toverflow-x: auto;\n\t\tbackground-color: var(--color-background-dark);\n\t\tborder-radius: var(--border-radius);\n\t\tpadding: 1em 1.3em;\n\t\tmargin-bottom: 1em;\n\t}\n\n\tp code {\n\t\tbackground-color: var(--color-background-dark);\n\t\tborder-radius: var(--border-radius);\n\t\tpadding: .1em .3em;\n\t}\n\n\tli {\n\t\tposition: relative;\n\t}\n\n\tul, ol {\n\t\tpadding-inline-start: 10px;\n\t\tmargin-inline-start: 10px;\n\t}\n\n\tul li {\n\t\tlist-style-type: disc;\n\t}\n\n\tul > li > ul > li {\n\t\tlist-style-type: circle;\n\t}\n\n\tul > li > ul > li ul li {\n\t\tlist-style-type: square;\n\t}\n\n\tblockquote {\n\t\tpadding-inline-start: 1em;\n\t\tborder-inline-start: 4px solid var(--color-primary-element);\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tmargin-inline: 0;\n\t}\n}\n"],sourceRoot:""}]);const p=o},69423(t,e,n){n.d(e,{A:()=>p});var a=n(71354),i=n.n(a),s=n(76314),o=n.n(s)()(i());o.push([t.id,".app-sidebar--with-screenshot[data-v-ffae2952] .app-sidebar-header__figure{background-size:cover}.app-sidebar__fallback-icon[data-v-ffae2952]{width:100%;height:100%}.app-sidebar__badges[data-v-ffae2952]{display:flex;flex-direction:row;gap:12px}.app-sidebar__version[data-v-ffae2952]{color:var(--color-text-maxcontrast)}","",{version:3,sources:["webpack://./apps/settings/src/views/AppStoreSidebar.vue"],names:[],mappings:"AAIE,2EACC,qBAAA,CAIF,6CAEC,UAAA,CACA,WAAA,CAGD,sCACC,YAAA,CACA,kBAAA,CACA,QAAA,CAGD,uCACC,mCAAA",sourcesContent:["\n.app-sidebar {\n\t// If a screenshot is available it should cover the whole figure\n\t&--with-screenshot {\n\t\t:deep(.app-sidebar-header__figure) {\n\t\t\tbackground-size: cover;\n\t\t}\n\t}\n\n\t&__fallback-icon {\n\t\t// both 100% to center the icon\n\t\twidth: 100%;\n\t\theight: 100%;\n\t}\n\n\t&__badges {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tgap: 12px;\n\t}\n\n\t&__version {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n"],sourceRoot:""}]);const p=o},90532(t,e,n){n.d(e,{A:()=>p});var a=n(71354),i=n.n(a),s=n(76314),o=n.n(s)()(i());o.push([t.id,"\n.app-score__wrapper[data-v-d9bfc6c8] {\n\tdisplay: inline-flex;\n\tcolor: var(--color-favorite, #a08b00);\n> *[data-v-d9bfc6c8] {\n\t\tvertical-align: text-bottom;\n}\n}\n","",{version:3,sources:["webpack://./apps/settings/src/components/AppList/AppScore.vue"],names:[],mappings:";AA+DA;CACA,oBAAA;CACA,qCAAA;AAEA;EACA,2BAAA;AACA;AACA",sourcesContent:['\x3c!--\n - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n--\x3e\n\n\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, `\n.deploy-option[data-v-d7fb3b54] {\n\tmargin: calc(var(--default-grid-baseline) * 4) 0;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: flex-start;\n&__hint[data-v-d7fb3b54] {\n\t\tmargin-top: 4px;\n\t\tfont-size: 0.8em;\n\t\tcolor: var(--color-text-maxcontrast);\n}\n}\n.envs[data-v-d7fb3b54] {\n\twidth: 100%;\n\toverflow: auto;\n\theight: 100%;\n\tmax-height: 300px;\nli[data-v-d7fb3b54] {\n\t\tmargin: 10px 0;\n}\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppStoreSidebar/AppDeployOptionsModal.vue\"],\"names\":[],\"mappings\":\";AAwSA;CACA,gDAAA;CACA,aAAA;CACA,sBAAA;CACA,uBAAA;AAEA;EACA,eAAA;EACA,gBAAA;EACA,oCAAA;AACA;AACA;AAEA;CACA,WAAA;CACA,cAAA;CACA,YAAA;CACA,iBAAA;AAEA;EACA,cAAA;AACA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\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, `\n.empty-content__loading[data-v-cd4ac3b0] {\n\theight: 100%;\n}\n.app-settings-content__label[data-v-cd4ac3b0] {\n\tmargin-block-start: var(--app-navigation-padding);\n\tmargin-inline-start: calc(var(--default-clickable-area) + var(--app-navigation-padding) * 2);\n\tmin-height: var(--default-clickable-area);\n\tline-height: var(--default-clickable-area);\n\tvertical-align: center;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/AppStore.vue\"],\"names\":[],\"mappings\":\";AA2EA;CACA,YAAA;AACA;AAEA;CACA,iDAAA;CACA,4FAAA;CACA,yCAAA;CACA,0CAAA;CACA,sBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\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, `\n/* The categories-loading indicator */\n.categories--loading[data-v-97b4ee00] {\n\tflex: 1;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/AppStoreNavigation.vue\"],\"names\":[],\"mappings\":\";AAsIA,qCAAA;AACA;CACA,OAAA;CACA,aAAA;CACA,mBAAA;CACA,uBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcDialog,{attrs:{\"open\":_vm.show,\"name\":_vm.t('settings', 'Choose Deploy Daemon for {appName}', {appName: _vm.app.name }),\"size\":\"normal\"},on:{\"update:open\":_setup.closeModal}},[_c(_setup.DaemonSelectionList,{attrs:{\"app\":_vm.app,\"deploy-options\":_vm.deployOptions},on:{\"close\":_setup.closeModal}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./FormatListBulleted.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./FormatListBulleted.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FormatListBulleted.vue?vue&type=template&id=5c444520\"\nimport script from \"./FormatListBulleted.vue?vue&type=script&lang=js\"\nexport * from \"./FormatListBulleted.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-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,5H21V7H7V5M7,13V11H21V13H7M4,4.5A1.5,1.5 0 0,1 5.5,6A1.5,1.5 0 0,1 4,7.5A1.5,1.5 0 0,1 2.5,6A1.5,1.5 0 0,1 4,4.5M4,10.5A1.5,1.5 0 0,1 5.5,12A1.5,1.5 0 0,1 4,13.5A1.5,1.5 0 0,1 2.5,12A1.5,1.5 0 0,1 4,10.5M7,19V17H21V19H7M4,16.5A1.5,1.5 0 0,1 5.5,18A1.5,1.5 0 0,1 4,19.5A1.5,1.5 0 0,1 2.5,18A1.5,1.5 0 0,1 4,16.5Z\"}},[(_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;return _c('NcListItem',{attrs:{\"name\":_vm.itemTitle,\"details\":_vm.isDefault ? _vm.t('settings', 'Default') : '',\"force-display-actions\":true,\"counter-number\":_vm.daemon.exAppsCount,\"active\":_vm.isDefault,\"counter-type\":\"highlighted\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.selectDaemonAndInstall.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"subname\",fn:function(){return [_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.daemon.accepts_deploy_id)+\"\\n\\t\")]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DaemonSelectionEntry.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!./DaemonSelectionEntry.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DaemonSelectionEntry.vue?vue&type=template&id=3834d8ce\"\nimport script from \"./DaemonSelectionEntry.vue?vue&type=script&lang=js\"\nexport * from \"./DaemonSelectionEntry.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","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DaemonSelectionList.vue?vue&type=script&setup=true&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DaemonSelectionList.vue?vue&type=script&setup=true&lang=js\"","\n\n\n\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!./DaemonSelectionList.vue?vue&type=style&index=0&id=07c487de&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./DaemonSelectionList.vue?vue&type=style&index=0&id=07c487de&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./DaemonSelectionList.vue?vue&type=template&id=07c487de&scoped=true\"\nimport script from \"./DaemonSelectionList.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./DaemonSelectionList.vue?vue&type=script&setup=true&lang=js\"\nimport style0 from \"./DaemonSelectionList.vue?vue&type=style&index=0&id=07c487de&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 \"07c487de\",\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:\"daemon-selection-list\"},[(_setup.dockerDaemons.length > 0)?_c('ul',{attrs:{\"aria-label\":_vm.t('settings', 'Registered Deploy daemons list')}},_vm._l((_setup.dockerDaemons),function(daemon){return _c(_setup.DaemonSelectionEntry,{key:daemon.id,attrs:{\"daemon\":daemon,\"is-default\":_setup.defaultDaemon.name === daemon.name,\"app\":_vm.app,\"deploy-options\":_vm.deployOptions},on:{\"close\":_setup.closeModal}})}),1):_c(_setup.NcEmptyContent,{staticClass:\"daemon-selection-list__empty-content\",attrs:{\"name\":_vm.t('settings', 'No Deploy daemons configured'),\"description\":_vm.t('settings', 'Register a custom one or setup from available templates')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.FormatListBullet,{attrs:{\"size\":20}})]},proxy:true},{key:\"action\",fn:function(){return [_c(_setup.NcButton,{attrs:{\"href\":_setup.appApiAdminPage}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Manage Deploy daemons'))+\"\\n\\t\\t\\t\")])]},proxy:true}])})],1)\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!./DaemonSelectionDialog.vue?vue&type=script&setup=true&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DaemonSelectionDialog.vue?vue&type=script&setup=true&lang=js\"","\n\n\n\n","import { render, staticRenderFns } from \"./DaemonSelectionDialog.vue?vue&type=template&id=993019e6\"\nimport script from \"./DaemonSelectionDialog.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./DaemonSelectionDialog.vue?vue&type=script&setup=true&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(_vm.listView ? 'tr' : (_vm.inline ? 'article' : 'li'),{tag:\"component\",staticClass:\"app-item\",class:{\n\t\t'app-item--list-view': _vm.listView,\n\t\t'app-item--store-view': !_vm.listView,\n\t\t'app-item--selected': _vm.isSelected,\n\t\t'app-item--with-sidebar': _vm.withSidebar,\n\t}},[_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-image app-image-icon\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-icon`)}},[(!_vm.app?.app_api && _vm.shouldDisplayDefaultIcon)?_c('div',{staticClass:\"icon-settings-dark\"}):(_vm.app.app_api && _vm.shouldDisplayDefaultIcon)?_c('NcIconSvgWrapper',{staticStyle:{\"min-width\":\"auto\",\"min-height\":\"auto\",\"height\":\"100%\"},attrs:{\"path\":_vm.mdiCogOutline,\"size\":_vm.listView ? 24 : 48}}):(_vm.listView && _vm.app.preview && !_vm.app.app_api)?_c('svg',{attrs:{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"0 0 32 32\"}},[_c('image',{staticClass:\"app-icon\",attrs:{\"x\":\"0\",\"y\":\"0\",\"width\":\"32\",\"height\":\"32\",\"preserveAspectRatio\":\"xMinYMin meet\",\"xlink:href\":_vm.app.preview}})]):_vm._e(),_vm._v(\" \"),(!_vm.listView && _vm.app.screenshot && _vm.screenshotLoaded)?_c('img',{attrs:{\"src\":_vm.app.screenshot,\"alt\":\"\"}}):_vm._e()],1),_vm._v(\" \"),_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-name\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-name`)}},[_c('router-link',{staticClass:\"app-name--link\",attrs:{\"to\":{\n\t\t\t\tname: 'apps-details',\n\t\t\t\tparams: {\n\t\t\t\t\tcategory: _vm.category,\n\t\t\t\t\tid: _vm.app.id\n\t\t\t\t},\n\t\t\t},\"aria-label\":_vm.t('settings', 'Show details for {appName} app', { appName:_vm.app.name })}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.app.name)+\"\\n\\t\\t\")])],1),_vm._v(\" \"),(!_vm.listView)?_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-summary\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-version`)}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.app.summary)+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.listView)?_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-version\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-version`)}},[(_vm.app.version)?_c('span',[_vm._v(_vm._s(_vm.app.version))]):(_vm.app.appstoreData.releases[0].version)?_c('span',[_vm._v(_vm._s(_vm.app.appstoreData.releases[0].version))]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-level\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-level`)}},[_c('AppLevelBadge',{attrs:{\"level\":_vm.app.level}}),_vm._v(\" \"),(_vm.hasRating && !_vm.listView)?_c('AppScore',{attrs:{\"score\":_vm.app.score}}):_vm._e()],1),_vm._v(\" \"),(!_vm.inline)?_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-actions\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-actions`)}},[(_vm.app.error)?_c('div',{staticClass:\"warning\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.app.error)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.isLoading || _vm.isInitializing)?_c('div',{staticClass:\"icon icon-loading-small\"}):_vm._e(),_vm._v(\" \"),(_vm.app.update)?_c('NcButton',{attrs:{\"type\":\"primary\",\"disabled\":_vm.installing || _vm.isLoading || !_vm.defaultDeployDaemonAccessible || _vm.isManualInstall,\"title\":_vm.updateButtonText},on:{\"click\":function($event){$event.stopPropagation();return _vm.update(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Update to {update}', {update:_vm.app.update}))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('NcButton',{staticClass:\"uninstall\",attrs:{\"type\":\"tertiary\",\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.remove(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Remove'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.active)?_c('NcButton',{attrs:{\"disabled\":_vm.installing || _vm.isLoading || _vm.isInitializing || _vm.isDeploying},on:{\"click\":function($event){$event.stopPropagation();return _vm.disable(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.disableButtonText)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible))?_c('NcButton',{attrs:{\"title\":_vm.enableButtonTooltip,\"aria-label\":_vm.enableButtonTooltip,\"type\":\"primary\",\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.isLoading || !_vm.defaultDeployDaemonAccessible || _vm.isInitializing || _vm.isDeploying},on:{\"click\":function($event){$event.stopPropagation();return _vm.enableButtonAction.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.enableButtonText)+\"\\n\\t\\t\")]):(!_vm.app.active)?_c('NcButton',{attrs:{\"title\":_vm.forceEnableButtonTooltip,\"aria-label\":_vm.forceEnableButtonTooltip,\"type\":\"secondary\",\"disabled\":_vm.installing || _vm.isLoading || !_vm.defaultDeployDaemonAccessible},on:{\"click\":function($event){$event.stopPropagation();return _vm.forceEnable(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.forceEnableButtonText)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app?.app_api && _vm.showSelectDaemonModal)?_c('DaemonSelectionDialog',{attrs:{\"show\":_vm.showSelectDaemonModal,\"app\":_vm.app},on:{\"update:show\":function($event){_vm.showSelectDaemonModal=$event}}}):_vm._e()],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgFilterMixin.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!./SvgFilterMixin.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./SvgFilterMixin.vue?vue&type=script&lang=js\"\nexport * from \"./SvgFilterMixin.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","\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.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!./AppItem.vue?vue&type=script&lang=js\"","\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!./AppItem.vue?vue&type=style&index=0&id=2e0b174b&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./AppItem.vue?vue&type=style&index=0&id=2e0b174b&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppItem.vue?vue&type=template&id=2e0b174b&scoped=true\"\nimport script from \"./AppItem.vue?vue&type=script&lang=js\"\nexport * from \"./AppItem.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppItem.vue?vue&type=style&index=0&id=2e0b174b&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 \"2e0b174b\",\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 (_setup.isSupported || _setup.isFeatured)?_c('span',{staticClass:\"app-level-badge\",class:{ 'app-level-badge--supported': _setup.isSupported },attrs:{\"title\":_setup.badgeTitle}},[_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.badgeIcon,\"size\":20,\"inline\":\"\"}}),_vm._v(\"\\n\\t\"+_vm._s(_setup.badgeText)+\"\\n\")],1):_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!./AppLevelBadge.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!./AppLevelBadge.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!./AppLevelBadge.vue?vue&type=style&index=0&id=4f1ef3a1&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./AppLevelBadge.vue?vue&type=style&index=0&id=4f1ef3a1&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppLevelBadge.vue?vue&type=template&id=4f1ef3a1&scoped=true\"\nimport script from \"./AppLevelBadge.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppLevelBadge.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppLevelBadge.vue?vue&type=style&index=0&id=4f1ef3a1&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 \"4f1ef3a1\",\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:\"app-score__wrapper\",attrs:{\"role\":\"img\",\"aria-label\":_vm.title,\"title\":_vm.title}},[_vm._l((_vm.fullStars),function(index){return _c('NcIconSvgWrapper',{key:`full-star-${index}`,attrs:{\"path\":_vm.mdiStar,\"inline\":\"\"}})}),_vm._v(\" \"),(_vm.hasHalfStar)?_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiStarHalfFull,\"inline\":\"\"}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.emptyStars),function(index){return _c('NcIconSvgWrapper',{key:`empty-star-${index}`,attrs:{\"path\":_vm.mdiStarOutline,\"inline\":\"\"}})})],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!./AppScore.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!./AppScore.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/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=style&index=0&id=d9bfc6c8&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=style&index=0&id=d9bfc6c8&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppScore.vue?vue&type=template&id=d9bfc6c8&scoped=true\"\nimport script from \"./AppScore.vue?vue&type=script&lang=ts\"\nexport * from \"./AppScore.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppScore.vue?vue&type=style&index=0&id=d9bfc6c8&prod&scoped=true&lang=css\"\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 \"d9bfc6c8\",\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(_setup.NcAppContent,{staticClass:\"app-settings-content\",attrs:{\"page-heading\":_setup.pageHeading,\"page-title\":_setup.pageTitle}},[_c('h2',{staticClass:\"app-settings-content__label\",domProps:{\"textContent\":_vm._s(_setup.viewLabel)}}),_vm._v(\" \"),(_setup.currentCategory === 'discover')?_c(_setup.AppStoreDiscoverSection):(_setup.isLoading)?_c(_setup.NcEmptyContent,{staticClass:\"empty-content__loading\",attrs:{\"name\":_setup.t('settings', 'Loading app list')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcLoadingIcon,{attrs:{\"size\":64}})]},proxy:true}])}):_c(_setup.AppList,{attrs:{\"category\":_setup.currentCategory}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\nHow it works:\n`this.#head` is an instance of `Node` which keeps track of its current value and nests another instance of `Node` that keeps the value that comes after it. When a value is provided to `.enqueue()`, the code needs to iterate through `this.#head`, going deeper and deeper to find the last value. However, iterating through every single item is slow. This problem is solved by saving a reference to the last value as `this.#tail` so that it can reference it to add a new value.\n*/\n\nclass Node {\n\tvalue;\n\tnext;\n\n\tconstructor(value) {\n\t\tthis.value = value;\n\t}\n}\n\nexport default class Queue {\n\t#head;\n\t#tail;\n\t#size;\n\n\tconstructor() {\n\t\tthis.clear();\n\t}\n\n\tenqueue(value) {\n\t\tconst node = new Node(value);\n\n\t\tif (this.#head) {\n\t\t\tthis.#tail.next = node;\n\t\t\tthis.#tail = node;\n\t\t} else {\n\t\t\tthis.#head = node;\n\t\t\tthis.#tail = node;\n\t\t}\n\n\t\tthis.#size++;\n\t}\n\n\tdequeue() {\n\t\tconst current = this.#head;\n\t\tif (!current) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#head = this.#head.next;\n\t\tthis.#size--;\n\n\t\t// Clean up tail reference when queue becomes empty\n\t\tif (!this.#head) {\n\t\t\tthis.#tail = undefined;\n\t\t}\n\n\t\treturn current.value;\n\t}\n\n\tpeek() {\n\t\tif (!this.#head) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn this.#head.value;\n\n\t\t// TODO: Node.js 18.\n\t\t// return this.#head?.value;\n\t}\n\n\tclear() {\n\t\tthis.#head = undefined;\n\t\tthis.#tail = undefined;\n\t\tthis.#size = 0;\n\t}\n\n\tget size() {\n\t\treturn this.#size;\n\t}\n\n\t* [Symbol.iterator]() {\n\t\tlet current = this.#head;\n\n\t\twhile (current) {\n\t\t\tyield current.value;\n\t\t\tcurrent = current.next;\n\t\t}\n\t}\n\n\t* drain() {\n\t\twhile (this.#head) {\n\t\t\tyield this.dequeue();\n\t\t}\n\t}\n}\n","import Queue from 'yocto-queue';\n\nexport default function pLimit(concurrency) {\n\tlet rejectOnClear = false;\n\n\tif (typeof concurrency === 'object') {\n\t\t({concurrency, rejectOnClear = false} = concurrency);\n\t}\n\n\tvalidateConcurrency(concurrency);\n\n\tif (typeof rejectOnClear !== 'boolean') {\n\t\tthrow new TypeError('Expected `rejectOnClear` to be a boolean');\n\t}\n\n\tconst queue = new Queue();\n\tlet activeCount = 0;\n\n\tconst resumeNext = () => {\n\t\t// Process the next queued function if we're under the concurrency limit\n\t\tif (activeCount < concurrency && queue.size > 0) {\n\t\t\tactiveCount++;\n\t\t\tqueue.dequeue().run();\n\t\t}\n\t};\n\n\tconst next = () => {\n\t\tactiveCount--;\n\t\tresumeNext();\n\t};\n\n\tconst run = async (function_, resolve, arguments_) => {\n\t\t// Execute the function and capture the result promise\n\t\tconst result = (async () => function_(...arguments_))();\n\n\t\t// Resolve immediately with the promise (don't wait for completion)\n\t\tresolve(result);\n\n\t\t// Wait for the function to complete (success or failure)\n\t\t// We catch errors here to prevent unhandled rejections,\n\t\t// but the original promise rejection is preserved for the caller\n\t\ttry {\n\t\t\tawait result;\n\t\t} catch {}\n\n\t\t// Decrement active count and process next queued function\n\t\tnext();\n\t};\n\n\tconst enqueue = (function_, resolve, reject, arguments_) => {\n\t\tconst queueItem = {reject};\n\n\t\t// Queue the internal resolve function instead of the run function\n\t\t// to preserve the asynchronous execution context.\n\t\tnew Promise(internalResolve => { // eslint-disable-line promise/param-names\n\t\t\tqueueItem.run = internalResolve;\n\t\t\tqueue.enqueue(queueItem);\n\t\t}).then(run.bind(undefined, function_, resolve, arguments_)); // eslint-disable-line promise/prefer-await-to-then\n\n\t\t// Start processing immediately if we haven't reached the concurrency limit\n\t\tif (activeCount < concurrency) {\n\t\t\tresumeNext();\n\t\t}\n\t};\n\n\tconst generator = (function_, ...arguments_) => new Promise((resolve, reject) => {\n\t\tenqueue(function_, resolve, reject, arguments_);\n\t});\n\n\tObject.defineProperties(generator, {\n\t\tactiveCount: {\n\t\t\tget: () => activeCount,\n\t\t},\n\t\tpendingCount: {\n\t\t\tget: () => queue.size,\n\t\t},\n\t\tclearQueue: {\n\t\t\tvalue() {\n\t\t\t\tif (!rejectOnClear) {\n\t\t\t\t\tqueue.clear();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst abortError = AbortSignal.abort().reason;\n\n\t\t\t\twhile (queue.size > 0) {\n\t\t\t\t\tqueue.dequeue().reject(abortError);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tconcurrency: {\n\t\t\tget: () => concurrency,\n\n\t\t\tset(newConcurrency) {\n\t\t\t\tvalidateConcurrency(newConcurrency);\n\t\t\t\tconcurrency = newConcurrency;\n\n\t\t\t\tqueueMicrotask(() => {\n\t\t\t\t\t// eslint-disable-next-line no-unmodified-loop-condition\n\t\t\t\t\twhile (activeCount < concurrency && queue.size > 0) {\n\t\t\t\t\t\tresumeNext();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\tmap: {\n\t\t\tasync value(iterable, function_) {\n\t\t\t\tconst promises = Array.from(iterable, (value, index) => this(function_, value, index));\n\t\t\t\treturn Promise.all(promises);\n\t\t\t},\n\t\t},\n\t});\n\n\treturn generator;\n}\n\nexport function limitFunction(function_, options) {\n\tconst limit = pLimit(options);\n\n\treturn (...arguments_) => limit(() => function_(...arguments_));\n}\n\nfunction validateConcurrency(concurrency) {\n\tif (!((Number.isInteger(concurrency) || concurrency === Number.POSITIVE_INFINITY) && concurrency > 0)) {\n\t\tthrow new TypeError('Expected `concurrency` to be a number from 1 and up');\n\t}\n}\n","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.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!./AppList.vue?vue&type=script&lang=js\"","\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!./AppList.vue?vue&type=style&index=0&id=3b475be6&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./AppList.vue?vue&type=style&index=0&id=3b475be6&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppList.vue?vue&type=template&id=3b475be6&scoped=true\"\nimport script from \"./AppList.vue?vue&type=script&lang=js\"\nexport * from \"./AppList.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppList.vue?vue&type=style&index=0&id=3b475be6&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 \"3b475be6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"app-content-inner\"}},[_c('div',{staticClass:\"apps-list\",class:{\n\t\t\t'apps-list--list-view': (_vm.useBundleView || _vm.useListView),\n\t\t\t'apps-list--store-view': _vm.useAppStoreView,\n\t\t},attrs:{\"id\":\"apps-list\"}},[(_vm.useListView)?[(_vm.showUpdateAll)?_c('div',{staticClass:\"apps-list__toolbar\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.n('settings', '%n app has an update available', '%n apps have an update available', _vm.counter))+\"\\n\\t\\t\\t\\t\"),(_vm.showUpdateAll)?_c('NcButton',{attrs:{\"id\":\"app-list-update-all\",\"type\":\"primary\"},on:{\"click\":_vm.updateAll}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.n('settings', 'Update', 'Update all', _vm.counter))+\"\\n\\t\\t\\t\\t\")]):_vm._e()],1):_vm._e(),_vm._v(\" \"),(!_vm.showUpdateAll)?_c('div',{staticClass:\"apps-list__toolbar\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'All apps are up-to-date.'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('TransitionGroup',{staticClass:\"apps-list__list-container\",attrs:{\"name\":\"apps-list\",\"tag\":\"table\"}},[_c('tr',{key:\"app-list-view-header\"},[_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Icon')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Name')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Version')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Level')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Actions')))])])]),_vm._v(\" \"),_vm._l((_vm.apps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category}})})],2)]:_vm._e(),_vm._v(\" \"),(_vm.useBundleView)?_c('table',{staticClass:\"apps-list__list-container\"},[_c('tr',{key:\"app-list-view-header\"},[_c('th',{attrs:{\"id\":\"app-table-col-icon\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Icon')))])]),_vm._v(\" \"),_c('th',{attrs:{\"id\":\"app-table-col-name\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Name')))])]),_vm._v(\" \"),_c('th',{attrs:{\"id\":\"app-table-col-version\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Version')))])]),_vm._v(\" \"),_c('th',{attrs:{\"id\":\"app-table-col-level\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Level')))])]),_vm._v(\" \"),_c('th',{attrs:{\"id\":\"app-table-col-actions\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Actions')))])])]),_vm._v(\" \"),_vm._l((_vm.bundles),function(bundle){return [_c('tr',{key:bundle.id},[_c('th',{attrs:{\"id\":`app-table-rowgroup-${bundle.id}`,\"colspan\":\"5\",\"scope\":\"rowgroup\"}},[_c('div',{staticClass:\"apps-list__bundle-heading\"},[_c('span',{staticClass:\"apps-list__bundle-header\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(bundle.name)+\"\\n\\t\\t\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"secondary\"},on:{\"click\":function($event){return _vm.toggleBundle(bundle.id)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', _vm.bundleToggleText(bundle.id)))+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])],1)])]),_vm._v(\" \"),_vm._l((_vm.bundleApps(bundle.id)),function(app){return _c('AppItem',{key:bundle.id + app.id,attrs:{\"use-bundle-view\":true,\"headers\":`app-table-rowgroup-${bundle.id}`,\"app\":app,\"category\":_vm.category}})})]})],2):_vm._e(),_vm._v(\" \"),(_vm.useAppStoreView)?_c('ul',{staticClass:\"apps-list__store-container\"},_vm._l((_vm.apps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category,\"list-view\":false}})}),1):_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"apps-list apps-list--list-view\",attrs:{\"id\":\"apps-list-search\"}},[_c('div',{staticClass:\"apps-list__list-container\"},[(_vm.search !== '' && _vm.searchApps.length > 0)?_c('table',{staticClass:\"apps-list__list-container\"},[_c('caption',{staticClass:\"apps-list__bundle-header\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Results from other categories'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('tr',{key:\"app-list-view-header\"},[_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Icon')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Name')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Version')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Level')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Actions')))])])]),_vm._v(\" \"),_vm._l((_vm.searchApps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category}})})],2):_vm._e()])]),_vm._v(\" \"),(_vm.search !== '' && !_vm.loading && _vm.searchApps.length === 0 && _vm.apps.length === 0)?_c('div',{staticClass:\"emptycontent emptycontent-search\",attrs:{\"id\":\"apps-list-empty\"}},[_c('div',{staticClass:\"icon-settings-dark\",attrs:{\"id\":\"app-list-empty-icon\"}}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'No apps found for your version')))])]):_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:\"app-discover\"},[(_setup.hasError)?_c(_setup.NcEmptyContent,{attrs:{\"name\":_setup.t('settings', 'Nothing to show'),\"description\":_setup.t('settings', 'Could not load section content from app store.')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiEyeOffOutline,\"size\":64}})]},proxy:true}],null,false,3626885458)}):(_setup.elements.length === 0)?_c(_setup.NcEmptyContent,{attrs:{\"name\":_setup.t('settings', 'Loading'),\"description\":_setup.t('settings', 'Fetching the latest news…')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcLoadingIcon,{attrs:{\"size\":64}})]},proxy:true}])}):_vm._l((_setup.elements),function(entry,index){return _c(_setup.getComponent(entry.type),_vm._b({key:entry.id ?? index,tag:\"component\"},'component',entry,false))})],2)\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 */\n/**\n * Helper to transform the JSON API results to proper frontend objects (app discover section elements)\n *\n * @param element The JSON API element to transform\n */\nexport const parseApiResponse = (element) => {\n const appElement = { ...element };\n if (appElement.date) {\n appElement.date = Date.parse(appElement.date);\n }\n if (appElement.expiryDate) {\n appElement.expiryDate = Date.parse(appElement.expiryDate);\n }\n if (appElement.type === 'post') {\n return appElement;\n }\n else if (appElement.type === 'showcase') {\n return appElement;\n }\n else if (appElement.type === 'carousel') {\n return appElement;\n }\n throw new Error(`Invalid argument, app discover element with type ${element.type ?? 'unknown'} is unknown`);\n};\n/**\n * Filter outdated or upcoming elements\n * @param element Element to check\n */\nexport const filterElements = (element) => {\n const now = Date.now();\n // Element not yet published\n if (element.date && element.date > now) {\n return false;\n }\n // Element expired\n if (element.expiryDate && element.expiryDate < now) {\n return false;\n }\n return true;\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!./AppStoreDiscoverSection.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!./AppStoreDiscoverSection.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!./AppStoreDiscoverSection.vue?vue&type=style&index=0&id=114ea95a&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./AppStoreDiscoverSection.vue?vue&type=style&index=0&id=114ea95a&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppStoreDiscoverSection.vue?vue&type=template&id=114ea95a&scoped=true\"\nimport script from \"./AppStoreDiscoverSection.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStoreDiscoverSection.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppStoreDiscoverSection.vue?vue&type=style&index=0&id=114ea95a&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 \"114ea95a\",\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!./AppStore.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!./AppStore.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/vue-loader/lib/index.js??vue-loader-options!./AppStore.vue?vue&type=style&index=0&id=cd4ac3b0&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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/vue-loader/lib/index.js??vue-loader-options!./AppStore.vue?vue&type=style&index=0&id=cd4ac3b0&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppStore.vue?vue&type=template&id=cd4ac3b0&scoped=true\"\nimport script from \"./AppStore.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStore.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppStore.vue?vue&type=style&index=0&id=cd4ac3b0&prod&scoped=true&lang=css\"\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 \"cd4ac3b0\",\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(_setup.NcAppNavigation,{attrs:{\"aria-label\":_setup.t('settings', 'Apps')},scopedSlots:_vm._u([{key:\"list\",fn:function(){return [(_setup.appstoreEnabled)?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-discover\",\"to\":{ name: 'apps-category', params: { category: 'discover'} },\"name\":_setup.APPS_SECTION_ENUM.discover},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.discover}})]},proxy:true}],null,false,1397544286)}):_vm._e(),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-installed\",\"to\":{ name: 'apps-category', params: { category: 'installed'} },\"name\":_setup.APPS_SECTION_ENUM.installed},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.installed}})]},proxy:true}])}),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-enabled\",\"to\":{ name: 'apps-category', params: { category: 'enabled' } },\"name\":_setup.APPS_SECTION_ENUM.enabled},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.enabled}})]},proxy:true}])}),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-disabled\",\"to\":{ name: 'apps-category', params: { category: 'disabled' } },\"name\":_setup.APPS_SECTION_ENUM.disabled},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.disabled}})]},proxy:true}])}),_vm._v(\" \"),(_setup.store.updateCount > 0)?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-updates\",\"to\":{ name: 'apps-category', params: { category: 'updates' } },\"name\":_setup.APPS_SECTION_ENUM.updates},scopedSlots:_vm._u([{key:\"counter\",fn:function(){return [_c(_setup.NcCounterBubble,[_vm._v(_vm._s(_setup.store.updateCount))])]},proxy:true},{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.updates}})]},proxy:true}],null,false,3001044337)}):_vm._e(),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-your-bundles\",\"to\":{ name: 'apps-category', params: { category: 'app-bundles' } },\"name\":_setup.APPS_SECTION_ENUM['app-bundles']},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.bundles}})]},proxy:true}])}),_vm._v(\" \"),_c(_setup.NcAppNavigationSpacer),_vm._v(\" \"),(_setup.appstoreEnabled && _setup.categoriesLoading)?_c('li',{staticClass:\"categories--loading\"},[_c(_setup.NcLoadingIcon,{attrs:{\"size\":20,\"aria-label\":_setup.t('settings', 'Loading categories')}})],1):(_setup.appstoreEnabled && !_setup.categoriesLoading)?[(_setup.isSubscribed)?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-supported\",\"to\":{ name: 'apps-category', params: { category: 'supported' } },\"name\":_setup.APPS_SECTION_ENUM.supported},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.supported}})]},proxy:true}],null,false,613663011)}):_vm._e(),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-featured\",\"to\":{ name: 'apps-category', params: { category: 'featured' } },\"name\":_setup.APPS_SECTION_ENUM.featured},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.featured}})]},proxy:true}])}),_vm._v(\" \"),_vm._l((_setup.categories),function(category){return _c(_setup.NcAppNavigationItem,{key:category.id,attrs:{\"id\":`app-category-${category.id}`,\"name\":category.displayName,\"to\":{\n\t\t\t\t\tname: 'apps-category',\n\t\t\t\t\tparams: { category: category.id },\n\t\t\t\t}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":category.icon}})]},proxy:true}],null,true)})})]:_vm._e()]},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!./AppStoreNavigation.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!./AppStoreNavigation.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/vue-loader/lib/index.js??vue-loader-options!./AppStoreNavigation.vue?vue&type=style&index=0&id=97b4ee00&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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/vue-loader/lib/index.js??vue-loader-options!./AppStoreNavigation.vue?vue&type=style&index=0&id=97b4ee00&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppStoreNavigation.vue?vue&type=template&id=97b4ee00&scoped=true\"\nimport script from \"./AppStoreNavigation.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStoreNavigation.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppStoreNavigation.vue?vue&type=style&index=0&id=97b4ee00&prod&scoped=true&lang=css\"\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 \"97b4ee00\",\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 (_setup.showSidebar)?_c(_setup.NcAppSidebar,{staticClass:\"app-sidebar\",class:{ 'app-sidebar--with-screenshot': _setup.hasScreenshot },attrs:{\"active\":_setup.activeTab,\"background\":_setup.hasScreenshot ? _setup.app.screenshot : undefined,\"compact\":!_setup.hasScreenshot,\"name\":_setup.app.name,\"title\":_setup.app.name,\"subname\":_setup.licenseText,\"subtitle\":_setup.licenseText},on:{\"update:active\":function($event){_setup.activeTab=$event},\"close\":_setup.hideAppDetails},scopedSlots:_vm._u([(!_setup.hasScreenshot)?{key:\"header\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{staticClass:\"app-sidebar__fallback-icon\",attrs:{\"svg\":_setup.appIcon ?? '',\"size\":64}})]},proxy:true}:null,{key:\"description\",fn:function(){return [_c('div',{staticClass:\"app-sidebar__badges\"},[_c(_setup.AppLevelBadge,{attrs:{\"level\":_setup.app.level}}),_vm._v(\" \"),(_setup.app.app_api && _setup.app.daemon)?_c(_setup.AppDaemonBadge,{attrs:{\"daemon\":_setup.app.daemon}}):_vm._e(),_vm._v(\" \"),(_setup.hasRating)?_c(_setup.AppScore,{attrs:{\"score\":_setup.rating}}):_vm._e()],1)]},proxy:true}],null,true)},[_vm._v(\" \"),_vm._v(\" \"),_c(_setup.AppDescriptionTab,{attrs:{\"app\":_setup.app}}),_vm._v(\" \"),_c(_setup.AppDetailsTab,{attrs:{\"app\":_setup.app}}),_vm._v(\" \"),_c(_setup.AppReleasesTab,{attrs:{\"app\":_setup.app}}),_vm._v(\" \"),_c(_setup.AppDeployDaemonTab,{attrs:{\"app\":_setup.app}})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.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!./Markdown.vue?vue&type=script&lang=js\"","\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!./Markdown.vue?vue&type=style&index=0&id=35d8331c&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./Markdown.vue?vue&type=style&index=0&id=35d8331c&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Markdown.vue?vue&type=template&id=35d8331c&scoped=true\"\nimport script from \"./Markdown.vue?vue&type=script&lang=js\"\nexport * from \"./Markdown.vue?vue&type=script&lang=js\"\nimport style0 from \"./Markdown.vue?vue&type=style&index=0&id=35d8331c&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 \"35d8331c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"settings-markdown\",domProps:{\"innerHTML\":_vm._s(_vm.renderMarkdown)}})\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!./AppDescriptionTab.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!./AppDescriptionTab.vue?vue&type=script&setup=true&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcAppSidebarTab,{attrs:{\"id\":\"desc\",\"name\":_setup.t('settings', 'Description'),\"order\":0},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiTextShort}})]},proxy:true}])},[_vm._v(\" \"),_c('div',{staticClass:\"app-description\"},[_c(_setup.Markdown,{attrs:{\"text\":_vm.app.description,\"min-heading\":4}})],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!./AppDescriptionTab.vue?vue&type=style&index=0&id=10fcea52&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./AppDescriptionTab.vue?vue&type=style&index=0&id=10fcea52&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDescriptionTab.vue?vue&type=template&id=10fcea52&scoped=true\"\nimport script from \"./AppDescriptionTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppDescriptionTab.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppDescriptionTab.vue?vue&type=style&index=0&id=10fcea52&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 \"10fcea52\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppSidebarTab',{attrs:{\"id\":\"details\",\"name\":_vm.t('settings', 'Details'),\"order\":1},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiTextBoxOutline}})]},proxy:true}])},[_vm._v(\" \"),_c('div',{staticClass:\"app-details\"},[_c('div',{staticClass:\"app-details__actions\"},[(_vm.app.active && _vm.canLimitToGroups(_vm.app))?_c('div',{staticClass:\"app-details__actions-groups\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.groupCheckedAppsData),expression:\"groupCheckedAppsData\"}],staticClass:\"groups-enable__checkbox checkbox\",attrs:{\"id\":`groups_enable_${_vm.app.id}`,\"type\":\"checkbox\"},domProps:{\"value\":_vm.app.id,\"checked\":Array.isArray(_vm.groupCheckedAppsData)?_vm._i(_vm.groupCheckedAppsData,_vm.app.id)>-1:(_vm.groupCheckedAppsData)},on:{\"change\":[function($event){var $$a=_vm.groupCheckedAppsData,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=_vm.app.id,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.groupCheckedAppsData=$$a.concat([$$v]))}else{$$i>-1&&(_vm.groupCheckedAppsData=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.groupCheckedAppsData=$$c}},_vm.setGroupLimit]}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":`groups_enable_${_vm.app.id}`}},[_vm._v(_vm._s(_vm.t('settings', 'Limit to groups')))]),_vm._v(\" \"),_c('input',{staticClass:\"group_select\",attrs:{\"type\":\"hidden\",\"title\":_vm.t('settings', 'All'),\"value\":\"\"}}),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"limitToGroups\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Limit app usage to groups')))])]),_vm._v(\" \"),(_vm.isLimitedToGroups(_vm.app))?_c('NcSelect',{attrs:{\"input-id\":\"limitToGroups\",\"options\":_vm.groups,\"value\":_vm.appGroups,\"limit\":5,\"label\":\"name\",\"multiple\":true,\"close-on-select\":false},on:{\"option:selected\":_vm.addGroupLimitation,\"option:deselected\":_vm.removeGroupLimitation,\"search\":_vm.asyncFindGroup}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings', 'No results')))])]):_vm._e()],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-details__actions-manage\"},[(_vm.app.update)?_c('input',{staticClass:\"update primary\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Update to {version}', { version: _vm.app.update }),\"disabled\":_vm.installing || _vm.isLoading || _vm.isManualInstall},on:{\"click\":function($event){return _vm.update(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('input',{staticClass:\"uninstall\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Remove'),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.remove(_vm.app.id, _vm.removeData)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.active)?_c('input',{staticClass:\"enable\",attrs:{\"type\":\"button\",\"value\":_vm.disableButtonText,\"disabled\":_vm.installing || _vm.isLoading || _vm.isInitializing || _vm.isDeploying},on:{\"click\":function($event){return _vm.disable(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(!_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible))?_c('input',{staticClass:\"enable primary\",attrs:{\"title\":_vm.enableButtonTooltip,\"aria-label\":_vm.enableButtonTooltip,\"type\":\"button\",\"value\":_vm.enableButtonText,\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.isLoading || !_vm.defaultDeployDaemonAccessible || _vm.isInitializing || _vm.isDeploying},on:{\"click\":_vm.enableButtonAction}}):(!_vm.app.active && !_vm.app.canInstall)?_c('input',{staticClass:\"enable force\",attrs:{\"title\":_vm.forceEnableButtonTooltip,\"aria-label\":_vm.forceEnableButtonTooltip,\"type\":\"button\",\"value\":_vm.forceEnableButtonText,\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.forceEnable(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app?.app_api && (_vm.app.canInstall || _vm.app.isCompatible))?_c('NcButton',{attrs:{\"aria-label\":_vm.t('settings', 'Advanced deploy options'),\"type\":\"secondary\"},on:{\"click\":() => _vm.showDeployOptionsModal = true},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiToyBrickPlusOutline}})]},proxy:true}],null,false,973660380)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Deploy options'))+\"\\n\\t\\t\\t\\t\")]):_vm._e()],1),_vm._v(\" \"),(!_vm.defaultDeployDaemonAccessible)?_c('p',{staticClass:\"warning\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Default Deploy daemon is not accessible'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.removeData,\"disabled\":_vm.installing || _vm.isLoading || !_vm.defaultDeployDaemonAccessible},on:{\"update:checked\":_vm.toggleRemoveData}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Delete data on remove'))+\"\\n\\t\\t\\t\")]):_vm._e()],1),_vm._v(\" \"),_c('ul',{staticClass:\"app-details__dependencies\"},[(_vm.app.missingMinOwnCloudVersion)?_c('li',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app has no minimum {productName} version assigned. This will be an error in the future.', { productName: _vm.productName }))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.missingMaxOwnCloudVersion)?_c('li',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app has no maximum {productName} version assigned. This will be an error in the future.', { productName: _vm.productName }))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.app.canInstall)?_c('li',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app cannot be installed because the following dependencies are not fulfilled:'))+\"\\n\\t\\t\\t\\t\"),_c('ul',{staticClass:\"missing-dependencies\"},_vm._l((_vm.app.missingDependencies),function(dep,index){return _c('li',{key:index},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(dep)+\"\\n\\t\\t\\t\\t\\t\")])}),0)]):_vm._e()]),_vm._v(\" \"),(_vm.lastModified && !_vm.app.shipped)?_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Latest updated'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcDateTime',{attrs:{\"timestamp\":_vm.lastModified}})],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Author'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('p',{staticClass:\"app-details__authors\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.appAuthors)+\"\\n\\t\\t\\t\")])]),_vm._v(\" \"),_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Categories'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.appCategories)+\"\\n\\t\\t\\t\")])]),_vm._v(\" \"),(_vm.externalResources.length > 0)?_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(_vm._s(_vm.t('settings', 'Resources')))]),_vm._v(\" \"),_c('ul',{staticClass:\"app-details__documentation\",attrs:{\"aria-label\":_vm.t('settings', 'Documentation')}},_vm._l((_vm.externalResources),function(resource){return _c('li',{key:resource.id},[_c('a',{staticClass:\"appslink\",attrs:{\"href\":resource.href,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(resource.label)+\" ↗\\n\\t\\t\\t\\t\\t\")])])}),0)]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(_vm._s(_vm.t('settings', 'Interact')))]),_vm._v(\" \"),_c('div',{staticClass:\"app-details__interact\"},[_c('NcButton',{attrs:{\"disabled\":!_vm.app.bugs,\"href\":_vm.app.bugs ?? '#',\"aria-label\":_vm.t('settings', 'Report a bug'),\"title\":_vm.t('settings', 'Report a bug')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiBugOutline}})]},proxy:true}])}),_vm._v(\" \"),_c('NcButton',{attrs:{\"disabled\":!_vm.app.bugs,\"href\":_vm.app.bugs ?? '#',\"aria-label\":_vm.t('settings', 'Request feature'),\"title\":_vm.t('settings', 'Request feature')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiFeatureSearchOutline}})]},proxy:true}])}),_vm._v(\" \"),(_vm.app.appstoreData?.discussion)?_c('NcButton',{attrs:{\"href\":_vm.app.appstoreData.discussion,\"aria-label\":_vm.t('settings', 'Ask questions or discuss'),\"title\":_vm.t('settings', 'Ask questions or discuss')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiTooltipQuestionOutline}})]},proxy:true}],null,false,88743630)}):_vm._e(),_vm._v(\" \"),(!_vm.app.internal)?_c('NcButton',{attrs:{\"href\":_vm.rateAppUrl,\"aria-label\":_vm.t('settings', 'Rate the app'),\"title\":_vm.t('settings', 'Rate')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiStar}})]},proxy:true}],null,false,422450625)}):_vm._e()],1)]),_vm._v(\" \"),(_vm.app?.app_api)?_c('AppDeployOptionsModal',{attrs:{\"show\":_vm.showDeployOptionsModal,\"app\":_vm.app},on:{\"update:show\":function($event){_vm.showDeployOptionsModal=$event}}}):_vm._e(),_vm._v(\" \"),(_vm.app?.app_api)?_c('DaemonSelectionDialog',{attrs:{\"show\":_vm.showSelectDaemonModal,\"app\":_vm.app,\"deploy-options\":_vm.deployOptions},on:{\"update:show\":function($event){_vm.showSelectDaemonModal=$event}}}):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDeployOptionsModal.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!./AppDeployOptionsModal.vue?vue&type=script&lang=js\"","\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/vue-loader/lib/index.js??vue-loader-options!./AppDeployOptionsModal.vue?vue&type=style&index=0&id=d7fb3b54&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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/vue-loader/lib/index.js??vue-loader-options!./AppDeployOptionsModal.vue?vue&type=style&index=0&id=d7fb3b54&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDeployOptionsModal.vue?vue&type=template&id=d7fb3b54&scoped=true\"\nimport script from \"./AppDeployOptionsModal.vue?vue&type=script&lang=js\"\nexport * from \"./AppDeployOptionsModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppDeployOptionsModal.vue?vue&type=style&index=0&id=d7fb3b54&prod&scoped=true&lang=css\"\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 \"d7fb3b54\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcDialog',{attrs:{\"open\":_vm.show,\"size\":\"normal\",\"name\":_vm.t('settings', 'Advanced deploy options')},on:{\"update:open\":function($event){return _vm.$emit('update:show', $event)}},scopedSlots:_vm._u([(!_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible) && _vm.configuredDeployOptions === null)?{key:\"actions\",fn:function(){return [_c('NcButton',{attrs:{\"title\":_vm.enableButtonTooltip,\"aria-label\":_vm.enableButtonTooltip,\"type\":\"primary\",\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.isLoading || !_vm.defaultDeployDaemonAccessible || _vm.isInitializing || _vm.isDeploying},on:{\"click\":function($event){$event.stopPropagation();return _vm.submitDeployOptions.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.enableButtonText)+\"\\n\\t\\t\")])]},proxy:true}:null],null,true)},[_c('div',{staticClass:\"modal__content\"},[_c('p',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.configuredDeployOptions === null ? _vm.t('settings', 'Edit ExApp deploy options before installation') : _vm.t('settings', 'Configured ExApp deploy options. Can be set only during installation'))+\".\\n\\t\\t\\t\"),(_vm.deployOptionsDocsUrl)?_c('a',{attrs:{\"href\":_vm.deployOptionsDocsUrl}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Learn more'))+\"\\n\\t\\t\\t\")]):_vm._e()]),_vm._v(\" \"),(_vm.environmentVariables.length > 0 || (_vm.configuredDeployOptions !== null && _vm.configuredDeployOptions.environment_variables.length > 0))?_c('h3',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Environment variables'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.configuredDeployOptions === null)?_vm._l((_vm.environmentVariables),function(envVar){return _c('div',{key:envVar.envName,staticClass:\"deploy-option\"},[_c('NcTextField',{attrs:{\"label\":envVar.displayName,\"value\":_vm.deployOptions.environment_variables[envVar.envName]},on:{\"update:value\":function($event){return _vm.$set(_vm.deployOptions.environment_variables, envVar.envName, $event)}}}),_vm._v(\" \"),_c('p',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(envVar.description)+\"\\n\\t\\t\\t\\t\")])],1)}):(Object.keys(_vm.configuredDeployOptions).length > 0)?_c('fieldset',{staticClass:\"envs\"},[_c('legend',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'ExApp container environment variables'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_vm._l((_vm.configuredDeployOptions.environment_variables),function(value,key){return _c('NcTextField',{key:key,attrs:{\"label\":value.displayName ?? key,\"helper-text\":value.description,\"value\":value.value,\"readonly\":\"\"}})})],2):[_c('p',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'No environment variables defined'))+\"\\n\\t\\t\\t\")])],_vm._v(\" \"),_c('h3',[_vm._v(_vm._s(_vm.t('settings', 'Mounts')))]),_vm._v(\" \"),(_vm.configuredDeployOptions === null)?[_c('p',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Define host folder mounts to bind to the ExApp container'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcNoteCard',{attrs:{\"type\":\"info\",\"text\":_vm.t('settings', 'Must exist on the Deploy daemon host prior to installing the ExApp')}}),_vm._v(\" \"),_vm._l((_vm.deployOptions.mounts),function(mount){return _c('div',{key:mount.hostPath,staticClass:\"deploy-option\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"justify-content\":\"space-between\",\"flex-direction\":\"row\"}},[_c('NcTextField',{attrs:{\"label\":_vm.t('settings', 'Host path'),\"value\":mount.hostPath},on:{\"update:value\":function($event){return _vm.$set(mount, \"hostPath\", $event)}}}),_vm._v(\" \"),_c('NcTextField',{attrs:{\"label\":_vm.t('settings', 'Container path'),\"value\":mount.containerPath},on:{\"update:value\":function($event){return _vm.$set(mount, \"containerPath\", $event)}}}),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":mount.readonly},on:{\"update:checked\":function($event){return _vm.$set(mount, \"readonly\", $event)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Read-only'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{staticStyle:{\"margin-top\":\"6px\"},attrs:{\"aria-label\":_vm.t('settings', 'Remove mount')},on:{\"click\":function($event){return _vm.removeMount(mount)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiDeleteOutline}})]},proxy:true}],null,true)})],1)}),_vm._v(\" \"),(_vm.addingMount)?_c('div',{staticClass:\"deploy-option\"},[_c('h4',[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'New mount'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"justify-content\":\"space-between\",\"flex-direction\":\"row\"}},[_c('NcTextField',{ref:\"newMountHostPath\",attrs:{\"label\":_vm.t('settings', 'Host path'),\"aria-label\":_vm.t('settings', 'Enter path to host folder'),\"value\":_vm.newMountPoint.hostPath},on:{\"update:value\":function($event){return _vm.$set(_vm.newMountPoint, \"hostPath\", $event)}}}),_vm._v(\" \"),_c('NcTextField',{attrs:{\"label\":_vm.t('settings', 'Container path'),\"aria-label\":_vm.t('settings', 'Enter path to container folder'),\"value\":_vm.newMountPoint.containerPath},on:{\"update:value\":function($event){return _vm.$set(_vm.newMountPoint, \"containerPath\", $event)}}}),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.newMountPoint.readonly,\"aria-label\":_vm.t('settings', 'Toggle read-only mode')},on:{\"update:checked\":function($event){return _vm.$set(_vm.newMountPoint, \"readonly\", $event)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Read-only'))+\"\\n\\t\\t\\t\\t\\t\")])],1),_vm._v(\" \"),_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"margin-top\":\"4px\"}},[_c('NcButton',{attrs:{\"aria-label\":_vm.t('settings', 'Confirm adding new mount')},on:{\"click\":_vm.addMountPoint},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiCheck}})]},proxy:true}],null,false,1018299955)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Confirm'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{staticStyle:{\"margin-left\":\"4px\"},attrs:{\"aria-label\":_vm.t('settings', 'Cancel adding mount')},on:{\"click\":_vm.cancelAddMountPoint},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiClose}})]},proxy:true}],null,false,2764082467)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Cancel'))+\"\\n\\t\\t\\t\\t\\t\")])],1)]):_vm._e(),_vm._v(\" \"),(!_vm.addingMount)?_c('NcButton',{staticStyle:{\"margin-top\":\"5px\"},attrs:{\"aria-label\":_vm.t('settings', 'Add mount')},on:{\"click\":_vm.startAddingMount},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiPlus}})]},proxy:true}],null,false,103601839)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Add mount'))+\"\\n\\t\\t\\t\")]):_vm._e()]:(_vm.configuredDeployOptions.mounts.length > 0)?[_c('p',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'ExApp container mounts'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_vm._l((_vm.configuredDeployOptions.mounts),function(mount){return _c('div',{key:mount.hostPath,staticClass:\"deploy-option\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"justify-content\":\"space-between\",\"flex-direction\":\"row\"}},[_c('NcTextField',{attrs:{\"label\":_vm.t('settings', 'Host path'),\"value\":mount.hostPath,\"readonly\":\"\"},on:{\"update:value\":function($event){return _vm.$set(mount, \"hostPath\", $event)}}}),_vm._v(\" \"),_c('NcTextField',{attrs:{\"label\":_vm.t('settings', 'Container path'),\"value\":mount.containerPath,\"readonly\":\"\"},on:{\"update:value\":function($event){return _vm.$set(mount, \"containerPath\", $event)}}}),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":mount.readonly,\"disabled\":\"\"},on:{\"update:checked\":function($event){return _vm.$set(mount, \"readonly\", $event)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Read-only'))+\"\\n\\t\\t\\t\\t\")])],1)})]:_c('p',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'No mounts defined'))+\"\\n\\t\\t\")])],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetailsTab.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!./AppDetailsTab.vue?vue&type=script&lang=js\"","\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!./AppDetailsTab.vue?vue&type=style&index=0&id=60bee524&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./AppDetailsTab.vue?vue&type=style&index=0&id=60bee524&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDetailsTab.vue?vue&type=template&id=60bee524&scoped=true\"\nimport script from \"./AppDetailsTab.vue?vue&type=script&lang=js\"\nexport * from \"./AppDetailsTab.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppDetailsTab.vue?vue&type=style&index=0&id=60bee524&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 \"60bee524\",\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!./AppReleasesTab.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!./AppReleasesTab.vue?vue&type=script&setup=true&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.hasChangelog)?_c(_setup.NcAppSidebarTab,{attrs:{\"id\":\"changelog\",\"name\":_setup.t('settings', 'Changelog'),\"order\":2},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiClockFast,\"size\":24}})]},proxy:true}],null,false,1849836872)},[_vm._v(\" \"),_vm._l((_vm.app.releases),function(release){return _c('div',{key:release.version,staticClass:\"app-sidebar-tabs__release\"},[_c('h2',[_vm._v(_vm._s(release.version))]),_vm._v(\" \"),_c(_setup.Markdown,{staticClass:\"app-sidebar-tabs__release-text\",attrs:{\"text\":_setup.createChangelogFromRelease(release)}})],1)})],2):_vm._e()\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!./AppReleasesTab.vue?vue&type=style&index=0&id=1114c30b&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./AppReleasesTab.vue?vue&type=style&index=0&id=1114c30b&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppReleasesTab.vue?vue&type=template&id=1114c30b&scoped=true\"\nimport script from \"./AppReleasesTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppReleasesTab.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppReleasesTab.vue?vue&type=style&index=0&id=1114c30b&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 \"1114c30b\",\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!./AppDeployDaemonTab.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!./AppDeployDaemonTab.vue?vue&type=script&setup=true&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.app?.daemon)?_c(_setup.NcAppSidebarTab,{attrs:{\"id\":\"daemon\",\"name\":_vm.t('settings', 'Daemon'),\"order\":3},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiFileChart,\"size\":24}})]},proxy:true}],null,false,1746493066)},[_vm._v(\" \"),_c('div',{staticClass:\"daemon\"},[_c('h4',[_vm._v(_vm._s(_vm.t('settings', 'Deploy Daemon')))]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(_vm._s(_vm.t('settings', 'Type')))]),_vm._v(\": \"+_vm._s(_vm.app?.daemon.accepts_deploy_id))]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(_vm._s(_vm.t('settings', 'Name')))]),_vm._v(\": \"+_vm._s(_vm.app?.daemon.name))]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(_vm._s(_vm.t('settings', 'Display Name')))]),_vm._v(\": \"+_vm._s(_vm.app?.daemon.display_name))]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(_vm._s(_vm.t('settings', 'GPUs support')))]),_vm._v(\": \"+_vm._s(_setup.gpuSupport))]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(_vm._s(_vm.t('settings', 'Compute device')))]),_vm._v(\": \"+_vm._s(_vm.app?.daemon?.deploy_config?.computeDevice?.label))])])]):_vm._e()\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!./AppDeployDaemonTab.vue?vue&type=style&index=0&id=e726cadc&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./AppDeployDaemonTab.vue?vue&type=style&index=0&id=e726cadc&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDeployDaemonTab.vue?vue&type=template&id=e726cadc&scoped=true\"\nimport script from \"./AppDeployDaemonTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppDeployDaemonTab.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppDeployDaemonTab.vue?vue&type=style&index=0&id=e726cadc&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 \"e726cadc\",\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.daemon)?_c('span',{staticClass:\"app-daemon-badge\",attrs:{\"title\":_vm.daemon.name}},[_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiFileChart,\"size\":20,\"inline\":\"\"}}),_vm._v(\"\\n\\t\"+_vm._s(_vm.daemon.display_name)+\"\\n\")],1):_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!./AppDaemonBadge.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!./AppDaemonBadge.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!./AppDaemonBadge.vue?vue&type=style&index=0&id=0698b3b8&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./AppDaemonBadge.vue?vue&type=style&index=0&id=0698b3b8&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDaemonBadge.vue?vue&type=template&id=0698b3b8&scoped=true\"\nimport script from \"./AppDaemonBadge.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppDaemonBadge.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppDaemonBadge.vue?vue&type=style&index=0&id=0698b3b8&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 \"0698b3b8\",\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!./AppStoreSidebar.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!./AppStoreSidebar.vue?vue&type=script&setup=true&lang=ts\"","import { mdiCog, mdiCogOutline } from '@mdi/js';\nimport { computed, ref, watchEffect } from 'vue';\nimport AppstoreCategoryIcons from '../constants/AppstoreCategoryIcons.ts';\nimport logger from '../logger.ts';\n/**\n * Get the app icon raw SVG for use with `NcIconSvgWrapper` (do never use without sanitizing)\n * It has a fallback to the categroy icon.\n *\n * @param app The app to get the icon for\n */\nexport function useAppIcon(app) {\n const appIcon = ref(null);\n /**\n * Fallback value if no app icon available\n */\n const categoryIcon = computed(() => {\n let path;\n if (app.value?.app_api) {\n // Use different default icon for ExApps (AppAPI)\n path = mdiCogOutline;\n }\n else {\n path = [app.value?.category ?? []].flat()\n .map((name) => AppstoreCategoryIcons[name])\n .filter((icon) => !!icon)\n .at(0)\n ?? (!app.value?.app_api ? mdiCog : mdiCogOutline);\n }\n return path ? `` : null;\n });\n watchEffect(async () => {\n // Note: Only variables until the first `await` will be watched!\n if (!app.value?.preview) {\n appIcon.value = categoryIcon.value;\n }\n else {\n appIcon.value = null;\n // Now try to load the real app icon\n try {\n const response = await window.fetch(app.value.preview);\n const blob = await response.blob();\n const rawSvg = await blob.text();\n appIcon.value = rawSvg.replaceAll(/fill=\"#(fff|ffffff)([a-z0-9]{1,2})?\"/ig, 'fill=\"currentColor\"');\n }\n catch (error) {\n appIcon.value = categoryIcon.value;\n logger.error('Could not load app icon', { error });\n }\n }\n });\n return {\n appIcon,\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!./AppStoreSidebar.vue?vue&type=style&index=0&id=ffae2952&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./AppStoreSidebar.vue?vue&type=style&index=0&id=ffae2952&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppStoreSidebar.vue?vue&type=template&id=ffae2952&scoped=true\"\nimport script from \"./AppStoreSidebar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStoreSidebar.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppStoreSidebar.vue?vue&type=style&index=0&id=ffae2952&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 \"ffae2952\",\n null\n \n)\n\nexport default component.exports"],"names":["APPS_SECTION_ENUM","Object","freeze","discover","t","installed","enabled","disabled","updates","featured","supported","rebuild_navigation","axios","get","generateOcsUrl","then","data","ocs","meta","statuscode","emit","apps","window","dispatchEvent","Event","__webpack_require__","dn","productName","OC","theme","AppManagement","computed","appGroups","this","app","groups","map","group","id","name","installing","app_api","appApiStore","getLoading","$store","getters","loading","isLoading","isInitializing","status","action","isDeploying","isManualInstall","daemon","accepts_deploy_id","updateButtonText","version","update","enableButtonText","progress","deploy","init","needsDownload","disableButtonText","forceEnableButtonText","enableButtonTooltip","forceEnableButtonTooltip","base","defaultDeployDaemonAccessible","getDefaultDaemon","getDaemonAccessible","groupCheckedAppsData","mounted","length","methods","asyncFindGroup","query","dispatch","search","limit","offset","isLimitedToGroups","setGroupLimit","appId","canLimitToGroups","types","includes","addGroupLimitation","groupArray","pop","concat","store","updateAppGroups","removeGroupLimitation","currentGroups","index","indexOf","splice","forceEnable","forceEnableApp","rebuildNavigation","catch","error","showError","response","enable","deployOptions","enableApp","disable","disableApp","remove","removeData","uninstallApp","install","updateApp","updateCount","Math","max","__WEBPACK_DEFAULT_EXPORT__","mdiStarCircleOutline","mdiAccountOutline","mdiCheck","mdiClose","bundles","mdiArchiveOutline","mdiStarShootingOutline","mdiStar","mdiDownload","ai","mdiCreationOutline","auth","mdiKeyOutline","customization","mdiCogOutline","dashboard","mdiViewColumnOutline","files","mdiFolder","games","mdiControllerClassicOutline","integration","mdiOpenInApp","monitoring","mdiMonitorEye","multimedia","mdiMultimedia","office","mdiFileDocumentEdit","organization","mdiOfficeBuildingOutline","mdiMagnify","security","mdiSecurity","social","mdiAccountMultipleOutline","tools","mdiTools","workflow","mdiClipboardFlowOutline","useAppApiStore","defineStore","state","loadState","loadingList","statusUpdater","daemonAccessible","defaultDaemon","dockerDaemons","getAllApps","getUpdateCount","getAppStatus","find","getStatusUpdater","getInitializingOrDeployingApps","filter","type","actions","appsApiFailure","message","isHTML","logger","setLoading","value","Vue","setError","Array","isArray","forEach","_id","confirmPassword","post","generateUrl","active","canUnInstall","removable","updateAppsStatus","update_required","showInfo","onClick","location","reload","close","setTimeout","api","canInstall","undefined","fetchAllApps","fetchAppStatus","initializingOrDeployingApps","console","debug","clearInterval","hasOwn","fetchDockerDaemons","daemons","default_daemon_config","setInterval","showApiError","useAppsStore","categories","gettingCategoriesPromise","loadCategories","force","category","icon","APPSTORE_CATEGORY_ICONS","$patch","loadApps","getCategoryById","categoryId","getAppById","___CSS_LOADER_EXPORT___","_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default","_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default","push","module","sources","names","mappings","sourcesContent","sourceRoot","vue_material_design_icons_FormatListBulletedvue_type_script_lang_js","emits","props","title","String","fillColor","default","size","Number","FormatListBulleted","componentNormalizer","A","_vm","_c","_self","_b","staticClass","attrs","role","on","click","$event","$emit","$attrs","fill","width","height","viewBox","d","_v","_s","_e","AppAPI_DaemonSelectionEntryvue_type_script_lang_js","components","NcListItem","mixins","required","isDefault","Boolean","setup","itemTitle","display_name","closeModal","selectDaemonAndInstall","DaemonSelectionEntry_component","details","exAppsCount","stopPropagation","apply","arguments","scopedSlots","_u","key","fn","proxy","DaemonSelectionEntry","AppAPI_DaemonSelectionListvue_type_script_setup_true_lang_js","appApiAdminPage","options","styleTagTransform","styleTagTransform_default","setAttributes","setAttributesWithoutAttributes_default","insert","insertBySelector_default","bind","domAPI","styleDomAPI_default","insertStyleElement","insertStyleElement_default","injectStylesIntoStyleTag_default","DaemonSelectionListvue_type_style_index_0_id_07c487de_prod_scoped_true_lang_scss","locals","DaemonSelectionList","_setup","_setupProxy","_l","NcEmptyContent","description","FormatListBullet","NcButton","href","AppAPI_DaemonSelectionDialogvue_type_script_setup_true_lang_js","DaemonSelectionDialog","NcDialog","open","show","appName","components_SvgFilterMixinvue_type_script_lang_js","filterId","filterUrl","random","toString","substring","SvgFilterMixin","SvgFilterMixin_render","SvgFilterMixin_staticRenderFns","AppList_AppItemvue_type_script_lang_js","AppLevelBadge","AppScore","NcIconSvgWrapper","listView","useBundleView","headers","inline","isSelected","scrolled","screenshotLoaded","showSelectDaemonModal","hasRating","appstoreData","ratingNumOverall","dataItemTag","withSidebar","$route","params","shouldDisplayDefaultIcon","preview","watch","releases","screenshot","image","Image","onload","src","watchers","prefix","content","getDataItemHeaders","columnName","join","showSelectionModal","enableButtonAction","AppItemvue_type_style_index_0_id_2e0b174b_prod_scoped_true_lang_scss","AppItem_component","tag","class","staticStyle","path","x","y","preserveAspectRatio","alt","to","summary","level","score","isCompatible","AppItem","AppList_AppLevelBadgevue_type_script_setup_true_lang_ts","_defineComponent","__name","__props","isSupported","isFeatured","badgeIcon","badgeText","badgeTitle","__sfc","AppLevelBadgevue_type_style_index_0_id_4f1ef3a1_prod_scoped_true_lang_scss","AppList_AppScorevue_type_script_lang_ts","defineComponent","mdi","ZL5","mdiStarHalfFull","tdF","mdiStarOutline","appScore","toFixed","fullStars","floor","emptyStars","min","hasHalfStar","AppScorevue_type_style_index_0_id_d9bfc6c8_prod_scoped_true_lang_css","Node","constructor","_defineProperty","_head","WeakMap","_tail","_size","Queue","_classPrivateFieldInitSpec","clear","enqueue","_this$size","node","_classPrivateFieldGet","next","_classPrivateFieldSet","dequeue","_this$size3","current","peek","Symbol","iterator","drain","pLimit","concurrency","rejectOnClear","validateConcurrency","TypeError","queue","activeCount","resumeNext","run","async","function_","resolve","arguments_","result","generator","Promise","reject","queueItem","internalResolve","defineProperties","pendingCount","clearQueue","abortError","AbortSignal","abort","reason","set","newConcurrency","queueMicrotask","iterable","promises","from","all","isInteger","POSITIVE_INFINITY","components_AppListvue_type_script_lang_js","counter","hasPendingUpdate","showUpdateAll","useListView","exApps","isAppApiEnabled","toLowerCase","sort","a","b","natSortDiff","Util","naturalSortCompare","sortStringA","sortStringB","appstore","getAppBundles","bundle","bundleApps","bundleIds","searchApps","_app","useAppStoreView","allBundlesEnabled","bundleToggleText","beforeDestroy","unsubscribe","setSearch","resetSearch","subscribe","toggleBundle","disableBundle","enableBundle","Notification","updateAll","updateTasks","AppListvue_type_style_index_0_id_3b475be6_prod_lang_scss_scoped_true","AppList","n","colspan","scope","parseApiResponse","element","appElement","date","Date","parse","expiryDate","Error","filterElements","now","AppStoreDiscover_AppStoreDiscoverSectionvue_type_script_setup_true_lang_ts","PostType","defineAsyncComponent","e","CarouselType","ShowcaseType","hasError","ref","elements","shuffleArray","array","i","j","onBeforeMount","info","parsedElements","shuffledElements","order","Infinity","getComponent","render","h","mdiEyeOffOutline","tQ_","dist","Tl","NcLoadingIcon","AppStoreDiscoverSectionvue_type_style_index_0_id_114ea95a_prod_scoped_true_lang_scss_options","AppStoreDiscoverSectionvue_type_style_index_0_id_114ea95a_prod_scoped_true_lang_scss","AppStoreDiscoverSection","entry","views_AppStorevue_type_script_setup_true_lang_ts","route","useRoute","currentCategory","viewLabel","displayName","pageHeading","pageTitle","instance","getCurrentInstance","shouldRefetchCategories","onBeforeUnmount","NcAppContent","AppStorevue_type_style_index_0_id_cd4ac3b0_prod_scoped_true_lang_css_options","AppStorevue_type_style_index_0_id_cd4ac3b0_prod_scoped_true_lang_css","AppStore","domProps","textContent","views_AppStoreNavigationvue_type_script_setup_true_lang_ts","appstoreEnabled","categoriesLoading","isSubscribed","l10n_dist","AppsConstants","l","NcAppNavigation","NcAppNavigationItem","NcAppNavigationSpacer","NcCounterBubble","AppStoreNavigationvue_type_style_index_0_id_97b4ee00_prod_scoped_true_lang_css","AppStoreNavigation","components_Markdownvue_type_script_lang_js","text","minHeading","renderMarkdown","renderer","marked","Renderer","link","prot","decodeURIComponent","unescape","replace","out","heading","depth","blockquote","dompurify","sanitize","trim","gfm","highlight","tables","breaks","pedantic","smartLists","smartypants","SAFE_FOR_JQUERY","ALLOWED_TAGS","Markdownvue_type_style_index_0_id_35d8331c_prod_scoped_true_lang_scss","Markdown","innerHTML","AppStoreSidebar_AppDescriptionTabvue_type_script_setup_true_lang_ts","mdiTextShort","azb","NcAppSidebarTab","AppDescriptionTabvue_type_style_index_0_id_10fcea52_prod_scoped_true_lang_scss_options","AppDescriptionTabvue_type_style_index_0_id_10fcea52_prod_scoped_true_lang_scss","AppDescriptionTab","AppStoreSidebar_AppDeployOptionsModalvue_type_script_lang_js","NcTextField","NcNoteCard","NcCheckboxRadioSwitch","environmentVariables","environment_variables","reduce","acc","envVar","envName","mounts","mdiPlus","biz","Tfj","hyP","mdiDeleteOutline","addingMount","newMountPoint","hostPath","containerPath","readonly","addingPortBinding","configuredDeployOptions","deployOptionsDocsUrl","newShow","fetchExAppDeployOptions","startAddingMount","$nextTick","$refs","newMountHostPath","focus","addMountPoint","cancelAddMountPoint","removeMount","mountToRemove","mount","submitDeployOptions","AppDeployOptionsModalvue_type_style_index_0_id_d7fb3b54_prod_scoped_true_lang_css_options","AppDeployOptionsModalvue_type_style_index_0_id_d7fb3b54_prod_scoped_true_lang_css","AppDeployOptionsModal_component","label","$set","keys","display","checked","AppDeployOptionsModal","AppStoreSidebar_AppDetailsTabvue_type_script_lang_js","NcDateTime","NcSelect","mdiBugOutline","Le7","mdiFeatureSearchOutline","Jtd","mdiTextBoxOutline","fXo","mdiTooltipQuestionOutline","knh","mdiToyBrickPlusOutline","showDeployOptionsModal","lastModified","at","appAuthors","warn","authorName","xmlNode","author","split","localeCompare","appstoreUrl","externalResources","resources","internal","website","documentation","user","admin","developer","appCategories","flat","rateAppUrl","getGroups","beforeUnmount","toggleRemoveData","AppDetailsTabvue_type_style_index_0_id_60bee524_prod_scoped_true_lang_scss_options","AppDetailsTabvue_type_style_index_0_id_60bee524_prod_scoped_true_lang_scss","AppDetailsTab","directives","rawName","expression","_i","change","$$a","$$el","target","$$c","$$v","$$i","slice","for","multiple","slot","missingMinOwnCloudVersion","missingMaxOwnCloudVersion","missingDependencies","dep","shipped","timestamp","resource","rel","bugs","discussion","AppStoreSidebar_AppReleasesTabvue_type_script_setup_true_lang_ts","hasChangelog","values","translations","some","changelog","createChangelogFromRelease","release","getLanguage","en","mdiClockFast","NWU","AppReleasesTabvue_type_style_index_0_id_1114c30b_prod_scoped_true_lang_scss_options","AppReleasesTabvue_type_style_index_0_id_1114c30b_prod_scoped_true_lang_scss","AppReleasesTab","AppStoreSidebar_AppDeployDaemonTabvue_type_script_setup_true_lang_ts","gpuSupport","deploy_config","computeDevice","mdiFileChart","AppDeployDaemonTabvue_type_style_index_0_id_e726cadc_prod_scoped_true_lang_scss_options","AppDeployDaemonTabvue_type_style_index_0_id_e726cadc_prod_scoped_true_lang_scss","AppDeployDaemonTab","AppList_AppDaemonBadgevue_type_script_setup_true_lang_ts","pTY","AppDaemonBadgevue_type_style_index_0_id_0698b3b8_prod_scoped_true_lang_scss_options","AppDaemonBadgevue_type_style_index_0_id_0698b3b8_prod_scoped_true_lang_scss","AppDaemonBadge","views_AppStoreSidebarvue_type_script_setup_true_lang_ts","router","useRouter","legacyStore","useStore","exApp","rating","ratingNumRecent","ratingRecent","ratingOverall","showSidebar","appIcon","categoryIcon","AppstoreCategoryIcons","mdiCog","watchEffect","fetch","blob","rawSvg","replaceAll","useAppIcon","licenseText","license","licence","toUpperCase","activeTab","hasScreenshot","loadScreenshot","onMounted","hideAppDetails","NcAppSidebar","NcAppSidebar_CEo2tgBa","N","AppStoreSidebarvue_type_style_index_0_id_ffae2952_prod_scoped_true_lang_scss_options","AppStoreSidebarvue_type_style_index_0_id_ffae2952_prod_scoped_true_lang_scss","AppStoreSidebar","background","compact","subname","subtitle","svg"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"settings-apps-view-4529.js?v=6ec7cc5e36f77f6b4a0d","mappings":"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","sources":["webpack:///nextcloud/apps/settings/src/constants/AppsConstants.js","webpack:///nextcloud/apps/settings/src/service/rebuild-navigation.js","webpack:///nextcloud/apps/settings/src/mixins/AppManagement.js","webpack:///nextcloud/apps/settings/src/constants/AppstoreCategoryIcons.ts","webpack:///nextcloud/apps/settings/src/store/app-api-store.ts","webpack:///nextcloud/apps/settings/src/store/apps-store.ts","webpack:///nextcloud/apps/settings/src/components/AppAPI/DaemonSelectionList.vue?vue&type=style&index=0&id=07c487de&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/AppList.vue?vue&type=style&index=0&id=3b475be6&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/AppList/AppDaemonBadge.vue?vue&type=style&index=0&id=0698b3b8&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue?vue&type=style&index=0&id=2e0b174b&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/AppList/AppLevelBadge.vue?vue&type=style&index=0&id=4f1ef3a1&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/AppStoreDiscover/AppStoreDiscoverSection.vue?vue&type=style&index=0&id=114ea95a&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDeployDaemonTab.vue?vue&type=style&index=0&id=e726cadc&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDescriptionTab.vue?vue&type=style&index=0&id=10fcea52&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue?vue&type=style&index=0&id=60bee524&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppReleasesTab.vue?vue&type=style&index=0&id=1114c30b&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/Markdown.vue?vue&type=style&index=0&id=35d8331c&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/views/AppStoreSidebar.vue?vue&type=style&index=0&id=ffae2952&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/AppList/AppScore.vue?vue&type=style&index=0&id=d9bfc6c8&prod&scoped=true&lang=css","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDeployOptionsModal.vue?vue&type=style&index=0&id=d7fb3b54&prod&scoped=true&lang=css","webpack:///nextcloud/apps/settings/src/views/AppStore.vue?vue&type=style&index=0&id=cd4ac3b0&prod&scoped=true&lang=css","webpack:///nextcloud/apps/settings/src/views/AppStoreNavigation.vue?vue&type=style&index=0&id=97b4ee00&prod&scoped=true&lang=css","webpack:///nextcloud/apps/settings/src/components/AppAPI/DaemonSelectionDialog.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/FormatListBulleted.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/FormatListBulleted.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/FormatListBulleted.vue?6c50","webpack:///nextcloud/node_modules/vue-material-design-icons/FormatListBulleted.vue?vue&type=template&id=5c444520","webpack://nextcloud/./apps/settings/src/components/AppAPI/DaemonSelectionEntry.vue?db35","webpack:///nextcloud/apps/settings/src/components/AppAPI/DaemonSelectionEntry.vue","webpack:///nextcloud/apps/settings/src/components/AppAPI/DaemonSelectionEntry.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/AppAPI/DaemonSelectionEntry.vue?462d","webpack:///nextcloud/apps/settings/src/components/AppAPI/DaemonSelectionList.vue?vue&type=script&setup=true&lang=js","webpack:///nextcloud/DaemonSelectionList.vue","webpack://nextcloud/./apps/settings/src/components/AppAPI/DaemonSelectionList.vue?7fe7","webpack://nextcloud/./apps/settings/src/components/AppAPI/DaemonSelectionList.vue?39f5","webpack:///nextcloud/apps/settings/src/components/AppAPI/DaemonSelectionList.vue","webpack:///nextcloud/apps/settings/src/components/AppAPI/DaemonSelectionDialog.vue?vue&type=script&setup=true&lang=js","webpack:///nextcloud/DaemonSelectionDialog.vue","webpack://nextcloud/./apps/settings/src/components/AppAPI/DaemonSelectionDialog.vue?7e45","webpack://nextcloud/./apps/settings/src/components/AppList/AppItem.vue?af1e","webpack:///nextcloud/apps/settings/src/components/SvgFilterMixin.vue","webpack:///nextcloud/apps/settings/src/components/SvgFilterMixin.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/SvgFilterMixin.vue?5bcd","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/AppList/AppItem.vue?4f6a","webpack://nextcloud/./apps/settings/src/components/AppList/AppItem.vue?a9a1","webpack:///nextcloud/apps/settings/src/components/AppList/AppLevelBadge.vue","webpack:///nextcloud/apps/settings/src/components/AppList/AppLevelBadge.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/components/AppList/AppLevelBadge.vue?fbb8","webpack://nextcloud/./apps/settings/src/components/AppList/AppLevelBadge.vue?74e8","webpack:///nextcloud/apps/settings/src/components/AppList/AppScore.vue","webpack:///nextcloud/apps/settings/src/components/AppList/AppScore.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/settings/src/components/AppList/AppScore.vue?4de9","webpack://nextcloud/./apps/settings/src/components/AppList/AppScore.vue?26fd","webpack:///nextcloud/apps/settings/src/views/AppStore.vue","webpack:///nextcloud/node_modules/yocto-queue/index.js","webpack:///nextcloud/node_modules/p-limit/index.js","webpack:///nextcloud/apps/settings/src/components/AppList.vue","webpack:///nextcloud/apps/settings/src/components/AppList.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/AppList.vue?63f3","webpack://nextcloud/./apps/settings/src/components/AppList.vue?8acf","webpack://nextcloud/./apps/settings/src/components/AppList.vue?ee21","webpack:///nextcloud/apps/settings/src/components/AppStoreDiscover/AppStoreDiscoverSection.vue","webpack:///nextcloud/apps/settings/src/utils/appDiscoverParser.ts","webpack:///nextcloud/apps/settings/src/components/AppStoreDiscover/AppStoreDiscoverSection.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/components/AppStoreDiscover/AppStoreDiscoverSection.vue?107d","webpack://nextcloud/./apps/settings/src/components/AppStoreDiscover/AppStoreDiscoverSection.vue?0759","webpack:///nextcloud/apps/settings/src/views/AppStore.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/views/AppStore.vue?5ee2","webpack://nextcloud/./apps/settings/src/views/AppStore.vue?47b2","webpack:///nextcloud/apps/settings/src/views/AppStoreNavigation.vue","webpack:///nextcloud/apps/settings/src/views/AppStoreNavigation.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/views/AppStoreNavigation.vue?dabe","webpack://nextcloud/./apps/settings/src/views/AppStoreNavigation.vue?6e6f","webpack:///nextcloud/apps/settings/src/views/AppStoreSidebar.vue","webpack:///nextcloud/apps/settings/src/components/Markdown.vue","webpack:///nextcloud/apps/settings/src/components/Markdown.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/Markdown.vue?6f57","webpack://nextcloud/./apps/settings/src/components/Markdown.vue?26cf","webpack://nextcloud/./apps/settings/src/components/Markdown.vue?d299","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDescriptionTab.vue?vue&type=script&setup=true&lang=ts","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDescriptionTab.vue","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppDescriptionTab.vue?2b19","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppDescriptionTab.vue?311d","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue?9ed4","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDeployOptionsModal.vue","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDeployOptionsModal.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppDeployOptionsModal.vue?9c7b","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppDeployOptionsModal.vue?0709","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppDeployOptionsModal.vue?4e6f","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue?090a","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue?d4df","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppReleasesTab.vue?vue&type=script&setup=true&lang=ts","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppReleasesTab.vue","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppReleasesTab.vue?0c36","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppReleasesTab.vue?d492","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDeployDaemonTab.vue?vue&type=script&setup=true&lang=ts","webpack:///nextcloud/apps/settings/src/components/AppStoreSidebar/AppDeployDaemonTab.vue","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppDeployDaemonTab.vue?9c22","webpack://nextcloud/./apps/settings/src/components/AppStoreSidebar/AppDeployDaemonTab.vue?4b28","webpack:///nextcloud/apps/settings/src/components/AppList/AppDaemonBadge.vue","webpack:///nextcloud/apps/settings/src/components/AppList/AppDaemonBadge.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/components/AppList/AppDaemonBadge.vue?a6c0","webpack://nextcloud/./apps/settings/src/components/AppList/AppDaemonBadge.vue?e75c","webpack:///nextcloud/apps/settings/src/views/AppStoreSidebar.vue?vue&type=script&setup=true&lang=ts","webpack:///nextcloud/apps/settings/src/composables/useAppIcon.ts","webpack://nextcloud/./apps/settings/src/views/AppStoreSidebar.vue?5247","webpack://nextcloud/./apps/settings/src/views/AppStoreSidebar.vue?5373"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { translate as t } from '@nextcloud/l10n'\n\n/** Enum of verification constants, according to Apps */\nexport const APPS_SECTION_ENUM = Object.freeze({\n\tdiscover: t('settings', 'Discover'),\n\tinstalled: t('settings', 'Your apps'),\n\tenabled: t('settings', 'Active apps'),\n\tdisabled: t('settings', 'Disabled apps'),\n\tupdates: t('settings', 'Updates'),\n\t'app-bundles': t('settings', 'App bundles'),\n\tfeatured: t('settings', 'Featured apps'),\n\tsupported: t('settings', 'Supported apps'), // From subscription\n})\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { emit } from '@nextcloud/event-bus'\n\nexport default () => {\n\treturn axios.get(generateOcsUrl('core/navigation', 2) + '/apps?format=json')\n\t\t.then(({ data }) => {\n\t\t\tif (data.ocs.meta.statuscode !== 200) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\temit('nextcloud:app-menu.refresh', { apps: data.ocs.data })\n\t\t\twindow.dispatchEvent(new Event('resize'))\n\t\t})\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { showError } from '@nextcloud/dialogs'\nimport rebuildNavigation from '../service/rebuild-navigation.js'\n\nconst productName = window.OC.theme.productName\n\nexport default {\n\tcomputed: {\n\t\tappGroups() {\n\t\t\treturn this.app.groups.map(group => { return { id: group, name: group } })\n\t\t},\n\t\tinstalling() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn this.app && this?.appApiStore.getLoading('install') === true\n\t\t\t}\n\t\t\treturn this.$store.getters.loading('install')\n\t\t},\n\t\tisLoading() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn this.app && this?.appApiStore.getLoading(this.app.id) === true\n\t\t\t}\n\t\t\treturn this.app && this.$store.getters.loading(this.app.id)\n\t\t},\n\t\tisInitializing() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn this.app && (this.app?.status?.action === 'init' || this.app?.status?.action === 'healthcheck')\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tisDeploying() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn this.app && this.app?.status?.action === 'deploy'\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tisManualInstall() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn this.app?.daemon?.accepts_deploy_id === 'manual-install'\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tupdateButtonText() {\n\t\t\tif (this.app?.app_api && this.app?.daemon?.accepts_deploy_id === 'manual-install') {\n\t\t\t\treturn t('settings', 'Manually installed apps cannot be updated')\n\t\t\t}\n\t\t\treturn t('settings', 'Update to {version}', { version: this.app?.update })\n\t\t},\n\t\tenableButtonText() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\tif (this.app && this.app?.status?.action && this.app?.status?.action === 'deploy') {\n\t\t\t\t\treturn t('settings', '{progress}% Deploying …', { progress: this.app?.status?.deploy ?? 0 })\n\t\t\t\t}\n\t\t\t\tif (this.app && this.app?.status?.action && this.app?.status?.action === 'init') {\n\t\t\t\t\treturn t('settings', '{progress}% Initializing …', { progress: this.app?.status?.init ?? 0 })\n\t\t\t\t}\n\t\t\t\tif (this.app && this.app?.status?.action && this.app?.status?.action === 'healthcheck') {\n\t\t\t\t\treturn t('settings', 'Health checking')\n\t\t\t\t}\n\t\t\t\tif (this.app.needsDownload) {\n\t\t\t\t\treturn t('settings', 'Deploy and Enable')\n\t\t\t\t}\n\t\t\t\treturn t('settings', 'Enable')\n\t\t\t} else {\n\t\t\t\tif (this.app.needsDownload) {\n\t\t\t\t\treturn t('settings', 'Download and enable')\n\t\t\t\t}\n\t\t\t\treturn t('settings', 'Enable')\n\t\t\t}\n\t\t},\n\t\tdisableButtonText() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\tif (this.app && this.app?.status?.action && this.app?.status?.action === 'deploy') {\n\t\t\t\t\treturn t('settings', '{progress}% Deploying …', { progress: this.app?.status?.deploy })\n\t\t\t\t}\n\t\t\t\tif (this.app && this.app?.status?.action && this.app?.status?.action === 'init') {\n\t\t\t\t\treturn t('settings', '{progress}% Initializing …', { progress: this.app?.status?.init })\n\t\t\t\t}\n\t\t\t\tif (this.app && this.app?.status?.action && this.app?.status?.action === 'healthcheck') {\n\t\t\t\t\treturn t('settings', 'Health checking')\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn t('settings', 'Disable')\n\t\t},\n\t\tforceEnableButtonText() {\n\t\t\tif (this.app.needsDownload) {\n\t\t\t\treturn t('settings', 'Allow untested app')\n\t\t\t}\n\t\t\treturn t('settings', 'Allow untested app')\n\t\t},\n\t\tenableButtonTooltip() {\n\t\t\tif (!this.app?.app_api && this.app.needsDownload) {\n\t\t\t\treturn t('settings', 'The app will be downloaded from the App Store')\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\t\tforceEnableButtonTooltip() {\n\t\t\tconst base = t('settings', 'This app is not marked as compatible with your {productName} version.', { productName })\n\t\t\t\t+ ' '\n\t\t\t\t+ t('settings', 'If you continue you will still be able to install the app. Note that the app might not work as expected.')\n\t\t\tif (this.app.needsDownload) {\n\t\t\t\treturn base + ' ' + t('settings', 'The app will be downloaded from the App Store')\n\t\t\t}\n\t\t\treturn base\n\t\t},\n\t\tdefaultDeployDaemonAccessible() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\tif (this.app?.daemon && this.app?.daemon?.accepts_deploy_id === 'manual-install') {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\tif (this.app?.daemon?.accepts_deploy_id === 'docker-install'\n\t\t\t\t\t&& this.appApiStore.getDefaultDaemon?.name === this.app?.daemon?.name) {\n\t\t\t\t\treturn this?.appApiStore.getDaemonAccessible === true\n\t\t\t\t}\n\t\t\t\treturn this?.appApiStore.getDaemonAccessible\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tgroupCheckedAppsData: false,\n\t\t}\n\t},\n\n\tmounted() {\n\t\tif (this.app && this.app.groups && this.app.groups.length > 0) {\n\t\t\tthis.groupCheckedAppsData = true\n\t\t}\n\t},\n\n\tmethods: {\n\t\tasyncFindGroup(query) {\n\t\t\treturn this.$store.dispatch('getGroups', { search: query, limit: 5, offset: 0 })\n\t\t},\n\t\tisLimitedToGroups(app) {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn this.app.groups.length || this.groupCheckedAppsData\n\t\t},\n\t\tsetGroupLimit() {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn // not supported for app_api apps\n\t\t\t}\n\t\t\tif (!this.groupCheckedAppsData) {\n\t\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups: [] })\n\t\t\t}\n\t\t},\n\t\tcanLimitToGroups(app) {\n\t\t\tif ((app.types && app.types.includes('filesystem'))\n\t\t\t\t\t|| app.types.includes('prelogin')\n\t\t\t\t\t|| app.types.includes('authentication')\n\t\t\t\t\t|| app.types.includes('logging')\n\t\t\t\t\t|| app.types.includes('prevent_group_restriction')\n\t\t\t\t\t|| app?.app_api) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t\taddGroupLimitation(groupArray) {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst group = groupArray.pop()\n\t\t\tconst groups = this.app.groups.concat([]).concat([group.id])\n\n\t\t\tif (this.store && this.store.updateAppGroups) {\n\t\t\t\tthis.store.updateAppGroups(this.app.id, groups)\n\t\t\t}\n\n\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups })\n\t\t},\n\t\tremoveGroupLimitation(group) {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst currentGroups = this.app.groups.concat([])\n\t\t\tconst index = currentGroups.indexOf(group.id)\n\t\t\tif (index > -1) {\n\t\t\t\tcurrentGroups.splice(index, 1)\n\t\t\t}\n\n\t\t\tif (this.store && this.store.updateAppGroups) {\n\t\t\t\tthis.store.updateAppGroups(this.app.id, currentGroups)\n\t\t\t}\n\n\t\t\tif (currentGroups.length === 0) {\n\t\t\t\tthis.groupCheckedAppsData = false\n\t\t\t}\n\n\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups: currentGroups })\n\t\t},\n\t\tforceEnable(appId) {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\tthis.appApiStore.forceEnableApp(appId)\n\t\t\t\t\t.then(() => { rebuildNavigation() })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t} else {\n\t\t\t\tthis.$store.dispatch('forceEnableApp', { appId, groups: [] })\n\t\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t}\n\t\t},\n\t\tenable(appId, daemon = null, deployOptions = {}) {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\tthis.appApiStore.enableApp(appId, daemon, deployOptions)\n\t\t\t\t\t.then(() => { rebuildNavigation() })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t} else {\n\t\t\t\tthis.$store.dispatch('enableApp', { appId, groups: [] })\n\t\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t}\n\t\t},\n\t\tdisable(appId) {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\tthis.appApiStore.disableApp(appId)\n\t\t\t\t\t.then(() => { rebuildNavigation() })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t} else {\n\t\t\t\tthis.$store.dispatch('disableApp', { appId })\n\t\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t}\n\t\t},\n\t\tasync remove(appId, removeData = false) {\n\t\t\ttry {\n\t\t\t\tif (this.app?.app_api) {\n\t\t\t\t\tawait this.appApiStore.uninstallApp(appId, removeData)\n\t\t\t\t} else {\n\t\t\t\t\tawait this.$store.dispatch('uninstallApp', { appId, removeData })\n\t\t\t\t}\n\t\t\t\tawait rebuildNavigation()\n\t\t\t} catch (error) {\n\t\t\t\tshowError(error)\n\t\t\t}\n\t\t},\n\t\tinstall(appId) {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\tthis.appApiStore.enableApp(appId)\n\t\t\t\t\t.then(() => { rebuildNavigation() })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t} else {\n\t\t\t\tthis.$store.dispatch('enableApp', { appId })\n\t\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t}\n\t\t},\n\t\tupdate(appId) {\n\t\t\tif (this.app?.app_api) {\n\t\t\t\treturn this.appApiStore.updateApp(appId)\n\t\t\t\t\t.then(() => { rebuildNavigation() })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t} else {\n\t\t\t\treturn this.$store.dispatch('updateApp', { appId })\n\t\t\t\t\t.catch((error) => { showError(error) })\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\trebuildNavigation()\n\t\t\t\t\t\tthis.store.updateCount = Math.max(this.store.updateCount - 1, 0)\n\t\t\t\t\t})\n\t\t\t}\n\t\t},\n\t},\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { mdiAccountMultipleOutline, mdiAccountOutline, mdiArchiveOutline, mdiCheck, mdiClipboardFlowOutline, mdiClose, mdiCogOutline, mdiControllerClassicOutline, mdiCreationOutline, mdiDownload, mdiFileDocumentEdit, mdiFolder, mdiKeyOutline, mdiMagnify, mdiMonitorEye, mdiMultimedia, mdiOfficeBuildingOutline, mdiOpenInApp, mdiSecurity, mdiStar, mdiStarCircleOutline, mdiStarShootingOutline, mdiTools, mdiViewColumnOutline, } from '@mdi/js';\n/**\n * SVG paths used for appstore category icons\n */\nexport default Object.freeze({\n // system special categories\n discover: mdiStarCircleOutline,\n installed: mdiAccountOutline,\n enabled: mdiCheck,\n disabled: mdiClose,\n bundles: mdiArchiveOutline,\n supported: mdiStarShootingOutline,\n featured: mdiStar,\n updates: mdiDownload,\n // generic category\n ai: mdiCreationOutline,\n auth: mdiKeyOutline,\n customization: mdiCogOutline,\n dashboard: mdiViewColumnOutline,\n files: mdiFolder,\n games: mdiControllerClassicOutline,\n integration: mdiOpenInApp,\n monitoring: mdiMonitorEye,\n multimedia: mdiMultimedia,\n office: mdiFileDocumentEdit,\n organization: mdiOfficeBuildingOutline,\n search: mdiMagnify,\n security: mdiSecurity,\n social: mdiAccountMultipleOutline,\n tools: mdiTools,\n workflow: mdiClipboardFlowOutline,\n});\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport axios from '@nextcloud/axios';\nimport { confirmPassword } from '@nextcloud/password-confirmation';\nimport { showError, showInfo } from '@nextcloud/dialogs';\nimport { loadState } from '@nextcloud/initial-state';\nimport { translate as t } from '@nextcloud/l10n';\nimport { generateUrl } from '@nextcloud/router';\nimport { defineStore } from 'pinia';\nimport api from './api';\nimport logger from '../logger';\nimport Vue from 'vue';\nexport const useAppApiStore = defineStore('app-api-apps', {\n state: () => ({\n apps: [],\n updateCount: loadState('settings', 'appstoreExAppUpdateCount', 0),\n loading: {},\n loadingList: false,\n statusUpdater: null,\n daemonAccessible: loadState('settings', 'defaultDaemonConfigAccessible', false),\n defaultDaemon: loadState('settings', 'defaultDaemonConfig', null),\n dockerDaemons: [],\n }),\n getters: {\n getLoading: (state) => (id) => state.loading[id] ?? false,\n getAllApps: (state) => state.apps,\n getUpdateCount: (state) => state.updateCount,\n getDaemonAccessible: (state) => state.daemonAccessible,\n getDefaultDaemon: (state) => state.defaultDaemon,\n getAppStatus: (state) => (appId) => state.apps.find((app) => app.id === appId)?.status || null,\n getStatusUpdater: (state) => state.statusUpdater,\n getInitializingOrDeployingApps: (state) => state.apps.filter((app) => app?.status?.action\n && (app?.status?.action === 'deploy' || app.status.action === 'init' || app.status.action === 'healthcheck')\n && app.status.type !== ''),\n },\n actions: {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n appsApiFailure(error) {\n showError(t('settings', 'An error occurred during the request. Unable to proceed.') + '
' + error.error.response.data.data.message, { isHTML: true });\n logger.error(error);\n },\n setLoading(id, value) {\n Vue.set(this.loading, id, value);\n },\n setError(appId, error) {\n const appIds = Array.isArray(appId) ? appId : [appId];\n appIds.forEach((_id) => {\n const app = this.apps.find((app) => app.id === _id);\n if (app) {\n app.error = error;\n }\n });\n },\n enableApp(appId, daemon, deployOptions) {\n this.setLoading(appId, true);\n this.setLoading('install', true);\n return confirmPassword().then(() => {\n return axios.post(generateUrl(`/apps/app_api/apps/enable/${appId}/${daemon.name}`), { deployOptions })\n .then((response) => {\n this.setLoading(appId, false);\n this.setLoading('install', false);\n const app = this.apps.find((app) => app.id === appId);\n if (app) {\n if (!app.installed) {\n app.installed = true;\n app.needsDownload = false;\n app.daemon = daemon;\n app.status = {\n type: 'install',\n action: 'deploy',\n init: 0,\n deploy: 0,\n };\n }\n app.active = true;\n app.canUnInstall = false;\n app.removable = true;\n app.error = '';\n }\n this.updateAppsStatus();\n return axios.get(generateUrl('apps/files'))\n .then(() => {\n if (response.data.update_required) {\n showInfo(t('settings', 'The app has been enabled but needs to be updated.'), {\n onClick: () => window.location.reload(),\n close: false,\n });\n setTimeout(() => {\n location.reload();\n }, 5000);\n }\n })\n .catch(() => {\n this.setError(appId, t('settings', 'Error: This app cannot be enabled because it makes the server unstable'));\n });\n })\n .catch((error) => {\n this.setLoading(appId, false);\n this.setLoading('install', false);\n this.setError(appId, error.response.data.data.message);\n this.appsApiFailure({ appId, error });\n });\n }).catch(() => {\n this.setLoading(appId, false);\n this.setLoading('install', false);\n });\n },\n forceEnableApp(appId) {\n this.setLoading(appId, true);\n this.setLoading('install', true);\n return confirmPassword().then(() => {\n return api.post(generateUrl('/apps/app_api/apps/force'), { appId })\n .then(() => {\n location.reload();\n })\n .catch((error) => {\n this.setLoading(appId, false);\n this.setLoading('install', false);\n this.setError(appId, error.response.data.data.message);\n this.appsApiFailure({ appId, error });\n });\n }).catch(() => {\n this.setLoading(appId, false);\n this.setLoading('install', false);\n });\n },\n disableApp(appId) {\n this.setLoading(appId, true);\n return confirmPassword().then(() => {\n return api.get(generateUrl(`apps/app_api/apps/disable/${appId}`))\n .then(() => {\n this.setLoading(appId, false);\n const app = this.apps.find((app) => app.id === appId);\n if (app) {\n app.active = false;\n if (app.removable) {\n app.canUnInstall = true;\n }\n }\n return true;\n })\n .catch((error) => {\n this.setLoading(appId, false);\n this.appsApiFailure({ appId, error });\n });\n }).catch(() => {\n this.setLoading(appId, false);\n });\n },\n uninstallApp(appId, removeData) {\n this.setLoading(appId, true);\n return confirmPassword().then(() => {\n return api.get(generateUrl(`/apps/app_api/apps/uninstall/${appId}?removeData=${removeData}`))\n .then(() => {\n this.setLoading(appId, false);\n const app = this.apps.find((app) => app.id === appId);\n if (app) {\n app.active = false;\n app.needsDownload = true;\n app.installed = false;\n app.canUnInstall = false;\n app.canInstall = true;\n app.daemon = null;\n app.status = {};\n if (app.update !== null) {\n this.updateCount--;\n }\n app.update = undefined;\n }\n return true;\n })\n .catch((error) => {\n this.setLoading(appId, false);\n this.appsApiFailure({ appId, error });\n });\n });\n },\n updateApp(appId) {\n this.setLoading(appId, true);\n this.setLoading('install', true);\n return confirmPassword().then(() => {\n return api.get(generateUrl(`/apps/app_api/apps/update/${appId}`))\n .then(() => {\n this.setLoading(appId, false);\n this.setLoading('install', false);\n const app = this.apps.find((app) => app.id === appId);\n if (app) {\n const version = app.update;\n app.update = undefined;\n app.version = version || app.version;\n app.status = {\n type: 'update',\n action: 'deploy',\n init: 0,\n deploy: 0,\n };\n app.error = '';\n }\n this.updateCount--;\n this.updateAppsStatus();\n return true;\n })\n .catch((error) => {\n this.setLoading(appId, false);\n this.setLoading('install', false);\n this.appsApiFailure({ appId, error });\n });\n }).catch(() => {\n this.setLoading(appId, false);\n this.setLoading('install', false);\n });\n },\n async fetchAllApps() {\n this.loadingList = true;\n try {\n const response = await api.get(generateUrl('/apps/app_api/apps/list'));\n this.apps = response.data.apps;\n this.loadingList = false;\n return true;\n }\n catch (error) {\n logger.error(error);\n showError(t('settings', 'An error occurred during the request. Unable to proceed.'));\n this.loadingList = false;\n }\n },\n async fetchAppStatus(appId) {\n return api.get(generateUrl(`/apps/app_api/apps/status/${appId}`))\n .then((response) => {\n const app = this.apps.find((app) => app.id === appId);\n if (app) {\n app.status = response.data;\n }\n const initializingOrDeployingApps = this.getInitializingOrDeployingApps;\n console.debug('initializingOrDeployingApps after setAppStatus', initializingOrDeployingApps);\n if (initializingOrDeployingApps.length === 0) {\n console.debug('clearing interval');\n clearInterval(this.statusUpdater);\n this.statusUpdater = null;\n }\n if (Object.hasOwn(response.data, 'error')\n && response.data.error !== ''\n && initializingOrDeployingApps.length === 1) {\n clearInterval(this.statusUpdater);\n this.statusUpdater = null;\n }\n })\n .catch((error) => {\n this.appsApiFailure({ appId, error });\n this.apps = this.apps.filter((app) => app.id !== appId);\n this.updateAppsStatus();\n });\n },\n async fetchDockerDaemons() {\n try {\n const { data } = await axios.get(generateUrl('/apps/app_api/daemons'));\n this.defaultDaemon = data.daemons.find((daemon) => daemon.name === data.default_daemon_config);\n this.dockerDaemons = data.daemons.filter((daemon) => daemon.accepts_deploy_id === 'docker-install');\n }\n catch (error) {\n logger.error('[app-api-store] Failed to fetch Docker daemons', { error });\n return false;\n }\n return true;\n },\n updateAppsStatus() {\n clearInterval(this.statusUpdater);\n const initializingOrDeployingApps = this.getInitializingOrDeployingApps;\n if (initializingOrDeployingApps.length === 0) {\n return;\n }\n this.statusUpdater = setInterval(() => {\n const initializingOrDeployingApps = this.getInitializingOrDeployingApps;\n console.debug('initializingOrDeployingApps', initializingOrDeployingApps);\n initializingOrDeployingApps.forEach(app => {\n this.fetchAppStatus(app.id);\n });\n }, 2000);\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 { loadState } from '@nextcloud/initial-state';\nimport { translate as t } from '@nextcloud/l10n';\nimport { generateUrl } from '@nextcloud/router';\nimport { defineStore } from 'pinia';\nimport axios from '@nextcloud/axios';\nimport logger from '../logger';\nimport APPSTORE_CATEGORY_ICONS from '../constants/AppstoreCategoryIcons.ts';\nconst showApiError = () => showError(t('settings', 'An error occurred during the request. Unable to proceed.'));\nexport const useAppsStore = defineStore('settings-apps', {\n state: () => ({\n apps: [],\n categories: [],\n updateCount: loadState('settings', 'appstoreUpdateCount', 0),\n loading: {\n apps: false,\n categories: false,\n },\n loadingList: false,\n gettingCategoriesPromise: null,\n }),\n actions: {\n async loadCategories(force = false) {\n if (this.categories.length > 0 && !force) {\n return;\n }\n try {\n this.loading.categories = true;\n const { data: categories } = await axios.get(generateUrl('settings/apps/categories'));\n for (const category of categories) {\n category.icon = APPSTORE_CATEGORY_ICONS[category.id] ?? '';\n }\n this.$patch({\n categories,\n });\n }\n catch (error) {\n logger.error(error);\n showApiError();\n }\n finally {\n this.loading.categories = false;\n }\n },\n async loadApps(force = false) {\n if (this.apps.length > 0 && !force) {\n return;\n }\n try {\n this.loading.apps = true;\n const { data } = await axios.get(generateUrl('settings/apps/list'));\n this.$patch({\n apps: data.apps,\n });\n }\n catch (error) {\n logger.error(error);\n showApiError();\n }\n finally {\n this.loading.apps = false;\n }\n },\n getCategoryById(categoryId) {\n return this.categories.find(({ id }) => id === categoryId) ?? null;\n },\n getAppById(appId) {\n return this.apps.find(({ id }) => id === appId) ?? null;\n },\n updateAppGroups(appId, groups) {\n const app = this.apps.find(({ id }) => id === appId);\n if (app) {\n app.groups = [...groups];\n }\n },\n },\n});\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, `.daemon-selection-list[data-v-07c487de]{max-height:350px;overflow-y:scroll;padding:2rem}.daemon-selection-list__empty-content[data-v-07c487de]{margin-top:0;text-align:center}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppAPI/DaemonSelectionList.vue\"],\"names\":[],\"mappings\":\"AACA,wCACC,gBAAA,CACA,iBAAA,CACA,YAAA,CAEA,uDACC,YAAA,CACA,iBAAA\",\"sourcesContent\":[\"\\n.daemon-selection-list {\\n\\tmax-height: 350px;\\n\\toverflow-y: scroll;\\n\\tpadding: 2rem;\\n\\n\\t&__empty-content {\\n\\t\\tmargin-top: 0;\\n\\t\\ttext-align: center;\\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, `.apps-list[data-v-3b475be6]{display:flex;flex-wrap:wrap;align-content:flex-start}.apps-list--move[data-v-3b475be6]{transition:transform 1s}.apps-list #app-list-update-all[data-v-3b475be6]{margin-inline-start:10px}.apps-list__toolbar[data-v-3b475be6]{height:60px;padding:8px;padding-inline-start:60px;width:100%;background-color:var(--color-main-background);position:sticky;top:0;z-index:1;display:flex;align-items:center}.apps-list--list-view[data-v-3b475be6]{margin-bottom:100px;position:relative}.apps-list__list-container[data-v-3b475be6]{width:100%}.apps-list__store-container[data-v-3b475be6]{display:flex;flex-wrap:wrap}.apps-list__bundle-heading[data-v-3b475be6]{display:flex;align-items:center;margin-block:20px;margin-inline:0 10px}.apps-list__bundle-header[data-v-3b475be6]{color:var(--color-main-text);margin-block:0;margin-inline:50px 10px;font-weight:bold;font-size:20px;line-height:30px}#apps-list-search .app-item h2[data-v-3b475be6]{margin-bottom:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppList.vue\"],\"names\":[],\"mappings\":\"AAIA,4BACC,YAAA,CACA,cAAA,CACA,wBAAA,CAGA,kCACC,uBAAA,CAGD,iDACC,wBAAA,CAGD,qCACC,WAjBe,CAkBf,WAnBgB,CAqBhB,yBApBe,CAqBf,UAAA,CACA,6CAAA,CACA,eAAA,CACA,KAAA,CACA,SAAA,CACA,YAAA,CACA,kBAAA,CAGD,uCACC,mBAAA,CAEA,iBAAA,CAGD,4CACC,UAAA,CAGD,6CACC,YAAA,CACA,cAAA,CAGD,4CACC,YAAA,CACA,kBAAA,CACA,iBAAA,CACA,oBAAA,CAGD,2CACC,4BAAA,CACA,cAAA,CACA,uBAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CAMA,gDACC,eAAA\",\"sourcesContent\":[\"\\n$toolbar-padding: 8px;\\n$toolbar-height: 44px + $toolbar-padding * 2;\\n\\n.apps-list {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\talign-content: flex-start;\\n\\n\\t// For transition group\\n\\t&--move {\\n\\t\\ttransition: transform 1s;\\n\\t}\\n\\n\\t#app-list-update-all {\\n\\t\\tmargin-inline-start: 10px;\\n\\t}\\n\\n\\t&__toolbar {\\n\\t\\theight: $toolbar-height;\\n\\t\\tpadding: $toolbar-padding;\\n\\t\\t// Leave room for app-navigation-toggle\\n\\t\\tpadding-inline-start: $toolbar-height;\\n\\t\\twidth: 100%;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tposition: sticky;\\n\\t\\ttop: 0;\\n\\t\\tz-index: 1;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&--list-view {\\n\\t\\tmargin-bottom: 100px;\\n\\t\\t// For positioning link overlay on rows\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t&__list-container {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&__store-container {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: wrap;\\n\\t}\\n\\n\\t&__bundle-heading {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tmargin-block: 20px;\\n\\t\\tmargin-inline: 0 10px;\\n\\t}\\n\\n\\t&__bundle-header {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tmargin-block: 0;\\n\\t\\tmargin-inline: 50px 10px;\\n\\t\\tfont-weight: bold;\\n\\t\\tfont-size: 20px;\\n\\t\\tline-height: 30px;\\n\\t}\\n}\\n\\n#apps-list-search {\\n\\t.app-item {\\n\\t\\th2 {\\n\\t\\t\\tmargin-bottom: 0;\\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, `.app-daemon-badge[data-v-0698b3b8]{color:var(--color-text-maxcontrast);background-color:rgba(0,0,0,0);border:1px solid var(--color-text-maxcontrast);border-radius:var(--border-radius);display:flex;flex-direction:row;gap:6px;padding:3px 6px;width:fit-content}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppList/AppDaemonBadge.vue\"],\"names\":[],\"mappings\":\"AACA,mCACC,mCAAA,CACA,8BAAA,CACA,8CAAA,CACA,kCAAA,CAEA,YAAA,CACA,kBAAA,CACA,OAAA,CACA,eAAA,CACA,iBAAA\",\"sourcesContent\":[\"\\n.app-daemon-badge {\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tbackground-color: transparent;\\n\\tborder: 1px solid var(--color-text-maxcontrast);\\n\\tborder-radius: var(--border-radius);\\n\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tgap: 6px;\\n\\tpadding: 3px 6px;\\n\\twidth: fit-content;\\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, `/*!\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */.app-item[data-v-2e0b174b]{position:relative}.app-item[data-v-2e0b174b]:hover{background-color:var(--color-background-dark)}.app-item--list-view[data-v-2e0b174b]{--app-item-padding: calc(var(--default-grid-baseline) * 2);--app-item-height: calc(var(--default-clickable-area) + var(--app-item-padding) * 2)}.app-item--list-view.app-item--selected[data-v-2e0b174b]{background-color:var(--color-background-dark)}.app-item--list-view>*[data-v-2e0b174b]{vertical-align:middle;border-bottom:1px solid var(--color-border);padding:var(--app-item-padding);height:var(--app-item-height)}.app-item--list-view .app-image[data-v-2e0b174b]{width:var(--default-clickable-area);height:auto;text-align:end}.app-item--list-view .app-image-icon svg[data-v-2e0b174b],.app-item--list-view .app-image-icon .icon-settings-dark[data-v-2e0b174b]{margin-top:5px;width:20px;height:20px;opacity:.5;background-size:cover;display:inline-block}.app-item--list-view .app-name[data-v-2e0b174b]{padding:0 var(--app-item-padding)}.app-item--list-view .app-name--link[data-v-2e0b174b]{height:var(--app-item-height);display:flex;align-items:center}.app-item--list-view .app-name--link[data-v-2e0b174b]::after{content:\"\";position:absolute;inset-inline:0;height:var(--app-item-height)}.app-item--list-view .app-actions[data-v-2e0b174b]{display:flex;gap:var(--app-item-padding);flex-wrap:wrap;justify-content:end}.app-item--list-view .app-actions .icon-loading-small[data-v-2e0b174b]{display:inline-block;top:4px;margin-inline-end:10px}@media only screen and (max-width: 900px){.app-item--list-view .app-version[data-v-2e0b174b],.app-item--list-view .app-level[data-v-2e0b174b]{display:none}}@media only screen and (max-width: 512px){.app-item--list-view .app-actions[data-v-2e0b174b]{display:none}}.app-item--store-view[data-v-2e0b174b]{padding:30px}.app-item--store-view .app-image-icon .icon-settings-dark[data-v-2e0b174b]{width:100%;height:150px;background-size:45px;opacity:.5}.app-item--store-view .app-image-icon svg[data-v-2e0b174b]{position:absolute;bottom:43px;width:64px;height:64px;opacity:.1}.app-item--store-view .app-name[data-v-2e0b174b]{margin:5px 0}.app-item--store-view .app-name--link[data-v-2e0b174b]::after{content:\"\";position:absolute;inset-block:0;inset-inline:0}.app-item--store-view .app-actions[data-v-2e0b174b]{margin:10px 0}@media only screen and (min-width: 1601px){.app-item--store-view[data-v-2e0b174b]{width:25%}.app-item--store-view.app-item--with-sidebar[data-v-2e0b174b]{width:33%}}@media only screen and (max-width: 1600px){.app-item--store-view[data-v-2e0b174b]{width:25%}.app-item--store-view.app-item--with-sidebar[data-v-2e0b174b]{width:33%}}@media only screen and (max-width: 1400px){.app-item--store-view[data-v-2e0b174b]{width:33%}.app-item--store-view.app-item--with-sidebar[data-v-2e0b174b]{width:50%}}@media only screen and (max-width: 900px){.app-item--store-view[data-v-2e0b174b]{width:50%}.app-item--store-view.app-item--with-sidebar[data-v-2e0b174b]{width:100%}}@media only screen and (max-width: 1024px){.app-item--store-view[data-v-2e0b174b]{width:50%}}@media only screen and (max-width: 480px){.app-item--store-view[data-v-2e0b174b]{width:100%}}.app-icon[data-v-2e0b174b]{filter:var(--background-invert-if-bright)}.app-image[data-v-2e0b174b]{position:relative;height:150px;opacity:1;overflow:hidden}.app-image img[data-v-2e0b174b]{width:100%}.app-version[data-v-2e0b174b]{color:var(--color-text-maxcontrast)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./core/css/variables.scss\",\"webpack://./apps/settings/src/components/AppList/AppItem.vue\"],\"names\":[],\"mappings\":\"AAEA;;;EAAA,CCEA,2BACC,iBAAA,CAEA,iCACC,6CAAA,CAGD,sCACC,0DAAA,CACA,oFAAA,CAEA,yDACC,6CAAA,CAGD,wCACC,qBAAA,CACA,2CAAA,CACA,+BAAA,CACA,6BAAA,CAGD,iDACC,mCAAA,CACA,WAAA,CACA,cAAA,CAGD,oIAEC,cAAA,CACA,UAAA,CACA,WAAA,CACA,UAAA,CACA,qBAAA,CACA,oBAAA,CAGD,gDACC,iCAAA,CAGD,sDACC,6BAAA,CACA,YAAA,CACA,kBAAA,CAMD,6DACC,UAAA,CACA,iBAAA,CACA,cAAA,CACA,6BAAA,CAGD,mDACC,YAAA,CACA,2BAAA,CACA,cAAA,CACA,mBAAA,CAEA,uEACC,oBAAA,CACA,OAAA,CACA,sBAAA,CAKF,0CACC,oGAEC,YAAA,CAAA,CAKF,0CACC,mDACC,YAAA,CAAA,CAKH,uCACC,YAAA,CAEA,2EACC,UAAA,CACA,YAAA,CACA,oBAAA,CACA,UAAA,CAGD,2DACC,iBAAA,CACA,WAAA,CAEA,UAAA,CACA,WAAA,CACA,UAAA,CAGD,iDACC,YAAA,CAGD,8DACC,UAAA,CACA,iBAAA,CACA,aAAA,CACA,cAAA,CAGD,oDACC,aAAA,CAGD,2CAlCD,uCAmCE,SAAA,CAEA,8DACC,SAAA,CAAA,CAIF,2CA1CD,uCA2CE,SAAA,CAEA,8DACC,SAAA,CAAA,CAIF,2CAlDD,uCAmDE,SAAA,CAEA,8DACC,SAAA,CAAA,CAIF,0CA1DD,uCA2DE,SAAA,CAEA,8DACC,UAAA,CAAA,CAIF,2CAlED,uCAmEE,SAAA,CAAA,CAGD,0CAtED,uCAuEE,UAAA,CAAA,CAKH,2BACC,yCAAA,CAGD,4BACC,iBAAA,CACA,YAAA,CACA,SAAA,CACA,eAAA,CAEA,gCACC,UAAA,CAIF,8BACC,mCAAA\",\"sourcesContent\":[\"@use 'sass:color';\\n\\n/*!\\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n// SCSS darken/lighten function override\\n@function nc-darken($color, $value) {\\n\\t@return color.adjust($color, $lightness: - $value, $space: hsl);\\n}\\n\\n@function nc-lighten($color, $value) {\\n\\t@return color.adjust($color, $lightness: $value, $space: hsl);\\n}\\n\\n// SCSS variables\\n// DEPRECATED, please use CSS4 vars\\n$color-main-text: #222 !default; // Not #000 for better readability\\n$color-main-background: #fff !default;\\n$color-main-background-translucent: rgba($color-main-background, .97) !default;\\n\\n// used for different active/hover/focus/disabled states\\n$color-background-hover: nc-darken($color-main-background, 4%) !default;\\n$color-background-dark: nc-darken($color-main-background, 7%) !default;\\n$color-background-darker: nc-darken($color-main-background, 14%) !default;\\n\\n$color-placeholder-light: nc-darken($color-main-background, 10%) !default;\\n$color-placeholder-dark: nc-darken($color-main-background, 20%) !default;\\n\\n$color-primary: #0082c9 !default;\\n$color-primary-hover: color.mix($color-primary, $color-main-background, 80%) !default;\\n\\n$color-primary-light: color.mix($color-primary, $color-main-background, 10%) !default;\\n$color-primary-light-text: $color-primary !default;\\n$color-primary-light-hover: color.mix($color-primary-light, $color-main-text, 95%) !default;\\n\\n$color-primary-text: #ffffff !default;\\n// do not use nc-darken/lighten in case of overriding because\\n// primary-text is independent of color-main-text\\n$color-primary-element-text-dark: color.adjust($color-primary-text, $lightness: -7%, $space: hsl) !default;\\n$color-primary-element: $color-primary !default;\\n$color-primary-element-hover: color.mix($color-primary-element, $color-main-background, 80%) !default;\\n$color-primary-element-light: color.adjust($color-primary-element, $lightness: 15%, $space: hsl) !default;\\n\\n$color-error: #e9322d;\\n$color-error-hover: color.mix($color-error, $color-main-background, 80%) !default;\\n$color-warning: #eca700;\\n$color-warning-hover: color.mix($color-warning, $color-main-background, 80%) !default;\\n$color-success: #46ba61;\\n$color-success-hover: color.mix($color-success, $color-main-background, 80%) !default;\\n// used for svg\\n$color-white: #fff;\\n$color-black: #000;\\n$color-yellow: #FC0;\\n\\n// rgb(118, 118, 118) / #767676\\n// min. color contrast for normal text on white background according to WCAG AA\\n// (Works as well: color: #000; opacity: 0.57;)\\n$color-text-maxcontrast: nc-lighten($color-main-text, 33%) !default;\\n\\n$image-logo: url('../img/logo/logo.svg?v=1') !default;\\n$image-login-background: url('../img/background.png?v=2') !default;\\n$image-logoheader: url('../img/logo/logo.svg?v=1') !default;\\n$image-favicon: url('../img/logo/logo.svg?v=1') !default;\\n\\n$color-loading-light: #ccc !default;\\n$color-loading-dark: #444 !default;\\n\\n$color-box-shadow: color.adjust(nc-darken($color-main-background, 70%), $alpha: -0.5, $space: hsl) !default;\\n\\n// light border like file table or app-content list\\n$color-border: nc-darken($color-main-background, 7%) !default;\\n// darker border like inputs or very visible elements\\n$color-border-dark: nc-darken($color-main-background, 14%) !default;\\n\\n$border-radius: 3px !default;\\n$border-radius-large: 10px !default;\\n// Pill-style button, value is large so big buttons also have correct roundness\\n$border-radius-pill: 100px !default;\\n\\n$font-face: system-ui, -apple-system, \\\"Segoe UI\\\", Roboto, Oxygen-Sans, Cantarell, Ubuntu, \\\"Helvetica Neue\\\", \\\"Noto Sans\\\", \\\"Liberation Sans\\\", Arial, sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\" !default;\\n$default-font-size: 15px;\\n\\n$default-line-height: 24px;\\n\\n$animation-quick: 100ms;\\n$animation-slow: 300ms;\\n\\n// various structure data\\n$header-height: 50px;\\n$navigation-width: 300px;\\n$sidebar-min-width: 300px;\\n$sidebar-max-width: 500px;\\n$list-min-width: 200px;\\n$list-max-width: 300px;\\n$header-menu-item-height: 44px;\\n$header-menu-profile-item-height: 66px;\\n\\n// mobile. Keep in sync with core/js/js.js\\n$breakpoint-mobile: 1024px;\\n\",\"\\n@use '../../../../../core/css/variables.scss' as variables;\\n@use 'sass:math';\\n\\n.app-item {\\n\\tposition: relative;\\n\\n\\t&:hover {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&--list-view {\\n\\t\\t--app-item-padding: calc(var(--default-grid-baseline) * 2);\\n\\t\\t--app-item-height: calc(var(--default-clickable-area) + var(--app-item-padding) * 2);\\n\\n\\t\\t&.app-item--selected {\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t}\\n\\n\\t\\t> * {\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\t\\tpadding: var(--app-item-padding);\\n\\t\\t\\theight: var(--app-item-height);\\n\\t\\t}\\n\\n\\t\\t.app-image {\\n\\t\\t\\twidth: var(--default-clickable-area);\\n\\t\\t\\theight: auto;\\n\\t\\t\\ttext-align: end;\\n\\t\\t}\\n\\n\\t\\t.app-image-icon svg,\\n\\t\\t.app-image-icon .icon-settings-dark {\\n\\t\\t\\tmargin-top: 5px;\\n\\t\\t\\twidth: 20px;\\n\\t\\t\\theight: 20px;\\n\\t\\t\\topacity: .5;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\n\\t\\t.app-name {\\n\\t\\t\\tpadding: 0 var(--app-item-padding);\\n\\t\\t}\\n\\n\\t\\t.app-name--link {\\n\\t\\t\\theight: var(--app-item-height);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t}\\n\\n\\t\\t// Note: because of Safari bug, we cannot position link overlay relative to the table row\\n\\t\\t// So we need to manually position it relative to the table container and cell\\n\\t\\t// See: https://bugs.webkit.org/show_bug.cgi?id=240961\\n\\t\\t.app-name--link::after {\\n\\t\\t\\tcontent: '';\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tinset-inline: 0;\\n\\t\\t\\theight: var(--app-item-height);\\n\\t\\t}\\n\\n\\t\\t.app-actions {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tgap: var(--app-item-padding);\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t\\tjustify-content: end;\\n\\n\\t\\t\\t.icon-loading-small {\\n\\t\\t\\t\\tdisplay: inline-block;\\n\\t\\t\\t\\ttop: 4px;\\n\\t\\t\\t\\tmargin-inline-end: 10px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* hide app version and level on narrower screens */\\n\\t\\t@media only screen and (max-width: 900px) {\\n\\t\\t\\t.app-version,\\n\\t\\t\\t.app-level {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Hide actions on a small screen. Click on app opens fill-screen sidebar with the buttons */\\n\\t\\t@media only screen and (max-width: math.div(variables.$breakpoint-mobile, 2)) {\\n\\t\\t\\t.app-actions {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&--store-view {\\n\\t\\tpadding: 30px;\\n\\n\\t\\t.app-image-icon .icon-settings-dark {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: 150px;\\n\\t\\t\\tbackground-size: 45px;\\n\\t\\t\\topacity: 0.5;\\n\\t\\t}\\n\\n\\t\\t.app-image-icon svg {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tbottom: 43px;\\n\\t\\t\\t/* position halfway vertically */\\n\\t\\t\\twidth: 64px;\\n\\t\\t\\theight: 64px;\\n\\t\\t\\topacity: .1;\\n\\t\\t}\\n\\n\\t\\t.app-name {\\n\\t\\t\\tmargin: 5px 0;\\n\\t\\t}\\n\\n\\t\\t.app-name--link::after {\\n\\t\\t\\tcontent: '';\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tinset-block: 0;\\n\\t\\t\\tinset-inline: 0;\\n\\t\\t}\\n\\n\\t\\t.app-actions {\\n\\t\\t\\tmargin: 10px 0;\\n\\t\\t}\\n\\n\\t\\t@media only screen and (min-width: 1601px) {\\n\\t\\t\\twidth: 25%;\\n\\n\\t\\t\\t&.app-item--with-sidebar {\\n\\t\\t\\t\\twidth: 33%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@media only screen and (max-width: 1600px) {\\n\\t\\t\\twidth: 25%;\\n\\n\\t\\t\\t&.app-item--with-sidebar {\\n\\t\\t\\t\\twidth: 33%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@media only screen and (max-width: 1400px) {\\n\\t\\t\\twidth: 33%;\\n\\n\\t\\t\\t&.app-item--with-sidebar {\\n\\t\\t\\t\\twidth: 50%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@media only screen and (max-width: 900px) {\\n\\t\\t\\twidth: 50%;\\n\\n\\t\\t\\t&.app-item--with-sidebar {\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@media only screen and (max-width: variables.$breakpoint-mobile) {\\n\\t\\t\\twidth: 50%;\\n\\t\\t}\\n\\n\\t\\t@media only screen and (max-width: 480px) {\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t}\\n}\\n\\n.app-icon {\\n\\tfilter: var(--background-invert-if-bright);\\n}\\n\\n.app-image {\\n\\tposition: relative;\\n\\theight: 150px;\\n\\topacity: 1;\\n\\toverflow: hidden;\\n\\n\\timg {\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\\n.app-version {\\n\\tcolor: var(--color-text-maxcontrast);\\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-level-badge[data-v-4f1ef3a1]{color:var(--color-text-maxcontrast);background-color:rgba(0,0,0,0);border:1px solid var(--color-text-maxcontrast);border-radius:var(--border-radius);display:flex;flex-direction:row;gap:6px;padding:3px 6px;width:fit-content}.app-level-badge--supported[data-v-4f1ef3a1]{background-color:var(--color-success);border-color:var(--color-border-success);color:var(--color-success-text)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppList/AppLevelBadge.vue\"],\"names\":[],\"mappings\":\"AACA,kCACC,mCAAA,CACA,8BAAA,CACA,8CAAA,CACA,kCAAA,CAEA,YAAA,CACA,kBAAA,CACA,OAAA,CACA,eAAA,CACA,iBAAA,CAEA,6CACC,qCAAA,CACA,wCAAA,CACA,+BAAA\",\"sourcesContent\":[\"\\n.app-level-badge {\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tbackground-color: transparent;\\n\\tborder: 1px solid var(--color-text-maxcontrast);\\n\\tborder-radius: var(--border-radius);\\n\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tgap: 6px;\\n\\tpadding: 3px 6px;\\n\\twidth: fit-content;\\n\\n\\t&--supported {\\n\\t\\tbackground-color: var(--color-success);\\n\\t\\tborder-color: var(--color-border-success);\\n\\t\\tcolor: var(--color-success-text);\\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-discover[data-v-114ea95a]{max-width:1008px;margin-inline:auto;padding-inline:54px;padding-block-end:var(--default-clickable-area, 44px);display:flex;flex-direction:column;gap:var(--default-clickable-area, 44px)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppStoreDiscover/AppStoreDiscoverSection.vue\"],\"names\":[],\"mappings\":\"AACA,+BACC,gBAAA,CACA,kBAAA,CACA,mBAAA,CAEA,qDAAA,CAEA,YAAA,CACA,qBAAA,CACA,uCAAA\",\"sourcesContent\":[\"\\n.app-discover {\\n\\tmax-width: 1008px; /* 900px + 2x 54px padding for the carousel controls */\\n\\tmargin-inline: auto;\\n\\tpadding-inline: 54px;\\n\\t/* Padding required to make last element not bound to the bottom */\\n\\tpadding-block-end: var(--default-clickable-area, 44px);\\n\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: var(--default-clickable-area, 44px);\\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, `.daemon[data-v-e726cadc]{padding:20px}.daemon h4[data-v-e726cadc]{font-weight:bold;margin:10px auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppStoreSidebar/AppDeployDaemonTab.vue\"],\"names\":[],\"mappings\":\"AACA,yBACE,YAAA,CAEA,4BACE,gBAAA,CACA,gBAAA\",\"sourcesContent\":[\"\\n.daemon {\\n padding: 20px;\\n\\n h4 {\\n font-weight: bold;\\n margin: 10px auto;\\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, `.app-description[data-v-10fcea52]{padding:12px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppStoreSidebar/AppDescriptionTab.vue\"],\"names\":[],\"mappings\":\"AACA,kCACC,YAAA\",\"sourcesContent\":[\"\\n.app-description {\\n\\tpadding: 12px;\\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-details[data-v-60bee524]{padding:20px}.app-details__actions-manage[data-v-60bee524]{display:flex;align-items:center}.app-details__actions-manage input[data-v-60bee524]{flex:0 1 auto;min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-details__authors[data-v-60bee524]{color:var(--color-text-maxcontrast)}.app-details__section[data-v-60bee524]{margin-top:15px}.app-details__section h4[data-v-60bee524]{font-size:16px;font-weight:bold;margin-block-end:5px}.app-details__interact[data-v-60bee524]{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px}.app-details__documentation a[data-v-60bee524]{text-decoration:underline}.app-details__documentation li[data-v-60bee524]{padding-inline-start:20px}.app-details__documentation li[data-v-60bee524]::before{width:5px;height:5px;border-radius:100%;background-color:var(--color-main-text);content:\"\";float:inline-start;margin-inline-start:-13px;position:relative;top:10px}.force[data-v-60bee524]{color:var(--color-text-error);border-color:var(--color-border-error);background:var(--color-main-background)}.force[data-v-60bee524]:hover,.force[data-v-60bee524]:active{color:var(--color-main-background);border-color:var(--color-border-error) !important;background:var(--color-error)}.missing-dependencies[data-v-60bee524]{list-style:initial;list-style-type:initial;list-style-position:inside}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppStoreSidebar/AppDetailsTab.vue\"],\"names\":[],\"mappings\":\"AACA,8BACC,YAAA,CAIC,8CAEC,YAAA,CACA,kBAAA,CACA,oDACC,aAAA,CACA,WAAA,CACA,sBAAA,CACA,kBAAA,CACA,eAAA,CAIH,uCACC,mCAAA,CAGD,uCACC,eAAA,CAEA,0CACC,cAAA,CACA,gBAAA,CACA,oBAAA,CAIF,wCACC,YAAA,CACA,kBAAA,CACA,cAAA,CACA,QAAA,CAIA,+CACC,yBAAA,CAED,gDACC,yBAAA,CAEA,wDACC,SAAA,CACA,UAAA,CACA,kBAAA,CACA,uCAAA,CACA,UAAA,CACA,kBAAA,CACA,yBAAA,CACA,iBAAA,CACA,QAAA,CAMJ,wBACC,6BAAA,CACA,sCAAA,CACA,uCAAA,CAGD,6DAEC,kCAAA,CACA,iDAAA,CACA,6BAAA,CAGD,uCACC,kBAAA,CACA,uBAAA,CACA,0BAAA\",\"sourcesContent\":[\"\\n.app-details {\\n\\tpadding: 20px;\\n\\n\\t&__actions {\\n\\t\\t// app management\\n\\t\\t&-manage {\\n\\t\\t\\t// if too many, shrink them and ellipsis\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tinput {\\n\\t\\t\\t\\tflex: 0 1 auto;\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t&__authors {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&__section {\\n\\t\\tmargin-top: 15px;\\n\\n\\t\\th4 {\\n\\t\\t\\tfont-size: 16px;\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tmargin-block-end: 5px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__interact {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: row;\\n\\t\\tflex-wrap: wrap;\\n\\t\\tgap: 12px;\\n\\t}\\n\\n\\t&__documentation {\\n\\t\\ta {\\n\\t\\t\\ttext-decoration: underline;\\n\\t\\t}\\n\\t\\tli {\\n\\t\\t\\tpadding-inline-start: 20px;\\n\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\twidth: 5px;\\n\\t\\t\\t\\theight: 5px;\\n\\t\\t\\t\\tborder-radius: 100%;\\n\\t\\t\\t\\tbackground-color: var(--color-main-text);\\n\\t\\t\\t\\tcontent: \\\"\\\";\\n\\t\\t\\t\\tfloat: inline-start;\\n\\t\\t\\t\\tmargin-inline-start: -13px;\\n\\t\\t\\t\\tposition: relative;\\n\\t\\t\\t\\ttop: 10px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.force {\\n\\tcolor: var(--color-text-error);\\n\\tborder-color: var(--color-border-error);\\n\\tbackground: var(--color-main-background);\\n}\\n\\n.force:hover,\\n.force:active {\\n\\tcolor: var(--color-main-background);\\n\\tborder-color: var(--color-border-error) !important;\\n\\tbackground: var(--color-error);\\n}\\n\\n.missing-dependencies {\\n\\tlist-style: initial;\\n\\tlist-style-type: initial;\\n\\tlist-style-position: inside;\\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-sidebar-tabs__release h2[data-v-1114c30b]{border-bottom:1px solid var(--color-border);font-size:24px}.app-sidebar-tabs__release-text[data-v-1114c30b] h3{font-size:20px}.app-sidebar-tabs__release-text[data-v-1114c30b] h4{font-size:17px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppStoreSidebar/AppReleasesTab.vue\"],\"names\":[],\"mappings\":\"AAEC,+CACC,2CAAA,CACA,cAAA,CAKA,oDACC,cAAA,CAED,oDACC,cAAA\",\"sourcesContent\":[\"\\n.app-sidebar-tabs__release {\\n\\th2 {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\tfont-size: 24px;\\n\\t}\\n\\n\\t&-text {\\n\\t\\t// Overwrite changelog heading styles\\n\\t\\t:deep(h3) {\\n\\t\\t\\tfont-size: 20px;\\n\\t\\t}\\n\\t\\t:deep(h4) {\\n\\t\\t\\tfont-size: 17px;\\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, `.settings-markdown[data-v-35d8331c] a{text-decoration:underline}.settings-markdown[data-v-35d8331c] a::after{content:\"↗\";padding-inline:calc(var(--default-grid-baseline)/2)}.settings-markdown[data-v-35d8331c] pre{white-space:pre;overflow-x:auto;background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:1em 1.3em;margin-bottom:1em}.settings-markdown[data-v-35d8331c] p code{background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:.1em .3em}.settings-markdown[data-v-35d8331c] li{position:relative}.settings-markdown[data-v-35d8331c] ul,.settings-markdown[data-v-35d8331c] ol{padding-inline-start:10px;margin-inline-start:10px}.settings-markdown[data-v-35d8331c] ul li{list-style-type:disc}.settings-markdown[data-v-35d8331c] ul>li>ul>li{list-style-type:circle}.settings-markdown[data-v-35d8331c] ul>li>ul>li ul li{list-style-type:square}.settings-markdown[data-v-35d8331c] blockquote{padding-inline-start:1em;border-inline-start:4px solid var(--color-primary-element);color:var(--color-text-maxcontrast);margin-inline:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./Markdown.vue\",\"webpack://./apps/settings/src/components/Markdown.vue\"],\"names\":[],\"mappings\":\"AAAA,sCCEC,yBACC,CAAA,6CACA,WACC,CAAA,mDACA,CAAA,wCAIF,eACC,CAAA,eACA,CAAA,6CACA,CAAA,kCACA,CAAA,iBACA,CAAA,iBACA,CAAA,2CAGD,6CACC,CAAA,kCACA,CAAA,iBACA,CAAA,uCAGD,iBACC,CAAA,8EAGD,yBACC,CAAA,wBACA,CAAA,0CAGD,oBACC,CAAA,gDAGD,sBACC,CAAA,sDAGD,sBACC,CAAA,+CAGD,wBACC,CAAA,0DACA,CAAA,mCACA,CAAA,eACA\",\"sourcesContent\":[\".settings-markdown :deep a{text-decoration:underline}.settings-markdown :deep a::after{content:\\\"↗\\\";padding-inline:calc(var(--default-grid-baseline)/2)}.settings-markdown :deep pre{white-space:pre;overflow-x:auto;background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:1em 1.3em;margin-bottom:1em}.settings-markdown :deep p code{background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:.1em .3em}.settings-markdown :deep li{position:relative}.settings-markdown :deep ul,.settings-markdown :deep ol{padding-inline-start:10px;margin-inline-start:10px}.settings-markdown :deep ul li{list-style-type:disc}.settings-markdown :deep ul>li>ul>li{list-style-type:circle}.settings-markdown :deep ul>li>ul>li ul li{list-style-type:square}.settings-markdown :deep blockquote{padding-inline-start:1em;border-inline-start:4px solid var(--color-primary-element);color:var(--color-text-maxcontrast);margin-inline:0}\",\"\\n.settings-markdown :deep {\\n\\ta {\\n\\t\\ttext-decoration: underline;\\n\\t\\t&::after {\\n\\t\\t\\tcontent: '↗';\\n\\t\\t\\tpadding-inline: calc(var(--default-grid-baseline) / 2);\\n\\t\\t}\\n\\t}\\n\\n\\tpre {\\n\\t\\twhite-space: pre;\\n\\t\\toverflow-x: auto;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tpadding: 1em 1.3em;\\n\\t\\tmargin-bottom: 1em;\\n\\t}\\n\\n\\tp code {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tpadding: .1em .3em;\\n\\t}\\n\\n\\tli {\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\tul, ol {\\n\\t\\tpadding-inline-start: 10px;\\n\\t\\tmargin-inline-start: 10px;\\n\\t}\\n\\n\\tul li {\\n\\t\\tlist-style-type: disc;\\n\\t}\\n\\n\\tul > li > ul > li {\\n\\t\\tlist-style-type: circle;\\n\\t}\\n\\n\\tul > li > ul > li ul li {\\n\\t\\tlist-style-type: square;\\n\\t}\\n\\n\\tblockquote {\\n\\t\\tpadding-inline-start: 1em;\\n\\t\\tborder-inline-start: 4px solid var(--color-primary-element);\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tmargin-inline: 0;\\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-sidebar--with-screenshot[data-v-ffae2952] .app-sidebar-header__figure{background-size:cover}.app-sidebar__fallback-icon[data-v-ffae2952]{width:100%;height:100%}.app-sidebar__badges[data-v-ffae2952]{display:flex;flex-direction:row;gap:12px}.app-sidebar__version[data-v-ffae2952]{color:var(--color-text-maxcontrast)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/AppStoreSidebar.vue\"],\"names\":[],\"mappings\":\"AAIE,2EACC,qBAAA,CAIF,6CAEC,UAAA,CACA,WAAA,CAGD,sCACC,YAAA,CACA,kBAAA,CACA,QAAA,CAGD,uCACC,mCAAA\",\"sourcesContent\":[\"\\n.app-sidebar {\\n\\t// If a screenshot is available it should cover the whole figure\\n\\t&--with-screenshot {\\n\\t\\t:deep(.app-sidebar-header__figure) {\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__fallback-icon {\\n\\t\\t// both 100% to center the icon\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t}\\n\\n\\t&__badges {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: row;\\n\\t\\tgap: 12px;\\n\\t}\\n\\n\\t&__version {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\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, `\n.app-score__wrapper[data-v-d9bfc6c8] {\n\tdisplay: inline-flex;\n\tcolor: var(--color-favorite, #a08b00);\n> *[data-v-d9bfc6c8] {\n\t\tvertical-align: text-bottom;\n}\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppList/AppScore.vue\"],\"names\":[],\"mappings\":\";AA+DA;CACA,oBAAA;CACA,qCAAA;AAEA;EACA,2BAAA;AACA;AACA\",\"sourcesContent\":[\"\\n\\n\\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, `\n.deploy-option[data-v-d7fb3b54] {\n\tmargin: calc(var(--default-grid-baseline) * 4) 0;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: flex-start;\n&__hint[data-v-d7fb3b54] {\n\t\tmargin-top: 4px;\n\t\tfont-size: 0.8em;\n\t\tcolor: var(--color-text-maxcontrast);\n}\n}\n.envs[data-v-d7fb3b54] {\n\twidth: 100%;\n\toverflow: auto;\n\theight: 100%;\n\tmax-height: 300px;\nli[data-v-d7fb3b54] {\n\t\tmargin: 10px 0;\n}\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppStoreSidebar/AppDeployOptionsModal.vue\"],\"names\":[],\"mappings\":\";AAwSA;CACA,gDAAA;CACA,aAAA;CACA,sBAAA;CACA,uBAAA;AAEA;EACA,eAAA;EACA,gBAAA;EACA,oCAAA;AACA;AACA;AAEA;CACA,WAAA;CACA,cAAA;CACA,YAAA;CACA,iBAAA;AAEA;EACA,cAAA;AACA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\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, `\n.empty-content__loading[data-v-cd4ac3b0] {\n\theight: 100%;\n}\n.app-settings-content__label[data-v-cd4ac3b0] {\n\tmargin-block-start: var(--app-navigation-padding);\n\tmargin-inline-start: calc(var(--default-clickable-area) + var(--app-navigation-padding) * 2);\n\tmin-height: var(--default-clickable-area);\n\tline-height: var(--default-clickable-area);\n\tvertical-align: center;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/AppStore.vue\"],\"names\":[],\"mappings\":\";AA2EA;CACA,YAAA;AACA;AAEA;CACA,iDAAA;CACA,4FAAA;CACA,yCAAA;CACA,0CAAA;CACA,sBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\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, `\n/* The categories-loading indicator */\n.categories--loading[data-v-97b4ee00] {\n\tflex: 1;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/AppStoreNavigation.vue\"],\"names\":[],\"mappings\":\";AAsIA,qCAAA;AACA;CACA,OAAA;CACA,aAAA;CACA,mBAAA;CACA,uBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcDialog,{attrs:{\"open\":_vm.show,\"name\":_vm.t('settings', 'Choose Deploy Daemon for {appName}', {appName: _vm.app.name }),\"size\":\"normal\"},on:{\"update:open\":_setup.closeModal}},[_c(_setup.DaemonSelectionList,{attrs:{\"app\":_vm.app,\"deploy-options\":_vm.deployOptions},on:{\"close\":_setup.closeModal}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./FormatListBulleted.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./FormatListBulleted.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FormatListBulleted.vue?vue&type=template&id=5c444520\"\nimport script from \"./FormatListBulleted.vue?vue&type=script&lang=js\"\nexport * from \"./FormatListBulleted.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-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,5H21V7H7V5M7,13V11H21V13H7M4,4.5A1.5,1.5 0 0,1 5.5,6A1.5,1.5 0 0,1 4,7.5A1.5,1.5 0 0,1 2.5,6A1.5,1.5 0 0,1 4,4.5M4,10.5A1.5,1.5 0 0,1 5.5,12A1.5,1.5 0 0,1 4,13.5A1.5,1.5 0 0,1 2.5,12A1.5,1.5 0 0,1 4,10.5M7,19V17H21V19H7M4,16.5A1.5,1.5 0 0,1 5.5,18A1.5,1.5 0 0,1 4,19.5A1.5,1.5 0 0,1 2.5,18A1.5,1.5 0 0,1 4,16.5Z\"}},[(_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;return _c('NcListItem',{attrs:{\"name\":_vm.itemTitle,\"details\":_vm.isDefault ? _vm.t('settings', 'Default') : '',\"force-display-actions\":true,\"counter-number\":_vm.daemon.exAppsCount,\"active\":_vm.isDefault,\"counter-type\":\"highlighted\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.selectDaemonAndInstall.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"subname\",fn:function(){return [_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.daemon.accepts_deploy_id)+\"\\n\\t\")]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DaemonSelectionEntry.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!./DaemonSelectionEntry.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DaemonSelectionEntry.vue?vue&type=template&id=3834d8ce\"\nimport script from \"./DaemonSelectionEntry.vue?vue&type=script&lang=js\"\nexport * from \"./DaemonSelectionEntry.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","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DaemonSelectionList.vue?vue&type=script&setup=true&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DaemonSelectionList.vue?vue&type=script&setup=true&lang=js\"","\n\n\n\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!./DaemonSelectionList.vue?vue&type=style&index=0&id=07c487de&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./DaemonSelectionList.vue?vue&type=style&index=0&id=07c487de&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./DaemonSelectionList.vue?vue&type=template&id=07c487de&scoped=true\"\nimport script from \"./DaemonSelectionList.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./DaemonSelectionList.vue?vue&type=script&setup=true&lang=js\"\nimport style0 from \"./DaemonSelectionList.vue?vue&type=style&index=0&id=07c487de&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 \"07c487de\",\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:\"daemon-selection-list\"},[(_setup.dockerDaemons.length > 0)?_c('ul',{attrs:{\"aria-label\":_vm.t('settings', 'Registered Deploy daemons list')}},_vm._l((_setup.dockerDaemons),function(daemon){return _c(_setup.DaemonSelectionEntry,{key:daemon.id,attrs:{\"daemon\":daemon,\"is-default\":_setup.defaultDaemon.name === daemon.name,\"app\":_vm.app,\"deploy-options\":_vm.deployOptions},on:{\"close\":_setup.closeModal}})}),1):_c(_setup.NcEmptyContent,{staticClass:\"daemon-selection-list__empty-content\",attrs:{\"name\":_vm.t('settings', 'No Deploy daemons configured'),\"description\":_vm.t('settings', 'Register a custom one or setup from available templates')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.FormatListBullet,{attrs:{\"size\":20}})]},proxy:true},{key:\"action\",fn:function(){return [_c(_setup.NcButton,{attrs:{\"href\":_setup.appApiAdminPage}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Manage Deploy daemons'))+\"\\n\\t\\t\\t\")])]},proxy:true}])})],1)\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!./DaemonSelectionDialog.vue?vue&type=script&setup=true&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DaemonSelectionDialog.vue?vue&type=script&setup=true&lang=js\"","\n\n\n\n","import { render, staticRenderFns } from \"./DaemonSelectionDialog.vue?vue&type=template&id=993019e6\"\nimport script from \"./DaemonSelectionDialog.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./DaemonSelectionDialog.vue?vue&type=script&setup=true&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(_vm.listView ? 'tr' : (_vm.inline ? 'article' : 'li'),{tag:\"component\",staticClass:\"app-item\",class:{\n\t\t'app-item--list-view': _vm.listView,\n\t\t'app-item--store-view': !_vm.listView,\n\t\t'app-item--selected': _vm.isSelected,\n\t\t'app-item--with-sidebar': _vm.withSidebar,\n\t}},[_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-image app-image-icon\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-icon`)}},[(!_vm.app?.app_api && _vm.shouldDisplayDefaultIcon)?_c('div',{staticClass:\"icon-settings-dark\"}):(_vm.app.app_api && _vm.shouldDisplayDefaultIcon)?_c('NcIconSvgWrapper',{staticStyle:{\"min-width\":\"auto\",\"min-height\":\"auto\",\"height\":\"100%\"},attrs:{\"path\":_vm.mdiCogOutline,\"size\":_vm.listView ? 24 : 48}}):(_vm.listView && _vm.app.preview && !_vm.app.app_api)?_c('svg',{attrs:{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"0 0 32 32\"}},[_c('image',{staticClass:\"app-icon\",attrs:{\"x\":\"0\",\"y\":\"0\",\"width\":\"32\",\"height\":\"32\",\"preserveAspectRatio\":\"xMinYMin meet\",\"xlink:href\":_vm.app.preview}})]):_vm._e(),_vm._v(\" \"),(!_vm.listView && _vm.app.screenshot && _vm.screenshotLoaded)?_c('img',{attrs:{\"src\":_vm.app.screenshot,\"alt\":\"\"}}):_vm._e()],1),_vm._v(\" \"),_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-name\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-name`)}},[_c('router-link',{staticClass:\"app-name--link\",attrs:{\"to\":{\n\t\t\t\tname: 'apps-details',\n\t\t\t\tparams: {\n\t\t\t\t\tcategory: _vm.category,\n\t\t\t\t\tid: _vm.app.id\n\t\t\t\t},\n\t\t\t},\"aria-label\":_vm.t('settings', 'Show details for {appName} app', { appName:_vm.app.name })}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.app.name)+\"\\n\\t\\t\")])],1),_vm._v(\" \"),(!_vm.listView)?_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-summary\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-version`)}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.app.summary)+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.listView)?_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-version\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-version`)}},[(_vm.app.version)?_c('span',[_vm._v(_vm._s(_vm.app.version))]):(_vm.app.appstoreData.releases[0].version)?_c('span',[_vm._v(_vm._s(_vm.app.appstoreData.releases[0].version))]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-level\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-level`)}},[_c('AppLevelBadge',{attrs:{\"level\":_vm.app.level}}),_vm._v(\" \"),(_vm.hasRating && !_vm.listView)?_c('AppScore',{attrs:{\"score\":_vm.app.score}}):_vm._e()],1),_vm._v(\" \"),(!_vm.inline)?_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-actions\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-actions`)}},[(_vm.app.error)?_c('div',{staticClass:\"warning\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.app.error)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.isLoading || _vm.isInitializing)?_c('div',{staticClass:\"icon icon-loading-small\"}):_vm._e(),_vm._v(\" \"),(_vm.app.update)?_c('NcButton',{attrs:{\"type\":\"primary\",\"disabled\":_vm.installing || _vm.isLoading || !_vm.defaultDeployDaemonAccessible || _vm.isManualInstall,\"title\":_vm.updateButtonText},on:{\"click\":function($event){$event.stopPropagation();return _vm.update(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Update to {update}', {update:_vm.app.update}))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('NcButton',{staticClass:\"uninstall\",attrs:{\"type\":\"tertiary\",\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){$event.stopPropagation();return _vm.remove(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Remove'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.active)?_c('NcButton',{attrs:{\"disabled\":_vm.installing || _vm.isLoading || _vm.isInitializing || _vm.isDeploying},on:{\"click\":function($event){$event.stopPropagation();return _vm.disable(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.disableButtonText)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible))?_c('NcButton',{attrs:{\"title\":_vm.enableButtonTooltip,\"aria-label\":_vm.enableButtonTooltip,\"type\":\"primary\",\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.isLoading || !_vm.defaultDeployDaemonAccessible || _vm.isInitializing || _vm.isDeploying},on:{\"click\":function($event){$event.stopPropagation();return _vm.enableButtonAction.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.enableButtonText)+\"\\n\\t\\t\")]):(!_vm.app.active)?_c('NcButton',{attrs:{\"title\":_vm.forceEnableButtonTooltip,\"aria-label\":_vm.forceEnableButtonTooltip,\"type\":\"secondary\",\"disabled\":_vm.installing || _vm.isLoading || !_vm.defaultDeployDaemonAccessible},on:{\"click\":function($event){$event.stopPropagation();return _vm.forceEnable(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.forceEnableButtonText)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app?.app_api && _vm.showSelectDaemonModal)?_c('DaemonSelectionDialog',{attrs:{\"show\":_vm.showSelectDaemonModal,\"app\":_vm.app},on:{\"update:show\":function($event){_vm.showSelectDaemonModal=$event}}}):_vm._e()],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgFilterMixin.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!./SvgFilterMixin.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./SvgFilterMixin.vue?vue&type=script&lang=js\"\nexport * from \"./SvgFilterMixin.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","\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.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!./AppItem.vue?vue&type=script&lang=js\"","\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!./AppItem.vue?vue&type=style&index=0&id=2e0b174b&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./AppItem.vue?vue&type=style&index=0&id=2e0b174b&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppItem.vue?vue&type=template&id=2e0b174b&scoped=true\"\nimport script from \"./AppItem.vue?vue&type=script&lang=js\"\nexport * from \"./AppItem.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppItem.vue?vue&type=style&index=0&id=2e0b174b&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 \"2e0b174b\",\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 (_setup.isSupported || _setup.isFeatured)?_c('span',{staticClass:\"app-level-badge\",class:{ 'app-level-badge--supported': _setup.isSupported },attrs:{\"title\":_setup.badgeTitle}},[_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.badgeIcon,\"size\":20,\"inline\":\"\"}}),_vm._v(\"\\n\\t\"+_vm._s(_setup.badgeText)+\"\\n\")],1):_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!./AppLevelBadge.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!./AppLevelBadge.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!./AppLevelBadge.vue?vue&type=style&index=0&id=4f1ef3a1&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./AppLevelBadge.vue?vue&type=style&index=0&id=4f1ef3a1&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppLevelBadge.vue?vue&type=template&id=4f1ef3a1&scoped=true\"\nimport script from \"./AppLevelBadge.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppLevelBadge.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppLevelBadge.vue?vue&type=style&index=0&id=4f1ef3a1&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 \"4f1ef3a1\",\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:\"app-score__wrapper\",attrs:{\"role\":\"img\",\"aria-label\":_vm.title,\"title\":_vm.title}},[_vm._l((_vm.fullStars),function(index){return _c('NcIconSvgWrapper',{key:`full-star-${index}`,attrs:{\"path\":_vm.mdiStar,\"inline\":\"\"}})}),_vm._v(\" \"),(_vm.hasHalfStar)?_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiStarHalfFull,\"inline\":\"\"}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.emptyStars),function(index){return _c('NcIconSvgWrapper',{key:`empty-star-${index}`,attrs:{\"path\":_vm.mdiStarOutline,\"inline\":\"\"}})})],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!./AppScore.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!./AppScore.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/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=style&index=0&id=d9bfc6c8&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=style&index=0&id=d9bfc6c8&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppScore.vue?vue&type=template&id=d9bfc6c8&scoped=true\"\nimport script from \"./AppScore.vue?vue&type=script&lang=ts\"\nexport * from \"./AppScore.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppScore.vue?vue&type=style&index=0&id=d9bfc6c8&prod&scoped=true&lang=css\"\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 \"d9bfc6c8\",\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(_setup.NcAppContent,{staticClass:\"app-settings-content\",attrs:{\"page-heading\":_setup.pageHeading,\"page-title\":_setup.pageTitle}},[_c('h2',{staticClass:\"app-settings-content__label\",domProps:{\"textContent\":_vm._s(_setup.viewLabel)}}),_vm._v(\" \"),(_setup.currentCategory === 'discover')?_c(_setup.AppStoreDiscoverSection):(_setup.isLoading)?_c(_setup.NcEmptyContent,{staticClass:\"empty-content__loading\",attrs:{\"name\":_setup.t('settings', 'Loading app list')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcLoadingIcon,{attrs:{\"size\":64}})]},proxy:true}])}):_c(_setup.AppList,{attrs:{\"category\":_setup.currentCategory}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\nHow it works:\n`this.#head` is an instance of `Node` which keeps track of its current value and nests another instance of `Node` that keeps the value that comes after it. When a value is provided to `.enqueue()`, the code needs to iterate through `this.#head`, going deeper and deeper to find the last value. However, iterating through every single item is slow. This problem is solved by saving a reference to the last value as `this.#tail` so that it can reference it to add a new value.\n*/\n\nclass Node {\n\tvalue;\n\tnext;\n\n\tconstructor(value) {\n\t\tthis.value = value;\n\t}\n}\n\nexport default class Queue {\n\t#head;\n\t#tail;\n\t#size;\n\n\tconstructor() {\n\t\tthis.clear();\n\t}\n\n\tenqueue(value) {\n\t\tconst node = new Node(value);\n\n\t\tif (this.#head) {\n\t\t\tthis.#tail.next = node;\n\t\t\tthis.#tail = node;\n\t\t} else {\n\t\t\tthis.#head = node;\n\t\t\tthis.#tail = node;\n\t\t}\n\n\t\tthis.#size++;\n\t}\n\n\tdequeue() {\n\t\tconst current = this.#head;\n\t\tif (!current) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#head = this.#head.next;\n\t\tthis.#size--;\n\n\t\t// Clean up tail reference when queue becomes empty\n\t\tif (!this.#head) {\n\t\t\tthis.#tail = undefined;\n\t\t}\n\n\t\treturn current.value;\n\t}\n\n\tpeek() {\n\t\tif (!this.#head) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn this.#head.value;\n\n\t\t// TODO: Node.js 18.\n\t\t// return this.#head?.value;\n\t}\n\n\tclear() {\n\t\tthis.#head = undefined;\n\t\tthis.#tail = undefined;\n\t\tthis.#size = 0;\n\t}\n\n\tget size() {\n\t\treturn this.#size;\n\t}\n\n\t* [Symbol.iterator]() {\n\t\tlet current = this.#head;\n\n\t\twhile (current) {\n\t\t\tyield current.value;\n\t\t\tcurrent = current.next;\n\t\t}\n\t}\n\n\t* drain() {\n\t\twhile (this.#head) {\n\t\t\tyield this.dequeue();\n\t\t}\n\t}\n}\n","import Queue from 'yocto-queue';\n\nexport default function pLimit(concurrency) {\n\tlet rejectOnClear = false;\n\n\tif (typeof concurrency === 'object') {\n\t\t({concurrency, rejectOnClear = false} = concurrency);\n\t}\n\n\tvalidateConcurrency(concurrency);\n\n\tif (typeof rejectOnClear !== 'boolean') {\n\t\tthrow new TypeError('Expected `rejectOnClear` to be a boolean');\n\t}\n\n\tconst queue = new Queue();\n\tlet activeCount = 0;\n\n\tconst resumeNext = () => {\n\t\t// Process the next queued function if we're under the concurrency limit\n\t\tif (activeCount < concurrency && queue.size > 0) {\n\t\t\tactiveCount++;\n\t\t\tqueue.dequeue().run();\n\t\t}\n\t};\n\n\tconst next = () => {\n\t\tactiveCount--;\n\t\tresumeNext();\n\t};\n\n\tconst run = async (function_, resolve, arguments_) => {\n\t\t// Execute the function and capture the result promise\n\t\tconst result = (async () => function_(...arguments_))();\n\n\t\t// Resolve immediately with the promise (don't wait for completion)\n\t\tresolve(result);\n\n\t\t// Wait for the function to complete (success or failure)\n\t\t// We catch errors here to prevent unhandled rejections,\n\t\t// but the original promise rejection is preserved for the caller\n\t\ttry {\n\t\t\tawait result;\n\t\t} catch {}\n\n\t\t// Decrement active count and process next queued function\n\t\tnext();\n\t};\n\n\tconst enqueue = (function_, resolve, reject, arguments_) => {\n\t\tconst queueItem = {reject};\n\n\t\t// Queue the internal resolve function instead of the run function\n\t\t// to preserve the asynchronous execution context.\n\t\tnew Promise(internalResolve => { // eslint-disable-line promise/param-names\n\t\t\tqueueItem.run = internalResolve;\n\t\t\tqueue.enqueue(queueItem);\n\t\t}).then(run.bind(undefined, function_, resolve, arguments_)); // eslint-disable-line promise/prefer-await-to-then\n\n\t\t// Start processing immediately if we haven't reached the concurrency limit\n\t\tif (activeCount < concurrency) {\n\t\t\tresumeNext();\n\t\t}\n\t};\n\n\tconst generator = (function_, ...arguments_) => new Promise((resolve, reject) => {\n\t\tenqueue(function_, resolve, reject, arguments_);\n\t});\n\n\tObject.defineProperties(generator, {\n\t\tactiveCount: {\n\t\t\tget: () => activeCount,\n\t\t},\n\t\tpendingCount: {\n\t\t\tget: () => queue.size,\n\t\t},\n\t\tclearQueue: {\n\t\t\tvalue() {\n\t\t\t\tif (!rejectOnClear) {\n\t\t\t\t\tqueue.clear();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst abortError = AbortSignal.abort().reason;\n\n\t\t\t\twhile (queue.size > 0) {\n\t\t\t\t\tqueue.dequeue().reject(abortError);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tconcurrency: {\n\t\t\tget: () => concurrency,\n\n\t\t\tset(newConcurrency) {\n\t\t\t\tvalidateConcurrency(newConcurrency);\n\t\t\t\tconcurrency = newConcurrency;\n\n\t\t\t\tqueueMicrotask(() => {\n\t\t\t\t\t// eslint-disable-next-line no-unmodified-loop-condition\n\t\t\t\t\twhile (activeCount < concurrency && queue.size > 0) {\n\t\t\t\t\t\tresumeNext();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\tmap: {\n\t\t\tasync value(iterable, function_) {\n\t\t\t\tconst promises = Array.from(iterable, (value, index) => generator(function_, value, index));\n\t\t\t\treturn Promise.all(promises);\n\t\t\t},\n\t\t},\n\t});\n\n\treturn generator;\n}\n\nexport function limitFunction(function_, options) {\n\tconst limit = pLimit(options);\n\n\treturn (...arguments_) => limit(() => function_(...arguments_));\n}\n\nfunction validateConcurrency(concurrency) {\n\tif (!((Number.isInteger(concurrency) || concurrency === Number.POSITIVE_INFINITY) && concurrency > 0)) {\n\t\tthrow new TypeError('Expected `concurrency` to be a number from 1 and up');\n\t}\n}\n","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.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!./AppList.vue?vue&type=script&lang=js\"","\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!./AppList.vue?vue&type=style&index=0&id=3b475be6&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./AppList.vue?vue&type=style&index=0&id=3b475be6&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppList.vue?vue&type=template&id=3b475be6&scoped=true\"\nimport script from \"./AppList.vue?vue&type=script&lang=js\"\nexport * from \"./AppList.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppList.vue?vue&type=style&index=0&id=3b475be6&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 \"3b475be6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"app-content-inner\"}},[_c('div',{staticClass:\"apps-list\",class:{\n\t\t\t'apps-list--list-view': (_vm.useBundleView || _vm.useListView),\n\t\t\t'apps-list--store-view': _vm.useAppStoreView,\n\t\t},attrs:{\"id\":\"apps-list\"}},[(_vm.useListView)?[(_vm.showUpdateAll)?_c('div',{staticClass:\"apps-list__toolbar\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.n('settings', '%n app has an update available', '%n apps have an update available', _vm.counter))+\"\\n\\t\\t\\t\\t\"),(_vm.showUpdateAll)?_c('NcButton',{attrs:{\"id\":\"app-list-update-all\",\"type\":\"primary\"},on:{\"click\":_vm.updateAll}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.n('settings', 'Update', 'Update all', _vm.counter))+\"\\n\\t\\t\\t\\t\")]):_vm._e()],1):_vm._e(),_vm._v(\" \"),(!_vm.showUpdateAll)?_c('div',{staticClass:\"apps-list__toolbar\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'All apps are up-to-date.'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('TransitionGroup',{staticClass:\"apps-list__list-container\",attrs:{\"name\":\"apps-list\",\"tag\":\"table\"}},[_c('tr',{key:\"app-list-view-header\"},[_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Icon')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Name')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Version')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Level')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Actions')))])])]),_vm._v(\" \"),_vm._l((_vm.apps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category}})})],2)]:_vm._e(),_vm._v(\" \"),(_vm.useBundleView)?_c('table',{staticClass:\"apps-list__list-container\"},[_c('tr',{key:\"app-list-view-header\"},[_c('th',{attrs:{\"id\":\"app-table-col-icon\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Icon')))])]),_vm._v(\" \"),_c('th',{attrs:{\"id\":\"app-table-col-name\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Name')))])]),_vm._v(\" \"),_c('th',{attrs:{\"id\":\"app-table-col-version\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Version')))])]),_vm._v(\" \"),_c('th',{attrs:{\"id\":\"app-table-col-level\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Level')))])]),_vm._v(\" \"),_c('th',{attrs:{\"id\":\"app-table-col-actions\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Actions')))])])]),_vm._v(\" \"),_vm._l((_vm.bundles),function(bundle){return [_c('tr',{key:bundle.id},[_c('th',{attrs:{\"id\":`app-table-rowgroup-${bundle.id}`,\"colspan\":\"5\",\"scope\":\"rowgroup\"}},[_c('div',{staticClass:\"apps-list__bundle-heading\"},[_c('span',{staticClass:\"apps-list__bundle-header\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(bundle.name)+\"\\n\\t\\t\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"secondary\"},on:{\"click\":function($event){return _vm.toggleBundle(bundle.id)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', _vm.bundleToggleText(bundle.id)))+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])],1)])]),_vm._v(\" \"),_vm._l((_vm.bundleApps(bundle.id)),function(app){return _c('AppItem',{key:bundle.id + app.id,attrs:{\"use-bundle-view\":true,\"headers\":`app-table-rowgroup-${bundle.id}`,\"app\":app,\"category\":_vm.category}})})]})],2):_vm._e(),_vm._v(\" \"),(_vm.useAppStoreView)?_c('ul',{staticClass:\"apps-list__store-container\"},_vm._l((_vm.apps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category,\"list-view\":false}})}),1):_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"apps-list apps-list--list-view\",attrs:{\"id\":\"apps-list-search\"}},[_c('div',{staticClass:\"apps-list__list-container\"},[(_vm.search !== '' && _vm.searchApps.length > 0)?_c('table',{staticClass:\"apps-list__list-container\"},[_c('caption',{staticClass:\"apps-list__bundle-header\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Results from other categories'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('tr',{key:\"app-list-view-header\"},[_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Icon')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Name')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Version')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Level')))])]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Actions')))])])]),_vm._v(\" \"),_vm._l((_vm.searchApps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category}})})],2):_vm._e()])]),_vm._v(\" \"),(_vm.search !== '' && !_vm.loading && _vm.searchApps.length === 0 && _vm.apps.length === 0)?_c('div',{staticClass:\"emptycontent emptycontent-search\",attrs:{\"id\":\"apps-list-empty\"}},[_c('div',{staticClass:\"icon-settings-dark\",attrs:{\"id\":\"app-list-empty-icon\"}}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'No apps found for your version')))])]):_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:\"app-discover\"},[(_setup.hasError)?_c(_setup.NcEmptyContent,{attrs:{\"name\":_setup.t('settings', 'Nothing to show'),\"description\":_setup.t('settings', 'Could not load section content from app store.')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiEyeOffOutline,\"size\":64}})]},proxy:true}],null,false,3626885458)}):(_setup.elements.length === 0)?_c(_setup.NcEmptyContent,{attrs:{\"name\":_setup.t('settings', 'Loading'),\"description\":_setup.t('settings', 'Fetching the latest news…')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcLoadingIcon,{attrs:{\"size\":64}})]},proxy:true}])}):_vm._l((_setup.elements),function(entry,index){return _c(_setup.getComponent(entry.type),_vm._b({key:entry.id ?? index,tag:\"component\"},'component',entry,false))})],2)\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 */\n/**\n * Helper to transform the JSON API results to proper frontend objects (app discover section elements)\n *\n * @param element The JSON API element to transform\n */\nexport const parseApiResponse = (element) => {\n const appElement = { ...element };\n if (appElement.date) {\n appElement.date = Date.parse(appElement.date);\n }\n if (appElement.expiryDate) {\n appElement.expiryDate = Date.parse(appElement.expiryDate);\n }\n if (appElement.type === 'post') {\n return appElement;\n }\n else if (appElement.type === 'showcase') {\n return appElement;\n }\n else if (appElement.type === 'carousel') {\n return appElement;\n }\n throw new Error(`Invalid argument, app discover element with type ${element.type ?? 'unknown'} is unknown`);\n};\n/**\n * Filter outdated or upcoming elements\n * @param element Element to check\n */\nexport const filterElements = (element) => {\n const now = Date.now();\n // Element not yet published\n if (element.date && element.date > now) {\n return false;\n }\n // Element expired\n if (element.expiryDate && element.expiryDate < now) {\n return false;\n }\n return true;\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!./AppStoreDiscoverSection.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!./AppStoreDiscoverSection.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!./AppStoreDiscoverSection.vue?vue&type=style&index=0&id=114ea95a&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./AppStoreDiscoverSection.vue?vue&type=style&index=0&id=114ea95a&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppStoreDiscoverSection.vue?vue&type=template&id=114ea95a&scoped=true\"\nimport script from \"./AppStoreDiscoverSection.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStoreDiscoverSection.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppStoreDiscoverSection.vue?vue&type=style&index=0&id=114ea95a&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 \"114ea95a\",\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!./AppStore.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!./AppStore.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/vue-loader/lib/index.js??vue-loader-options!./AppStore.vue?vue&type=style&index=0&id=cd4ac3b0&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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/vue-loader/lib/index.js??vue-loader-options!./AppStore.vue?vue&type=style&index=0&id=cd4ac3b0&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppStore.vue?vue&type=template&id=cd4ac3b0&scoped=true\"\nimport script from \"./AppStore.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStore.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppStore.vue?vue&type=style&index=0&id=cd4ac3b0&prod&scoped=true&lang=css\"\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 \"cd4ac3b0\",\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(_setup.NcAppNavigation,{attrs:{\"aria-label\":_setup.t('settings', 'Apps')},scopedSlots:_vm._u([{key:\"list\",fn:function(){return [(_setup.appstoreEnabled)?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-discover\",\"to\":{ name: 'apps-category', params: { category: 'discover'} },\"name\":_setup.APPS_SECTION_ENUM.discover},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.discover}})]},proxy:true}],null,false,1397544286)}):_vm._e(),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-installed\",\"to\":{ name: 'apps-category', params: { category: 'installed'} },\"name\":_setup.APPS_SECTION_ENUM.installed},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.installed}})]},proxy:true}])}),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-enabled\",\"to\":{ name: 'apps-category', params: { category: 'enabled' } },\"name\":_setup.APPS_SECTION_ENUM.enabled},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.enabled}})]},proxy:true}])}),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-disabled\",\"to\":{ name: 'apps-category', params: { category: 'disabled' } },\"name\":_setup.APPS_SECTION_ENUM.disabled},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.disabled}})]},proxy:true}])}),_vm._v(\" \"),(_setup.store.updateCount > 0)?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-updates\",\"to\":{ name: 'apps-category', params: { category: 'updates' } },\"name\":_setup.APPS_SECTION_ENUM.updates},scopedSlots:_vm._u([{key:\"counter\",fn:function(){return [_c(_setup.NcCounterBubble,[_vm._v(_vm._s(_setup.store.updateCount))])]},proxy:true},{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.updates}})]},proxy:true}],null,false,3001044337)}):_vm._e(),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-your-bundles\",\"to\":{ name: 'apps-category', params: { category: 'app-bundles' } },\"name\":_setup.APPS_SECTION_ENUM['app-bundles']},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.bundles}})]},proxy:true}])}),_vm._v(\" \"),_c(_setup.NcAppNavigationSpacer),_vm._v(\" \"),(_setup.appstoreEnabled && _setup.categoriesLoading)?_c('li',{staticClass:\"categories--loading\"},[_c(_setup.NcLoadingIcon,{attrs:{\"size\":20,\"aria-label\":_setup.t('settings', 'Loading categories')}})],1):(_setup.appstoreEnabled && !_setup.categoriesLoading)?[(_setup.isSubscribed)?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-supported\",\"to\":{ name: 'apps-category', params: { category: 'supported' } },\"name\":_setup.APPS_SECTION_ENUM.supported},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.supported}})]},proxy:true}],null,false,613663011)}):_vm._e(),_vm._v(\" \"),_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"app-category-featured\",\"to\":{ name: 'apps-category', params: { category: 'featured' } },\"name\":_setup.APPS_SECTION_ENUM.featured},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.APPSTORE_CATEGORY_ICONS.featured}})]},proxy:true}])}),_vm._v(\" \"),_vm._l((_setup.categories),function(category){return _c(_setup.NcAppNavigationItem,{key:category.id,attrs:{\"id\":`app-category-${category.id}`,\"name\":category.displayName,\"to\":{\n\t\t\t\t\tname: 'apps-category',\n\t\t\t\t\tparams: { category: category.id },\n\t\t\t\t}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":category.icon}})]},proxy:true}],null,true)})})]:_vm._e()]},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!./AppStoreNavigation.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!./AppStoreNavigation.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/vue-loader/lib/index.js??vue-loader-options!./AppStoreNavigation.vue?vue&type=style&index=0&id=97b4ee00&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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/vue-loader/lib/index.js??vue-loader-options!./AppStoreNavigation.vue?vue&type=style&index=0&id=97b4ee00&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppStoreNavigation.vue?vue&type=template&id=97b4ee00&scoped=true\"\nimport script from \"./AppStoreNavigation.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStoreNavigation.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppStoreNavigation.vue?vue&type=style&index=0&id=97b4ee00&prod&scoped=true&lang=css\"\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 \"97b4ee00\",\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 (_setup.showSidebar)?_c(_setup.NcAppSidebar,{staticClass:\"app-sidebar\",class:{ 'app-sidebar--with-screenshot': _setup.hasScreenshot },attrs:{\"active\":_setup.activeTab,\"background\":_setup.hasScreenshot ? _setup.app.screenshot : undefined,\"compact\":!_setup.hasScreenshot,\"name\":_setup.app.name,\"title\":_setup.app.name,\"subname\":_setup.licenseText,\"subtitle\":_setup.licenseText},on:{\"update:active\":function($event){_setup.activeTab=$event},\"close\":_setup.hideAppDetails},scopedSlots:_vm._u([(!_setup.hasScreenshot)?{key:\"header\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{staticClass:\"app-sidebar__fallback-icon\",attrs:{\"svg\":_setup.appIcon ?? '',\"size\":64}})]},proxy:true}:null,{key:\"description\",fn:function(){return [_c('div',{staticClass:\"app-sidebar__badges\"},[_c(_setup.AppLevelBadge,{attrs:{\"level\":_setup.app.level}}),_vm._v(\" \"),(_setup.app.app_api && _setup.app.daemon)?_c(_setup.AppDaemonBadge,{attrs:{\"daemon\":_setup.app.daemon}}):_vm._e(),_vm._v(\" \"),(_setup.hasRating)?_c(_setup.AppScore,{attrs:{\"score\":_setup.rating}}):_vm._e()],1)]},proxy:true}],null,true)},[_vm._v(\" \"),_vm._v(\" \"),_c(_setup.AppDescriptionTab,{attrs:{\"app\":_setup.app}}),_vm._v(\" \"),_c(_setup.AppDetailsTab,{attrs:{\"app\":_setup.app}}),_vm._v(\" \"),_c(_setup.AppReleasesTab,{attrs:{\"app\":_setup.app}}),_vm._v(\" \"),_c(_setup.AppDeployDaemonTab,{attrs:{\"app\":_setup.app}})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.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!./Markdown.vue?vue&type=script&lang=js\"","\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!./Markdown.vue?vue&type=style&index=0&id=35d8331c&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./Markdown.vue?vue&type=style&index=0&id=35d8331c&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Markdown.vue?vue&type=template&id=35d8331c&scoped=true\"\nimport script from \"./Markdown.vue?vue&type=script&lang=js\"\nexport * from \"./Markdown.vue?vue&type=script&lang=js\"\nimport style0 from \"./Markdown.vue?vue&type=style&index=0&id=35d8331c&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 \"35d8331c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"settings-markdown\",domProps:{\"innerHTML\":_vm._s(_vm.renderMarkdown)}})\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!./AppDescriptionTab.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!./AppDescriptionTab.vue?vue&type=script&setup=true&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcAppSidebarTab,{attrs:{\"id\":\"desc\",\"name\":_setup.t('settings', 'Description'),\"order\":0},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiTextShort}})]},proxy:true}])},[_vm._v(\" \"),_c('div',{staticClass:\"app-description\"},[_c(_setup.Markdown,{attrs:{\"text\":_vm.app.description,\"min-heading\":4}})],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!./AppDescriptionTab.vue?vue&type=style&index=0&id=10fcea52&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./AppDescriptionTab.vue?vue&type=style&index=0&id=10fcea52&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDescriptionTab.vue?vue&type=template&id=10fcea52&scoped=true\"\nimport script from \"./AppDescriptionTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppDescriptionTab.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppDescriptionTab.vue?vue&type=style&index=0&id=10fcea52&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 \"10fcea52\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppSidebarTab',{attrs:{\"id\":\"details\",\"name\":_vm.t('settings', 'Details'),\"order\":1},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiTextBoxOutline}})]},proxy:true}])},[_vm._v(\" \"),_c('div',{staticClass:\"app-details\"},[_c('div',{staticClass:\"app-details__actions\"},[(_vm.app.active && _vm.canLimitToGroups(_vm.app))?_c('div',{staticClass:\"app-details__actions-groups\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.groupCheckedAppsData),expression:\"groupCheckedAppsData\"}],staticClass:\"groups-enable__checkbox checkbox\",attrs:{\"id\":`groups_enable_${_vm.app.id}`,\"type\":\"checkbox\"},domProps:{\"value\":_vm.app.id,\"checked\":Array.isArray(_vm.groupCheckedAppsData)?_vm._i(_vm.groupCheckedAppsData,_vm.app.id)>-1:(_vm.groupCheckedAppsData)},on:{\"change\":[function($event){var $$a=_vm.groupCheckedAppsData,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=_vm.app.id,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.groupCheckedAppsData=$$a.concat([$$v]))}else{$$i>-1&&(_vm.groupCheckedAppsData=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.groupCheckedAppsData=$$c}},_vm.setGroupLimit]}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":`groups_enable_${_vm.app.id}`}},[_vm._v(_vm._s(_vm.t('settings', 'Limit to groups')))]),_vm._v(\" \"),_c('input',{staticClass:\"group_select\",attrs:{\"type\":\"hidden\",\"title\":_vm.t('settings', 'All'),\"value\":\"\"}}),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"limitToGroups\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Limit app usage to groups')))])]),_vm._v(\" \"),(_vm.isLimitedToGroups(_vm.app))?_c('NcSelect',{attrs:{\"input-id\":\"limitToGroups\",\"options\":_vm.groups,\"value\":_vm.appGroups,\"limit\":5,\"label\":\"name\",\"multiple\":true,\"close-on-select\":false},on:{\"option:selected\":_vm.addGroupLimitation,\"option:deselected\":_vm.removeGroupLimitation,\"search\":_vm.asyncFindGroup}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings', 'No results')))])]):_vm._e()],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-details__actions-manage\"},[(_vm.app.update)?_c('input',{staticClass:\"update primary\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Update to {version}', { version: _vm.app.update }),\"disabled\":_vm.installing || _vm.isLoading || _vm.isManualInstall},on:{\"click\":function($event){return _vm.update(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('input',{staticClass:\"uninstall\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Remove'),\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.remove(_vm.app.id, _vm.removeData)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.active)?_c('input',{staticClass:\"enable\",attrs:{\"type\":\"button\",\"value\":_vm.disableButtonText,\"disabled\":_vm.installing || _vm.isLoading || _vm.isInitializing || _vm.isDeploying},on:{\"click\":function($event){return _vm.disable(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(!_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible))?_c('input',{staticClass:\"enable primary\",attrs:{\"title\":_vm.enableButtonTooltip,\"aria-label\":_vm.enableButtonTooltip,\"type\":\"button\",\"value\":_vm.enableButtonText,\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.isLoading || !_vm.defaultDeployDaemonAccessible || _vm.isInitializing || _vm.isDeploying},on:{\"click\":_vm.enableButtonAction}}):(!_vm.app.active && !_vm.app.canInstall)?_c('input',{staticClass:\"enable force\",attrs:{\"title\":_vm.forceEnableButtonTooltip,\"aria-label\":_vm.forceEnableButtonTooltip,\"type\":\"button\",\"value\":_vm.forceEnableButtonText,\"disabled\":_vm.installing || _vm.isLoading},on:{\"click\":function($event){return _vm.forceEnable(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app?.app_api && (_vm.app.canInstall || _vm.app.isCompatible))?_c('NcButton',{attrs:{\"aria-label\":_vm.t('settings', 'Advanced deploy options'),\"type\":\"secondary\"},on:{\"click\":() => _vm.showDeployOptionsModal = true},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiToyBrickPlusOutline}})]},proxy:true}],null,false,973660380)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Deploy options'))+\"\\n\\t\\t\\t\\t\")]):_vm._e()],1),_vm._v(\" \"),(!_vm.defaultDeployDaemonAccessible)?_c('p',{staticClass:\"warning\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Default Deploy daemon is not accessible'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.removeData,\"disabled\":_vm.installing || _vm.isLoading || !_vm.defaultDeployDaemonAccessible},on:{\"update:checked\":_vm.toggleRemoveData}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Delete data on remove'))+\"\\n\\t\\t\\t\")]):_vm._e()],1),_vm._v(\" \"),_c('ul',{staticClass:\"app-details__dependencies\"},[(_vm.app.missingMinOwnCloudVersion)?_c('li',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app has no minimum {productName} version assigned. This will be an error in the future.', { productName: _vm.productName }))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.missingMaxOwnCloudVersion)?_c('li',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app has no maximum {productName} version assigned. This will be an error in the future.', { productName: _vm.productName }))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.app.canInstall)?_c('li',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app cannot be installed because the following dependencies are not fulfilled:'))+\"\\n\\t\\t\\t\\t\"),_c('ul',{staticClass:\"missing-dependencies\"},_vm._l((_vm.app.missingDependencies),function(dep,index){return _c('li',{key:index},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(dep)+\"\\n\\t\\t\\t\\t\\t\")])}),0)]):_vm._e()]),_vm._v(\" \"),(_vm.lastModified && !_vm.app.shipped)?_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Latest updated'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcDateTime',{attrs:{\"timestamp\":_vm.lastModified}})],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Author'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('p',{staticClass:\"app-details__authors\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.appAuthors)+\"\\n\\t\\t\\t\")])]),_vm._v(\" \"),_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Categories'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.appCategories)+\"\\n\\t\\t\\t\")])]),_vm._v(\" \"),(_vm.externalResources.length > 0)?_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(_vm._s(_vm.t('settings', 'Resources')))]),_vm._v(\" \"),_c('ul',{staticClass:\"app-details__documentation\",attrs:{\"aria-label\":_vm.t('settings', 'Documentation')}},_vm._l((_vm.externalResources),function(resource){return _c('li',{key:resource.id},[_c('a',{staticClass:\"appslink\",attrs:{\"href\":resource.href,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(resource.label)+\" ↗\\n\\t\\t\\t\\t\\t\")])])}),0)]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-details__section\"},[_c('h4',[_vm._v(_vm._s(_vm.t('settings', 'Interact')))]),_vm._v(\" \"),_c('div',{staticClass:\"app-details__interact\"},[_c('NcButton',{attrs:{\"disabled\":!_vm.app.bugs,\"href\":_vm.app.bugs ?? '#',\"aria-label\":_vm.t('settings', 'Report a bug'),\"title\":_vm.t('settings', 'Report a bug')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiBugOutline}})]},proxy:true}])}),_vm._v(\" \"),_c('NcButton',{attrs:{\"disabled\":!_vm.app.bugs,\"href\":_vm.app.bugs ?? '#',\"aria-label\":_vm.t('settings', 'Request feature'),\"title\":_vm.t('settings', 'Request feature')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiFeatureSearchOutline}})]},proxy:true}])}),_vm._v(\" \"),(_vm.app.appstoreData?.discussion)?_c('NcButton',{attrs:{\"href\":_vm.app.appstoreData.discussion,\"aria-label\":_vm.t('settings', 'Ask questions or discuss'),\"title\":_vm.t('settings', 'Ask questions or discuss')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiTooltipQuestionOutline}})]},proxy:true}],null,false,88743630)}):_vm._e(),_vm._v(\" \"),(!_vm.app.internal)?_c('NcButton',{attrs:{\"href\":_vm.rateAppUrl,\"aria-label\":_vm.t('settings', 'Rate the app'),\"title\":_vm.t('settings', 'Rate')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiStar}})]},proxy:true}],null,false,422450625)}):_vm._e()],1)]),_vm._v(\" \"),(_vm.app?.app_api)?_c('AppDeployOptionsModal',{attrs:{\"show\":_vm.showDeployOptionsModal,\"app\":_vm.app},on:{\"update:show\":function($event){_vm.showDeployOptionsModal=$event}}}):_vm._e(),_vm._v(\" \"),(_vm.app?.app_api)?_c('DaemonSelectionDialog',{attrs:{\"show\":_vm.showSelectDaemonModal,\"app\":_vm.app,\"deploy-options\":_vm.deployOptions},on:{\"update:show\":function($event){_vm.showSelectDaemonModal=$event}}}):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDeployOptionsModal.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!./AppDeployOptionsModal.vue?vue&type=script&lang=js\"","\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/vue-loader/lib/index.js??vue-loader-options!./AppDeployOptionsModal.vue?vue&type=style&index=0&id=d7fb3b54&prod&scoped=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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/vue-loader/lib/index.js??vue-loader-options!./AppDeployOptionsModal.vue?vue&type=style&index=0&id=d7fb3b54&prod&scoped=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDeployOptionsModal.vue?vue&type=template&id=d7fb3b54&scoped=true\"\nimport script from \"./AppDeployOptionsModal.vue?vue&type=script&lang=js\"\nexport * from \"./AppDeployOptionsModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppDeployOptionsModal.vue?vue&type=style&index=0&id=d7fb3b54&prod&scoped=true&lang=css\"\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 \"d7fb3b54\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcDialog',{attrs:{\"open\":_vm.show,\"size\":\"normal\",\"name\":_vm.t('settings', 'Advanced deploy options')},on:{\"update:open\":function($event){return _vm.$emit('update:show', $event)}},scopedSlots:_vm._u([(!_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible) && _vm.configuredDeployOptions === null)?{key:\"actions\",fn:function(){return [_c('NcButton',{attrs:{\"title\":_vm.enableButtonTooltip,\"aria-label\":_vm.enableButtonTooltip,\"type\":\"primary\",\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.isLoading || !_vm.defaultDeployDaemonAccessible || _vm.isInitializing || _vm.isDeploying},on:{\"click\":function($event){$event.stopPropagation();return _vm.submitDeployOptions.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.enableButtonText)+\"\\n\\t\\t\")])]},proxy:true}:null],null,true)},[_c('div',{staticClass:\"modal__content\"},[_c('p',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.configuredDeployOptions === null ? _vm.t('settings', 'Edit ExApp deploy options before installation') : _vm.t('settings', 'Configured ExApp deploy options. Can be set only during installation'))+\".\\n\\t\\t\\t\"),(_vm.deployOptionsDocsUrl)?_c('a',{attrs:{\"href\":_vm.deployOptionsDocsUrl}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Learn more'))+\"\\n\\t\\t\\t\")]):_vm._e()]),_vm._v(\" \"),(_vm.environmentVariables.length > 0 || (_vm.configuredDeployOptions !== null && _vm.configuredDeployOptions.environment_variables.length > 0))?_c('h3',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Environment variables'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.configuredDeployOptions === null)?_vm._l((_vm.environmentVariables),function(envVar){return _c('div',{key:envVar.envName,staticClass:\"deploy-option\"},[_c('NcTextField',{attrs:{\"label\":envVar.displayName,\"value\":_vm.deployOptions.environment_variables[envVar.envName]},on:{\"update:value\":function($event){return _vm.$set(_vm.deployOptions.environment_variables, envVar.envName, $event)}}}),_vm._v(\" \"),_c('p',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(envVar.description)+\"\\n\\t\\t\\t\\t\")])],1)}):(Object.keys(_vm.configuredDeployOptions).length > 0)?_c('fieldset',{staticClass:\"envs\"},[_c('legend',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'ExApp container environment variables'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_vm._l((_vm.configuredDeployOptions.environment_variables),function(value,key){return _c('NcTextField',{key:key,attrs:{\"label\":value.displayName ?? key,\"helper-text\":value.description,\"value\":value.value,\"readonly\":\"\"}})})],2):[_c('p',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'No environment variables defined'))+\"\\n\\t\\t\\t\")])],_vm._v(\" \"),_c('h3',[_vm._v(_vm._s(_vm.t('settings', 'Mounts')))]),_vm._v(\" \"),(_vm.configuredDeployOptions === null)?[_c('p',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Define host folder mounts to bind to the ExApp container'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcNoteCard',{attrs:{\"type\":\"info\",\"text\":_vm.t('settings', 'Must exist on the Deploy daemon host prior to installing the ExApp')}}),_vm._v(\" \"),_vm._l((_vm.deployOptions.mounts),function(mount){return _c('div',{key:mount.hostPath,staticClass:\"deploy-option\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"justify-content\":\"space-between\",\"flex-direction\":\"row\"}},[_c('NcTextField',{attrs:{\"label\":_vm.t('settings', 'Host path'),\"value\":mount.hostPath},on:{\"update:value\":function($event){return _vm.$set(mount, \"hostPath\", $event)}}}),_vm._v(\" \"),_c('NcTextField',{attrs:{\"label\":_vm.t('settings', 'Container path'),\"value\":mount.containerPath},on:{\"update:value\":function($event){return _vm.$set(mount, \"containerPath\", $event)}}}),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":mount.readonly},on:{\"update:checked\":function($event){return _vm.$set(mount, \"readonly\", $event)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Read-only'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{staticStyle:{\"margin-top\":\"6px\"},attrs:{\"aria-label\":_vm.t('settings', 'Remove mount')},on:{\"click\":function($event){return _vm.removeMount(mount)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiDeleteOutline}})]},proxy:true}],null,true)})],1)}),_vm._v(\" \"),(_vm.addingMount)?_c('div',{staticClass:\"deploy-option\"},[_c('h4',[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'New mount'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"justify-content\":\"space-between\",\"flex-direction\":\"row\"}},[_c('NcTextField',{ref:\"newMountHostPath\",attrs:{\"label\":_vm.t('settings', 'Host path'),\"aria-label\":_vm.t('settings', 'Enter path to host folder'),\"value\":_vm.newMountPoint.hostPath},on:{\"update:value\":function($event){return _vm.$set(_vm.newMountPoint, \"hostPath\", $event)}}}),_vm._v(\" \"),_c('NcTextField',{attrs:{\"label\":_vm.t('settings', 'Container path'),\"aria-label\":_vm.t('settings', 'Enter path to container folder'),\"value\":_vm.newMountPoint.containerPath},on:{\"update:value\":function($event){return _vm.$set(_vm.newMountPoint, \"containerPath\", $event)}}}),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.newMountPoint.readonly,\"aria-label\":_vm.t('settings', 'Toggle read-only mode')},on:{\"update:checked\":function($event){return _vm.$set(_vm.newMountPoint, \"readonly\", $event)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Read-only'))+\"\\n\\t\\t\\t\\t\\t\")])],1),_vm._v(\" \"),_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"margin-top\":\"4px\"}},[_c('NcButton',{attrs:{\"aria-label\":_vm.t('settings', 'Confirm adding new mount')},on:{\"click\":_vm.addMountPoint},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiCheck}})]},proxy:true}],null,false,1018299955)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Confirm'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{staticStyle:{\"margin-left\":\"4px\"},attrs:{\"aria-label\":_vm.t('settings', 'Cancel adding mount')},on:{\"click\":_vm.cancelAddMountPoint},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiClose}})]},proxy:true}],null,false,2764082467)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Cancel'))+\"\\n\\t\\t\\t\\t\\t\")])],1)]):_vm._e(),_vm._v(\" \"),(!_vm.addingMount)?_c('NcButton',{staticStyle:{\"margin-top\":\"5px\"},attrs:{\"aria-label\":_vm.t('settings', 'Add mount')},on:{\"click\":_vm.startAddingMount},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiPlus}})]},proxy:true}],null,false,103601839)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Add mount'))+\"\\n\\t\\t\\t\")]):_vm._e()]:(_vm.configuredDeployOptions.mounts.length > 0)?[_c('p',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'ExApp container mounts'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_vm._l((_vm.configuredDeployOptions.mounts),function(mount){return _c('div',{key:mount.hostPath,staticClass:\"deploy-option\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"justify-content\":\"space-between\",\"flex-direction\":\"row\"}},[_c('NcTextField',{attrs:{\"label\":_vm.t('settings', 'Host path'),\"value\":mount.hostPath,\"readonly\":\"\"},on:{\"update:value\":function($event){return _vm.$set(mount, \"hostPath\", $event)}}}),_vm._v(\" \"),_c('NcTextField',{attrs:{\"label\":_vm.t('settings', 'Container path'),\"value\":mount.containerPath,\"readonly\":\"\"},on:{\"update:value\":function($event){return _vm.$set(mount, \"containerPath\", $event)}}}),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":mount.readonly,\"disabled\":\"\"},on:{\"update:checked\":function($event){return _vm.$set(mount, \"readonly\", $event)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Read-only'))+\"\\n\\t\\t\\t\\t\")])],1)})]:_c('p',{staticClass:\"deploy-option__hint\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'No mounts defined'))+\"\\n\\t\\t\")])],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetailsTab.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!./AppDetailsTab.vue?vue&type=script&lang=js\"","\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!./AppDetailsTab.vue?vue&type=style&index=0&id=60bee524&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./AppDetailsTab.vue?vue&type=style&index=0&id=60bee524&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDetailsTab.vue?vue&type=template&id=60bee524&scoped=true\"\nimport script from \"./AppDetailsTab.vue?vue&type=script&lang=js\"\nexport * from \"./AppDetailsTab.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppDetailsTab.vue?vue&type=style&index=0&id=60bee524&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 \"60bee524\",\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!./AppReleasesTab.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!./AppReleasesTab.vue?vue&type=script&setup=true&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.hasChangelog)?_c(_setup.NcAppSidebarTab,{attrs:{\"id\":\"changelog\",\"name\":_setup.t('settings', 'Changelog'),\"order\":2},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiClockFast,\"size\":24}})]},proxy:true}],null,false,1849836872)},[_vm._v(\" \"),_vm._l((_vm.app.releases),function(release){return _c('div',{key:release.version,staticClass:\"app-sidebar-tabs__release\"},[_c('h2',[_vm._v(_vm._s(release.version))]),_vm._v(\" \"),_c(_setup.Markdown,{staticClass:\"app-sidebar-tabs__release-text\",attrs:{\"text\":_setup.createChangelogFromRelease(release)}})],1)})],2):_vm._e()\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!./AppReleasesTab.vue?vue&type=style&index=0&id=1114c30b&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./AppReleasesTab.vue?vue&type=style&index=0&id=1114c30b&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppReleasesTab.vue?vue&type=template&id=1114c30b&scoped=true\"\nimport script from \"./AppReleasesTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppReleasesTab.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppReleasesTab.vue?vue&type=style&index=0&id=1114c30b&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 \"1114c30b\",\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!./AppDeployDaemonTab.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!./AppDeployDaemonTab.vue?vue&type=script&setup=true&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.app?.daemon)?_c(_setup.NcAppSidebarTab,{attrs:{\"id\":\"daemon\",\"name\":_vm.t('settings', 'Daemon'),\"order\":3},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiFileChart,\"size\":24}})]},proxy:true}],null,false,1746493066)},[_vm._v(\" \"),_c('div',{staticClass:\"daemon\"},[_c('h4',[_vm._v(_vm._s(_vm.t('settings', 'Deploy Daemon')))]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(_vm._s(_vm.t('settings', 'Type')))]),_vm._v(\": \"+_vm._s(_vm.app?.daemon.accepts_deploy_id))]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(_vm._s(_vm.t('settings', 'Name')))]),_vm._v(\": \"+_vm._s(_vm.app?.daemon.name))]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(_vm._s(_vm.t('settings', 'Display Name')))]),_vm._v(\": \"+_vm._s(_vm.app?.daemon.display_name))]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(_vm._s(_vm.t('settings', 'GPUs support')))]),_vm._v(\": \"+_vm._s(_setup.gpuSupport))]),_vm._v(\" \"),_c('p',[_c('b',[_vm._v(_vm._s(_vm.t('settings', 'Compute device')))]),_vm._v(\": \"+_vm._s(_vm.app?.daemon?.deploy_config?.computeDevice?.label))])])]):_vm._e()\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!./AppDeployDaemonTab.vue?vue&type=style&index=0&id=e726cadc&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./AppDeployDaemonTab.vue?vue&type=style&index=0&id=e726cadc&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDeployDaemonTab.vue?vue&type=template&id=e726cadc&scoped=true\"\nimport script from \"./AppDeployDaemonTab.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppDeployDaemonTab.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppDeployDaemonTab.vue?vue&type=style&index=0&id=e726cadc&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 \"e726cadc\",\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.daemon)?_c('span',{staticClass:\"app-daemon-badge\",attrs:{\"title\":_vm.daemon.name}},[_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiFileChart,\"size\":20,\"inline\":\"\"}}),_vm._v(\"\\n\\t\"+_vm._s(_vm.daemon.display_name)+\"\\n\")],1):_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!./AppDaemonBadge.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!./AppDaemonBadge.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!./AppDaemonBadge.vue?vue&type=style&index=0&id=0698b3b8&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./AppDaemonBadge.vue?vue&type=style&index=0&id=0698b3b8&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDaemonBadge.vue?vue&type=template&id=0698b3b8&scoped=true\"\nimport script from \"./AppDaemonBadge.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppDaemonBadge.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppDaemonBadge.vue?vue&type=style&index=0&id=0698b3b8&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 \"0698b3b8\",\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!./AppStoreSidebar.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!./AppStoreSidebar.vue?vue&type=script&setup=true&lang=ts\"","import { mdiCog, mdiCogOutline } from '@mdi/js';\nimport { computed, ref, watchEffect } from 'vue';\nimport AppstoreCategoryIcons from '../constants/AppstoreCategoryIcons.ts';\nimport logger from '../logger.ts';\n/**\n * Get the app icon raw SVG for use with `NcIconSvgWrapper` (do never use without sanitizing)\n * It has a fallback to the categroy icon.\n *\n * @param app The app to get the icon for\n */\nexport function useAppIcon(app) {\n const appIcon = ref(null);\n /**\n * Fallback value if no app icon available\n */\n const categoryIcon = computed(() => {\n let path;\n if (app.value?.app_api) {\n // Use different default icon for ExApps (AppAPI)\n path = mdiCogOutline;\n }\n else {\n path = [app.value?.category ?? []].flat()\n .map((name) => AppstoreCategoryIcons[name])\n .filter((icon) => !!icon)\n .at(0)\n ?? (!app.value?.app_api ? mdiCog : mdiCogOutline);\n }\n return path ? `` : null;\n });\n watchEffect(async () => {\n // Note: Only variables until the first `await` will be watched!\n if (!app.value?.preview) {\n appIcon.value = categoryIcon.value;\n }\n else {\n appIcon.value = null;\n // Now try to load the real app icon\n try {\n const response = await window.fetch(app.value.preview);\n const blob = await response.blob();\n const rawSvg = await blob.text();\n appIcon.value = rawSvg.replaceAll(/fill=\"#(fff|ffffff)([a-z0-9]{1,2})?\"/ig, 'fill=\"currentColor\"');\n }\n catch (error) {\n appIcon.value = categoryIcon.value;\n logger.error('Could not load app icon', { error });\n }\n }\n });\n return {\n appIcon,\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!./AppStoreSidebar.vue?vue&type=style&index=0&id=ffae2952&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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!./AppStoreSidebar.vue?vue&type=style&index=0&id=ffae2952&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppStoreSidebar.vue?vue&type=template&id=ffae2952&scoped=true\"\nimport script from \"./AppStoreSidebar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStoreSidebar.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppStoreSidebar.vue?vue&type=style&index=0&id=ffae2952&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 \"ffae2952\",\n null\n \n)\n\nexport default component.exports"],"names":["APPS_SECTION_ENUM","Object","freeze","discover","t","installed","enabled","disabled","updates","featured","supported","rebuild_navigation","axios","get","generateOcsUrl","then","data","ocs","meta","statuscode","emit","apps","window","dispatchEvent","Event","__webpack_require__","dn","productName","OC","theme","AppManagement","computed","appGroups","this","app","groups","map","group","id","name","installing","app_api","appApiStore","getLoading","$store","getters","loading","isLoading","isInitializing","status","action","isDeploying","isManualInstall","daemon","accepts_deploy_id","updateButtonText","version","update","enableButtonText","progress","deploy","init","needsDownload","disableButtonText","forceEnableButtonText","enableButtonTooltip","forceEnableButtonTooltip","base","defaultDeployDaemonAccessible","getDefaultDaemon","getDaemonAccessible","groupCheckedAppsData","mounted","length","methods","asyncFindGroup","query","dispatch","search","limit","offset","isLimitedToGroups","setGroupLimit","appId","canLimitToGroups","types","includes","addGroupLimitation","groupArray","pop","concat","store","updateAppGroups","removeGroupLimitation","currentGroups","index","indexOf","splice","forceEnable","forceEnableApp","rebuildNavigation","catch","error","showError","response","enable","deployOptions","enableApp","disable","disableApp","remove","removeData","uninstallApp","install","updateApp","updateCount","Math","max","__WEBPACK_DEFAULT_EXPORT__","mdiStarCircleOutline","mdiAccountOutline","mdiCheck","mdiClose","bundles","mdiArchiveOutline","mdiStarShootingOutline","mdiStar","mdiDownload","ai","mdiCreationOutline","auth","mdiKeyOutline","customization","mdiCogOutline","dashboard","mdiViewColumnOutline","files","mdiFolder","games","mdiControllerClassicOutline","integration","mdiOpenInApp","monitoring","mdiMonitorEye","multimedia","mdiMultimedia","office","mdiFileDocumentEdit","organization","mdiOfficeBuildingOutline","mdiMagnify","security","mdiSecurity","social","mdiAccountMultipleOutline","tools","mdiTools","workflow","mdiClipboardFlowOutline","useAppApiStore","defineStore","state","loadState","loadingList","statusUpdater","daemonAccessible","defaultDaemon","dockerDaemons","getAllApps","getUpdateCount","getAppStatus","find","getStatusUpdater","getInitializingOrDeployingApps","filter","type","actions","appsApiFailure","message","isHTML","logger","setLoading","value","Vue","setError","Array","isArray","forEach","_id","confirmPassword","post","generateUrl","active","canUnInstall","removable","updateAppsStatus","update_required","showInfo","onClick","location","reload","close","setTimeout","api","canInstall","undefined","fetchAllApps","fetchAppStatus","initializingOrDeployingApps","console","debug","clearInterval","hasOwn","fetchDockerDaemons","daemons","default_daemon_config","setInterval","showApiError","useAppsStore","categories","gettingCategoriesPromise","loadCategories","force","category","icon","APPSTORE_CATEGORY_ICONS","$patch","loadApps","getCategoryById","categoryId","getAppById","___CSS_LOADER_EXPORT___","_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default","_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default","push","module","sources","names","mappings","sourcesContent","sourceRoot","vue_material_design_icons_FormatListBulletedvue_type_script_lang_js","emits","props","title","String","fillColor","default","size","Number","FormatListBulleted","componentNormalizer","A","_vm","_c","_self","_b","staticClass","attrs","role","on","click","$event","$emit","$attrs","fill","width","height","viewBox","d","_v","_s","_e","AppAPI_DaemonSelectionEntryvue_type_script_lang_js","components","NcListItem","mixins","required","isDefault","Boolean","setup","itemTitle","display_name","closeModal","selectDaemonAndInstall","DaemonSelectionEntry_component","details","exAppsCount","stopPropagation","apply","arguments","scopedSlots","_u","key","fn","proxy","DaemonSelectionEntry","AppAPI_DaemonSelectionListvue_type_script_setup_true_lang_js","appApiAdminPage","options","styleTagTransform","styleTagTransform_default","setAttributes","setAttributesWithoutAttributes_default","insert","insertBySelector_default","bind","domAPI","styleDomAPI_default","insertStyleElement","insertStyleElement_default","injectStylesIntoStyleTag_default","DaemonSelectionListvue_type_style_index_0_id_07c487de_prod_scoped_true_lang_scss","locals","DaemonSelectionList","_setup","_setupProxy","_l","NcEmptyContent","description","FormatListBullet","NcButton","href","AppAPI_DaemonSelectionDialogvue_type_script_setup_true_lang_js","DaemonSelectionDialog","NcDialog","open","show","appName","components_SvgFilterMixinvue_type_script_lang_js","filterId","filterUrl","random","toString","substring","SvgFilterMixin","SvgFilterMixin_render","SvgFilterMixin_staticRenderFns","AppList_AppItemvue_type_script_lang_js","AppLevelBadge","AppScore","NcIconSvgWrapper","listView","useBundleView","headers","inline","isSelected","scrolled","screenshotLoaded","showSelectDaemonModal","hasRating","appstoreData","ratingNumOverall","dataItemTag","withSidebar","$route","params","shouldDisplayDefaultIcon","preview","watch","releases","screenshot","image","Image","onload","src","watchers","prefix","content","getDataItemHeaders","columnName","join","showSelectionModal","enableButtonAction","AppItemvue_type_style_index_0_id_2e0b174b_prod_scoped_true_lang_scss","AppItem_component","tag","class","staticStyle","path","x","y","preserveAspectRatio","alt","to","summary","level","score","isCompatible","AppItem","AppList_AppLevelBadgevue_type_script_setup_true_lang_ts","_defineComponent","__name","__props","isSupported","isFeatured","badgeIcon","badgeText","badgeTitle","__sfc","AppLevelBadgevue_type_style_index_0_id_4f1ef3a1_prod_scoped_true_lang_scss","AppList_AppScorevue_type_script_lang_ts","defineComponent","mdi","ZL5","mdiStarHalfFull","tdF","mdiStarOutline","appScore","toFixed","fullStars","floor","emptyStars","min","hasHalfStar","AppScorevue_type_style_index_0_id_d9bfc6c8_prod_scoped_true_lang_css","Node","constructor","_defineProperty","_head","WeakMap","_tail","_size","Queue","_classPrivateFieldInitSpec","clear","enqueue","_this$size","node","_classPrivateFieldGet","next","_classPrivateFieldSet","dequeue","_this$size3","current","peek","Symbol","iterator","drain","pLimit","concurrency","rejectOnClear","validateConcurrency","TypeError","queue","activeCount","resumeNext","run","async","function_","resolve","arguments_","result","generator","Promise","reject","queueItem","internalResolve","defineProperties","pendingCount","clearQueue","abortError","AbortSignal","abort","reason","set","newConcurrency","queueMicrotask","iterable","promises","from","all","isInteger","POSITIVE_INFINITY","components_AppListvue_type_script_lang_js","counter","hasPendingUpdate","showUpdateAll","useListView","exApps","isAppApiEnabled","toLowerCase","sort","a","b","natSortDiff","Util","naturalSortCompare","sortStringA","sortStringB","appstore","getAppBundles","bundle","bundleApps","bundleIds","searchApps","_app","useAppStoreView","allBundlesEnabled","bundleToggleText","beforeDestroy","unsubscribe","setSearch","resetSearch","subscribe","toggleBundle","disableBundle","enableBundle","Notification","updateAll","updateTasks","AppListvue_type_style_index_0_id_3b475be6_prod_lang_scss_scoped_true","AppList","n","colspan","scope","parseApiResponse","element","appElement","date","Date","parse","expiryDate","Error","filterElements","now","AppStoreDiscover_AppStoreDiscoverSectionvue_type_script_setup_true_lang_ts","PostType","defineAsyncComponent","e","CarouselType","ShowcaseType","hasError","ref","elements","shuffleArray","array","i","j","onBeforeMount","info","parsedElements","shuffledElements","order","Infinity","getComponent","render","h","mdiEyeOffOutline","tQ_","dist","Tl","NcLoadingIcon","AppStoreDiscoverSectionvue_type_style_index_0_id_114ea95a_prod_scoped_true_lang_scss_options","AppStoreDiscoverSectionvue_type_style_index_0_id_114ea95a_prod_scoped_true_lang_scss","AppStoreDiscoverSection","entry","views_AppStorevue_type_script_setup_true_lang_ts","route","useRoute","currentCategory","viewLabel","displayName","pageHeading","pageTitle","instance","getCurrentInstance","shouldRefetchCategories","onBeforeUnmount","NcAppContent","AppStorevue_type_style_index_0_id_cd4ac3b0_prod_scoped_true_lang_css_options","AppStorevue_type_style_index_0_id_cd4ac3b0_prod_scoped_true_lang_css","AppStore","domProps","textContent","views_AppStoreNavigationvue_type_script_setup_true_lang_ts","appstoreEnabled","categoriesLoading","isSubscribed","l10n_dist","AppsConstants","l","NcAppNavigation","NcAppNavigationItem","NcAppNavigationSpacer","NcCounterBubble","AppStoreNavigationvue_type_style_index_0_id_97b4ee00_prod_scoped_true_lang_css","AppStoreNavigation","components_Markdownvue_type_script_lang_js","text","minHeading","renderMarkdown","renderer","marked","Renderer","link","prot","decodeURIComponent","unescape","replace","out","heading","depth","blockquote","dompurify","sanitize","trim","gfm","highlight","tables","breaks","pedantic","smartLists","smartypants","SAFE_FOR_JQUERY","ALLOWED_TAGS","Markdownvue_type_style_index_0_id_35d8331c_prod_scoped_true_lang_scss","Markdown","innerHTML","AppStoreSidebar_AppDescriptionTabvue_type_script_setup_true_lang_ts","mdiTextShort","azb","NcAppSidebarTab","AppDescriptionTabvue_type_style_index_0_id_10fcea52_prod_scoped_true_lang_scss_options","AppDescriptionTabvue_type_style_index_0_id_10fcea52_prod_scoped_true_lang_scss","AppDescriptionTab","AppStoreSidebar_AppDeployOptionsModalvue_type_script_lang_js","NcTextField","NcNoteCard","NcCheckboxRadioSwitch","environmentVariables","environment_variables","reduce","acc","envVar","envName","mounts","mdiPlus","biz","Tfj","hyP","mdiDeleteOutline","addingMount","newMountPoint","hostPath","containerPath","readonly","addingPortBinding","configuredDeployOptions","deployOptionsDocsUrl","newShow","fetchExAppDeployOptions","startAddingMount","$nextTick","$refs","newMountHostPath","focus","addMountPoint","cancelAddMountPoint","removeMount","mountToRemove","mount","submitDeployOptions","AppDeployOptionsModalvue_type_style_index_0_id_d7fb3b54_prod_scoped_true_lang_css_options","AppDeployOptionsModalvue_type_style_index_0_id_d7fb3b54_prod_scoped_true_lang_css","AppDeployOptionsModal_component","label","$set","keys","display","checked","AppDeployOptionsModal","AppStoreSidebar_AppDetailsTabvue_type_script_lang_js","NcDateTime","NcSelect","mdiBugOutline","Le7","mdiFeatureSearchOutline","Jtd","mdiTextBoxOutline","fXo","mdiTooltipQuestionOutline","knh","mdiToyBrickPlusOutline","showDeployOptionsModal","lastModified","at","appAuthors","warn","authorName","xmlNode","author","split","localeCompare","appstoreUrl","externalResources","resources","internal","website","documentation","user","admin","developer","appCategories","flat","rateAppUrl","getGroups","beforeUnmount","toggleRemoveData","AppDetailsTabvue_type_style_index_0_id_60bee524_prod_scoped_true_lang_scss_options","AppDetailsTabvue_type_style_index_0_id_60bee524_prod_scoped_true_lang_scss","AppDetailsTab","directives","rawName","expression","_i","change","$$a","$$el","target","$$c","$$v","$$i","slice","for","multiple","slot","missingMinOwnCloudVersion","missingMaxOwnCloudVersion","missingDependencies","dep","shipped","timestamp","resource","rel","bugs","discussion","AppStoreSidebar_AppReleasesTabvue_type_script_setup_true_lang_ts","hasChangelog","values","translations","some","changelog","createChangelogFromRelease","release","getLanguage","en","mdiClockFast","NWU","AppReleasesTabvue_type_style_index_0_id_1114c30b_prod_scoped_true_lang_scss_options","AppReleasesTabvue_type_style_index_0_id_1114c30b_prod_scoped_true_lang_scss","AppReleasesTab","AppStoreSidebar_AppDeployDaemonTabvue_type_script_setup_true_lang_ts","gpuSupport","deploy_config","computeDevice","mdiFileChart","AppDeployDaemonTabvue_type_style_index_0_id_e726cadc_prod_scoped_true_lang_scss_options","AppDeployDaemonTabvue_type_style_index_0_id_e726cadc_prod_scoped_true_lang_scss","AppDeployDaemonTab","AppList_AppDaemonBadgevue_type_script_setup_true_lang_ts","pTY","AppDaemonBadgevue_type_style_index_0_id_0698b3b8_prod_scoped_true_lang_scss_options","AppDaemonBadgevue_type_style_index_0_id_0698b3b8_prod_scoped_true_lang_scss","AppDaemonBadge","views_AppStoreSidebarvue_type_script_setup_true_lang_ts","router","useRouter","legacyStore","useStore","exApp","rating","ratingNumRecent","ratingRecent","ratingOverall","showSidebar","appIcon","categoryIcon","AppstoreCategoryIcons","mdiCog","watchEffect","fetch","blob","rawSvg","replaceAll","useAppIcon","licenseText","license","licence","toUpperCase","activeTab","hasScreenshot","loadScreenshot","onMounted","hideAppDetails","NcAppSidebar","NcAppSidebar_CEo2tgBa","N","AppStoreSidebarvue_type_style_index_0_id_ffae2952_prod_scoped_true_lang_scss_options","AppStoreSidebarvue_type_style_index_0_id_ffae2952_prod_scoped_true_lang_scss","AppStoreSidebar","background","compact","subname","subtitle","svg"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/settings-vue-settings-apps-users-management.js b/dist/settings-vue-settings-apps-users-management.js index 825b0512ea7bc..0df3aab5416cc 100644 --- a/dist/settings-vue-settings-apps-users-management.js +++ b/dist/settings-vue-settings-apps-users-management.js @@ -1,2 +1,2 @@ -(()=>{var e,r,s,a={6028(e,t,r){"use strict";r.d(t,{A:()=>o});var s=r(44368),a=r(16780);const i=function(e){return e.replace(/\/$/,"")},o={requireAdmin:()=>(0,a.C5)(),get:(e,t)=>s.Ay.get(i(e),t),post:(e,t,r)=>s.Ay.post(i(e),t,r),patch:(e,t)=>s.Ay.patch(i(e),t),put:(e,t)=>s.Ay.put(i(e),t),delete:(e,t)=>s.Ay.delete(i(e),{params:t})}},14744(e,r,s){"use strict";s.d(r,{P:()=>M});var a=s(95353),i=s(80474),o=s(87485),n=s(35810),c=s(85168),u=s(63814),p=s(81222),d=s(44368),l=s(15916),m=s(53334);const E=Intl.Collator([(0,m.Z0)(),(0,m.lO)()],{numeric:!0,usage:"sort"});var g=s(6028),h=s(36620);const A=(0,p.C)("settings","usersSettings",{}),f=(0,i.c0)("settings").persist(!0).build(),I={id:"",name:"",usercount:0,disabled:0,canAdd:!0,canRemove:!0},T={users:[],groups:[...A.getSubAdminGroups??[],...A.systemGroups??[]],orderBy:A.sortGroups??l.q.UserCount,minPasswordLength:0,usersOffset:0,usersLimit:25,disabledUsersOffset:0,disabledUsersLimit:25,userCount:A.userCount??0,showConfig:{showStoragePath:"true"===f.getItem("account_settings__showStoragePath"),showUserBackend:"true"===f.getItem("account_settings__showUserBackend"),showFirstLogin:"true"===f.getItem("account_settings__showFirstLogin"),showLastLogin:"true"===f.getItem("account_settings__showLastLogin"),showNewUserForm:"true"===f.getItem("account_settings__showNewUserForm"),showLanguages:"true"===f.getItem("account_settings__showLanguages")}},N={appendUsers(e,t){const r=e.users.map(({id:e})=>e),s=Object.values(t).filter(({id:e})=>!r.includes(e)),a=e.users.concat(s);e.usersOffset+=e.usersLimit,e.users=a},updateDisabledUsers(e,t){e.disabledUsersOffset+=e.disabledUsersLimit},setPasswordPolicyMinLength(e,t){e.minPasswordLength=""!==t?t:0},addGroup(e,t){try{if(void 0!==e.groups.find(e=>e.id===t.id))return;const r=Object.assign({},I,t);e.groups.unshift(r)}catch(e){console.error("Can't create group",e)}},renameGroup(e,{gid:t,displayName:r}){const s=e.groups.findIndex(e=>e.id===t);if(s>=0){const t=e.groups[s];t.name=r,e.groups.splice(s,1,t)}},removeGroup(e,t){const r=e.groups.findIndex(e=>e.id===t);r>=0&&e.groups.splice(r,1)},addUserGroup(e,{userid:t,gid:r}){const s=e.groups.find(e=>e.id===r),a=e.users.find(e=>e.id===t);s&&a.enabled&&e.userCount>0&&s.usercount++,a.groups.push(r)},removeUserGroup(e,{userid:t,gid:r}){const s=e.groups.find(e=>e.id===r),a=e.users.find(e=>e.id===t);s&&a.enabled&&e.userCount>0&&s.usercount--;const i=a.groups;i.splice(i.indexOf(r),1)},addUserSubAdmin(e,{userid:t,gid:r}){e.users.find(e=>e.id===t).subadmin.push(r)},removeUserSubAdmin(e,{userid:t,gid:r}){const s=e.users.find(e=>e.id===t).subadmin;s.splice(s.indexOf(r),1)},deleteUser(e,t){const r=e.users.findIndex(e=>e.id===t);this.commit("updateUserCounts",{user:e.users[r],actionType:"remove"}),e.users.splice(r,1)},addUserData(e,t){const r=t.data.ocs.data;e.users.unshift(r),this.commit("updateUserCounts",{user:r,actionType:"create"})},enableDisableUser(e,{userid:t,enabled:r}){const s=e.users.find(e=>e.id===t);s.enabled=r,this.commit("updateUserCounts",{user:s,actionType:r?"enable":"disable"})},updateUserCounts(e,{user:t,actionType:r}){if(0===e.userCount)return;const s=e.groups.find(e=>"__nc_internal_recent"===e.id),a=e.groups.find(e=>"disabled"===e.id);switch(r){case"enable":case"disable":a.usercount+=t.enabled?-1:1,s.usercount+=t.enabled?1:-1,e.userCount+=t.enabled?1:-1,t.groups.forEach(r=>{const s=e.groups.find(e=>e.id===r);s&&(s.disabled+=t.enabled?-1:1)});break;case"create":s.usercount++,e.userCount++,t.groups.forEach(t=>{const r=e.groups.find(e=>e.id===t);r&&r.usercount++});break;case"remove":t.enabled?(s.usercount--,e.userCount--,t.groups.forEach(t=>{const r=e.groups.find(e=>e.id===t);r?r.usercount--:console.warn("User group "+t+" does not exist during user removal")})):(a.usercount--,t.groups.forEach(t=>{const r=e.groups.find(e=>e.id===t);r&&r.disabled--}));break;default:h.A.error(`Unknown action type in updateUserCounts: '${r}'`)}},setUserData(e,{userid:t,key:r,value:s}){if("quota"===r){const a=(0,n.lT)(s,!0);e.users.find(e=>e.id===t)[r][r]=null!==a?a:s}else e.users.find(e=>e.id===t)[r]=s},resetUsers(e){e.users=[],e.usersOffset=0,e.disabledUsersOffset=0},resetGroups(e){e.groups=[...A.getSubAdminGroups??[],...A.systemGroups??[]]},setShowConfig(e,{key:t,value:r}){f.setItem(`account_settings__${t}`,JSON.stringify(r)),e.showConfig[t]=r},setGroupSorting(e,r){const s=e.orderBy;e.orderBy=r,d.Ay.post((0,u.Jv)("/settings/users/preferences/group.sortBy"),{value:String(r)}).catch(r=>{e.orderBy=s,(0,c.Qg)(t("settings","Could not set group sorting")),h.A.error(r)})}},b={getUsers:e=>e.users,getGroups:e=>e.groups,getSubAdminGroups:()=>A.subAdminGroups??[],getSortedGroups(e){const t=[...e.groups];return e.orderBy===l.q.UserCount?t.sort((e,t)=>{const r=e.usercount-e.disabled,s=t.usercount-t.disabled;return rE.compare(e.name,t.name))},getGroupSorting:e=>e.orderBy,getPasswordPolicyMinLength:e=>e.minPasswordLength,getUsersOffset:e=>e.usersOffset,getUsersLimit:e=>e.usersLimit,getDisabledUsersOffset:e=>e.disabledUsersOffset,getDisabledUsersLimit:e=>e.disabledUsersLimit,getUserCount:e=>e.userCount,getShowConfig:e=>e.showConfig},_=d.Ay.CancelToken;let L=null;const R={state:T,mutations:N,getters:b,actions:{searchUsers:(e,{offset:t,limit:r,search:s})=>(s="string"==typeof s?s:"",g.A.get((0,u.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:t,limit:r,search:s})).catch(t=>{d.Ay.isCancel(t)||e.commit("API_FAILURE",t)})),getUser:(e,t)=>g.A.get((0,u.KT)(`cloud/users/${t}`)).catch(t=>{d.Ay.isCancel(t)||e.commit("API_FAILURE",t)}),getUsers:(e,{offset:t,limit:r,search:s,group:a})=>(L&&L.cancel("Operation canceled by another search request."),L=_.source(),s=(s="string"==typeof s?s:"").replace(/in:[^\s]+/g,"").trim(),""!==(a="string"==typeof a?a:"")?g.A.get((0,u.KT)("cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}",{group:encodeURIComponent(a),offset:t,limit:r,search:s}),{cancelToken:L.token}).then(t=>{const r=Object.keys(t.data.ocs.data.users).length;return r>0&&e.commit("appendUsers",t.data.ocs.data.users),r}).catch(t=>{d.Ay.isCancel(t)||e.commit("API_FAILURE",t)}):g.A.get((0,u.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:t,limit:r,search:s}),{cancelToken:L.token}).then(t=>{const r=Object.keys(t.data.ocs.data.users).length;return r>0&&e.commit("appendUsers",t.data.ocs.data.users),r}).catch(t=>{d.Ay.isCancel(t)||e.commit("API_FAILURE",t)})),async getRecentUsers(e,{offset:t,limit:r,search:s}){const a=(0,u.KT)("cloud/users/recent?offset={offset}&limit={limit}&search={search}",{offset:t,limit:r,search:s});try{const t=await g.A.get(a),r=Object.keys(t.data.ocs.data.users).length;return r>0&&e.commit("appendUsers",t.data.ocs.data.users),r}catch(t){e.commit("API_FAILURE",t)}},async getDisabledUsers(e,{offset:t,limit:r,search:s}){const a=(0,u.KT)("cloud/users/disabled?offset={offset}&limit={limit}&search={search}",{offset:t,limit:r,search:s});try{const t=await g.A.get(a),r=Object.keys(t.data.ocs.data.users).length;return r>0&&(e.commit("appendUsers",t.data.ocs.data.users),e.commit("updateDisabledUsers",t.data.ocs.data.users)),r}catch(t){e.commit("API_FAILURE",t)}},getGroups(e,{offset:t,limit:r,search:s}){s="string"==typeof s?s:"";const a=-1===r?"":`&limit=${r}`;return g.A.get((0,u.KT)("cloud/groups?offset={offset}&search={search}",{offset:t,search:s})+a).then(t=>Object.keys(t.data.ocs.data.groups).length>0&&(t.data.ocs.data.groups.forEach(function(t){e.commit("addGroup",{id:t,name:t})}),!0)).catch(t=>e.commit("API_FAILURE",t))},getUsersFromList:(e,{offset:t,limit:r,search:s})=>(s="string"==typeof s?s:"",g.A.get((0,u.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:t,limit:r,search:s})).then(t=>Object.keys(t.data.ocs.data.users).length>0&&(e.commit("appendUsers",t.data.ocs.data.users),!0)).catch(t=>e.commit("API_FAILURE",t))),getUsersFromGroup:(e,{groupid:t,offset:r,limit:s})=>g.A.get((0,u.KT)("cloud/users/{groupId}/details?offset={offset}&limit={limit}",{groupId:encodeURIComponent(t),offset:r,limit:s})).then(t=>e.commit("getUsersFromList",t.data.ocs.data.users)).catch(t=>e.commit("API_FAILURE",t)),getPasswordPolicyMinLength:e=>!(!(0,o.F)().password_policy||!(0,o.F)().password_policy.minLength)&&(e.commit("setPasswordPolicyMinLength",(0,o.F)().password_policy.minLength),(0,o.F)().password_policy.minLength),addGroup:(e,t)=>g.A.requireAdmin().then(r=>g.A.post((0,u.KT)("cloud/groups"),{groupid:t}).then(r=>(e.commit("addGroup",{id:t,name:t}),{gid:t,displayName:t})).catch(e=>{throw e})).catch(r=>{throw e.commit("API_FAILURE",{gid:t,error:r}),r}),renameGroup:(e,{groupid:t,displayName:r})=>g.A.requireAdmin().then(s=>g.A.put((0,u.KT)("cloud/groups/{groupId}",{groupId:encodeURIComponent(t)}),{key:"displayname",value:r}).then(s=>(e.commit("renameGroup",{gid:t,displayName:r}),{groupid:t,displayName:r})).catch(e=>{throw e})).catch(r=>{throw e.commit("API_FAILURE",{groupid:t,error:r}),r}),removeGroup:(e,t)=>g.A.requireAdmin().then(r=>g.A.delete((0,u.KT)("cloud/groups/{groupId}",{groupId:encodeURIComponent(t)})).then(r=>e.commit("removeGroup",t)).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{gid:t,error:r})),addUserGroup:(e,{userid:t,gid:r})=>g.A.requireAdmin().then(s=>g.A.post((0,u.KT)("cloud/users/{userid}/groups",{userid:t}),{groupid:r}).then(s=>e.commit("addUserGroup",{userid:t,gid:r})).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r})),removeUserGroup:(e,{userid:t,gid:r})=>g.A.requireAdmin().then(s=>g.A.delete((0,u.KT)("cloud/users/{userid}/groups",{userid:t}),{groupid:r}).then(s=>e.commit("removeUserGroup",{userid:t,gid:r})).catch(e=>{throw e})).catch(r=>{throw e.commit("API_FAILURE",{userid:t,error:r}),r}),addUserSubAdmin:(e,{userid:t,gid:r})=>g.A.requireAdmin().then(s=>g.A.post((0,u.KT)("cloud/users/{userid}/subadmins",{userid:t}),{groupid:r}).then(s=>e.commit("addUserSubAdmin",{userid:t,gid:r})).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r})),removeUserSubAdmin:(e,{userid:t,gid:r})=>g.A.requireAdmin().then(s=>g.A.delete((0,u.KT)("cloud/users/{userid}/subadmins",{userid:t}),{groupid:r}).then(s=>e.commit("removeUserSubAdmin",{userid:t,gid:r})).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r})),async wipeUserDevices(e,t){try{return await g.A.requireAdmin(),await g.A.post((0,u.KT)("cloud/users/{userid}/wipe",{userid:t}))}catch(r){return e.commit("API_FAILURE",{userid:t,error:r}),Promise.reject(new Error("Failed to wipe user devices"))}},deleteUser:(e,t)=>g.A.requireAdmin().then(r=>g.A.delete((0,u.KT)("cloud/users/{userid}",{userid:t})).then(r=>e.commit("deleteUser",t)).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r})),addUser:({commit:e,dispatch:t},{userid:r,password:s,displayName:a,email:i,groups:o,subadmin:n,quota:c,language:p,manager:d})=>g.A.requireAdmin().then(e=>g.A.post((0,u.KT)("cloud/users"),{userid:r,password:s,displayName:a,email:i,groups:o,subadmin:n,quota:c,language:p,manager:d}).then(e=>t("addUserData",r||e.data.ocs.data.id)).catch(e=>{throw e})).catch(t=>{throw e("API_FAILURE",{userid:r,error:t}),t}),addUserData:(e,t)=>g.A.requireAdmin().then(r=>g.A.get((0,u.KT)("cloud/users/{userid}",{userid:t})).then(t=>e.commit("addUserData",t)).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r})),enableDisableUser(e,{userid:t,enabled:r=!0}){const s=r?"enable":"disable";return g.A.requireAdmin().then(a=>g.A.put((0,u.KT)("cloud/users/{userid}/{userStatus}",{userid:t,userStatus:s})).then(s=>e.commit("enableDisableUser",{userid:t,enabled:r})).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r}))},async setUserData(e,{userid:t,key:r,value:s}){if(!["email","language","quota","displayname","password","manager"].includes(r))throw new Error("Invalid request data");if(""===s&&!["email","displayname","manager"].includes(r))throw new Error("Value cannot be empty for this field");try{return await g.A.requireAdmin(),await g.A.put((0,u.KT)("cloud/users/{userid}",{userid:t}),{key:r,value:s}),e.commit("setUserData",{userid:t,key:r,value:s})}catch(r){throw e.commit("API_FAILURE",{userid:t,error:r}),r}},sendWelcomeMail:(e,t)=>g.A.requireAdmin().then(e=>g.A.post((0,u.KT)("cloud/users/{userid}/welcome",{userid:t})).then(e=>!0).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r}))}};var O=s(85471),C=s(16780);const y={apps:[],bundles:(0,p.C)("settings","appstoreBundles",[]),categories:[],updateCount:(0,p.C)("settings","appstoreUpdateCount",0),loading:{},gettingCategoriesPromise:null,appApiEnabled:(0,p.C)("settings","appApiEnabled",!1)},v={APPS_API_FAILURE(e,r){(0,c.Qg)(t("settings","An error occurred during the request. Unable to proceed.")+"
"+r.error.response.data.data.message,{isHTML:!0}),console.error(e,r)},initCategories(e,{categories:t,updateCount:r}){e.categories=t,e.updateCount=r},updateCategories(e,t){e.gettingCategoriesPromise=t},setUpdateCount(e,t){e.updateCount=t},addCategory(e,t){e.categories.push(t)},appendCategories(e,t){e.categories=t},setAllApps(e,t){e.apps=t},setError(e,{appId:t,error:r}){Array.isArray(t)||(t=[t]),t.forEach(t=>{e.apps.find(e=>e.id===t).error=r})},clearError(e,{appId:t,error:r}){e.apps.find(e=>e.id===t).error=null},enableApp(e,{appId:t,groups:r}){const s=e.apps.find(e=>e.id===t);s.active=!0,O.Ay.set(s,"groups",[...r]),"app_api"===s.id&&(e.appApiEnabled=!0)},setInstallState(e,{appId:t,canInstall:r}){const s=e.apps.find(e=>e.id===t);s&&(s.canInstall=!0===r)},disableApp(e,t){const r=e.apps.find(e=>e.id===t);r.active=!1,r.groups=[],r.removable&&(r.canUnInstall=!0),"app_api"===r.id&&(e.appApiEnabled=!1)},uninstallApp(e,t){e.apps.find(e=>e.id===t).active=!1,e.apps.find(e=>e.id===t).groups=[],e.apps.find(e=>e.id===t).needsDownload=!0,e.apps.find(e=>e.id===t).installed=!1,e.apps.find(e=>e.id===t).canUnInstall=!1,e.apps.find(e=>e.id===t).canInstall=!0,"app_api"===t&&(e.appApiEnabled=!1)},updateApp(e,t){const r=e.apps.find(e=>e.id===t),s=r.update;r.update=null,r.version=s,e.updateCount--},resetApps(e){e.apps=[]},reset(e){e.apps=[],e.categories=[],e.updateCount=0},startLoading(e,t){Array.isArray(t)?t.forEach(t=>{O.Ay.set(e.loading,t,!0)}):O.Ay.set(e.loading,t,!0)},stopLoading(e,t){Array.isArray(t)?t.forEach(t=>{O.Ay.set(e.loading,t,!1)}):O.Ay.set(e.loading,t,!1)}},U={enableApp(e,{appId:r,groups:s}){let a;a=Array.isArray(r)?r:[r],e.commit("startLoading",a),e.commit("startLoading","install");const i={};return a.forEach(t=>{const r=e.state.apps.find(e=>e.id===t);r&&(i[t]={active:r.active,groups:[...r.groups||[]]},e.commit("enableApp",{appId:t,groups:s}))}),g.A.post((0,u.Jv)("settings/apps/enable"),{appIds:a,groups:s},{confirmPassword:C.mH.Strict}).then(s=>(e.commit("stopLoading",a),e.commit("stopLoading","install"),d.Ay.get((0,u.Jv)("apps/files/")).then(()=>{s.data.update_required&&((0,c.cf)(t("settings","The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds."),{onClick:()=>window.location.reload(),close:!1}),setTimeout(function(){location.reload()},5e3))}).catch(()=>{Array.isArray(r)||((0,c.Qg)(t("settings","Error: This app cannot be enabled because it makes the server unstable")),e.commit("setError",{appId:a,error:t("settings","Error: This app cannot be enabled because it makes the server unstable")}),e.dispatch("disableApp",{appId:r}))}))).catch(t=>{e.commit("stopLoading",a),e.commit("stopLoading","install"),a.forEach(t=>{i[t]&&(e.commit("enableApp",{appId:t,groups:i[t].groups}),i[t].active||e.commit("disableApp",t))});const s=t.response?.data?.data?.message;s&&(e.commit("setError",{appId:a,error:s}),e.commit("APPS_API_FAILURE",{appId:r,error:t}))})},forceEnableApp(e,{appId:t,groups:r}){let s;return s=Array.isArray(t)?t:[t],g.A.requireAdmin().then(()=>(e.commit("startLoading",s),e.commit("startLoading","install"),g.A.post((0,u.Jv)("settings/apps/force"),{appId:t}).then(r=>{e.commit("setInstallState",{appId:t,canInstall:!0})}).catch(r=>{e.commit("stopLoading",s),e.commit("stopLoading","install"),e.commit("setError",{appId:s,error:r.response.data.data.message}),e.commit("APPS_API_FAILURE",{appId:t,error:r})}).finally(()=>{e.commit("stopLoading",s),e.commit("stopLoading","install")}))).catch(r=>e.commit("API_FAILURE",{appId:t,error:r}))},disableApp(e,{appId:t}){let r;return r=Array.isArray(t)?t:[t],g.A.requireAdmin().then(s=>(e.commit("startLoading",r),g.A.post((0,u.Jv)("settings/apps/disable"),{appIds:r}).then(t=>(e.commit("stopLoading",r),r.forEach(t=>{e.commit("disableApp",t)}),!0)).catch(s=>{e.commit("stopLoading",r),e.commit("APPS_API_FAILURE",{appId:t,error:s})}))).catch(r=>e.commit("API_FAILURE",{appId:t,error:r}))},uninstallApp:(e,{appId:t})=>g.A.requireAdmin().then(r=>(e.commit("startLoading",t),g.A.get((0,u.Jv)(`settings/apps/uninstall/${t}`)).then(r=>(e.commit("stopLoading",t),e.commit("uninstallApp",t),!0)).catch(r=>{e.commit("stopLoading",t),e.commit("APPS_API_FAILURE",{appId:t,error:r})}))).catch(r=>e.commit("API_FAILURE",{appId:t,error:r})),updateApp:(e,{appId:t})=>g.A.requireAdmin().then(r=>(e.commit("startLoading",t),e.commit("startLoading","install"),g.A.get((0,u.Jv)(`settings/apps/update/${t}`)).then(r=>(e.commit("stopLoading","install"),e.commit("stopLoading",t),e.commit("updateApp",t),!0)).catch(r=>{e.commit("stopLoading",t),e.commit("stopLoading","install"),e.commit("APPS_API_FAILURE",{appId:t,error:r})}))).catch(r=>e.commit("API_FAILURE",{appId:t,error:r})),getAllApps:e=>(e.commit("startLoading","list"),g.A.get((0,u.Jv)("settings/apps/list")).then(t=>(e.commit("setAllApps",t.data.apps),e.commit("stopLoading","list"),!0)).catch(t=>e.commit("API_FAILURE",t))),async getCategories(e,{shouldRefetchCategories:t=!1}={}){if(t||!e.state.gettingCategoriesPromise){e.commit("startLoading","categories");try{const t=g.A.get((0,u.Jv)("settings/apps/categories"));e.commit("updateCategories",t);const r=await t;return r.data.length>0?(e.commit("appendCategories",r.data),e.commit("stopLoading","categories"),!0):(e.commit("stopLoading","categories"),!1)}catch(t){e.commit("API_FAILURE",t)}}return e.state.gettingCategoriesPromise}},D={state:y,mutations:v,getters:{isAppApiEnabled:e=>e.appApiEnabled,loading:e=>function(t){return e.loading[t]},getCategories:e=>e.categories,getAllApps:e=>e.apps,getAppBundles:e=>e.bundles,getUpdateCount:e=>e.updateCount,getCategoryById:e=>t=>e.categories.find(e=>e.id===t)},actions:U},P={serverData:(0,p.C)("settings","usersSettings",{})},S={setServerData(e,t){e.serverData=t}},F={state:P,mutations:S,getters:{getServerData:e=>e.serverData},actions:{}},w={state:{},mutations:{},getters:{},actions:{setAppConfig:(e,{app:t,key:r,value:s})=>g.A.requireAdmin().then(e=>g.A.post((0,u.KT)("apps/provisioning_api/api/v1/config/apps/{app}/{key}",{app:t,key:r}),{value:s}).catch(e=>{throw e})).catch(a=>e.commit("API_FAILURE",{app:t,key:r,value:s,error:a}))}},G={API_FAILURE(e,r){try{const e=r.error.response.data.ocs.meta.message;(0,c.Qg)(t("settings","An error occurred during the request. Unable to proceed.")+"
"+e,{isHTML:!0})}catch(e){(0,c.Qg)(t("settings","An error occurred during the request. Unable to proceed."))}console.error(e,r)}};let $=null;const M=()=>(null===$&&($=new a.il({modules:{users:R,apps:D,settings:F,oc:w},strict:!1,mutations:G})),$)},15916(e,t,r){"use strict";var s;r.d(t,{q:()=>s}),function(e){e[e.UserCount=1]="UserCount",e[e.GroupName=2]="GroupName"}(s||(s={}))},36620(e,t,r){"use strict";r.d(t,{A:()=>s});const s=(0,r(35947).YK)().setApp("settings").detectUser().build()},12836(e,t,r){"use strict";var s=r(44368),a=r(16780),i=r(85471),o=r(95353),n=r(80284),c=r(58723),u=r(53334),p=r(22378);const d=(0,i.pM)({__name:"SettingsApp",setup:e=>({__sfc:!0,NcContent:p.A})}),l=(0,r(14486).A)(d,function(){var e=this,t=e._self._c;return t(e._self._setupProxy.NcContent,{attrs:{"app-name":"settings"}},[t("router-view",{attrs:{name:"navigation"}}),e._v(" "),t("router-view"),e._v(" "),t("router-view",{attrs:{name:"sidebar"}})],1)},[],!1,null,null,null).exports;var m=r(40173),E=r(63814);const g=[{name:"users",path:"/:index(index.php/)?settings/users",components:{default:()=>Promise.all([r.e(4208),r.e(23),r.e(3239)]).then(r.bind(r,7871)),navigation:()=>Promise.all([r.e(4208),r.e(23),r.e(3239)]).then(r.bind(r,47719))},props:!0,children:[{path:":selectedGroup",name:"group"}]},{path:"/:index(index.php/)?settings/apps",name:"apps",redirect:{name:"apps-category",params:{category:(0,r(81222).C)("settings","appstoreEnabled",!0)?"discover":"installed"}},components:{default:()=>Promise.all([r.e(4208),r.e(23),r.e(4529)]).then(r.bind(r,16685)),navigation:()=>Promise.all([r.e(4208),r.e(23),r.e(4529)]).then(r.bind(r,65220)),sidebar:()=>Promise.all([r.e(4208),r.e(23),r.e(4529)]).then(r.bind(r,53934))},children:[{path:":category",name:"apps-category",children:[{path:":id",name:"apps-details"}]}]}];i.Ay.use(m.Ay);const h=new m.Ay({mode:"history",base:(0,E.Jv)(""),linkActiveClass:"active",routes:g});var A=r(14744),f=r(21777),I=r(65899);(0,a.IF)(s.Ay),r.nc=(0,f.aV)(),i.Ay.prototype.t=u.t,i.Ay.prototype.n=u.n,i.Ay.use(I.R2),i.Ay.use(n.Ay,{defaultHtml:!1}),i.Ay.use(o.Ay);const T=(0,A.P)();(0,c.O)(T,h);const N=(0,I.Ey)();new i.Ay({router:h,store:T,pinia:N,render:e=>e(l),el:"#content"})},58723(e,t){function r(e,t){var s={name:e.name,path:e.path,hash:e.hash,query:e.query,params:e.params,fullPath:e.fullPath,meta:e.meta};return t&&(s.from=r(t)),Object.freeze(s)}t.O=function(e,t,s){var a=(s||{}).moduleName||"route";e.registerModule(a,{namespaced:!0,state:r(t.currentRoute),mutations:{ROUTE_CHANGED:function(t,s){e.state[a]=r(s.to,s.from)}}});var i,o=!1,n=e.watch(function(e){return e[a]},function(e){var r=e.fullPath;r!==i&&(null!=i&&(o=!0,t.push(e)),i=r)},{sync:!0}),c=t.afterEach(function(t,r){o?o=!1:(i=t.fullPath,e.commit(a+"/ROUTE_CHANGED",{to:t,from:r}))});return function(){null!=c&&c(),null!=n&&n(),e.unregisterModule(a)}}},35810(e,t,r){"use strict";r.d(t,{lT:()=>S,v7:()=>P}),r(37780);var s,a,i,o,n=r(380),c=r(83141),u=r(53334),p=r(65606),d=r(62045).hp;function l(){if(a)return s;a=1;const e="object"==typeof p&&p.env&&p.env.NODE_DEBUG&&/\bsemver\b/i.test(p.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};return s=e}function m(){if(o)return i;o=1;const e=Number.MAX_SAFE_INTEGER||9007199254740991;return i={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:e,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}var E,g,h,A,f,I,T,N,b,_,L,R,O,C={exports:{}};function y(){if(T)return I;T=1;const e=l(),{MAX_LENGTH:t,MAX_SAFE_INTEGER:r}=m(),{safeRe:s,t:a}=(E||(E=1,function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:r,MAX_SAFE_BUILD_LENGTH:s,MAX_LENGTH:a}=m(),i=l(),o=(t=e.exports={}).re=[],n=t.safeRe=[],c=t.src=[],u=t.safeSrc=[],p=t.t={};let d=0;const E="[a-zA-Z0-9-]",g=[["\\s",1],["\\d",a],[E,s]],h=(e,t,r)=>{const s=(e=>{for(const[t,r]of g)e=e.split(`${t}*`).join(`${t}{0,${r}}`).split(`${t}+`).join(`${t}{1,${r}}`);return e})(t),a=d++;i(e,a,t),p[e]=a,c[a]=t,u[a]=s,o[a]=new RegExp(t,r?"g":void 0),n[a]=new RegExp(s,r?"g":void 0)};h("NUMERICIDENTIFIER","0|[1-9]\\d*"),h("NUMERICIDENTIFIERLOOSE","\\d+"),h("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${E}*`),h("MAINVERSION",`(${c[p.NUMERICIDENTIFIER]})\\.(${c[p.NUMERICIDENTIFIER]})\\.(${c[p.NUMERICIDENTIFIER]})`),h("MAINVERSIONLOOSE",`(${c[p.NUMERICIDENTIFIERLOOSE]})\\.(${c[p.NUMERICIDENTIFIERLOOSE]})\\.(${c[p.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASEIDENTIFIER",`(?:${c[p.NONNUMERICIDENTIFIER]}|${c[p.NUMERICIDENTIFIER]})`),h("PRERELEASEIDENTIFIERLOOSE",`(?:${c[p.NONNUMERICIDENTIFIER]}|${c[p.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASE",`(?:-(${c[p.PRERELEASEIDENTIFIER]}(?:\\.${c[p.PRERELEASEIDENTIFIER]})*))`),h("PRERELEASELOOSE",`(?:-?(${c[p.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[p.PRERELEASEIDENTIFIERLOOSE]})*))`),h("BUILDIDENTIFIER",`${E}+`),h("BUILD",`(?:\\+(${c[p.BUILDIDENTIFIER]}(?:\\.${c[p.BUILDIDENTIFIER]})*))`),h("FULLPLAIN",`v?${c[p.MAINVERSION]}${c[p.PRERELEASE]}?${c[p.BUILD]}?`),h("FULL",`^${c[p.FULLPLAIN]}$`),h("LOOSEPLAIN",`[v=\\s]*${c[p.MAINVERSIONLOOSE]}${c[p.PRERELEASELOOSE]}?${c[p.BUILD]}?`),h("LOOSE",`^${c[p.LOOSEPLAIN]}$`),h("GTLT","((?:<|>)?=?)"),h("XRANGEIDENTIFIERLOOSE",`${c[p.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),h("XRANGEIDENTIFIER",`${c[p.NUMERICIDENTIFIER]}|x|X|\\*`),h("XRANGEPLAIN",`[v=\\s]*(${c[p.XRANGEIDENTIFIER]})(?:\\.(${c[p.XRANGEIDENTIFIER]})(?:\\.(${c[p.XRANGEIDENTIFIER]})(?:${c[p.PRERELEASE]})?${c[p.BUILD]}?)?)?`),h("XRANGEPLAINLOOSE",`[v=\\s]*(${c[p.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[p.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[p.XRANGEIDENTIFIERLOOSE]})(?:${c[p.PRERELEASELOOSE]})?${c[p.BUILD]}?)?)?`),h("XRANGE",`^${c[p.GTLT]}\\s*${c[p.XRANGEPLAIN]}$`),h("XRANGELOOSE",`^${c[p.GTLT]}\\s*${c[p.XRANGEPLAINLOOSE]}$`),h("COERCEPLAIN",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?`),h("COERCE",`${c[p.COERCEPLAIN]}(?:$|[^\\d])`),h("COERCEFULL",c[p.COERCEPLAIN]+`(?:${c[p.PRERELEASE]})?(?:${c[p.BUILD]})?(?:$|[^\\d])`),h("COERCERTL",c[p.COERCE],!0),h("COERCERTLFULL",c[p.COERCEFULL],!0),h("LONETILDE","(?:~>?)"),h("TILDETRIM",`(\\s*)${c[p.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",h("TILDE",`^${c[p.LONETILDE]}${c[p.XRANGEPLAIN]}$`),h("TILDELOOSE",`^${c[p.LONETILDE]}${c[p.XRANGEPLAINLOOSE]}$`),h("LONECARET","(?:\\^)"),h("CARETTRIM",`(\\s*)${c[p.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",h("CARET",`^${c[p.LONECARET]}${c[p.XRANGEPLAIN]}$`),h("CARETLOOSE",`^${c[p.LONECARET]}${c[p.XRANGEPLAINLOOSE]}$`),h("COMPARATORLOOSE",`^${c[p.GTLT]}\\s*(${c[p.LOOSEPLAIN]})$|^$`),h("COMPARATOR",`^${c[p.GTLT]}\\s*(${c[p.FULLPLAIN]})$|^$`),h("COMPARATORTRIM",`(\\s*)${c[p.GTLT]}\\s*(${c[p.LOOSEPLAIN]}|${c[p.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",h("HYPHENRANGE",`^\\s*(${c[p.XRANGEPLAIN]})\\s+-\\s+(${c[p.XRANGEPLAIN]})\\s*$`),h("HYPHENRANGELOOSE",`^\\s*(${c[p.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[p.XRANGEPLAINLOOSE]})\\s*$`),h("STAR","(<|>)?=?\\s*\\*"),h("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),h("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(C,C.exports)),C.exports),i=function(){if(h)return g;h=1;const e=Object.freeze({loose:!0}),t=Object.freeze({});return g=r=>r?"object"!=typeof r?e:r:t}(),{compareIdentifiers:o}=function(){if(f)return A;f=1;const e=/^[0-9]+$/,t=(t,r)=>{if("number"==typeof t&&"number"==typeof r)return t===r?0:tt(r,e)}}();class n{constructor(o,c){if(c=i(c),o instanceof n){if(o.loose===!!c.loose&&o.includePrerelease===!!c.includePrerelease)return o;o=o.version}else if("string"!=typeof o)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof o}".`);if(o.length>t)throw new TypeError(`version is longer than ${t} characters`);e("SemVer",o,c),this.options=c,this.loose=!!c.loose,this.includePrerelease=!!c.includePrerelease;const u=o.trim().match(c.loose?s[a.LOOSE]:s[a.FULL]);if(!u)throw new TypeError(`Invalid Version: ${o}`);if(this.raw=o,this.major=+u[1],this.minor=+u[2],this.patch=+u[3],this.major>r||this.major<0)throw new TypeError("Invalid major version");if(this.minor>r||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>r||this.patch<0)throw new TypeError("Invalid patch version");u[4]?this.prerelease=u[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&te.major?1:this.minore.minor?1:this.patche.patch?1:0}comparePre(t){if(t instanceof n||(t=new n(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let r=0;do{const s=this.prerelease[r],a=t.prerelease[r];if(e("prerelease compare",r,s,a),void 0===s&&void 0===a)return 0;if(void 0===a)return 1;if(void 0===s)return-1;if(s!==a)return o(s,a)}while(++r)}compareBuild(t){t instanceof n||(t=new n(t,this.options));let r=0;do{const s=this.build[r],a=t.build[r];if(e("build compare",r,s,a),void 0===s&&void 0===a)return 0;if(void 0===a)return 1;if(void 0===s)return-1;if(s!==a)return o(s,a)}while(++r)}inc(e,t,r){if(e.startsWith("pre")){if(!t&&!1===r)throw new Error("invalid increment argument: identifier is empty");if(t){const e=`-${t}`.match(this.options.loose?s[a.PRERELEASELOOSE]:s[a.PRERELEASE]);if(!e||e[1]!==t)throw new Error(`invalid identifier: ${t}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,r),this.inc("pre",t,r);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t,r),this.inc("pre",t,r);break;case"release":if(0===this.prerelease.length)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":{const e=Number(r)?1:0;if(0===this.prerelease.length)this.prerelease=[e];else{let s=this.prerelease.length;for(;--s>=0;)"number"==typeof this.prerelease[s]&&(this.prerelease[s]++,s=-2);if(-1===s){if(t===this.prerelease.join(".")&&!1===r)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(t){let s=[t,e];!1===r&&(s=[t]),0===o(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=s):this.prerelease=s}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return I=n}!function(){if(b)return N;b=1;const e=y();N=(t,r)=>new e(t,r).major}(),function(){if(O)return R;O=1;const e=function(){if(L)return _;L=1;const e=y();return _=(t,r,s=!1)=>{if(t instanceof e)return t;try{return new e(t,r)}catch(e){if(!s)return null;throw e}}}();R=(t,r)=>{const s=e(t,r);return s?s.version:null}}(),n.m;var v;v||(v=1,function(e){e.parser=function(e,t){return new s(e,t)},e.SAXParser=s,e.SAXStream=i,e.createStream=function(e,t){return new i(e,t)},e.MAX_BUFFER_LENGTH=65536;var t,r=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];function s(t,a){if(!(this instanceof s))return new s(t,a);var i=this;!function(e){for(var t=0,s=r.length;t"===i?(y(s,"onsgmldeclaration",s.sgmlDecl),s.sgmlDecl="",s.state=R.TEXT):f(i)?(s.state=R.SGML_DECL_QUOTED,s.sgmlDecl+=i):s.sgmlDecl+=i;continue;case R.SGML_DECL_QUOTED:i===s.q&&(s.state=R.SGML_DECL,s.q=""),s.sgmlDecl+=i;continue;case R.DOCTYPE:">"===i?(s.state=R.TEXT,y(s,"ondoctype",s.doctype),s.doctype=!0):(s.doctype+=i,"["===i?s.state=R.DOCTYPE_DTD:f(i)&&(s.state=R.DOCTYPE_QUOTED,s.q=i));continue;case R.DOCTYPE_QUOTED:s.doctype+=i,i===s.q&&(s.q="",s.state=R.DOCTYPE);continue;case R.DOCTYPE_DTD:"]"===i?(s.doctype+=i,s.state=R.DOCTYPE):"<"===i?(s.state=R.OPEN_WAKA,s.startTagPosition=s.position):f(i)?(s.doctype+=i,s.state=R.DOCTYPE_DTD_QUOTED,s.q=i):s.doctype+=i;continue;case R.DOCTYPE_DTD_QUOTED:s.doctype+=i,i===s.q&&(s.state=R.DOCTYPE_DTD,s.q="");continue;case R.COMMENT:"-"===i?s.state=R.COMMENT_ENDING:s.comment+=i;continue;case R.COMMENT_ENDING:"-"===i?(s.state=R.COMMENT_ENDED,s.comment=U(s.opt,s.comment),s.comment&&y(s,"oncomment",s.comment),s.comment=""):(s.comment+="-"+i,s.state=R.COMMENT);continue;case R.COMMENT_ENDED:">"!==i?(S(s,"Malformed comment"),s.comment+="--"+i,s.state=R.COMMENT):s.doctype&&!0!==s.doctype?s.state=R.DOCTYPE_DTD:s.state=R.TEXT;continue;case R.CDATA:"]"===i?s.state=R.CDATA_ENDING:s.cdata+=i;continue;case R.CDATA_ENDING:"]"===i?s.state=R.CDATA_ENDING_2:(s.cdata+="]"+i,s.state=R.CDATA);continue;case R.CDATA_ENDING_2:">"===i?(s.cdata&&y(s,"oncdata",s.cdata),y(s,"onclosecdata"),s.cdata="",s.state=R.TEXT):"]"===i?s.cdata+="]":(s.cdata+="]]"+i,s.state=R.CDATA);continue;case R.PROC_INST:"?"===i?s.state=R.PROC_INST_ENDING:A(i)?s.state=R.PROC_INST_BODY:s.procInstName+=i;continue;case R.PROC_INST_BODY:if(!s.procInstBody&&A(i))continue;"?"===i?s.state=R.PROC_INST_ENDING:s.procInstBody+=i;continue;case R.PROC_INST_ENDING:">"===i?(y(s,"onprocessinginstruction",{name:s.procInstName,body:s.procInstBody}),s.procInstName=s.procInstBody="",s.state=R.TEXT):(s.procInstBody+="?"+i,s.state=R.PROC_INST_BODY);continue;case R.OPEN_TAG:T(E,i)?s.tagName+=i:(F(s),">"===i?$(s):"/"===i?s.state=R.OPEN_TAG_SLASH:(A(i)||S(s,"Invalid character in tag name"),s.state=R.ATTRIB));continue;case R.OPEN_TAG_SLASH:">"===i?($(s,!0),M(s)):(S(s,"Forward-slash in opening tag not followed by >"),s.state=R.ATTRIB);continue;case R.ATTRIB:if(A(i))continue;">"===i?$(s):"/"===i?s.state=R.OPEN_TAG_SLASH:T(m,i)?(s.attribName=i,s.attribValue="",s.state=R.ATTRIB_NAME):S(s,"Invalid attribute name");continue;case R.ATTRIB_NAME:"="===i?s.state=R.ATTRIB_VALUE:">"===i?(S(s,"Attribute without value"),s.attribValue=s.attribName,G(s),$(s)):A(i)?s.state=R.ATTRIB_NAME_SAW_WHITE:T(E,i)?s.attribName+=i:S(s,"Invalid attribute name");continue;case R.ATTRIB_NAME_SAW_WHITE:if("="===i)s.state=R.ATTRIB_VALUE;else{if(A(i))continue;S(s,"Attribute without value"),s.tag.attributes[s.attribName]="",s.attribValue="",y(s,"onattribute",{name:s.attribName,value:""}),s.attribName="",">"===i?$(s):T(m,i)?(s.attribName=i,s.state=R.ATTRIB_NAME):(S(s,"Invalid attribute name"),s.state=R.ATTRIB)}continue;case R.ATTRIB_VALUE:if(A(i))continue;f(i)?(s.q=i,s.state=R.ATTRIB_VALUE_QUOTED):(s.opt.unquotedAttributeValues||D(s,"Unquoted attribute value"),s.state=R.ATTRIB_VALUE_UNQUOTED,s.attribValue=i);continue;case R.ATTRIB_VALUE_QUOTED:if(i!==s.q){"&"===i?s.state=R.ATTRIB_VALUE_ENTITY_Q:s.attribValue+=i;continue}G(s),s.q="",s.state=R.ATTRIB_VALUE_CLOSED;continue;case R.ATTRIB_VALUE_CLOSED:A(i)?s.state=R.ATTRIB:">"===i?$(s):"/"===i?s.state=R.OPEN_TAG_SLASH:T(m,i)?(S(s,"No whitespace between attributes"),s.attribName=i,s.attribValue="",s.state=R.ATTRIB_NAME):S(s,"Invalid attribute name");continue;case R.ATTRIB_VALUE_UNQUOTED:if(!I(i)){"&"===i?s.state=R.ATTRIB_VALUE_ENTITY_U:s.attribValue+=i;continue}G(s),">"===i?$(s):s.state=R.ATTRIB;continue;case R.CLOSE_TAG:if(s.tagName)">"===i?M(s):T(E,i)?s.tagName+=i:s.script?(s.script+=""===i?M(s):S(s,"Invalid characters in closing tag");continue;case R.TEXT_ENTITY:case R.ATTRIB_VALUE_ENTITY_Q:case R.ATTRIB_VALUE_ENTITY_U:var p,d;switch(s.state){case R.TEXT_ENTITY:p=R.TEXT,d="textNode";break;case R.ATTRIB_VALUE_ENTITY_Q:p=R.ATTRIB_VALUE_QUOTED,d="attribValue";break;case R.ATTRIB_VALUE_ENTITY_U:p=R.ATTRIB_VALUE_UNQUOTED,d="attribValue"}if(";"===i){var l=B(s);s.opt.unparsedEntities&&!Object.values(e.XML_ENTITIES).includes(l)?(s.entity="",s.state=p,s.write(l)):(s[d]+=l,s.entity="",s.state=p)}else T(s.entity.length?h:g,i)?s.entity+=i:(S(s,"Invalid character in entity name"),s[d]+="&"+s.entity+i,s.entity="",s.state=p);continue;default:throw new Error(s,"Unknown state: "+s.state)}return s.position>=s.bufferCheckPosition&&function(t){for(var s=Math.max(e.MAX_BUFFER_LENGTH,10),a=0,i=0,o=r.length;is)switch(r[i]){case"textNode":v(t);break;case"cdata":y(t,"oncdata",t.cdata),t.cdata="";break;case"script":y(t,"onscript",t.script),t.script="";break;default:D(t,"Max buffer length exceeded: "+r[i])}a=Math.max(a,n)}var c=e.MAX_BUFFER_LENGTH-a;t.bufferCheckPosition=c+t.position}(s),s},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){var e;v(e=this),""!==e.cdata&&(y(e,"oncdata",e.cdata),e.cdata=""),""!==e.script&&(y(e,"onscript",e.script),e.script="")}};try{t=require("stream").Stream}catch(e){t=function(){}}t||(t=function(){});var a=e.EVENTS.filter(function(e){return"error"!==e&&"end"!==e});function i(e,r){if(!(this instanceof i))return new i(e,r);t.apply(this),this._parser=new s(e,r),this.writable=!0,this.readable=!0;var o=this;this._parser.onend=function(){o.emit("end")},this._parser.onerror=function(e){o.emit("error",e),o._parser.error=null},this._decoder=null,a.forEach(function(e){Object.defineProperty(o,"on"+e,{get:function(){return o._parser["on"+e]},set:function(t){if(!t)return o.removeAllListeners(e),o._parser["on"+e]=t,t;o.on(e,t)},enumerable:!0,configurable:!1})})}i.prototype=Object.create(t.prototype,{constructor:{value:i}}),i.prototype.write=function(e){if("function"==typeof d&&"function"==typeof d.isBuffer&&d.isBuffer(e)){if(!this._decoder){var t=c.I;this._decoder=new t("utf8")}e=this._decoder.write(e)}return this._parser.write(e.toString()),this.emit("data",e),!0},i.prototype.end=function(e){return e&&e.length&&this.write(e),this._parser.end(),!0},i.prototype.on=function(e,r){var s=this;return s._parser["on"+e]||-1===a.indexOf(e)||(s._parser["on"+e]=function(){var t=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);t.splice(0,0,e),s.emit.apply(s,t)}),t.prototype.on.call(s,e,r)};var o="[CDATA[",n="DOCTYPE",u="http://www.w3.org/XML/1998/namespace",p="http://www.w3.org/2000/xmlns/",l={xml:u,xmlns:p},m=/[:_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]/,E=/[:_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\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,g=/[#:_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]/,h=/[#:_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\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function A(e){return" "===e||"\n"===e||"\r"===e||"\t"===e}function f(e){return'"'===e||"'"===e}function I(e){return">"===e||A(e)}function T(e,t){return e.test(t)}function N(e,t){return!T(e,t)}var b,_,L,R=0;for(var O in e.STATE={BEGIN:R++,BEGIN_WHITESPACE:R++,TEXT:R++,TEXT_ENTITY:R++,OPEN_WAKA:R++,SGML_DECL:R++,SGML_DECL_QUOTED:R++,DOCTYPE:R++,DOCTYPE_QUOTED:R++,DOCTYPE_DTD:R++,DOCTYPE_DTD_QUOTED:R++,COMMENT_STARTING:R++,COMMENT:R++,COMMENT_ENDING:R++,COMMENT_ENDED:R++,CDATA:R++,CDATA_ENDING:R++,CDATA_ENDING_2:R++,PROC_INST:R++,PROC_INST_BODY:R++,PROC_INST_ENDING:R++,OPEN_TAG:R++,OPEN_TAG_SLASH:R++,ATTRIB:R++,ATTRIB_NAME:R++,ATTRIB_NAME_SAW_WHITE:R++,ATTRIB_VALUE:R++,ATTRIB_VALUE_QUOTED:R++,ATTRIB_VALUE_CLOSED:R++,ATTRIB_VALUE_UNQUOTED:R++,ATTRIB_VALUE_ENTITY_Q:R++,ATTRIB_VALUE_ENTITY_U:R++,CLOSE_TAG:R++,CLOSE_TAG_SAW_WHITE:R++,SCRIPT:R++,SCRIPT_ENDING:R++},e.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},e.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(e.ENTITIES).forEach(function(t){var r=e.ENTITIES[t],s="number"==typeof r?String.fromCharCode(r):r;e.ENTITIES[t]=s}),e.STATE)e.STATE[e.STATE[O]]=O;function C(e,t,r){e[t]&&e[t](r)}function y(e,t,r){e.textNode&&v(e),C(e,t,r)}function v(e){e.textNode=U(e.opt,e.textNode),e.textNode&&C(e,"ontext",e.textNode),e.textNode=""}function U(e,t){return e.trim&&(t=t.trim()),e.normalize&&(t=t.replace(/\s+/g," ")),t}function D(e,t){return v(e),e.trackPosition&&(t+="\nLine: "+e.line+"\nColumn: "+e.column+"\nChar: "+e.c),t=new Error(t),e.error=t,C(e,"onerror",t),e}function P(e){return e.sawRoot&&!e.closedRoot&&S(e,"Unclosed root tag"),e.state!==R.BEGIN&&e.state!==R.BEGIN_WHITESPACE&&e.state!==R.TEXT&&D(e,"Unexpected end"),v(e),e.c="",e.closed=!0,C(e,"onend"),s.call(e,e.strict,e.opt),e}function S(e,t){if("object"!=typeof e||!(e instanceof s))throw new Error("bad call to strictFail");e.strict&&D(e,t)}function F(e){e.strict||(e.tagName=e.tagName[e.looseCase]());var t=e.tags[e.tags.length-1]||e,r=e.tag={name:e.tagName,attributes:{}};e.opt.xmlns&&(r.ns=t.ns),e.attribList.length=0,y(e,"onopentagstart",r)}function w(e,t){var r=e.indexOf(":")<0?["",e]:e.split(":"),s=r[0],a=r[1];return t&&"xmlns"===e&&(s="xmlns",a=""),{prefix:s,local:a}}function G(e){if(e.strict||(e.attribName=e.attribName[e.looseCase]()),-1!==e.attribList.indexOf(e.attribName)||e.tag.attributes.hasOwnProperty(e.attribName))e.attribName=e.attribValue="";else{if(e.opt.xmlns){var t=w(e.attribName,!0),r=t.prefix,s=t.local;if("xmlns"===r)if("xml"===s&&e.attribValue!==u)S(e,"xml: prefix must be bound to "+u+"\nActual: "+e.attribValue);else if("xmlns"===s&&e.attribValue!==p)S(e,"xmlns: prefix must be bound to "+p+"\nActual: "+e.attribValue);else{var a=e.tag,i=e.tags[e.tags.length-1]||e;a.ns===i.ns&&(a.ns=Object.create(i.ns)),a.ns[s]=e.attribValue}e.attribList.push([e.attribName,e.attribValue])}else e.tag.attributes[e.attribName]=e.attribValue,y(e,"onattribute",{name:e.attribName,value:e.attribValue});e.attribName=e.attribValue=""}}function $(e,t){if(e.opt.xmlns){var r=e.tag,s=w(e.tagName);r.prefix=s.prefix,r.local=s.local,r.uri=r.ns[s.prefix]||"",r.prefix&&!r.uri&&(S(e,"Unbound namespace prefix: "+JSON.stringify(e.tagName)),r.uri=s.prefix);var a=e.tags[e.tags.length-1]||e;r.ns&&a.ns!==r.ns&&Object.keys(r.ns).forEach(function(t){y(e,"onopennamespace",{prefix:t,uri:r.ns[t]})});for(var i=0,o=e.attribList.length;i",e.tagName="",void(e.state=R.SCRIPT);y(e,"onscript",e.script),e.script=""}var t=e.tags.length,r=e.tagName;e.strict||(r=r[e.looseCase]());for(var s=r;t--&&e.tags[t].name!==s;)S(e,"Unexpected close tag");if(t<0)return S(e,"Unmatched closing tag: "+e.tagName),e.textNode+="",void(e.state=R.TEXT);e.tagName=r;for(var a=e.tags.length;a-- >t;){var i=e.tag=e.tags.pop();e.tagName=e.tag.name,y(e,"onclosetag",e.tagName);var o={};for(var n in i.ns)o[n]=i.ns[n];var c=e.tags[e.tags.length-1]||e;e.opt.xmlns&&i.ns!==c.ns&&Object.keys(i.ns).forEach(function(t){var r=i.ns[t];y(e,"onclosenamespace",{prefix:t,uri:r})})}0===t&&(e.closedRoot=!0),e.tagName=e.attribValue=e.attribName="",e.attribList.length=0,e.state=R.TEXT}function B(e){var t,r=e.entity,s=r.toLowerCase(),a="";return e.ENTITIES[r]?e.ENTITIES[r]:e.ENTITIES[s]?e.ENTITIES[s]:("#"===(r=s).charAt(0)&&("x"===r.charAt(1)?(r=r.slice(2),a=(t=parseInt(r,16)).toString(16)):(r=r.slice(1),a=(t=parseInt(r,10)).toString(10))),r=r.replace(/^0+/,""),isNaN(t)||a.toLowerCase()!==r?(S(e,"Invalid character entity"),"&"+e.entity+";"):String.fromCodePoint(t))}function x(e,t){"<"===t?(e.state=R.OPEN_WAKA,e.startTagPosition=e.position):A(t)||(S(e,"Non-whitespace before first tag."),e.textNode=t,e.state=R.TEXT)}function k(e,t){var r="";return t1114111||_(o)!==o)throw RangeError("Invalid code point: "+o);o<=65535?r.push(o):(e=55296+((o-=65536)>>10),t=o%1024+56320,r.push(e,t)),(s+1===a||r.length>16384)&&(i+=b.apply(null,r),r.length=0)}return i},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:L,configurable:!0,writable:!0}):String.fromCodePoint=L)}({})),Error;const U=["B","KB","MB","GB","TB","PB"],D=["B","KiB","MiB","GiB","TiB","PiB"];function P(e,t=!1,r=!1,s=!1){r=r&&!s,"string"==typeof e&&(e=Number(e));let a=e>0?Math.floor(Math.log(e)/Math.log(s?1e3:1024)):0;a=Math.min((r?D.length:U.length)-1,a);const i=r?D[a]:U[a];let o=(e/Math.pow(s?1e3:1024,a)).toFixed(1);return!0===t&&0===a?("0.0"!==o?"< 1 ":"0 ")+(r?D[1]:U[1]):(o=a<2?parseFloat(o).toFixed(0):parseFloat(o).toLocaleString((0,u.lO)()),o+" "+i)}function S(e,t=!1){try{e=`${e}`.toLocaleLowerCase().replaceAll(/\s+/g,"").replaceAll(",",".")}catch(e){return null}const r=e.match(/^([0-9]*(\.[0-9]*)?)([kmgtp]?)(i?)b?$/);if(null===r||"."===r[1]||""===r[1])return null;const s=`${r[1]}`,a="i"===r[4]||t?1024:1e3;return Math.round(Number.parseFloat(s)*a**{"":0,k:1,m:2,g:3,t:4,p:5,e:6}[r[3]])}}},i={};function o(e){var t=i[e];if(void 0!==t)return t.exports;var r=i[e]={id:e,loaded:!1,exports:{}};return a[e].call(r.exports,r,r.exports,o),r.loaded=!0,r.exports}o.m=a,e=[],o.O=(t,r,s,a)=>{if(!r){var i=1/0;for(p=0;p=a)&&Object.keys(o.O).every(e=>o.O[e](r[c]))?r.splice(c--,1):(n=!1,a0&&e[p-1][2]>a;p--)e[p]=e[p-1];e[p]=[r,s,a]},o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce((t,r)=>(o.f[r](e,t),t),[])),o.u=e=>(({3239:"settings-users",4529:"settings-apps-view"}[e]||e)+"-"+e+".js?v="+{23:"cd8c6e53d4fe8ee5061c",459:"18a76f596cbda9fcfeae",1023:"05e48f528e39cc5ac354",1217:"1b1016b8e8417d8b50ab",1604:"6dd81d059d91ea002066",3239:"ae98d64366bf4f8dd1ee",3464:"03f0e4a610987ac78bb3",4529:"1bf99a68f43ef145c551",5862:"e58c0b75c4ec864adc49",6505:"903528d99b4acedb993d",6597:"73d39530ac866a7119c9",7471:"c2afd3e83467ce503d3e",7859:"f9477f7bca078c643063",8737:"b7e35a3dc60ab8272a8d",9054:"3025fae957c5f3990fea"}[e]),o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r={},s="nextcloud:",o.l=(e,t,a,i)=>{if(r[e])r[e].push(t);else{var n,c;if(void 0!==a)for(var u=document.getElementsByTagName("script"),p=0;p{n.onerror=n.onload=null,clearTimeout(m);var a=r[e];if(delete r[e],n.parentNode&&n.parentNode.removeChild(n),a&&a.forEach(e=>e(s)),t)return t(s)},m=setTimeout(l.bind(null,void 0,{type:"timeout",target:n}),12e4);n.onerror=l.bind(null,n.onerror),n.onload=l.bind(null,n.onload),c&&document.head.appendChild(n)}},o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),o.j=2689,o.dn=e=>{(Object.getOwnPropertyDescriptor(e,"name")||{}).writable||Object.defineProperty(e,"name",{value:"default",configurable:!0})},(()=>{var e;globalThis.importScripts&&(e=globalThis.location+"");var t=globalThis.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var s=r.length-1;s>-1&&(!e||!/^http(s?):/.test(e));)e=r[s--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=e})(),(()=>{o.b="undefined"!=typeof document&&document.baseURI||self.location.href;var e={2689:0};o.f.j=(t,r)=>{var s=o.o(e,t)?e[t]:void 0;if(0!==s)if(s)r.push(s[2]);else{var a=new Promise((r,a)=>s=e[t]=[r,a]);r.push(s[2]=a);var i=o.p+o.u(t),n=new Error;o.l(i,r=>{if(o.o(e,t)&&(0!==(s=e[t])&&(e[t]=void 0),s)){var a=r&&("load"===r.type?"missing":r.type),i=r&&r.target&&r.target.src;n.message="Loading chunk "+t+" failed.\n("+a+": "+i+")",n.name="ChunkLoadError",n.type=a,n.request=i,s[1](n)}},"chunk-"+t,t)}},o.O.j=t=>0===e[t];var t=(t,r)=>{var s,a,[i,n,c]=r,u=0;if(i.some(t=>0!==e[t])){for(s in n)o.o(n,s)&&(o.m[s]=n[s]);if(c)var p=c(o)}for(t&&t(r);uo(12836));n=o.O(n)})(); -//# sourceMappingURL=settings-vue-settings-apps-users-management.js.map?v=d1470b4c0fb06c833d7a \ No newline at end of file +(()=>{var e,r,s,a={6028(e,t,r){"use strict";r.d(t,{A:()=>o});var s=r(44368),a=r(16780);const i=function(e){return e.replace(/\/$/,"")},o={requireAdmin:()=>(0,a.C5)(),get:(e,t)=>s.Ay.get(i(e),t),post:(e,t,r)=>s.Ay.post(i(e),t,r),patch:(e,t)=>s.Ay.patch(i(e),t),put:(e,t)=>s.Ay.put(i(e),t),delete:(e,t)=>s.Ay.delete(i(e),{params:t})}},14744(e,r,s){"use strict";s.d(r,{P:()=>M});var a=s(95353),i=s(80474),o=s(87485),n=s(35810),c=s(85168),u=s(63814),p=s(81222),d=s(44368),l=s(15916),m=s(53334);const E=Intl.Collator([(0,m.Z0)(),(0,m.lO)()],{numeric:!0,usage:"sort"});var g=s(6028),h=s(36620);const A=(0,p.C)("settings","usersSettings",{}),f=(0,i.c0)("settings").persist(!0).build(),I={id:"",name:"",usercount:0,disabled:0,canAdd:!0,canRemove:!0},T={users:[],groups:[...A.getSubAdminGroups??[],...A.systemGroups??[]],orderBy:A.sortGroups??l.q.UserCount,minPasswordLength:0,usersOffset:0,usersLimit:25,disabledUsersOffset:0,disabledUsersLimit:25,userCount:A.userCount??0,showConfig:{showStoragePath:"true"===f.getItem("account_settings__showStoragePath"),showUserBackend:"true"===f.getItem("account_settings__showUserBackend"),showFirstLogin:"true"===f.getItem("account_settings__showFirstLogin"),showLastLogin:"true"===f.getItem("account_settings__showLastLogin"),showNewUserForm:"true"===f.getItem("account_settings__showNewUserForm"),showLanguages:"true"===f.getItem("account_settings__showLanguages")}},N={appendUsers(e,t){const r=e.users.map(({id:e})=>e),s=Object.values(t).filter(({id:e})=>!r.includes(e)),a=e.users.concat(s);e.usersOffset+=e.usersLimit,e.users=a},updateDisabledUsers(e,t){e.disabledUsersOffset+=e.disabledUsersLimit},setPasswordPolicyMinLength(e,t){e.minPasswordLength=""!==t?t:0},addGroup(e,t){try{if(void 0!==e.groups.find(e=>e.id===t.id))return;const r=Object.assign({},I,t);e.groups.unshift(r)}catch(e){console.error("Can't create group",e)}},renameGroup(e,{gid:t,displayName:r}){const s=e.groups.findIndex(e=>e.id===t);if(s>=0){const t=e.groups[s];t.name=r,e.groups.splice(s,1,t)}},removeGroup(e,t){const r=e.groups.findIndex(e=>e.id===t);r>=0&&e.groups.splice(r,1)},addUserGroup(e,{userid:t,gid:r}){const s=e.groups.find(e=>e.id===r),a=e.users.find(e=>e.id===t);s&&a.enabled&&e.userCount>0&&s.usercount++,a.groups.push(r)},removeUserGroup(e,{userid:t,gid:r}){const s=e.groups.find(e=>e.id===r),a=e.users.find(e=>e.id===t);s&&a.enabled&&e.userCount>0&&s.usercount--;const i=a.groups;i.splice(i.indexOf(r),1)},addUserSubAdmin(e,{userid:t,gid:r}){e.users.find(e=>e.id===t).subadmin.push(r)},removeUserSubAdmin(e,{userid:t,gid:r}){const s=e.users.find(e=>e.id===t).subadmin;s.splice(s.indexOf(r),1)},deleteUser(e,t){const r=e.users.findIndex(e=>e.id===t);this.commit("updateUserCounts",{user:e.users[r],actionType:"remove"}),e.users.splice(r,1)},addUserData(e,t){const r=t.data.ocs.data;e.users.unshift(r),this.commit("updateUserCounts",{user:r,actionType:"create"})},enableDisableUser(e,{userid:t,enabled:r}){const s=e.users.find(e=>e.id===t);s.enabled=r,this.commit("updateUserCounts",{user:s,actionType:r?"enable":"disable"})},updateUserCounts(e,{user:t,actionType:r}){if(0===e.userCount)return;const s=e.groups.find(e=>"__nc_internal_recent"===e.id),a=e.groups.find(e=>"disabled"===e.id);switch(r){case"enable":case"disable":a.usercount+=t.enabled?-1:1,s.usercount+=t.enabled?1:-1,e.userCount+=t.enabled?1:-1,t.groups.forEach(r=>{const s=e.groups.find(e=>e.id===r);s&&(s.disabled+=t.enabled?-1:1)});break;case"create":s.usercount++,e.userCount++,t.groups.forEach(t=>{const r=e.groups.find(e=>e.id===t);r&&r.usercount++});break;case"remove":t.enabled?(s.usercount--,e.userCount--,t.groups.forEach(t=>{const r=e.groups.find(e=>e.id===t);r?r.usercount--:console.warn("User group "+t+" does not exist during user removal")})):(a.usercount--,t.groups.forEach(t=>{const r=e.groups.find(e=>e.id===t);r&&r.disabled--}));break;default:h.A.error(`Unknown action type in updateUserCounts: '${r}'`)}},setUserData(e,{userid:t,key:r,value:s}){if("quota"===r){const a=(0,n.lT)(s,!0);e.users.find(e=>e.id===t)[r][r]=null!==a?a:s}else e.users.find(e=>e.id===t)[r]=s},resetUsers(e){e.users=[],e.usersOffset=0,e.disabledUsersOffset=0},resetGroups(e){e.groups=[...A.getSubAdminGroups??[],...A.systemGroups??[]]},setShowConfig(e,{key:t,value:r}){f.setItem(`account_settings__${t}`,JSON.stringify(r)),e.showConfig[t]=r},setGroupSorting(e,r){const s=e.orderBy;e.orderBy=r,d.Ay.post((0,u.Jv)("/settings/users/preferences/group.sortBy"),{value:String(r)}).catch(r=>{e.orderBy=s,(0,c.Qg)(t("settings","Could not set group sorting")),h.A.error(r)})}},b={getUsers:e=>e.users,getGroups:e=>e.groups,getSubAdminGroups:()=>A.subAdminGroups??[],getSortedGroups(e){const t=[...e.groups];return e.orderBy===l.q.UserCount?t.sort((e,t)=>{const r=e.usercount-e.disabled,s=t.usercount-t.disabled;return rE.compare(e.name,t.name))},getGroupSorting:e=>e.orderBy,getPasswordPolicyMinLength:e=>e.minPasswordLength,getUsersOffset:e=>e.usersOffset,getUsersLimit:e=>e.usersLimit,getDisabledUsersOffset:e=>e.disabledUsersOffset,getDisabledUsersLimit:e=>e.disabledUsersLimit,getUserCount:e=>e.userCount,getShowConfig:e=>e.showConfig},_=d.Ay.CancelToken;let L=null;const R={state:T,mutations:N,getters:b,actions:{searchUsers:(e,{offset:t,limit:r,search:s})=>(s="string"==typeof s?s:"",g.A.get((0,u.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:t,limit:r,search:s})).catch(t=>{d.Ay.isCancel(t)||e.commit("API_FAILURE",t)})),getUser:(e,t)=>g.A.get((0,u.KT)(`cloud/users/${t}`)).catch(t=>{d.Ay.isCancel(t)||e.commit("API_FAILURE",t)}),getUsers:(e,{offset:t,limit:r,search:s,group:a})=>(L&&L.cancel("Operation canceled by another search request."),L=_.source(),s=(s="string"==typeof s?s:"").replace(/in:[^\s]+/g,"").trim(),""!==(a="string"==typeof a?a:"")?g.A.get((0,u.KT)("cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}",{group:encodeURIComponent(a),offset:t,limit:r,search:s}),{cancelToken:L.token}).then(t=>{const r=Object.keys(t.data.ocs.data.users).length;return r>0&&e.commit("appendUsers",t.data.ocs.data.users),r}).catch(t=>{d.Ay.isCancel(t)||e.commit("API_FAILURE",t)}):g.A.get((0,u.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:t,limit:r,search:s}),{cancelToken:L.token}).then(t=>{const r=Object.keys(t.data.ocs.data.users).length;return r>0&&e.commit("appendUsers",t.data.ocs.data.users),r}).catch(t=>{d.Ay.isCancel(t)||e.commit("API_FAILURE",t)})),async getRecentUsers(e,{offset:t,limit:r,search:s}){const a=(0,u.KT)("cloud/users/recent?offset={offset}&limit={limit}&search={search}",{offset:t,limit:r,search:s});try{const t=await g.A.get(a),r=Object.keys(t.data.ocs.data.users).length;return r>0&&e.commit("appendUsers",t.data.ocs.data.users),r}catch(t){e.commit("API_FAILURE",t)}},async getDisabledUsers(e,{offset:t,limit:r,search:s}){const a=(0,u.KT)("cloud/users/disabled?offset={offset}&limit={limit}&search={search}",{offset:t,limit:r,search:s});try{const t=await g.A.get(a),r=Object.keys(t.data.ocs.data.users).length;return r>0&&(e.commit("appendUsers",t.data.ocs.data.users),e.commit("updateDisabledUsers",t.data.ocs.data.users)),r}catch(t){e.commit("API_FAILURE",t)}},getGroups(e,{offset:t,limit:r,search:s}){s="string"==typeof s?s:"";const a=-1===r?"":`&limit=${r}`;return g.A.get((0,u.KT)("cloud/groups?offset={offset}&search={search}",{offset:t,search:s})+a).then(t=>Object.keys(t.data.ocs.data.groups).length>0&&(t.data.ocs.data.groups.forEach(function(t){e.commit("addGroup",{id:t,name:t})}),!0)).catch(t=>e.commit("API_FAILURE",t))},getUsersFromList:(e,{offset:t,limit:r,search:s})=>(s="string"==typeof s?s:"",g.A.get((0,u.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:t,limit:r,search:s})).then(t=>Object.keys(t.data.ocs.data.users).length>0&&(e.commit("appendUsers",t.data.ocs.data.users),!0)).catch(t=>e.commit("API_FAILURE",t))),getUsersFromGroup:(e,{groupid:t,offset:r,limit:s})=>g.A.get((0,u.KT)("cloud/users/{groupId}/details?offset={offset}&limit={limit}",{groupId:encodeURIComponent(t),offset:r,limit:s})).then(t=>e.commit("getUsersFromList",t.data.ocs.data.users)).catch(t=>e.commit("API_FAILURE",t)),getPasswordPolicyMinLength:e=>!(!(0,o.F)().password_policy||!(0,o.F)().password_policy.minLength)&&(e.commit("setPasswordPolicyMinLength",(0,o.F)().password_policy.minLength),(0,o.F)().password_policy.minLength),addGroup:(e,t)=>g.A.requireAdmin().then(r=>g.A.post((0,u.KT)("cloud/groups"),{groupid:t}).then(r=>(e.commit("addGroup",{id:t,name:t}),{gid:t,displayName:t})).catch(e=>{throw e})).catch(r=>{throw e.commit("API_FAILURE",{gid:t,error:r}),r}),renameGroup:(e,{groupid:t,displayName:r})=>g.A.requireAdmin().then(s=>g.A.put((0,u.KT)("cloud/groups/{groupId}",{groupId:encodeURIComponent(t)}),{key:"displayname",value:r}).then(s=>(e.commit("renameGroup",{gid:t,displayName:r}),{groupid:t,displayName:r})).catch(e=>{throw e})).catch(r=>{throw e.commit("API_FAILURE",{groupid:t,error:r}),r}),removeGroup:(e,t)=>g.A.requireAdmin().then(r=>g.A.delete((0,u.KT)("cloud/groups/{groupId}",{groupId:encodeURIComponent(t)})).then(r=>e.commit("removeGroup",t)).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{gid:t,error:r})),addUserGroup:(e,{userid:t,gid:r})=>g.A.requireAdmin().then(s=>g.A.post((0,u.KT)("cloud/users/{userid}/groups",{userid:t}),{groupid:r}).then(s=>e.commit("addUserGroup",{userid:t,gid:r})).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r})),removeUserGroup:(e,{userid:t,gid:r})=>g.A.requireAdmin().then(s=>g.A.delete((0,u.KT)("cloud/users/{userid}/groups",{userid:t}),{groupid:r}).then(s=>e.commit("removeUserGroup",{userid:t,gid:r})).catch(e=>{throw e})).catch(r=>{throw e.commit("API_FAILURE",{userid:t,error:r}),r}),addUserSubAdmin:(e,{userid:t,gid:r})=>g.A.requireAdmin().then(s=>g.A.post((0,u.KT)("cloud/users/{userid}/subadmins",{userid:t}),{groupid:r}).then(s=>e.commit("addUserSubAdmin",{userid:t,gid:r})).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r})),removeUserSubAdmin:(e,{userid:t,gid:r})=>g.A.requireAdmin().then(s=>g.A.delete((0,u.KT)("cloud/users/{userid}/subadmins",{userid:t}),{groupid:r}).then(s=>e.commit("removeUserSubAdmin",{userid:t,gid:r})).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r})),async wipeUserDevices(e,t){try{return await g.A.requireAdmin(),await g.A.post((0,u.KT)("cloud/users/{userid}/wipe",{userid:t}))}catch(r){return e.commit("API_FAILURE",{userid:t,error:r}),Promise.reject(new Error("Failed to wipe user devices"))}},deleteUser:(e,t)=>g.A.requireAdmin().then(r=>g.A.delete((0,u.KT)("cloud/users/{userid}",{userid:t})).then(r=>e.commit("deleteUser",t)).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r})),addUser:({commit:e,dispatch:t},{userid:r,password:s,displayName:a,email:i,groups:o,subadmin:n,quota:c,language:p,manager:d})=>g.A.requireAdmin().then(e=>g.A.post((0,u.KT)("cloud/users"),{userid:r,password:s,displayName:a,email:i,groups:o,subadmin:n,quota:c,language:p,manager:d}).then(e=>t("addUserData",r||e.data.ocs.data.id)).catch(e=>{throw e})).catch(t=>{throw e("API_FAILURE",{userid:r,error:t}),t}),addUserData:(e,t)=>g.A.requireAdmin().then(r=>g.A.get((0,u.KT)("cloud/users/{userid}",{userid:t})).then(t=>e.commit("addUserData",t)).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r})),enableDisableUser(e,{userid:t,enabled:r=!0}){const s=r?"enable":"disable";return g.A.requireAdmin().then(a=>g.A.put((0,u.KT)("cloud/users/{userid}/{userStatus}",{userid:t,userStatus:s})).then(s=>e.commit("enableDisableUser",{userid:t,enabled:r})).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r}))},async setUserData(e,{userid:t,key:r,value:s}){if(!["email","language","quota","displayname","password","manager"].includes(r))throw new Error("Invalid request data");if(""===s&&!["email","displayname","manager"].includes(r))throw new Error("Value cannot be empty for this field");try{return await g.A.requireAdmin(),await g.A.put((0,u.KT)("cloud/users/{userid}",{userid:t}),{key:r,value:s}),e.commit("setUserData",{userid:t,key:r,value:s})}catch(r){throw e.commit("API_FAILURE",{userid:t,error:r}),r}},sendWelcomeMail:(e,t)=>g.A.requireAdmin().then(e=>g.A.post((0,u.KT)("cloud/users/{userid}/welcome",{userid:t})).then(e=>!0).catch(e=>{throw e})).catch(r=>e.commit("API_FAILURE",{userid:t,error:r}))}};var O=s(85471),C=s(16780);const y={apps:[],bundles:(0,p.C)("settings","appstoreBundles",[]),categories:[],updateCount:(0,p.C)("settings","appstoreUpdateCount",0),loading:{},gettingCategoriesPromise:null,appApiEnabled:(0,p.C)("settings","appApiEnabled",!1)},v={APPS_API_FAILURE(e,r){(0,c.Qg)(t("settings","An error occurred during the request. Unable to proceed.")+"
"+r.error.response.data.data.message,{isHTML:!0}),console.error(e,r)},initCategories(e,{categories:t,updateCount:r}){e.categories=t,e.updateCount=r},updateCategories(e,t){e.gettingCategoriesPromise=t},setUpdateCount(e,t){e.updateCount=t},addCategory(e,t){e.categories.push(t)},appendCategories(e,t){e.categories=t},setAllApps(e,t){e.apps=t},setError(e,{appId:t,error:r}){Array.isArray(t)||(t=[t]),t.forEach(t=>{e.apps.find(e=>e.id===t).error=r})},clearError(e,{appId:t,error:r}){e.apps.find(e=>e.id===t).error=null},enableApp(e,{appId:t,groups:r}){const s=e.apps.find(e=>e.id===t);s.active=!0,O.Ay.set(s,"groups",[...r]),"app_api"===s.id&&(e.appApiEnabled=!0)},setInstallState(e,{appId:t,canInstall:r}){const s=e.apps.find(e=>e.id===t);s&&(s.canInstall=!0===r)},disableApp(e,t){const r=e.apps.find(e=>e.id===t);r.active=!1,r.groups=[],r.removable&&(r.canUnInstall=!0),"app_api"===r.id&&(e.appApiEnabled=!1)},uninstallApp(e,t){e.apps.find(e=>e.id===t).active=!1,e.apps.find(e=>e.id===t).groups=[],e.apps.find(e=>e.id===t).needsDownload=!0,e.apps.find(e=>e.id===t).installed=!1,e.apps.find(e=>e.id===t).canUnInstall=!1,e.apps.find(e=>e.id===t).canInstall=!0,"app_api"===t&&(e.appApiEnabled=!1)},updateApp(e,t){const r=e.apps.find(e=>e.id===t),s=r.update;r.update=null,r.version=s,e.updateCount--},resetApps(e){e.apps=[]},reset(e){e.apps=[],e.categories=[],e.updateCount=0},startLoading(e,t){Array.isArray(t)?t.forEach(t=>{O.Ay.set(e.loading,t,!0)}):O.Ay.set(e.loading,t,!0)},stopLoading(e,t){Array.isArray(t)?t.forEach(t=>{O.Ay.set(e.loading,t,!1)}):O.Ay.set(e.loading,t,!1)}},U={enableApp(e,{appId:r,groups:s}){let a;a=Array.isArray(r)?r:[r],e.commit("startLoading",a),e.commit("startLoading","install");const i={};return a.forEach(t=>{const r=e.state.apps.find(e=>e.id===t);r&&(i[t]={active:r.active,groups:[...r.groups||[]]},e.commit("enableApp",{appId:t,groups:s}))}),g.A.post((0,u.Jv)("settings/apps/enable"),{appIds:a,groups:s},{confirmPassword:C.mH.Strict}).then(s=>(e.commit("stopLoading",a),e.commit("stopLoading","install"),d.Ay.get((0,u.Jv)("apps/files/")).then(()=>{s.data.update_required&&((0,c.cf)(t("settings","The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds."),{onClick:()=>window.location.reload(),close:!1}),setTimeout(function(){location.reload()},5e3))}).catch(()=>{Array.isArray(r)||((0,c.Qg)(t("settings","Error: This app cannot be enabled because it makes the server unstable")),e.commit("setError",{appId:a,error:t("settings","Error: This app cannot be enabled because it makes the server unstable")}),e.dispatch("disableApp",{appId:r}))}))).catch(t=>{e.commit("stopLoading",a),e.commit("stopLoading","install"),a.forEach(t=>{i[t]&&(e.commit("enableApp",{appId:t,groups:i[t].groups}),i[t].active||e.commit("disableApp",t))});const s=t.response?.data?.data?.message;s&&(e.commit("setError",{appId:a,error:s}),e.commit("APPS_API_FAILURE",{appId:r,error:t}))})},forceEnableApp(e,{appId:t,groups:r}){let s;return s=Array.isArray(t)?t:[t],g.A.requireAdmin().then(()=>(e.commit("startLoading",s),e.commit("startLoading","install"),g.A.post((0,u.Jv)("settings/apps/force"),{appId:t}).then(r=>{e.commit("setInstallState",{appId:t,canInstall:!0})}).catch(r=>{e.commit("stopLoading",s),e.commit("stopLoading","install"),e.commit("setError",{appId:s,error:r.response.data.data.message}),e.commit("APPS_API_FAILURE",{appId:t,error:r})}).finally(()=>{e.commit("stopLoading",s),e.commit("stopLoading","install")}))).catch(r=>e.commit("API_FAILURE",{appId:t,error:r}))},disableApp(e,{appId:t}){let r;return r=Array.isArray(t)?t:[t],g.A.requireAdmin().then(s=>(e.commit("startLoading",r),g.A.post((0,u.Jv)("settings/apps/disable"),{appIds:r}).then(t=>(e.commit("stopLoading",r),r.forEach(t=>{e.commit("disableApp",t)}),!0)).catch(s=>{e.commit("stopLoading",r),e.commit("APPS_API_FAILURE",{appId:t,error:s})}))).catch(r=>e.commit("API_FAILURE",{appId:t,error:r}))},uninstallApp:(e,{appId:t})=>g.A.requireAdmin().then(r=>(e.commit("startLoading",t),g.A.get((0,u.Jv)(`settings/apps/uninstall/${t}`)).then(r=>(e.commit("stopLoading",t),e.commit("uninstallApp",t),!0)).catch(r=>{e.commit("stopLoading",t),e.commit("APPS_API_FAILURE",{appId:t,error:r})}))).catch(r=>e.commit("API_FAILURE",{appId:t,error:r})),updateApp:(e,{appId:t})=>g.A.requireAdmin().then(r=>(e.commit("startLoading",t),e.commit("startLoading","install"),g.A.get((0,u.Jv)(`settings/apps/update/${t}`)).then(r=>(e.commit("stopLoading","install"),e.commit("stopLoading",t),e.commit("updateApp",t),!0)).catch(r=>{e.commit("stopLoading",t),e.commit("stopLoading","install"),e.commit("APPS_API_FAILURE",{appId:t,error:r})}))).catch(r=>e.commit("API_FAILURE",{appId:t,error:r})),getAllApps:e=>(e.commit("startLoading","list"),g.A.get((0,u.Jv)("settings/apps/list")).then(t=>(e.commit("setAllApps",t.data.apps),e.commit("stopLoading","list"),!0)).catch(t=>e.commit("API_FAILURE",t))),async getCategories(e,{shouldRefetchCategories:t=!1}={}){if(t||!e.state.gettingCategoriesPromise){e.commit("startLoading","categories");try{const t=g.A.get((0,u.Jv)("settings/apps/categories"));e.commit("updateCategories",t);const r=await t;return r.data.length>0?(e.commit("appendCategories",r.data),e.commit("stopLoading","categories"),!0):(e.commit("stopLoading","categories"),!1)}catch(t){e.commit("API_FAILURE",t)}}return e.state.gettingCategoriesPromise}},D={state:y,mutations:v,getters:{isAppApiEnabled:e=>e.appApiEnabled,loading:e=>function(t){return e.loading[t]},getCategories:e=>e.categories,getAllApps:e=>e.apps,getAppBundles:e=>e.bundles,getUpdateCount:e=>e.updateCount,getCategoryById:e=>t=>e.categories.find(e=>e.id===t)},actions:U},P={serverData:(0,p.C)("settings","usersSettings",{})},S={setServerData(e,t){e.serverData=t}},F={state:P,mutations:S,getters:{getServerData:e=>e.serverData},actions:{}},w={state:{},mutations:{},getters:{},actions:{setAppConfig:(e,{app:t,key:r,value:s})=>g.A.requireAdmin().then(e=>g.A.post((0,u.KT)("apps/provisioning_api/api/v1/config/apps/{app}/{key}",{app:t,key:r}),{value:s}).catch(e=>{throw e})).catch(a=>e.commit("API_FAILURE",{app:t,key:r,value:s,error:a}))}},G={API_FAILURE(e,r){try{const e=r.error.response.data.ocs.meta.message;(0,c.Qg)(t("settings","An error occurred during the request. Unable to proceed.")+"
"+e,{isHTML:!0})}catch(e){(0,c.Qg)(t("settings","An error occurred during the request. Unable to proceed."))}console.error(e,r)}};let $=null;const M=()=>(null===$&&($=new a.il({modules:{users:R,apps:D,settings:F,oc:w},strict:!1,mutations:G})),$)},15916(e,t,r){"use strict";var s;r.d(t,{q:()=>s}),function(e){e[e.UserCount=1]="UserCount",e[e.GroupName=2]="GroupName"}(s||(s={}))},36620(e,t,r){"use strict";r.d(t,{A:()=>s});const s=(0,r(35947).YK)().setApp("settings").detectUser().build()},12836(e,t,r){"use strict";var s=r(44368),a=r(16780),i=r(85471),o=r(95353),n=r(80284),c=r(58723),u=r(53334),p=r(22378);const d=(0,i.pM)({__name:"SettingsApp",setup:e=>({__sfc:!0,NcContent:p.A})}),l=(0,r(14486).A)(d,function(){var e=this,t=e._self._c;return t(e._self._setupProxy.NcContent,{attrs:{"app-name":"settings"}},[t("router-view",{attrs:{name:"navigation"}}),e._v(" "),t("router-view"),e._v(" "),t("router-view",{attrs:{name:"sidebar"}})],1)},[],!1,null,null,null).exports;var m=r(40173),E=r(63814);const g=[{name:"users",path:"/:index(index.php/)?settings/users",components:{default:()=>Promise.all([r.e(4208),r.e(23),r.e(3239)]).then(r.bind(r,7871)),navigation:()=>Promise.all([r.e(4208),r.e(23),r.e(3239)]).then(r.bind(r,47719))},props:!0,children:[{path:":selectedGroup",name:"group"}]},{path:"/:index(index.php/)?settings/apps",name:"apps",redirect:{name:"apps-category",params:{category:(0,r(81222).C)("settings","appstoreEnabled",!0)?"discover":"installed"}},components:{default:()=>Promise.all([r.e(4208),r.e(23),r.e(4529)]).then(r.bind(r,16685)),navigation:()=>Promise.all([r.e(4208),r.e(23),r.e(4529)]).then(r.bind(r,65220)),sidebar:()=>Promise.all([r.e(4208),r.e(23),r.e(4529)]).then(r.bind(r,53934))},children:[{path:":category",name:"apps-category",children:[{path:":id",name:"apps-details"}]}]}];i.Ay.use(m.Ay);const h=new m.Ay({mode:"history",base:(0,E.Jv)(""),linkActiveClass:"active",routes:g});var A=r(14744),f=r(21777),I=r(65899);(0,a.IF)(s.Ay),r.nc=(0,f.aV)(),i.Ay.prototype.t=u.t,i.Ay.prototype.n=u.n,i.Ay.use(I.R2),i.Ay.use(n.Ay,{defaultHtml:!1}),i.Ay.use(o.Ay);const T=(0,A.P)();(0,c.O)(T,h);const N=(0,I.Ey)();new i.Ay({router:h,store:T,pinia:N,render:e=>e(l),el:"#content"})},58723(e,t){function r(e,t){var s={name:e.name,path:e.path,hash:e.hash,query:e.query,params:e.params,fullPath:e.fullPath,meta:e.meta};return t&&(s.from=r(t)),Object.freeze(s)}t.O=function(e,t,s){var a=(s||{}).moduleName||"route";e.registerModule(a,{namespaced:!0,state:r(t.currentRoute),mutations:{ROUTE_CHANGED:function(t,s){e.state[a]=r(s.to,s.from)}}});var i,o=!1,n=e.watch(function(e){return e[a]},function(e){var r=e.fullPath;r!==i&&(null!=i&&(o=!0,t.push(e)),i=r)},{sync:!0}),c=t.afterEach(function(t,r){o?o=!1:(i=t.fullPath,e.commit(a+"/ROUTE_CHANGED",{to:t,from:r}))});return function(){null!=c&&c(),null!=n&&n(),e.unregisterModule(a)}}},35810(e,t,r){"use strict";r.d(t,{lT:()=>S,v7:()=>P}),r(37780);var s,a,i,o,n=r(380),c=r(83141),u=r(53334),p=r(65606),d=r(62045).hp;function l(){if(a)return s;a=1;const e="object"==typeof p&&p.env&&p.env.NODE_DEBUG&&/\bsemver\b/i.test(p.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};return s=e}function m(){if(o)return i;o=1;const e=Number.MAX_SAFE_INTEGER||9007199254740991;return i={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:e,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}var E,g,h,A,f,I,T,N,b,_,L,R,O,C={exports:{}};function y(){if(T)return I;T=1;const e=l(),{MAX_LENGTH:t,MAX_SAFE_INTEGER:r}=m(),{safeRe:s,t:a}=(E||(E=1,function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:r,MAX_SAFE_BUILD_LENGTH:s,MAX_LENGTH:a}=m(),i=l(),o=(t=e.exports={}).re=[],n=t.safeRe=[],c=t.src=[],u=t.safeSrc=[],p=t.t={};let d=0;const E="[a-zA-Z0-9-]",g=[["\\s",1],["\\d",a],[E,s]],h=(e,t,r)=>{const s=(e=>{for(const[t,r]of g)e=e.split(`${t}*`).join(`${t}{0,${r}}`).split(`${t}+`).join(`${t}{1,${r}}`);return e})(t),a=d++;i(e,a,t),p[e]=a,c[a]=t,u[a]=s,o[a]=new RegExp(t,r?"g":void 0),n[a]=new RegExp(s,r?"g":void 0)};h("NUMERICIDENTIFIER","0|[1-9]\\d*"),h("NUMERICIDENTIFIERLOOSE","\\d+"),h("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${E}*`),h("MAINVERSION",`(${c[p.NUMERICIDENTIFIER]})\\.(${c[p.NUMERICIDENTIFIER]})\\.(${c[p.NUMERICIDENTIFIER]})`),h("MAINVERSIONLOOSE",`(${c[p.NUMERICIDENTIFIERLOOSE]})\\.(${c[p.NUMERICIDENTIFIERLOOSE]})\\.(${c[p.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASEIDENTIFIER",`(?:${c[p.NONNUMERICIDENTIFIER]}|${c[p.NUMERICIDENTIFIER]})`),h("PRERELEASEIDENTIFIERLOOSE",`(?:${c[p.NONNUMERICIDENTIFIER]}|${c[p.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASE",`(?:-(${c[p.PRERELEASEIDENTIFIER]}(?:\\.${c[p.PRERELEASEIDENTIFIER]})*))`),h("PRERELEASELOOSE",`(?:-?(${c[p.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[p.PRERELEASEIDENTIFIERLOOSE]})*))`),h("BUILDIDENTIFIER",`${E}+`),h("BUILD",`(?:\\+(${c[p.BUILDIDENTIFIER]}(?:\\.${c[p.BUILDIDENTIFIER]})*))`),h("FULLPLAIN",`v?${c[p.MAINVERSION]}${c[p.PRERELEASE]}?${c[p.BUILD]}?`),h("FULL",`^${c[p.FULLPLAIN]}$`),h("LOOSEPLAIN",`[v=\\s]*${c[p.MAINVERSIONLOOSE]}${c[p.PRERELEASELOOSE]}?${c[p.BUILD]}?`),h("LOOSE",`^${c[p.LOOSEPLAIN]}$`),h("GTLT","((?:<|>)?=?)"),h("XRANGEIDENTIFIERLOOSE",`${c[p.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),h("XRANGEIDENTIFIER",`${c[p.NUMERICIDENTIFIER]}|x|X|\\*`),h("XRANGEPLAIN",`[v=\\s]*(${c[p.XRANGEIDENTIFIER]})(?:\\.(${c[p.XRANGEIDENTIFIER]})(?:\\.(${c[p.XRANGEIDENTIFIER]})(?:${c[p.PRERELEASE]})?${c[p.BUILD]}?)?)?`),h("XRANGEPLAINLOOSE",`[v=\\s]*(${c[p.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[p.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[p.XRANGEIDENTIFIERLOOSE]})(?:${c[p.PRERELEASELOOSE]})?${c[p.BUILD]}?)?)?`),h("XRANGE",`^${c[p.GTLT]}\\s*${c[p.XRANGEPLAIN]}$`),h("XRANGELOOSE",`^${c[p.GTLT]}\\s*${c[p.XRANGEPLAINLOOSE]}$`),h("COERCEPLAIN",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?`),h("COERCE",`${c[p.COERCEPLAIN]}(?:$|[^\\d])`),h("COERCEFULL",c[p.COERCEPLAIN]+`(?:${c[p.PRERELEASE]})?(?:${c[p.BUILD]})?(?:$|[^\\d])`),h("COERCERTL",c[p.COERCE],!0),h("COERCERTLFULL",c[p.COERCEFULL],!0),h("LONETILDE","(?:~>?)"),h("TILDETRIM",`(\\s*)${c[p.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",h("TILDE",`^${c[p.LONETILDE]}${c[p.XRANGEPLAIN]}$`),h("TILDELOOSE",`^${c[p.LONETILDE]}${c[p.XRANGEPLAINLOOSE]}$`),h("LONECARET","(?:\\^)"),h("CARETTRIM",`(\\s*)${c[p.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",h("CARET",`^${c[p.LONECARET]}${c[p.XRANGEPLAIN]}$`),h("CARETLOOSE",`^${c[p.LONECARET]}${c[p.XRANGEPLAINLOOSE]}$`),h("COMPARATORLOOSE",`^${c[p.GTLT]}\\s*(${c[p.LOOSEPLAIN]})$|^$`),h("COMPARATOR",`^${c[p.GTLT]}\\s*(${c[p.FULLPLAIN]})$|^$`),h("COMPARATORTRIM",`(\\s*)${c[p.GTLT]}\\s*(${c[p.LOOSEPLAIN]}|${c[p.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",h("HYPHENRANGE",`^\\s*(${c[p.XRANGEPLAIN]})\\s+-\\s+(${c[p.XRANGEPLAIN]})\\s*$`),h("HYPHENRANGELOOSE",`^\\s*(${c[p.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[p.XRANGEPLAINLOOSE]})\\s*$`),h("STAR","(<|>)?=?\\s*\\*"),h("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),h("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(C,C.exports)),C.exports),i=function(){if(h)return g;h=1;const e=Object.freeze({loose:!0}),t=Object.freeze({});return g=r=>r?"object"!=typeof r?e:r:t}(),{compareIdentifiers:o}=function(){if(f)return A;f=1;const e=/^[0-9]+$/,t=(t,r)=>{if("number"==typeof t&&"number"==typeof r)return t===r?0:tt(r,e)}}();class n{constructor(o,c){if(c=i(c),o instanceof n){if(o.loose===!!c.loose&&o.includePrerelease===!!c.includePrerelease)return o;o=o.version}else if("string"!=typeof o)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof o}".`);if(o.length>t)throw new TypeError(`version is longer than ${t} characters`);e("SemVer",o,c),this.options=c,this.loose=!!c.loose,this.includePrerelease=!!c.includePrerelease;const u=o.trim().match(c.loose?s[a.LOOSE]:s[a.FULL]);if(!u)throw new TypeError(`Invalid Version: ${o}`);if(this.raw=o,this.major=+u[1],this.minor=+u[2],this.patch=+u[3],this.major>r||this.major<0)throw new TypeError("Invalid major version");if(this.minor>r||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>r||this.patch<0)throw new TypeError("Invalid patch version");u[4]?this.prerelease=u[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&te.major?1:this.minore.minor?1:this.patche.patch?1:0}comparePre(t){if(t instanceof n||(t=new n(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let r=0;do{const s=this.prerelease[r],a=t.prerelease[r];if(e("prerelease compare",r,s,a),void 0===s&&void 0===a)return 0;if(void 0===a)return 1;if(void 0===s)return-1;if(s!==a)return o(s,a)}while(++r)}compareBuild(t){t instanceof n||(t=new n(t,this.options));let r=0;do{const s=this.build[r],a=t.build[r];if(e("build compare",r,s,a),void 0===s&&void 0===a)return 0;if(void 0===a)return 1;if(void 0===s)return-1;if(s!==a)return o(s,a)}while(++r)}inc(e,t,r){if(e.startsWith("pre")){if(!t&&!1===r)throw new Error("invalid increment argument: identifier is empty");if(t){const e=`-${t}`.match(this.options.loose?s[a.PRERELEASELOOSE]:s[a.PRERELEASE]);if(!e||e[1]!==t)throw new Error(`invalid identifier: ${t}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,r),this.inc("pre",t,r);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t,r),this.inc("pre",t,r);break;case"release":if(0===this.prerelease.length)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":{const e=Number(r)?1:0;if(0===this.prerelease.length)this.prerelease=[e];else{let s=this.prerelease.length;for(;--s>=0;)"number"==typeof this.prerelease[s]&&(this.prerelease[s]++,s=-2);if(-1===s){if(t===this.prerelease.join(".")&&!1===r)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(t){let s=[t,e];!1===r&&(s=[t]),0===o(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=s):this.prerelease=s}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return I=n}!function(){if(b)return N;b=1;const e=y();N=(t,r)=>new e(t,r).major}(),function(){if(O)return R;O=1;const e=function(){if(L)return _;L=1;const e=y();return _=(t,r,s=!1)=>{if(t instanceof e)return t;try{return new e(t,r)}catch(e){if(!s)return null;throw e}}}();R=(t,r)=>{const s=e(t,r);return s?s.version:null}}(),n.m;var v;v||(v=1,function(e){e.parser=function(e,t){return new s(e,t)},e.SAXParser=s,e.SAXStream=i,e.createStream=function(e,t){return new i(e,t)},e.MAX_BUFFER_LENGTH=65536;var t,r=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];function s(t,a){if(!(this instanceof s))return new s(t,a);var i=this;!function(e){for(var t=0,s=r.length;t"===i?(y(s,"onsgmldeclaration",s.sgmlDecl),s.sgmlDecl="",s.state=R.TEXT):f(i)?(s.state=R.SGML_DECL_QUOTED,s.sgmlDecl+=i):s.sgmlDecl+=i;continue;case R.SGML_DECL_QUOTED:i===s.q&&(s.state=R.SGML_DECL,s.q=""),s.sgmlDecl+=i;continue;case R.DOCTYPE:">"===i?(s.state=R.TEXT,y(s,"ondoctype",s.doctype),s.doctype=!0):(s.doctype+=i,"["===i?s.state=R.DOCTYPE_DTD:f(i)&&(s.state=R.DOCTYPE_QUOTED,s.q=i));continue;case R.DOCTYPE_QUOTED:s.doctype+=i,i===s.q&&(s.q="",s.state=R.DOCTYPE);continue;case R.DOCTYPE_DTD:"]"===i?(s.doctype+=i,s.state=R.DOCTYPE):"<"===i?(s.state=R.OPEN_WAKA,s.startTagPosition=s.position):f(i)?(s.doctype+=i,s.state=R.DOCTYPE_DTD_QUOTED,s.q=i):s.doctype+=i;continue;case R.DOCTYPE_DTD_QUOTED:s.doctype+=i,i===s.q&&(s.state=R.DOCTYPE_DTD,s.q="");continue;case R.COMMENT:"-"===i?s.state=R.COMMENT_ENDING:s.comment+=i;continue;case R.COMMENT_ENDING:"-"===i?(s.state=R.COMMENT_ENDED,s.comment=U(s.opt,s.comment),s.comment&&y(s,"oncomment",s.comment),s.comment=""):(s.comment+="-"+i,s.state=R.COMMENT);continue;case R.COMMENT_ENDED:">"!==i?(S(s,"Malformed comment"),s.comment+="--"+i,s.state=R.COMMENT):s.doctype&&!0!==s.doctype?s.state=R.DOCTYPE_DTD:s.state=R.TEXT;continue;case R.CDATA:"]"===i?s.state=R.CDATA_ENDING:s.cdata+=i;continue;case R.CDATA_ENDING:"]"===i?s.state=R.CDATA_ENDING_2:(s.cdata+="]"+i,s.state=R.CDATA);continue;case R.CDATA_ENDING_2:">"===i?(s.cdata&&y(s,"oncdata",s.cdata),y(s,"onclosecdata"),s.cdata="",s.state=R.TEXT):"]"===i?s.cdata+="]":(s.cdata+="]]"+i,s.state=R.CDATA);continue;case R.PROC_INST:"?"===i?s.state=R.PROC_INST_ENDING:A(i)?s.state=R.PROC_INST_BODY:s.procInstName+=i;continue;case R.PROC_INST_BODY:if(!s.procInstBody&&A(i))continue;"?"===i?s.state=R.PROC_INST_ENDING:s.procInstBody+=i;continue;case R.PROC_INST_ENDING:">"===i?(y(s,"onprocessinginstruction",{name:s.procInstName,body:s.procInstBody}),s.procInstName=s.procInstBody="",s.state=R.TEXT):(s.procInstBody+="?"+i,s.state=R.PROC_INST_BODY);continue;case R.OPEN_TAG:T(E,i)?s.tagName+=i:(F(s),">"===i?$(s):"/"===i?s.state=R.OPEN_TAG_SLASH:(A(i)||S(s,"Invalid character in tag name"),s.state=R.ATTRIB));continue;case R.OPEN_TAG_SLASH:">"===i?($(s,!0),M(s)):(S(s,"Forward-slash in opening tag not followed by >"),s.state=R.ATTRIB);continue;case R.ATTRIB:if(A(i))continue;">"===i?$(s):"/"===i?s.state=R.OPEN_TAG_SLASH:T(m,i)?(s.attribName=i,s.attribValue="",s.state=R.ATTRIB_NAME):S(s,"Invalid attribute name");continue;case R.ATTRIB_NAME:"="===i?s.state=R.ATTRIB_VALUE:">"===i?(S(s,"Attribute without value"),s.attribValue=s.attribName,G(s),$(s)):A(i)?s.state=R.ATTRIB_NAME_SAW_WHITE:T(E,i)?s.attribName+=i:S(s,"Invalid attribute name");continue;case R.ATTRIB_NAME_SAW_WHITE:if("="===i)s.state=R.ATTRIB_VALUE;else{if(A(i))continue;S(s,"Attribute without value"),s.tag.attributes[s.attribName]="",s.attribValue="",y(s,"onattribute",{name:s.attribName,value:""}),s.attribName="",">"===i?$(s):T(m,i)?(s.attribName=i,s.state=R.ATTRIB_NAME):(S(s,"Invalid attribute name"),s.state=R.ATTRIB)}continue;case R.ATTRIB_VALUE:if(A(i))continue;f(i)?(s.q=i,s.state=R.ATTRIB_VALUE_QUOTED):(s.opt.unquotedAttributeValues||D(s,"Unquoted attribute value"),s.state=R.ATTRIB_VALUE_UNQUOTED,s.attribValue=i);continue;case R.ATTRIB_VALUE_QUOTED:if(i!==s.q){"&"===i?s.state=R.ATTRIB_VALUE_ENTITY_Q:s.attribValue+=i;continue}G(s),s.q="",s.state=R.ATTRIB_VALUE_CLOSED;continue;case R.ATTRIB_VALUE_CLOSED:A(i)?s.state=R.ATTRIB:">"===i?$(s):"/"===i?s.state=R.OPEN_TAG_SLASH:T(m,i)?(S(s,"No whitespace between attributes"),s.attribName=i,s.attribValue="",s.state=R.ATTRIB_NAME):S(s,"Invalid attribute name");continue;case R.ATTRIB_VALUE_UNQUOTED:if(!I(i)){"&"===i?s.state=R.ATTRIB_VALUE_ENTITY_U:s.attribValue+=i;continue}G(s),">"===i?$(s):s.state=R.ATTRIB;continue;case R.CLOSE_TAG:if(s.tagName)">"===i?M(s):T(E,i)?s.tagName+=i:s.script?(s.script+=""===i?M(s):S(s,"Invalid characters in closing tag");continue;case R.TEXT_ENTITY:case R.ATTRIB_VALUE_ENTITY_Q:case R.ATTRIB_VALUE_ENTITY_U:var p,d;switch(s.state){case R.TEXT_ENTITY:p=R.TEXT,d="textNode";break;case R.ATTRIB_VALUE_ENTITY_Q:p=R.ATTRIB_VALUE_QUOTED,d="attribValue";break;case R.ATTRIB_VALUE_ENTITY_U:p=R.ATTRIB_VALUE_UNQUOTED,d="attribValue"}if(";"===i){var l=B(s);s.opt.unparsedEntities&&!Object.values(e.XML_ENTITIES).includes(l)?(s.entity="",s.state=p,s.write(l)):(s[d]+=l,s.entity="",s.state=p)}else T(s.entity.length?h:g,i)?s.entity+=i:(S(s,"Invalid character in entity name"),s[d]+="&"+s.entity+i,s.entity="",s.state=p);continue;default:throw new Error(s,"Unknown state: "+s.state)}return s.position>=s.bufferCheckPosition&&function(t){for(var s=Math.max(e.MAX_BUFFER_LENGTH,10),a=0,i=0,o=r.length;is)switch(r[i]){case"textNode":v(t);break;case"cdata":y(t,"oncdata",t.cdata),t.cdata="";break;case"script":y(t,"onscript",t.script),t.script="";break;default:D(t,"Max buffer length exceeded: "+r[i])}a=Math.max(a,n)}var c=e.MAX_BUFFER_LENGTH-a;t.bufferCheckPosition=c+t.position}(s),s},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){var e;v(e=this),""!==e.cdata&&(y(e,"oncdata",e.cdata),e.cdata=""),""!==e.script&&(y(e,"onscript",e.script),e.script="")}};try{t=require("stream").Stream}catch(e){t=function(){}}t||(t=function(){});var a=e.EVENTS.filter(function(e){return"error"!==e&&"end"!==e});function i(e,r){if(!(this instanceof i))return new i(e,r);t.apply(this),this._parser=new s(e,r),this.writable=!0,this.readable=!0;var o=this;this._parser.onend=function(){o.emit("end")},this._parser.onerror=function(e){o.emit("error",e),o._parser.error=null},this._decoder=null,a.forEach(function(e){Object.defineProperty(o,"on"+e,{get:function(){return o._parser["on"+e]},set:function(t){if(!t)return o.removeAllListeners(e),o._parser["on"+e]=t,t;o.on(e,t)},enumerable:!0,configurable:!1})})}i.prototype=Object.create(t.prototype,{constructor:{value:i}}),i.prototype.write=function(e){if("function"==typeof d&&"function"==typeof d.isBuffer&&d.isBuffer(e)){if(!this._decoder){var t=c.I;this._decoder=new t("utf8")}e=this._decoder.write(e)}return this._parser.write(e.toString()),this.emit("data",e),!0},i.prototype.end=function(e){return e&&e.length&&this.write(e),this._parser.end(),!0},i.prototype.on=function(e,r){var s=this;return s._parser["on"+e]||-1===a.indexOf(e)||(s._parser["on"+e]=function(){var t=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);t.splice(0,0,e),s.emit.apply(s,t)}),t.prototype.on.call(s,e,r)};var o="[CDATA[",n="DOCTYPE",u="http://www.w3.org/XML/1998/namespace",p="http://www.w3.org/2000/xmlns/",l={xml:u,xmlns:p},m=/[:_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]/,E=/[:_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\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,g=/[#:_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]/,h=/[#:_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\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function A(e){return" "===e||"\n"===e||"\r"===e||"\t"===e}function f(e){return'"'===e||"'"===e}function I(e){return">"===e||A(e)}function T(e,t){return e.test(t)}function N(e,t){return!T(e,t)}var b,_,L,R=0;for(var O in e.STATE={BEGIN:R++,BEGIN_WHITESPACE:R++,TEXT:R++,TEXT_ENTITY:R++,OPEN_WAKA:R++,SGML_DECL:R++,SGML_DECL_QUOTED:R++,DOCTYPE:R++,DOCTYPE_QUOTED:R++,DOCTYPE_DTD:R++,DOCTYPE_DTD_QUOTED:R++,COMMENT_STARTING:R++,COMMENT:R++,COMMENT_ENDING:R++,COMMENT_ENDED:R++,CDATA:R++,CDATA_ENDING:R++,CDATA_ENDING_2:R++,PROC_INST:R++,PROC_INST_BODY:R++,PROC_INST_ENDING:R++,OPEN_TAG:R++,OPEN_TAG_SLASH:R++,ATTRIB:R++,ATTRIB_NAME:R++,ATTRIB_NAME_SAW_WHITE:R++,ATTRIB_VALUE:R++,ATTRIB_VALUE_QUOTED:R++,ATTRIB_VALUE_CLOSED:R++,ATTRIB_VALUE_UNQUOTED:R++,ATTRIB_VALUE_ENTITY_Q:R++,ATTRIB_VALUE_ENTITY_U:R++,CLOSE_TAG:R++,CLOSE_TAG_SAW_WHITE:R++,SCRIPT:R++,SCRIPT_ENDING:R++},e.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},e.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(e.ENTITIES).forEach(function(t){var r=e.ENTITIES[t],s="number"==typeof r?String.fromCharCode(r):r;e.ENTITIES[t]=s}),e.STATE)e.STATE[e.STATE[O]]=O;function C(e,t,r){e[t]&&e[t](r)}function y(e,t,r){e.textNode&&v(e),C(e,t,r)}function v(e){e.textNode=U(e.opt,e.textNode),e.textNode&&C(e,"ontext",e.textNode),e.textNode=""}function U(e,t){return e.trim&&(t=t.trim()),e.normalize&&(t=t.replace(/\s+/g," ")),t}function D(e,t){return v(e),e.trackPosition&&(t+="\nLine: "+e.line+"\nColumn: "+e.column+"\nChar: "+e.c),t=new Error(t),e.error=t,C(e,"onerror",t),e}function P(e){return e.sawRoot&&!e.closedRoot&&S(e,"Unclosed root tag"),e.state!==R.BEGIN&&e.state!==R.BEGIN_WHITESPACE&&e.state!==R.TEXT&&D(e,"Unexpected end"),v(e),e.c="",e.closed=!0,C(e,"onend"),s.call(e,e.strict,e.opt),e}function S(e,t){if("object"!=typeof e||!(e instanceof s))throw new Error("bad call to strictFail");e.strict&&D(e,t)}function F(e){e.strict||(e.tagName=e.tagName[e.looseCase]());var t=e.tags[e.tags.length-1]||e,r=e.tag={name:e.tagName,attributes:{}};e.opt.xmlns&&(r.ns=t.ns),e.attribList.length=0,y(e,"onopentagstart",r)}function w(e,t){var r=e.indexOf(":")<0?["",e]:e.split(":"),s=r[0],a=r[1];return t&&"xmlns"===e&&(s="xmlns",a=""),{prefix:s,local:a}}function G(e){if(e.strict||(e.attribName=e.attribName[e.looseCase]()),-1!==e.attribList.indexOf(e.attribName)||e.tag.attributes.hasOwnProperty(e.attribName))e.attribName=e.attribValue="";else{if(e.opt.xmlns){var t=w(e.attribName,!0),r=t.prefix,s=t.local;if("xmlns"===r)if("xml"===s&&e.attribValue!==u)S(e,"xml: prefix must be bound to "+u+"\nActual: "+e.attribValue);else if("xmlns"===s&&e.attribValue!==p)S(e,"xmlns: prefix must be bound to "+p+"\nActual: "+e.attribValue);else{var a=e.tag,i=e.tags[e.tags.length-1]||e;a.ns===i.ns&&(a.ns=Object.create(i.ns)),a.ns[s]=e.attribValue}e.attribList.push([e.attribName,e.attribValue])}else e.tag.attributes[e.attribName]=e.attribValue,y(e,"onattribute",{name:e.attribName,value:e.attribValue});e.attribName=e.attribValue=""}}function $(e,t){if(e.opt.xmlns){var r=e.tag,s=w(e.tagName);r.prefix=s.prefix,r.local=s.local,r.uri=r.ns[s.prefix]||"",r.prefix&&!r.uri&&(S(e,"Unbound namespace prefix: "+JSON.stringify(e.tagName)),r.uri=s.prefix);var a=e.tags[e.tags.length-1]||e;r.ns&&a.ns!==r.ns&&Object.keys(r.ns).forEach(function(t){y(e,"onopennamespace",{prefix:t,uri:r.ns[t]})});for(var i=0,o=e.attribList.length;i",e.tagName="",void(e.state=R.SCRIPT);y(e,"onscript",e.script),e.script=""}var t=e.tags.length,r=e.tagName;e.strict||(r=r[e.looseCase]());for(var s=r;t--&&e.tags[t].name!==s;)S(e,"Unexpected close tag");if(t<0)return S(e,"Unmatched closing tag: "+e.tagName),e.textNode+="",void(e.state=R.TEXT);e.tagName=r;for(var a=e.tags.length;a-- >t;){var i=e.tag=e.tags.pop();e.tagName=e.tag.name,y(e,"onclosetag",e.tagName);var o={};for(var n in i.ns)o[n]=i.ns[n];var c=e.tags[e.tags.length-1]||e;e.opt.xmlns&&i.ns!==c.ns&&Object.keys(i.ns).forEach(function(t){var r=i.ns[t];y(e,"onclosenamespace",{prefix:t,uri:r})})}0===t&&(e.closedRoot=!0),e.tagName=e.attribValue=e.attribName="",e.attribList.length=0,e.state=R.TEXT}function B(e){var t,r=e.entity,s=r.toLowerCase(),a="";return e.ENTITIES[r]?e.ENTITIES[r]:e.ENTITIES[s]?e.ENTITIES[s]:("#"===(r=s).charAt(0)&&("x"===r.charAt(1)?(r=r.slice(2),a=(t=parseInt(r,16)).toString(16)):(r=r.slice(1),a=(t=parseInt(r,10)).toString(10))),r=r.replace(/^0+/,""),isNaN(t)||a.toLowerCase()!==r?(S(e,"Invalid character entity"),"&"+e.entity+";"):String.fromCodePoint(t))}function x(e,t){"<"===t?(e.state=R.OPEN_WAKA,e.startTagPosition=e.position):A(t)||(S(e,"Non-whitespace before first tag."),e.textNode=t,e.state=R.TEXT)}function k(e,t){var r="";return t1114111||_(o)!==o)throw RangeError("Invalid code point: "+o);o<=65535?r.push(o):(e=55296+((o-=65536)>>10),t=o%1024+56320,r.push(e,t)),(s+1===a||r.length>16384)&&(i+=b.apply(null,r),r.length=0)}return i},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:L,configurable:!0,writable:!0}):String.fromCodePoint=L)}({})),Error;const U=["B","KB","MB","GB","TB","PB"],D=["B","KiB","MiB","GiB","TiB","PiB"];function P(e,t=!1,r=!1,s=!1){r=r&&!s,"string"==typeof e&&(e=Number(e));let a=e>0?Math.floor(Math.log(e)/Math.log(s?1e3:1024)):0;a=Math.min((r?D.length:U.length)-1,a);const i=r?D[a]:U[a];let o=(e/Math.pow(s?1e3:1024,a)).toFixed(1);return!0===t&&0===a?("0.0"!==o?"< 1 ":"0 ")+(r?D[1]:U[1]):(o=a<2?parseFloat(o).toFixed(0):parseFloat(o).toLocaleString((0,u.lO)()),o+" "+i)}function S(e,t=!1){try{e=`${e}`.toLocaleLowerCase().replaceAll(/\s+/g,"").replaceAll(",",".")}catch(e){return null}const r=e.match(/^([0-9]*(\.[0-9]*)?)([kmgtp]?)(i?)b?$/);if(null===r||"."===r[1]||""===r[1])return null;const s=`${r[1]}`,a="i"===r[4]||t?1024:1e3;return Math.round(Number.parseFloat(s)*a**{"":0,k:1,m:2,g:3,t:4,p:5,e:6}[r[3]])}}},i={};function o(e){var t=i[e];if(void 0!==t)return t.exports;var r=i[e]={id:e,loaded:!1,exports:{}};return a[e].call(r.exports,r,r.exports,o),r.loaded=!0,r.exports}o.m=a,e=[],o.O=(t,r,s,a)=>{if(!r){var i=1/0;for(p=0;p=a)&&Object.keys(o.O).every(e=>o.O[e](r[c]))?r.splice(c--,1):(n=!1,a0&&e[p-1][2]>a;p--)e[p]=e[p-1];e[p]=[r,s,a]},o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce((t,r)=>(o.f[r](e,t),t),[])),o.u=e=>(({3239:"settings-users",4529:"settings-apps-view"}[e]||e)+"-"+e+".js?v="+{23:"cd8c6e53d4fe8ee5061c",459:"18a76f596cbda9fcfeae",1023:"05e48f528e39cc5ac354",1217:"1b1016b8e8417d8b50ab",1604:"6dd81d059d91ea002066",3239:"ae98d64366bf4f8dd1ee",3464:"03f0e4a610987ac78bb3",4529:"13bf7b877817a99e791c",5862:"e58c0b75c4ec864adc49",6505:"903528d99b4acedb993d",6597:"73d39530ac866a7119c9",7471:"c2afd3e83467ce503d3e",7859:"f9477f7bca078c643063",8737:"b7e35a3dc60ab8272a8d",9054:"3025fae957c5f3990fea"}[e]),o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r={},s="nextcloud:",o.l=(e,t,a,i)=>{if(r[e])r[e].push(t);else{var n,c;if(void 0!==a)for(var u=document.getElementsByTagName("script"),p=0;p{n.onerror=n.onload=null,clearTimeout(m);var a=r[e];if(delete r[e],n.parentNode&&n.parentNode.removeChild(n),a&&a.forEach(e=>e(s)),t)return t(s)},m=setTimeout(l.bind(null,void 0,{type:"timeout",target:n}),12e4);n.onerror=l.bind(null,n.onerror),n.onload=l.bind(null,n.onload),c&&document.head.appendChild(n)}},o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),o.j=2689,o.dn=e=>{(Object.getOwnPropertyDescriptor(e,"name")||{}).writable||Object.defineProperty(e,"name",{value:"default",configurable:!0})},(()=>{var e;globalThis.importScripts&&(e=globalThis.location+"");var t=globalThis.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var s=r.length-1;s>-1&&(!e||!/^http(s?):/.test(e));)e=r[s--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=e})(),(()=>{o.b="undefined"!=typeof document&&document.baseURI||self.location.href;var e={2689:0};o.f.j=(t,r)=>{var s=o.o(e,t)?e[t]:void 0;if(0!==s)if(s)r.push(s[2]);else{var a=new Promise((r,a)=>s=e[t]=[r,a]);r.push(s[2]=a);var i=o.p+o.u(t),n=new Error;o.l(i,r=>{if(o.o(e,t)&&(0!==(s=e[t])&&(e[t]=void 0),s)){var a=r&&("load"===r.type?"missing":r.type),i=r&&r.target&&r.target.src;n.message="Loading chunk "+t+" failed.\n("+a+": "+i+")",n.name="ChunkLoadError",n.type=a,n.request=i,s[1](n)}},"chunk-"+t,t)}},o.O.j=t=>0===e[t];var t=(t,r)=>{var s,a,[i,n,c]=r,u=0;if(i.some(t=>0!==e[t])){for(s in n)o.o(n,s)&&(o.m[s]=n[s]);if(c)var p=c(o)}for(t&&t(r);uo(12836));n=o.O(n)})(); +//# sourceMappingURL=settings-vue-settings-apps-users-management.js.map?v=4f16420d051883f9bb71 \ No newline at end of file diff --git a/dist/settings-vue-settings-apps-users-management.js.map b/dist/settings-vue-settings-apps-users-management.js.map index 1b8043e167557..edf09005e53d8 100644 --- a/dist/settings-vue-settings-apps-users-management.js.map +++ b/dist/settings-vue-settings-apps-users-management.js.map @@ -1 +1 @@ -{"version":3,"file":"settings-vue-settings-apps-users-management.js?v=1c4819d92f2f9ad042fd","mappings":"UAAAA,ECAAC,EACAC,yECOA,MAAMC,EAAW,SAASC,GACzB,OAAOA,EAAIC,QAAQ,MAAO,GAC3B,EAEAC,EAAA,CAiCCC,aAAYA,KACJC,EAAAA,EAAAA,MAERC,IAAGA,CAACL,EAAKM,IACDC,EAAAA,GAAMF,IAAIN,EAASC,GAAMM,GAEjCE,KAAIA,CAACR,EAAKS,EAAMH,IACRC,EAAAA,GAAMC,KAAKT,EAASC,GAAMS,EAAMH,GAExCI,MAAKA,CAACV,EAAKS,IACHF,EAAAA,GAAMG,MAAMX,EAASC,GAAMS,GAEnCE,IAAGA,CAACX,EAAKS,IACDF,EAAAA,GAAMI,IAAIZ,EAASC,GAAMS,GAEjCG,OAAMA,CAACZ,EAAKS,IACJF,EAAAA,GAAMK,OAAOb,EAASC,GAAM,CAAEa,OAAQJ,mKCxDxC,MAAMK,EAAkBC,KAAKC,SAAS,EAACC,EAAAA,EAAAA,OAAeC,EAAAA,EAAAA,OAAuB,CAChFC,SAAS,EACTC,MAAO,kCCWX,MAAMC,GAAgBC,EAAAA,EAAAA,GAAU,WAAY,gBAAiB,CAAC,GAExDC,GAAeC,EAAAA,EAAAA,IAAW,YAAYC,SAAQ,GAAMC,QAEpDC,EAIE,CACNC,GAAI,GACJC,KAAM,GACNC,UAAW,EACXC,SAAU,EACVC,QAAQ,EACRC,WAAW,GAIPC,EAAQ,CACbC,MAAO,GACPC,OAAQ,IACHf,EAAcgB,mBAAqB,MACnChB,EAAciB,cAAgB,IAEnCC,QAASlB,EAAcmB,YAAcC,EAAAA,EAAaC,UAClDC,kBAAmB,EACnBC,YAAa,EACbC,WAAY,GACZC,oBAAqB,EACrBC,mBAAoB,GACpBC,UAAW3B,EAAc2B,WAAa,EACtCC,WAAY,CACXC,gBAA+E,SAA9D3B,EAAa4B,QAAQ,qCACtCC,gBAA+E,SAA9D7B,EAAa4B,QAAQ,qCACtCE,eAA6E,SAA7D9B,EAAa4B,QAAQ,oCACrCG,cAA2E,SAA5D/B,EAAa4B,QAAQ,mCACpCI,gBAA+E,SAA9DhC,EAAa4B,QAAQ,qCACtCK,cAA2E,SAA5DjC,EAAa4B,QAAQ,qCAIhCM,EAAY,CACjBC,WAAAA,CAAYxB,EAAOyB,GAClB,MAAMC,EAAgB1B,EAAMC,MAAM0B,IAAI,EAAGjC,QAASA,GAC5CkC,EAAWC,OAAOC,OAAOL,GAC7BM,OAAO,EAAGrC,SAAUgC,EAAcM,SAAStC,IAEvCO,EAAQD,EAAMC,MAAMgC,OAAOL,GACjC5B,EAAMU,aAAeV,EAAMW,WAC3BX,EAAMC,MAAQA,CACf,EACAiC,mBAAAA,CAAoBlC,EAAOmC,GAC1BnC,EAAMY,qBAAuBZ,EAAMa,kBACpC,EACAuB,0BAAAA,CAA2BpC,EAAOqC,GACjCrC,EAAMS,kBAA+B,KAAX4B,EAAgBA,EAAS,CACpD,EAKAC,QAAAA,CAAStC,EAAOuC,GACf,IACC,QAAsE,IAA3DvC,EAAME,OAAOsC,KAAMC,GAAUA,EAAM/C,KAAO6C,EAAS7C,IAC7D,OAGD,MAAM+C,EAAQZ,OAAOa,OAAO,CAAC,EAAGjD,EAAgB8C,GAChDvC,EAAME,OAAOyC,QAAQF,EACtB,CAAE,MAAOG,GACRC,QAAQC,MAAM,qBAAuBF,EACtC,CACD,EACAG,WAAAA,CAAY/C,GAAOgD,IAAEA,EAAGC,YAAEA,IACzB,MAAMC,EAAalD,EAAME,OAAOiD,UAAUC,GAAeA,EAAY1D,KAAOsD,GAC5E,GAAIE,GAAc,EAAG,CACpB,MAAMG,EAAerD,EAAME,OAAOgD,GAClCG,EAAa1D,KAAOsD,EACpBjD,EAAME,OAAOoD,OAAOJ,EAAY,EAAGG,EACpC,CACD,EACAE,WAAAA,CAAYvD,EAAOgD,GAClB,MAAME,EAAalD,EAAME,OAAOiD,UAAUC,GAAeA,EAAY1D,KAAOsD,GACxEE,GAAc,GACjBlD,EAAME,OAAOoD,OAAOJ,EAAY,EAElC,EACAM,YAAAA,CAAaxD,GAAOyD,OAAEA,EAAMT,IAAEA,IAC7B,MAAMP,EAAQzC,EAAME,OAAOsC,KAAKY,GAAeA,EAAY1D,KAAOsD,GAC5DU,EAAO1D,EAAMC,MAAMuC,KAAKkB,GAAQA,EAAKhE,KAAO+D,GAE9ChB,GAASiB,EAAKC,SAAW3D,EAAMc,UAAY,GAC9C2B,EAAM7C,YAEQ8D,EAAKxD,OACb0D,KAAKZ,EACb,EACAa,eAAAA,CAAgB7D,GAAOyD,OAAEA,EAAMT,IAAEA,IAChC,MAAMP,EAAQzC,EAAME,OAAOsC,KAAKY,GAAeA,EAAY1D,KAAOsD,GAC5DU,EAAO1D,EAAMC,MAAMuC,KAAKkB,GAAQA,EAAKhE,KAAO+D,GAE9ChB,GAASiB,EAAKC,SAAW3D,EAAMc,UAAY,GAC9C2B,EAAM7C,YAEP,MAAMM,EAASwD,EAAKxD,OACpBA,EAAOoD,OAAOpD,EAAO4D,QAAQd,GAAM,EACpC,EACAe,eAAAA,CAAgB/D,GAAOyD,OAAEA,EAAMT,IAAEA,IACjBhD,EAAMC,MAAMuC,KAAKkB,GAAQA,EAAKhE,KAAO+D,GAAQO,SACrDJ,KAAKZ,EACb,EACAiB,kBAAAA,CAAmBjE,GAAOyD,OAAEA,EAAMT,IAAEA,IACnC,MAAM9C,EAASF,EAAMC,MAAMuC,KAAKkB,GAAQA,EAAKhE,KAAO+D,GAAQO,SAC5D9D,EAAOoD,OAAOpD,EAAO4D,QAAQd,GAAM,EACpC,EACAkB,UAAAA,CAAWlE,EAAOyD,GACjB,MAAMU,EAAYnE,EAAMC,MAAMkD,UAAUO,GAAQA,EAAKhE,KAAO+D,GAC5DW,KAAKC,OAAO,mBAAoB,CAAEX,KAAM1D,EAAMC,MAAMkE,GAAYG,WAAY,WAC5EtE,EAAMC,MAAMqD,OAAOa,EAAW,EAC/B,EACAI,WAAAA,CAAYvE,EAAOwE,GAClB,MAAMd,EAAOc,EAASjG,KAAKkG,IAAIlG,KAC/ByB,EAAMC,MAAM0C,QAAQe,GACpBU,KAAKC,OAAO,mBAAoB,CAAEX,OAAMY,WAAY,UACrD,EACAI,iBAAAA,CAAkB1E,GAAOyD,OAAEA,EAAME,QAAEA,IAClC,MAAMD,EAAO1D,EAAMC,MAAMuC,KAAKkB,GAAQA,EAAKhE,KAAO+D,GAClDC,EAAKC,QAAUA,EACfS,KAAKC,OAAO,mBAAoB,CAAEX,OAAMY,WAAYX,EAAU,SAAW,WAC1E,EAEAgB,gBAAAA,CAAiB3E,GAAO0D,KAAEA,EAAIY,WAAEA,IAE/B,GAAwB,IAApBtE,EAAMc,UACT,OAGD,MAAM8D,EAAc5E,EAAME,OAAOsC,KAAKC,GAAsB,yBAAbA,EAAM/C,IAC/CmF,EAAgB7E,EAAME,OAAOsC,KAAKC,GAAsB,aAAbA,EAAM/C,IACvD,OAAQ4E,GACR,IAAK,SACL,IAAK,UACJO,EAAcjF,WAAa8D,EAAKC,SAAW,EAAI,EAC/CiB,EAAYhF,WAAa8D,EAAKC,QAAU,GAAK,EAC7C3D,EAAMc,WAAa4C,EAAKC,QAAU,GAAK,EACvCD,EAAKxD,OAAO4E,QAAQC,IACnB,MAAMtC,EAAQzC,EAAME,OAAOsC,KAAKY,GAAeA,EAAY1D,KAAOqF,GAC7DtC,IAGLA,EAAM5C,UAAY6D,EAAKC,SAAW,EAAI,KAEvC,MACD,IAAK,SACJiB,EAAYhF,YACZI,EAAMc,YAEN4C,EAAKxD,OAAO4E,QAAQC,IACnB,MAAMtC,EAAQzC,EAAME,OAAOsC,KAAKY,GAAeA,EAAY1D,KAAOqF,GAC7DtC,GAGLA,EAAM7C,cAEP,MACD,IAAK,SACA8D,EAAKC,SACRiB,EAAYhF,YACZI,EAAMc,YACN4C,EAAKxD,OAAO4E,QAAQC,IACnB,MAAMtC,EAAQzC,EAAME,OAAOsC,KAAKY,GAAeA,EAAY1D,KAAOqF,GAC7DtC,EAILA,EAAM7C,YAHLiD,QAAQmC,KAAK,cAAgBD,EAAY,2CAM3CF,EAAcjF,YACd8D,EAAKxD,OAAO4E,QAAQC,IACnB,MAAMtC,EAAQzC,EAAME,OAAOsC,KAAKY,GAAeA,EAAY1D,KAAOqF,GAC7DtC,GAGLA,EAAM5C,cAGR,MACD,QACCoF,EAAAA,EAAOnC,MAAM,6CAA6CwB,MAG5D,EACAY,WAAAA,CAAYlF,GAAOyD,OAAEA,EAAM0B,IAAEA,EAAGC,MAAEA,IACjC,GAAY,UAARD,EAAiB,CACpB,MAAME,GAAaC,EAAAA,EAAAA,IAAcF,GAAO,GACxCpF,EAAMC,MAAMuC,KAAKkB,GAAQA,EAAKhE,KAAO+D,GAAQ0B,GAAKA,GAAsB,OAAfE,EAAsBA,EAAaD,CAC7F,MACCpF,EAAMC,MAAMuC,KAAKkB,GAAQA,EAAKhE,KAAO+D,GAAQ0B,GAAOC,CAEtD,EAOAG,UAAAA,CAAWvF,GACVA,EAAMC,MAAQ,GACdD,EAAMU,YAAc,EACpBV,EAAMY,oBAAsB,CAC7B,EAOA4E,WAAAA,CAAYxF,GACXA,EAAME,OAAS,IACVf,EAAcgB,mBAAqB,MACnChB,EAAciB,cAAgB,GAEpC,EAEAqF,aAAAA,CAAczF,GAAOmF,IAAEA,EAAGC,MAAEA,IAC3B/F,EAAaqG,QAAQ,qBAAqBP,IAAOQ,KAAKC,UAAUR,IAChEpF,EAAMe,WAAWoE,GAAOC,CACzB,EAEAS,eAAAA,CAAgB7F,EAAO8F,GACtB,MAAMC,EAAW/F,EAAMK,QACvBL,EAAMK,QAAUyF,EAGhBzH,EAAAA,GAAMC,MACL0H,EAAAA,EAAAA,IAAY,4CACZ,CACCZ,MAAOa,OAAOH,KAEdI,MAAOpD,IACR9C,EAAMK,QAAU0F,GAChBI,EAAAA,EAAAA,IAAUC,EAAE,WAAY,gCACxBnB,EAAAA,EAAOnC,MAAMA,IAEf,GAGKuD,EAAU,CACfC,SAAStG,GACDA,EAAMC,MAEdsG,UAAUvG,GACFA,EAAME,OAEdC,kBAAiBA,IACThB,EAAcqH,gBAAkB,GAGxCC,eAAAA,CAAgBzG,GACf,MAAME,EAAS,IAAIF,EAAME,QACzB,OAAIF,EAAMK,UAAYE,EAAAA,EAAaC,UAC3BN,EAAOwG,KAAK,CAACC,EAAGC,KACtB,MAAMC,EAAOF,EAAE/G,UAAY+G,EAAE9G,SACvBiH,EAAOF,EAAEhH,UAAYgH,EAAE/G,SAC7B,OAAQgH,EAAOC,EAAQ,EAAKA,EAAOD,GAAQ,EAAIjI,EAAgBmI,QAAQJ,EAAEhH,KAAMiH,EAAEjH,QAG3EO,EAAOwG,KAAK,CAACC,EAAGC,IAAMhI,EAAgBmI,QAAQJ,EAAEhH,KAAMiH,EAAEjH,MAEjE,EACAqH,gBAAgBhH,GACRA,EAAMK,QAEd4G,2BAA2BjH,GACnBA,EAAMS,kBAEdyG,eAAelH,GACPA,EAAMU,YAEdyG,cAAcnH,GACNA,EAAMW,WAEdyG,uBAAuBpH,GACfA,EAAMY,oBAEdyG,sBAAsBrH,GACdA,EAAMa,mBAEdyG,aAAatH,GACLA,EAAMc,UAEdyG,cAAcvH,GACNA,EAAMe,YAITyG,EAAcnJ,EAAAA,GAAMmJ,YAC1B,IAAIC,EAA4B,KAEhC,MAweAxH,EAAA,CAAiBD,QAAOuB,YAAW8E,UAASqB,QAxe5B,CAYfC,YAAWA,CAACC,GAASC,OAAEA,EAAMC,MAAEA,EAAKC,OAAEA,MACrCA,EAA2B,iBAAXA,EAAsBA,EAAS,GAExCC,EAAAA,EAAI7J,KAAI8J,EAAAA,EAAAA,IAAe,oEAAqE,CAAEJ,SAAQC,QAAOC,YAAW7B,MAAOpD,IAChIzE,EAAAA,GAAAA,SAAeyE,IACnB8E,EAAQvD,OAAO,cAAevB,MAYjCoF,QAAOA,CAACN,EAASO,IACTH,EAAAA,EAAI7J,KAAI8J,EAAAA,EAAAA,IAAe,eAAeE,MAAWjC,MAAOpD,IACzDzE,EAAAA,GAAAA,SAAeyE,IACnB8E,EAAQvD,OAAO,cAAevB,KAgBjCwD,SAAQA,CAACsB,GAASC,OAAEA,EAAMC,MAAEA,EAAKC,OAAEA,EAAMtF,MAAEA,MACtCgF,GACHA,EAA0BW,OAAO,iDAElCX,EAA4BD,EAAYa,SAQxCN,GAPAA,EAA2B,iBAAXA,EAAsBA,EAAS,IAO/BhK,QAAQ,aAAc,IAAIuK,OAG5B,MADd7F,EAAyB,iBAAVA,EAAqBA,EAAQ,IAEpCuF,EAAAA,EAAI7J,KAAI8J,EAAAA,EAAAA,IAAe,mFAAoF,CAAExF,MAAO8F,mBAAmB9F,GAAQoF,SAAQC,QAAOC,WAAW,CAC/KS,YAAaf,EAA0BgB,QAEtCC,KAAMlE,IACN,MAAMmE,EAAa9G,OAAO+G,KAAKpE,EAASjG,KAAKkG,IAAIlG,KAAK0B,OAAOoC,OAI7D,OAHIsG,EAAa,GAChBf,EAAQvD,OAAO,cAAeG,EAASjG,KAAKkG,IAAIlG,KAAK0B,OAE/C0I,IAEPzC,MAAOpD,IACFzE,EAAAA,GAAAA,SAAeyE,IACnB8E,EAAQvD,OAAO,cAAevB,KAK3BkF,EAAAA,EAAI7J,KAAI8J,EAAAA,EAAAA,IAAe,oEAAqE,CAAEJ,SAAQC,QAAOC,WAAW,CAC9HS,YAAaf,EAA0BgB,QAEtCC,KAAMlE,IACN,MAAMmE,EAAa9G,OAAO+G,KAAKpE,EAASjG,KAAKkG,IAAIlG,KAAK0B,OAAOoC,OAI7D,OAHIsG,EAAa,GAChBf,EAAQvD,OAAO,cAAeG,EAASjG,KAAKkG,IAAIlG,KAAK0B,OAE/C0I,IAEPzC,MAAOpD,IACFzE,EAAAA,GAAAA,SAAeyE,IACnB8E,EAAQvD,OAAO,cAAevB,MAelC,oBAAM+F,CAAejB,GAASC,OAAEA,EAAMC,MAAEA,EAAKC,OAAEA,IAC9C,MAAMjK,GAAMmK,EAAAA,EAAAA,IAAe,mEAAoE,CAAEJ,SAAQC,QAAOC,WAChH,IACC,MAAMvD,QAAiBwD,EAAAA,EAAI7J,IAAIL,GACzB6K,EAAa9G,OAAO+G,KAAKpE,EAASjG,KAAKkG,IAAIlG,KAAK0B,OAAOoC,OAI7D,OAHIsG,EAAa,GAChBf,EAAQvD,OAAO,cAAeG,EAASjG,KAAKkG,IAAIlG,KAAK0B,OAE/C0I,CACR,CAAE,MAAO7F,GACR8E,EAAQvD,OAAO,cAAevB,EAC/B,CACD,EAYA,sBAAMgG,CAAiBlB,GAASC,OAAEA,EAAMC,MAAEA,EAAKC,OAAEA,IAChD,MAAMjK,GAAMmK,EAAAA,EAAAA,IAAe,qEAAsE,CAAEJ,SAAQC,QAAOC,WAClH,IACC,MAAMvD,QAAiBwD,EAAAA,EAAI7J,IAAIL,GACzB6K,EAAa9G,OAAO+G,KAAKpE,EAASjG,KAAKkG,IAAIlG,KAAK0B,OAAOoC,OAK7D,OAJIsG,EAAa,IAChBf,EAAQvD,OAAO,cAAeG,EAASjG,KAAKkG,IAAIlG,KAAK0B,OACrD2H,EAAQvD,OAAO,sBAAuBG,EAASjG,KAAKkG,IAAIlG,KAAK0B,QAEvD0I,CACR,CAAE,MAAO7F,GACR8E,EAAQvD,OAAO,cAAevB,EAC/B,CACD,EAEAyD,SAAAA,CAAUqB,GAASC,OAAEA,EAAMC,MAAEA,EAAKC,OAAEA,IACnCA,EAA2B,iBAAXA,EAAsBA,EAAS,GAC/C,MAAMgB,GAAwB,IAAXjB,EAAe,GAAK,UAAUA,IACjD,OAAOE,EAAAA,EAAI7J,KAAI8J,EAAAA,EAAAA,IAAe,+CAAgD,CAAEJ,SAAQE,WAAYgB,GAClGL,KAAMlE,GACF3C,OAAO+G,KAAKpE,EAASjG,KAAKkG,IAAIlG,KAAK2B,QAAQmC,OAAS,IACvDmC,EAASjG,KAAKkG,IAAIlG,KAAK2B,OAAO4E,QAAQ,SAASrC,GAC9CmF,EAAQvD,OAAO,WAAY,CAAE3E,GAAI+C,EAAO9C,KAAM8C,GAC/C,IACO,IAIRyD,MAAOpD,GAAU8E,EAAQvD,OAAO,cAAevB,GAClD,EAYAkG,iBAAgBA,CAACpB,GAASC,OAAEA,EAAMC,MAAEA,EAAKC,OAAEA,MAC1CA,EAA2B,iBAAXA,EAAsBA,EAAS,GACxCC,EAAAA,EAAI7J,KAAI8J,EAAAA,EAAAA,IAAe,oEAAqE,CAAEJ,SAAQC,QAAOC,YAClHW,KAAMlE,GACF3C,OAAO+G,KAAKpE,EAASjG,KAAKkG,IAAIlG,KAAK0B,OAAOoC,OAAS,IACtDuF,EAAQvD,OAAO,cAAeG,EAASjG,KAAKkG,IAAIlG,KAAK0B,QAC9C,IAIRiG,MAAOpD,GAAU8E,EAAQvD,OAAO,cAAevB,KAalDmG,kBAAiBA,CAACrB,GAASsB,QAAEA,EAAOrB,OAAEA,EAAMC,MAAEA,KACtCE,EAAAA,EAAI7J,KAAI8J,EAAAA,EAAAA,IAAe,8DAA+D,CAAEkB,QAASZ,mBAAmBW,GAAUrB,SAAQC,WAC3IY,KAAMlE,GAAaoD,EAAQvD,OAAO,mBAAoBG,EAASjG,KAAKkG,IAAIlG,KAAK0B,QAC7EiG,MAAOpD,GAAU8E,EAAQvD,OAAO,cAAevB,IAGlDmE,2BAA2BW,OACtBwB,EAAAA,EAAAA,KAAkBC,mBAAmBD,EAAAA,EAAAA,KAAkBC,gBAAgBC,aAC1E1B,EAAQvD,OAAO,8BAA8B+E,EAAAA,EAAAA,KAAkBC,gBAAgBC,YACxEF,EAAAA,EAAAA,KAAkBC,gBAAgBC,WAY3ChH,SAAQA,CAACsF,EAAS5E,IACVgF,EAAAA,EAAI/J,eAAeyK,KAAMlE,GACxBwD,EAAAA,EAAI1J,MAAK2J,EAAAA,EAAAA,IAAe,gBAAiB,CAAEiB,QAASlG,IACzD0F,KAAMlE,IACNoD,EAAQvD,OAAO,WAAY,CAAE3E,GAAIsD,EAAKrD,KAAMqD,IACrC,CAAEA,MAAKC,YAAaD,KAE3BkD,MAAOpD,IAAY,MAAMA,KACzBoD,MAAOpD,IAIT,MAHA8E,EAAQvD,OAAO,cAAe,CAAErB,MAAKF,UAG/BA,IAYRC,YAAWA,CAAC6E,GAASsB,QAAEA,EAAOjG,YAAEA,KACxB+E,EAAAA,EAAI/J,eAAeyK,KAAMlE,GACxBwD,EAAAA,EAAIvJ,KAAIwJ,EAAAA,EAAAA,IAAe,yBAA0B,CAAEkB,QAASZ,mBAAmBW,KAAa,CAAE/D,IAAK,cAAeC,MAAOnC,IAC9HyF,KAAMlE,IACNoD,EAAQvD,OAAO,cAAe,CAAErB,IAAKkG,EAASjG,gBACvC,CAAEiG,UAASjG,iBAElBiD,MAAOpD,IAAY,MAAMA,KACzBoD,MAAOpD,IAIT,MAHA8E,EAAQvD,OAAO,cAAe,CAAE6E,UAASpG,UAGnCA,IAWRS,YAAWA,CAACqE,EAAS5E,IACbgF,EAAAA,EAAI/J,eAAeyK,KAAMlE,GACxBwD,EAAAA,EAAItJ,QAAOuJ,EAAAA,EAAAA,IAAe,yBAA0B,CAAEkB,QAASZ,mBAAmBvF,MACvF0F,KAAMlE,GAAaoD,EAAQvD,OAAO,cAAerB,IACjDkD,MAAOpD,IAAY,MAAMA,KACzBoD,MAAOpD,GAAU8E,EAAQvD,OAAO,cAAe,CAAErB,MAAKF,WAY1DU,aAAYA,CAACoE,GAASnE,OAAEA,EAAMT,IAAEA,KACxBgF,EAAAA,EAAI/J,eAAeyK,KAAMlE,GACxBwD,EAAAA,EAAI1J,MAAK2J,EAAAA,EAAAA,IAAe,8BAA+B,CAAExE,WAAW,CAAEyF,QAASlG,IACpF0F,KAAMlE,GAAaoD,EAAQvD,OAAO,eAAgB,CAAEZ,SAAQT,SAC5DkD,MAAOpD,IAAY,MAAMA,KACzBoD,MAAOpD,GAAU8E,EAAQvD,OAAO,cAAe,CAAEZ,SAAQX,WAY7De,gBAAeA,CAAC+D,GAASnE,OAAEA,EAAMT,IAAEA,KAC3BgF,EAAAA,EAAI/J,eAAeyK,KAAMlE,GACxBwD,EAAAA,EAAItJ,QAAOuJ,EAAAA,EAAAA,IAAe,8BAA+B,CAAExE,WAAW,CAAEyF,QAASlG,IACtF0F,KAAMlE,GAAaoD,EAAQvD,OAAO,kBAAmB,CAAEZ,SAAQT,SAC/DkD,MAAOpD,IAAY,MAAMA,KACzBoD,MAAOpD,IAIT,MAHA8E,EAAQvD,OAAO,cAAe,CAAEZ,SAAQX,UAGlCA,IAaRiB,gBAAeA,CAAC6D,GAASnE,OAAEA,EAAMT,IAAEA,KAC3BgF,EAAAA,EAAI/J,eAAeyK,KAAMlE,GACxBwD,EAAAA,EAAI1J,MAAK2J,EAAAA,EAAAA,IAAe,iCAAkC,CAAExE,WAAW,CAAEyF,QAASlG,IACvF0F,KAAMlE,GAAaoD,EAAQvD,OAAO,kBAAmB,CAAEZ,SAAQT,SAC/DkD,MAAOpD,IAAY,MAAMA,KACzBoD,MAAOpD,GAAU8E,EAAQvD,OAAO,cAAe,CAAEZ,SAAQX,WAY7DmB,mBAAkBA,CAAC2D,GAASnE,OAAEA,EAAMT,IAAEA,KAC9BgF,EAAAA,EAAI/J,eAAeyK,KAAMlE,GACxBwD,EAAAA,EAAItJ,QAAOuJ,EAAAA,EAAAA,IAAe,iCAAkC,CAAExE,WAAW,CAAEyF,QAASlG,IACzF0F,KAAMlE,GAAaoD,EAAQvD,OAAO,qBAAsB,CAAEZ,SAAQT,SAClEkD,MAAOpD,IAAY,MAAMA,KACzBoD,MAAOpD,GAAU8E,EAAQvD,OAAO,cAAe,CAAEZ,SAAQX,WAU7D,qBAAMyG,CAAgB3B,EAASnE,GAC9B,IAEC,aADMuE,EAAAA,EAAI/J,qBACG+J,EAAAA,EAAI1J,MAAK2J,EAAAA,EAAAA,IAAe,4BAA6B,CAAExE,WACrE,CAAE,MAAOX,GAER,OADA8E,EAAQvD,OAAO,cAAe,CAAEZ,SAAQX,UACjC0G,QAAQC,OAAO,IAAIC,MAAM,+BACjC,CACD,EASAxF,WAAUA,CAAC0D,EAASnE,IACZuE,EAAAA,EAAI/J,eAAeyK,KAAMlE,GACxBwD,EAAAA,EAAItJ,QAAOuJ,EAAAA,EAAAA,IAAe,uBAAwB,CAAExE,YACzDiF,KAAMlE,GAAaoD,EAAQvD,OAAO,aAAcZ,IAChDyC,MAAOpD,IAAY,MAAMA,KACzBoD,MAAOpD,GAAU8E,EAAQvD,OAAO,cAAe,CAAEZ,SAAQX,WAqB7D6G,QAAOA,EAACtF,OAAEA,EAAMuF,SAAEA,IAAYnG,OAAEA,EAAMoG,SAAEA,EAAQ5G,YAAEA,EAAW6G,MAAEA,EAAK5J,OAAEA,EAAM8D,SAAEA,EAAQ+F,MAAEA,EAAKC,SAAEA,EAAQC,QAAEA,KACjGjC,EAAAA,EAAI/J,eAAeyK,KAAMlE,GACxBwD,EAAAA,EAAI1J,MAAK2J,EAAAA,EAAAA,IAAe,eAAgB,CAAExE,SAAQoG,WAAU5G,cAAa6G,QAAO5J,SAAQ8D,WAAU+F,QAAOC,WAAUC,YACxHvB,KAAMlE,GAAaoF,EAAS,cAAenG,GAAUe,EAASjG,KAAKkG,IAAIlG,KAAKmB,KAC5EwG,MAAOpD,IAAY,MAAMA,KACzBoD,MAAOpD,IAET,MADAuB,EAAO,cAAe,CAAEZ,SAAQX,UAC1BA,IAWRyB,YAAWA,CAACqD,EAASnE,IACbuE,EAAAA,EAAI/J,eAAeyK,KAAMlE,GACxBwD,EAAAA,EAAI7J,KAAI8J,EAAAA,EAAAA,IAAe,uBAAwB,CAAExE,YACtDiF,KAAMlE,GAAaoD,EAAQvD,OAAO,cAAeG,IACjD0B,MAAOpD,IAAY,MAAMA,KACzBoD,MAAOpD,GAAU8E,EAAQvD,OAAO,cAAe,CAAEZ,SAAQX,WAY7D4B,iBAAAA,CAAkBkD,GAASnE,OAAEA,EAAME,QAAEA,GAAU,IAC9C,MAAMuG,EAAavG,EAAU,SAAW,UACxC,OAAOqE,EAAAA,EAAI/J,eAAeyK,KAAMlE,GACxBwD,EAAAA,EAAIvJ,KAAIwJ,EAAAA,EAAAA,IAAe,oCAAqC,CAAExE,SAAQyG,gBAC3ExB,KAAMlE,GAAaoD,EAAQvD,OAAO,oBAAqB,CAAEZ,SAAQE,aACjEuC,MAAOpD,IAAY,MAAMA,KACzBoD,MAAOpD,GAAU8E,EAAQvD,OAAO,cAAe,CAAEZ,SAAQX,UAC7D,EAYA,iBAAMoC,CAAY0C,GAASnE,OAAEA,EAAM0B,IAAEA,EAAGC,MAAEA,IAIzC,IAFkB,CAAC,QAAS,WAAY,QAAS,cAAe,WAAY,WAE7DpD,SAASmD,GACvB,MAAM,IAAIuE,MAAM,wBAIjB,GAAc,KAAVtE,IARiB,CAAC,QAAS,cAAe,WAQZpD,SAASmD,GAC1C,MAAM,IAAIuE,MAAM,wCAGjB,IAGC,aAFM1B,EAAAA,EAAI/J,qBACJ+J,EAAAA,EAAIvJ,KAAIwJ,EAAAA,EAAAA,IAAe,uBAAwB,CAAExE,WAAW,CAAE0B,MAAKC,UAClEwC,EAAQvD,OAAO,cAAe,CAAEZ,SAAQ0B,MAAKC,SACrD,CAAE,MAAOtC,GAER,MADA8E,EAAQvD,OAAO,cAAe,CAAEZ,SAAQX,UAClCA,CACP,CACD,EASAqH,gBAAeA,CAACvC,EAASnE,IACjBuE,EAAAA,EAAI/J,eAAeyK,KAAMlE,GACxBwD,EAAAA,EAAI1J,MAAK2J,EAAAA,EAAAA,IAAe,+BAAgC,CAAExE,YAC/DiF,KAAKlE,IAAY,GACjB0B,MAAOpD,IAAY,MAAMA,KACzBoD,MAAOpD,GAAU8E,EAAQvD,OAAO,cAAe,CAAEZ,SAAQX,uCCrxB9D,MAAM9C,EAAQ,CACboK,KAAM,GACNC,SAASjL,EAAAA,EAAAA,GAAU,WAAY,kBAAmB,IAClDkL,WAAY,GACZC,aAAanL,EAAAA,EAAAA,GAAU,WAAY,sBAAuB,GAC1DoL,QAAS,CAAC,EACVC,yBAA0B,KAC1BC,eAAetL,EAAAA,EAAAA,GAAU,WAAY,iBAAiB,IAGjDmC,EAAY,CAEjBoJ,gBAAAA,CAAiB3K,EAAO8C,IACvBqD,EAAAA,EAAAA,IAAUC,EAAE,WAAY,4DAA8D,OAAStD,EAAMA,MAAM0B,SAASjG,KAAKA,KAAKqM,QAAS,CAAEC,QAAQ,IACjJhI,QAAQC,MAAM9C,EAAO8C,EACtB,EAEAgI,cAAAA,CAAe9K,GAAOsK,WAAEA,EAAUC,YAAEA,IACnCvK,EAAMsK,WAAaA,EACnBtK,EAAMuK,YAAcA,CACrB,EAEAQ,gBAAAA,CAAiB/K,EAAOgL,GACvBhL,EAAMyK,yBAA2BO,CAClC,EAEAC,cAAAA,CAAejL,EAAOuK,GACrBvK,EAAMuK,YAAcA,CACrB,EAEAW,WAAAA,CAAYlL,EAAOmL,GAClBnL,EAAMsK,WAAW1G,KAAKuH,EACvB,EAEAC,gBAAAA,CAAiBpL,EAAOqL,GAEvBrL,EAAMsK,WAAae,CACpB,EAEAC,UAAAA,CAAWtL,EAAOoK,GACjBpK,EAAMoK,KAAOA,CACd,EAEAmB,QAAAA,CAASvL,GAAOwL,MAAEA,EAAK1I,MAAEA,IACnB2I,MAAMC,QAAQF,KAClBA,EAAQ,CAACA,IAEVA,EAAM1G,QAAS6G,IACF3L,EAAMoK,KAAK5H,KAAKoJ,GAAOA,EAAIlM,KAAOiM,GAC1C7I,MAAQA,GAEd,EAEA+I,UAAAA,CAAW7L,GAAOwL,MAAEA,EAAK1I,MAAEA,IACd9C,EAAMoK,KAAK5H,KAAKoJ,GAAOA,EAAIlM,KAAO8L,GAC1C1I,MAAQ,IACb,EAEAgJ,SAAAA,CAAU9L,GAAOwL,MAAEA,EAAKtL,OAAEA,IACzB,MAAM0L,EAAM5L,EAAMoK,KAAK5H,KAAKoJ,GAAOA,EAAIlM,KAAO8L,GAC9CI,EAAIG,QAAS,EACbC,EAAAA,GAAAA,IAAQJ,EAAK,SAAU,IAAI1L,IACZ,YAAX0L,EAAIlM,KACPM,EAAM0K,eAAgB,EAExB,EAEAuB,eAAAA,CAAgBjM,GAAOwL,MAAEA,EAAKU,WAAEA,IAC/B,MAAMN,EAAM5L,EAAMoK,KAAK5H,KAAKoJ,GAAOA,EAAIlM,KAAO8L,GAC1CI,IACHA,EAAIM,YAA4B,IAAfA,EAEnB,EAEAC,UAAAA,CAAWnM,EAAOwL,GACjB,MAAMI,EAAM5L,EAAMoK,KAAK5H,KAAKoJ,GAAOA,EAAIlM,KAAO8L,GAC9CI,EAAIG,QAAS,EACbH,EAAI1L,OAAS,GACT0L,EAAIQ,YACPR,EAAIS,cAAe,GAEL,YAAXT,EAAIlM,KACPM,EAAM0K,eAAgB,EAExB,EAEA4B,YAAAA,CAAatM,EAAOwL,GACnBxL,EAAMoK,KAAK5H,KAAKoJ,GAAOA,EAAIlM,KAAO8L,GAAOO,QAAS,EAClD/L,EAAMoK,KAAK5H,KAAKoJ,GAAOA,EAAIlM,KAAO8L,GAAOtL,OAAS,GAClDF,EAAMoK,KAAK5H,KAAKoJ,GAAOA,EAAIlM,KAAO8L,GAAOe,eAAgB,EACzDvM,EAAMoK,KAAK5H,KAAKoJ,GAAOA,EAAIlM,KAAO8L,GAAOgB,WAAY,EACrDxM,EAAMoK,KAAK5H,KAAKoJ,GAAOA,EAAIlM,KAAO8L,GAAOa,cAAe,EACxDrM,EAAMoK,KAAK5H,KAAKoJ,GAAOA,EAAIlM,KAAO8L,GAAOU,YAAa,EACxC,YAAVV,IACHxL,EAAM0K,eAAgB,EAExB,EAEA+B,SAAAA,CAAUzM,EAAOwL,GAChB,MAAMI,EAAM5L,EAAMoK,KAAK5H,KAAKoJ,GAAOA,EAAIlM,KAAO8L,GACxCkB,EAAUd,EAAIe,OACpBf,EAAIe,OAAS,KACbf,EAAIc,QAAUA,EACd1M,EAAMuK,aAEP,EAEAqC,SAAAA,CAAU5M,GACTA,EAAMoK,KAAO,EACd,EACAyC,KAAAA,CAAM7M,GACLA,EAAMoK,KAAO,GACbpK,EAAMsK,WAAa,GACnBtK,EAAMuK,YAAc,CACrB,EACAuC,YAAAA,CAAa9M,EAAON,GACf+L,MAAMC,QAAQhM,GACjBA,EAAGoF,QAAS6G,IACXK,EAAAA,GAAAA,IAAQhM,EAAMwK,QAASmB,GAAK,KAG7BK,EAAAA,GAAAA,IAAQhM,EAAMwK,QAAS9K,GAAI,EAE7B,EACAqN,WAAAA,CAAY/M,EAAON,GACd+L,MAAMC,QAAQhM,GACjBA,EAAGoF,QAAS6G,IACXK,EAAAA,GAAAA,IAAQhM,EAAMwK,QAASmB,GAAK,KAG7BK,EAAAA,GAAAA,IAAQhM,EAAMwK,QAAS9K,GAAI,EAE7B,GA6BKgI,EAAU,CAEfoE,SAAAA,CAAUlE,GAAS4D,MAAEA,EAAKtL,OAAEA,IAC3B,IAAIkK,EAEHA,EADGqB,MAAMC,QAAQF,GACVA,EAEA,CAACA,GAET5D,EAAQvD,OAAO,eAAgB+F,GAC/BxC,EAAQvD,OAAO,eAAgB,WAE/B,MAAM2I,EAAgB,CAAC,EAYvB,OAXA5C,EAAKtF,QAASmI,IACb,MAAMrB,EAAMhE,EAAQ5H,MAAMoK,KAAK5H,KAAMoJ,GAAQA,EAAIlM,KAAOuN,GACpDrB,IACHoB,EAAcC,GAAU,CACvBlB,OAAQH,EAAIG,OACZ7L,OAAQ,IAAK0L,EAAI1L,QAAU,KAE5B0H,EAAQvD,OAAO,YAAa,CAAEmH,MAAOyB,EAAQ/M,cAIxC8H,EAAAA,EAAI1J,MAAK0H,EAAAA,EAAAA,IAAY,wBAAyB,CAAEkH,OAAQ9C,EAAMlK,UAAU,CAAEhC,gBAAiBiP,EAAAA,GAAoBC,SACpH1E,KAAMlE,IACNoD,EAAQvD,OAAO,cAAe+F,GAC9BxC,EAAQvD,OAAO,cAAe,WAGvBhG,EAAAA,GAAMF,KAAI6H,EAAAA,EAAAA,IAAY,gBAC3B0C,KAAK,KACDlE,EAASjG,KAAK8O,mBACjBC,EAAAA,EAAAA,IACClH,EACC,WACA,6GAED,CACCmH,QAASA,IAAMC,OAAOC,SAASC,SAC/BC,OAAO,IAITC,WAAW,WACVH,SAASC,QACV,EAAG,QAGJxH,MAAM,KACDuF,MAAMC,QAAQF,MAClBrF,EAAAA,EAAAA,IAAUC,EAAE,WAAY,2EACxBwB,EAAQvD,OAAO,WAAY,CAC1BmH,MAAOpB,EACPtH,MAAOsD,EAAE,WAAY,4EAEtBwB,EAAQgC,SAAS,aAAc,CAAE4B,eAIpCtF,MAAOpD,IACP8E,EAAQvD,OAAO,cAAe+F,GAC9BxC,EAAQvD,OAAO,cAAe,WAE9B+F,EAAKtF,QAASmI,IACTD,EAAcC,KACjBrF,EAAQvD,OAAO,YAAa,CAC3BmH,MAAOyB,EACP/M,OAAQ8M,EAAcC,GAAQ/M,SAE1B8M,EAAcC,GAAQlB,QAC1BnE,EAAQvD,OAAO,aAAc4I,MAKhC,MAAMrC,EAAU9H,EAAM0B,UAAUjG,MAAMA,MAAMqM,QACxCA,IACHhD,EAAQvD,OAAO,WAAY,CAC1BmH,MAAOpB,EACPtH,MAAO8H,IAERhD,EAAQvD,OAAO,mBAAoB,CAAEmH,QAAO1I,YAGhD,EACA+K,cAAAA,CAAejG,GAAS4D,MAAEA,EAAKtL,OAAEA,IAChC,IAAIkK,EAMJ,OAJCA,EADGqB,MAAMC,QAAQF,GACVA,EAEA,CAACA,GAEFxD,EAAAA,EAAI/J,eAAeyK,KAAK,KAC9Bd,EAAQvD,OAAO,eAAgB+F,GAC/BxC,EAAQvD,OAAO,eAAgB,WACxB2D,EAAAA,EAAI1J,MAAK0H,EAAAA,EAAAA,IAAY,uBAAwB,CAAEwF,UACpD9C,KAAMlE,IACNoD,EAAQvD,OAAO,kBAAmB,CAAEmH,QAAOU,YAAY,MAEvDhG,MAAOpD,IACP8E,EAAQvD,OAAO,cAAe+F,GAC9BxC,EAAQvD,OAAO,cAAe,WAC9BuD,EAAQvD,OAAO,WAAY,CAC1BmH,MAAOpB,EACPtH,MAAOA,EAAM0B,SAASjG,KAAKA,KAAKqM,UAEjChD,EAAQvD,OAAO,mBAAoB,CAAEmH,QAAO1I,YAE5CgL,QAAQ,KACRlG,EAAQvD,OAAO,cAAe+F,GAC9BxC,EAAQvD,OAAO,cAAe,eAE9B6B,MAAOpD,GAAU8E,EAAQvD,OAAO,cAAe,CAAEmH,QAAO1I,UAC5D,EACAqJ,UAAAA,CAAWvE,GAAS4D,MAAEA,IACrB,IAAIpB,EAMJ,OAJCA,EADGqB,MAAMC,QAAQF,GACVA,EAEA,CAACA,GAEFxD,EAAAA,EAAI/J,eAAeyK,KAAMlE,IAC/BoD,EAAQvD,OAAO,eAAgB+F,GACxBpC,EAAAA,EAAI1J,MAAK0H,EAAAA,EAAAA,IAAY,yBAA0B,CAAEkH,OAAQ9C,IAC9D1B,KAAMlE,IACNoD,EAAQvD,OAAO,cAAe+F,GAC9BA,EAAKtF,QAAQmI,IACZrF,EAAQvD,OAAO,aAAc4I,MAEvB,IAEP/G,MAAOpD,IACP8E,EAAQvD,OAAO,cAAe+F,GAC9BxC,EAAQvD,OAAO,mBAAoB,CAAEmH,QAAO1I,cAE5CoD,MAAOpD,GAAU8E,EAAQvD,OAAO,cAAe,CAAEmH,QAAO1I,UAC5D,EACAwJ,aAAYA,CAAC1E,GAAS4D,MAAEA,KAChBxD,EAAAA,EAAI/J,eAAeyK,KAAMlE,IAC/BoD,EAAQvD,OAAO,eAAgBmH,GACxBxD,EAAAA,EAAI7J,KAAI6H,EAAAA,EAAAA,IAAY,2BAA2BwF,MACpD9C,KAAMlE,IACNoD,EAAQvD,OAAO,cAAemH,GAC9B5D,EAAQvD,OAAO,eAAgBmH,IACxB,IAEPtF,MAAOpD,IACP8E,EAAQvD,OAAO,cAAemH,GAC9B5D,EAAQvD,OAAO,mBAAoB,CAAEmH,QAAO1I,cAE5CoD,MAAOpD,GAAU8E,EAAQvD,OAAO,cAAe,CAAEmH,QAAO1I,WAG5D2J,UAASA,CAAC7E,GAAS4D,MAAEA,KACbxD,EAAAA,EAAI/J,eAAeyK,KAAMlE,IAC/BoD,EAAQvD,OAAO,eAAgBmH,GAC/B5D,EAAQvD,OAAO,eAAgB,WACxB2D,EAAAA,EAAI7J,KAAI6H,EAAAA,EAAAA,IAAY,wBAAwBwF,MACjD9C,KAAMlE,IACNoD,EAAQvD,OAAO,cAAe,WAC9BuD,EAAQvD,OAAO,cAAemH,GAC9B5D,EAAQvD,OAAO,YAAamH,IACrB,IAEPtF,MAAOpD,IACP8E,EAAQvD,OAAO,cAAemH,GAC9B5D,EAAQvD,OAAO,cAAe,WAC9BuD,EAAQvD,OAAO,mBAAoB,CAAEmH,QAAO1I,cAE5CoD,MAAOpD,GAAU8E,EAAQvD,OAAO,cAAe,CAAEmH,QAAO1I,WAG5DiL,WAAWnG,IACVA,EAAQvD,OAAO,eAAgB,QACxB2D,EAAAA,EAAI7J,KAAI6H,EAAAA,EAAAA,IAAY,uBACzB0C,KAAMlE,IACNoD,EAAQvD,OAAO,aAAcG,EAASjG,KAAK6L,MAC3CxC,EAAQvD,OAAO,cAAe,SACvB,IAEP6B,MAAOpD,GAAU8E,EAAQvD,OAAO,cAAevB,KAGlD,mBAAMkL,CAAcpG,GAASqG,wBAAEA,GAA0B,GAAU,CAAC,GACnE,GAAIA,IAA4BrG,EAAQ5H,MAAMyK,yBAA0B,CACvE7C,EAAQvD,OAAO,eAAgB,cAC/B,IACC,MAAM2G,EAAoBhD,EAAAA,EAAI7J,KAAI6H,EAAAA,EAAAA,IAAY,6BAC9C4B,EAAQvD,OAAO,mBAAoB2G,GACnC,MAAMkD,QAAkClD,EACxC,OAAIkD,EAA0B3P,KAAK8D,OAAS,GAC3CuF,EAAQvD,OAAO,mBAAoB6J,EAA0B3P,MAC7DqJ,EAAQvD,OAAO,cAAe,eACvB,IAERuD,EAAQvD,OAAO,cAAe,eACvB,EACR,CAAE,MAAOvB,GACR8E,EAAQvD,OAAO,cAAevB,EAC/B,CACD,CACA,OAAO8E,EAAQ5H,MAAMyK,wBACtB,GAIDL,EAAA,CAAiBpK,MAAKmO,EAAE5M,UAAS6M,EAAE/H,QAzOnB,CACfgI,gBAAgBrO,GACRA,EAAM0K,cAEdF,QAAQxK,GACA,SAASN,GACf,OAAOM,EAAMwK,QAAQ9K,EACtB,EAEDsO,cAAchO,GACNA,EAAMsK,WAEdyD,WAAW/N,GACHA,EAAMoK,KAEdkE,cAActO,GACNA,EAAMqK,QAEdkE,eAAevO,GACPA,EAAMuK,YAEdiE,gBAAkBxO,GAAWyO,GACrBzO,EAAMsK,WAAW9H,KAAM2I,GAAaA,EAASzL,KAAO+O,IAmNjB/G,QAAOA,GCtX7C1H,EAAQ,CACb0O,YAAYtP,EAAAA,EAAAA,GAAU,WAAY,gBAAiB,CAAC,IAE/CmC,EAAY,CACjBoN,aAAAA,CAAc3O,EAAOzB,GACpByB,EAAM0O,WAAanQ,CACpB,GASDqQ,EAAA,CAAiB5O,MAAK6O,EAAEtN,UAASuN,EAAEzI,QAPnB,CACf0I,cAAc/O,GACNA,EAAM0O,YAK6BhH,QAF5B,CAAC,GCUjBsH,EAAA,CAAiBhP,MAtBH,CAAC,EAsBSuB,UArBN,CAAC,EAqBgB8E,QApBnB,CAAC,EAoB2BqB,QAnB5B,CAWfuH,aAAYA,CAACrH,GAASgE,IAAEA,EAAGzG,IAAEA,EAAGC,MAAEA,KAC1B4C,EAAAA,EAAI/J,eAAeyK,KAAMlE,GACxBwD,EAAAA,EAAI1J,MAAK2J,EAAAA,EAAAA,IAAe,uDAAwD,CAAE2D,MAAKzG,QAAQ,CAAEC,UACtGc,MAAOpD,IAAY,MAAMA,KACzBoD,MAAOpD,GAAU8E,EAAQvD,OAAO,cAAe,CAAEuH,MAAKzG,MAAKC,QAAOtC,aCZjEvB,EAAY,CACjB2N,WAAAA,CAAYlP,EAAO8C,GAClB,IACC,MAAM8H,EAAU9H,EAAMA,MAAM0B,SAASjG,KAAKkG,IAAI0K,KAAKvE,SACnDzE,EAAAA,EAAAA,IAAUC,EAAE,WAAY,4DAA8D,OAASwE,EAAS,CAAEC,QAAQ,GACnH,CAAE,MAAOjI,IACRuD,EAAAA,EAAAA,IAAUC,EAAE,WAAY,4DACzB,CACAvD,QAAQC,MAAM9C,EAAO8C,EACtB,GAGD,IAAIsM,EAAQ,KAEL,MAAMC,EAAWA,KACT,OAAVD,IACHA,EAAQ,IAAIE,EAAAA,GAAM,CACjBC,QAAS,CACRtP,MAAKA,EACLmK,KAAIA,EACJoF,SAAQZ,EACRI,GAAEA,GAEHS,QAzBWC,EA0BXnO,UAASA,KAGJ6N,8BClCD,IAAI7O,mBACX,SAAWA,GACPA,EAAaA,EAAwB,UAAI,GAAK,YAC9CA,EAAaA,EAAwB,UAAI,GAAK,WACjD,CAHD,CAGGA,IAAiBA,EAAe,CAAC,gDCNpC,MAAAvC,GAAe2R,WAAAA,MACVC,OAAO,YACPC,aACArQ,+HCNL,MCFsQsQ,GDEzOC,EAAAA,EAAAA,IAAiB,CAC1CC,OAAQ,cACRC,MAAMC,IACK,CAAEC,OAAO,EAAMC,UAASA,EAAAA,MEavCC,GAXgB,WAAAC,GACdR,EFRW,WAAkB,IAAIS,EAAInM,KAAKoM,EAAGD,EAAIE,MAAMD,GAAgC,OAAOA,EAA7BD,EAAIE,MAAMC,YAA6BN,UAAU,CAACO,MAAM,CAAC,WAAW,aAAa,CAACH,EAAG,cAAc,CAACG,MAAM,CAAChR,KAAO,gBAAgB4Q,EAAIK,GAAG,KAAKJ,EAAG,eAAeD,EAAIK,GAAG,KAAKJ,EAAG,cAAc,CAACG,MAAM,CAAChR,KAAO,cAAc,EAC7R,EACsB,IEStB,EACA,KACA,KACA,wCCbA,MAmDAkR,EA5Ce,CACX,CACIlR,KAAM,QACNmR,KAAM,qCACNC,WAAY,CACRC,QAPWC,IAAMzH,QAAA0H,IAAA,CAAAC,EAAAvO,EAAA,MAAAuO,EAAAvO,EAAA,IAAAuO,EAAAvO,EAAA,QAAA8F,KAAAyI,EAAAC,KAAAD,EAAA,OAQjBE,WAPqBC,IAAM9H,QAAA0H,IAAA,CAAAC,EAAAvO,EAAA,MAAAuO,EAAAvO,EAAA,IAAAuO,EAAAvO,EAAA,QAAA8F,KAAAyI,EAAAC,KAAAD,EAAA,SAS/BI,OAAO,EACPC,SAAU,CACN,CACIV,KAAM,iBACNnR,KAAM,WAIlB,CACImR,KAAM,oCACNnR,KAAM,OACN8R,SAAU,CACN9R,KAAM,gBACNhB,OAAQ,CACJwM,UA7BQ/L,WAAAA,GAAU,WAAY,mBAAmB,GA6BrB,WAAa,cAGjD2R,WAAY,CACRC,QA/BKU,IAAMlI,QAAA0H,IAAA,CAAAC,EAAAvO,EAAA,MAAAuO,EAAAvO,EAAA,IAAAuO,EAAAvO,EAAA,QAAA8F,KAAAyI,EAAAC,KAAAD,EAAA,QAgCXE,WA/BeM,IAAMnI,QAAA0H,IAAA,CAAAC,EAAAvO,EAAA,MAAAuO,EAAAvO,EAAA,IAAAuO,EAAAvO,EAAA,QAAA8F,KAAAyI,EAAAC,KAAAD,EAAA,QAgCrBS,QA/BYC,IAAMrI,QAAA0H,IAAA,CAAAC,EAAAvO,EAAA,MAAAuO,EAAAvO,EAAA,IAAAuO,EAAAvO,EAAA,QAAA8F,KAAAyI,EAAAC,KAAAD,EAAA,SAiCtBK,SAAU,CACN,CACIV,KAAM,YACNnR,KAAM,gBACN6R,SAAU,CACN,CACIV,KAAM,MACNnR,KAAM,qBCrC9BqM,EAAAA,GAAI8F,IAAIC,EAAAA,IACR,MAQAC,EARe,IAAID,EAAAA,GAAO,CACtBE,KAAM,UAGNC,MAAMlM,EAAAA,EAAAA,IAAY,IAClBmM,gBAAiB,SACjBC,OAAMA,0CCCVC,EAAAA,EAAAA,IAAoChU,EAAAA,IAGpCiU,EAAAA,IAAoBC,EAAAA,EAAAA,MAEpBvG,EAAAA,GAAIwG,UAAUpM,EAAIA,EAAAA,EAClB4F,EAAAA,GAAIwG,UAAUC,EAAIA,EAAAA,EAClBzG,EAAAA,GAAI8F,IAAIY,EAAAA,IACR1G,EAAAA,GAAI8F,IAAIa,EAAAA,GAAgB,CAAEC,aAAa,IACvC5G,EAAAA,GAAI8F,IAAIe,EAAAA,IACR,MAAMzD,GAAQC,EAAAA,EAAAA,MACdyD,EAAAA,EAAAA,GAAK1D,EAAO2D,GACZ,MAAMC,GAAQC,EAAAA,EAAAA,MACd,IAAmBjH,EAAAA,GAAI,CACnB+G,OAAMf,EACN5C,MAAK8D,EACLF,MAAKG,EACLC,OAAQC,GAAKA,EAAEhD,GACfiD,GAAI,yBCyBR,SAAAC,EAAAC,EAAAC,GACA,IAAAC,EAAA,CACA/T,KAAA6T,EAAA7T,KACAmR,KAAA0C,EAAA1C,KACA6C,KAAAH,EAAAG,KACAC,MAAAJ,EAAAI,MACAjV,OAAA6U,EAAA7U,OACAkV,SAAAL,EAAAK,SACA1E,KAAAqE,EAAArE,MAKA,OAHAsE,IACAC,EAAAD,KAAAF,EAAAE,IAEA5R,OAAAiS,OAAAJ,EACA,CAzEAK,EAAAC,EAAY,SAAA5E,EAAA2D,EAAA3U,GACZ,IAAA6V,GAAA7V,GAAA,IAAiC6V,YAAA,QAEjC7E,EAAA8E,eAAAD,EAAA,CACAE,YAAA,EACAnU,MAAAuT,EAAAR,EAAAqB,cACA7S,UAAA,CACA8S,cAAA,SAAArU,EAAAsU,GACAlF,EAAApP,MAAAiU,GAAAV,EAAAe,EAAAd,GAAAc,EAAAb,KACA,KAIA,IACAc,EADAC,GAAA,EAIAC,EAAArF,EAAAsF,MACA,SAAA1U,GAAuB,OAAAA,EAAAiU,EAAA,EACvB,SAAAU,GACA,IAAAd,EAAAc,EAAAd,SACAA,IAAAU,IAGA,MAAAA,IACAC,GAAA,EACAzB,EAAAnP,KAAA+Q,IAEAJ,EAAAV,EACA,EACA,CAAMf,MAAA,IAIN8B,EAAA7B,EAAA8B,UAAA,SAAArB,EAAAC,GACAe,EACAA,GAAA,GAGAD,EAAAf,EAAAK,SACAzE,EAAA/K,OAAA4P,EAAA,kBAAkDT,GAAAA,EAAAC,KAAAA,IAClD,GAEA,kBAEA,MAAAmB,GACAA,IAIA,MAAAH,GACAA,IAIArF,EAAA0F,iBAAAb,EACA,CACA,qEC0IAc,EACAC,EASAC,EACAC,0DATA,SAAAC,IACA,GAAAH,EAAA,OAAAD,EACAC,EAAA,EACA,MAAAI,EAA8B,iBAAP1F,GAAwBA,EAAO2F,KAAQ3F,EAAO2F,IAAAC,YAAA,cAAAC,KAAsC7F,EAAO2F,IAAAC,YAAA,IAAAE,IAAA3S,QAAAC,MAAA,YAAA0S,GAAA,OAGlH,OADAT,EAAAK,CAEA,CAGA,SAAAK,IACA,GAAAP,EAAA,OAAAD,EACAC,EAAA,EACA,MAEAQ,EAAAC,OAAAD,kBACA,iBAsBA,OAVAT,EAAA,CACAW,WAfA,IAgBAC,0BAbA,GAcAC,sBAbAF,IAcAF,mBACAK,cAdA,CACA,QACA,WACA,QACA,WACA,QACA,WACA,cAQAC,oBArBA,QAsBAC,wBAAA,EACAC,WAAA,EAGA,CACA,IACAC,EAyFAC,EACAC,EAkBAC,EACAC,EAwBAC,EACAC,EAsRAC,EACAC,EAWAC,EACAC,EAqBAC,EACAC,EAhcAC,EAAA,CAAWjD,QAAA,IAwIX,SAAAkD,IACA,GAAAR,EAAA,OAAAD,EACAC,EAAA,EACA,MAAArB,EAAAD,KACAS,WAAUA,EAAAF,iBAAAA,GAA+BD,KAC/ByB,OAAAC,EAAA/Q,EAAAgR,IA1IVjB,IACAA,EAAA,EACA,SAAAkB,EAAAtD,GACA,MAAA8B,0BACAA,EAAAC,sBACAA,EAAAF,WACAA,GACMH,IACNL,EAAAD,IAEAgC,GADApD,EAAAsD,EAAAtD,QAAA,IACAiD,GAAA,GACAE,EAAAnD,EAAAmD,OAAA,GACAI,EAAAvD,EAAAuD,IAAA,GACAC,EAAAxD,EAAAwD,QAAA,GACAH,EAAArD,EAAA3N,EAAA,GACA,IAAAoR,EAAA,EACA,MAAAC,EAAA,eACAC,EAAA,CACA,UACA,OAAA9B,GACA,CAAA6B,EAAA3B,IAQA6B,EAAA,CAAAhY,EAAAyF,EAAAwS,KACA,MAAAC,EAPA,CAAAzS,IACA,UAAAqD,EAAAqP,KAAAJ,EACAtS,EAAAA,EAAA2S,MAAA,GAA+BtP,MAAMuP,KAAA,GAAYvP,OAAWqP,MAAKC,MAAA,GAAYtP,MAAMuP,KAAA,GAAYvP,OAAWqP,MAE1G,OAAA1S,GAGA6S,CAAA7S,GACA8S,EAAAV,IACApC,EAAAzV,EAAAuY,EAAA9S,GACAgS,EAAAzX,GAAAuY,EACAZ,EAAAY,GAAA9S,EACAmS,EAAAW,GAAAL,EACAV,EAAAe,GAAA,IAAAC,OAAA/S,EAAAwS,EAAA,YACAV,EAAAgB,GAAA,IAAAC,OAAAN,EAAAD,EAAA,aAEAD,EAAA,mCACAA,EAAA,iCACAA,EAAA,uCAAwDF,MACxDE,EAAA,kBAAmCL,EAAAF,EAAAgB,0BAAiCd,EAAAF,EAAAgB,0BAAiCd,EAAAF,EAAAgB,uBACrGT,EAAA,uBAAwCL,EAAAF,EAAAiB,+BAAsCf,EAAAF,EAAAiB,+BAAsCf,EAAAF,EAAAiB,4BACpHV,EAAA,6BAA8CL,EAAAF,EAAAkB,yBAAgChB,EAAAF,EAAAgB,uBAC9ET,EAAA,kCAAmDL,EAAAF,EAAAkB,yBAAgChB,EAAAF,EAAAiB,4BACnFV,EAAA,qBAAsCL,EAAAF,EAAAmB,8BAAqCjB,EAAAF,EAAAmB,6BAC3EZ,EAAA,2BAA4CL,EAAAF,EAAAoB,mCAA0ClB,EAAAF,EAAAoB,kCACtFb,EAAA,qBAAsCF,MACtCE,EAAA,kBAAmCL,EAAAF,EAAAqB,yBAAgCnB,EAAAF,EAAAqB,wBACnEd,EAAA,iBAAkCL,EAAAF,EAAAsB,eAAsBpB,EAAAF,EAAAuB,eAAsBrB,EAAAF,EAAAwB,WAC9EjB,EAAA,WAA4BL,EAAAF,EAAAyB,eAC5BlB,EAAA,wBAAyCL,EAAAF,EAAA0B,oBAA2BxB,EAAAF,EAAA2B,oBAA2BzB,EAAAF,EAAAwB,WAC/FjB,EAAA,YAA6BL,EAAAF,EAAA4B,gBAC7BrB,EAAA,uBACAA,EAAA,2BAA4CL,EAAAF,EAAAiB,mCAC5CV,EAAA,sBAAuCL,EAAAF,EAAAgB,8BACvCT,EAAA,0BAA2CL,EAAAF,EAAA6B,4BAAmC3B,EAAAF,EAAA6B,4BAAmC3B,EAAAF,EAAA6B,wBAA+B3B,EAAAF,EAAAuB,gBAAuBrB,EAAAF,EAAAwB,eACvKjB,EAAA,+BAAgDL,EAAAF,EAAA8B,iCAAwC5B,EAAAF,EAAA8B,iCAAwC5B,EAAAF,EAAA8B,6BAAoC5B,EAAAF,EAAA2B,qBAA4BzB,EAAAF,EAAAwB,eAChMjB,EAAA,aAA8BL,EAAAF,EAAA+B,YAAmB7B,EAAAF,EAAAgC,iBACjDzB,EAAA,kBAAmCL,EAAAF,EAAA+B,YAAmB7B,EAAAF,EAAAiC,sBACtD1B,EAAA,kCAAwD9B,mBAA2CA,qBAA6CA,SAChJ8B,EAAA,YAA6BL,EAAAF,EAAAkC,4BAC7B3B,EAAA,aAAAL,EAAAF,EAAAkC,aAAA,MAA0DhC,EAAAF,EAAAuB,mBAA0BrB,EAAAF,EAAAwB,wBACpFjB,EAAA,YAAAL,EAAAF,EAAAmC,SAAA,GACA5B,EAAA,gBAAAL,EAAAF,EAAAoC,aAAA,GACA7B,EAAA,uBACAA,EAAA,qBAAsCL,EAAAF,EAAAqC,kBAAkB,GACxD1F,EAAA2F,iBAAA,MACA/B,EAAA,YAA6BL,EAAAF,EAAAqC,aAAoBnC,EAAAF,EAAAgC,iBACjDzB,EAAA,iBAAkCL,EAAAF,EAAAqC,aAAoBnC,EAAAF,EAAAiC,sBACtD1B,EAAA,uBACAA,EAAA,qBAAsCL,EAAAF,EAAAuC,kBAAkB,GACxD5F,EAAA6F,iBAAA,MACAjC,EAAA,YAA6BL,EAAAF,EAAAuC,aAAoBrC,EAAAF,EAAAgC,iBACjDzB,EAAA,iBAAkCL,EAAAF,EAAAuC,aAAoBrC,EAAAF,EAAAiC,sBACtD1B,EAAA,sBAAuCL,EAAAF,EAAA+B,aAAoB7B,EAAAF,EAAA4B,oBAC3DrB,EAAA,iBAAkCL,EAAAF,EAAA+B,aAAoB7B,EAAAF,EAAAyB,mBACtDlB,EAAA,0BAA2CL,EAAAF,EAAA+B,aAAoB7B,EAAAF,EAAA4B,eAAsB1B,EAAAF,EAAAgC,iBAAoB,GACzGrF,EAAA8F,sBAAA,SACAlC,EAAA,uBAAwCL,EAAAF,EAAAgC,0BAAiC9B,EAAAF,EAAAgC,sBACzEzB,EAAA,4BAA6CL,EAAAF,EAAAiC,+BAAsC/B,EAAAF,EAAAiC,2BACnF1B,EAAA,0BACAA,EAAA,oCACAA,EAAA,wCACG,CAlFH,CAkFGX,EAAAA,EAAAjD,UApFHiD,EAAAjD,SA2IA+F,EAlDA,WACA,GAAAzD,EAAA,OAAAD,EACAC,EAAA,EACA,MAAA0D,EAAAlY,OAAAiS,OAAA,CAAsCkG,OAAA,IACtCC,EAAApY,OAAAiS,OAAA,IAWA,OADAsC,EATAhY,GACAA,EAGA,iBAAAA,EACA2b,EAEA3b,EALA6b,CASA,CAkCAC,IACAC,mBAAUA,GAhCV,WACA,GAAA5D,EAAA,OAAAD,EACAC,EAAA,EACA,MAAAtX,EAAA,WACAkb,EAAA,CAAAC,EAAAC,KACA,oBAAAD,GAAA,iBAAAC,EACA,OAAAD,IAAAC,EAAA,EAAAD,EAAAC,GAAA,IAEA,MAAAC,EAAArb,EAAAsW,KAAA6E,GACAG,EAAAtb,EAAAsW,KAAA8E,GAKA,OAJAC,GAAAC,IACAH,GAAAA,EACAC,GAAAA,GAEAD,IAAAC,EAAA,EAAAC,IAAAC,GAAA,EAAAA,IAAAD,EAAA,EAAAF,EAAAC,GAAA,KAOA,OAJA/D,EAAA,CACA6D,qBACAK,oBAHA,CAAAJ,EAAAC,IAAAF,EAAAE,EAAAD,GAMA,CAU+BK,GAC/B,MAAAC,EACA,WAAAC,CAAAjO,EAAAtO,GAEA,GADAA,EAAA0b,EAAA1b,GACAsO,aAAAgO,EAAA,CACA,GAAAhO,EAAAsN,UAAA5b,EAAA4b,OAAAtN,EAAAkO,sBAAAxc,EAAAwc,kBACA,OAAAlO,EAEAA,EAAAA,EAAAA,OAEA,MAAQ,oBAAAA,EACR,UAAAmO,UAAA,uDAA4EnO,OAE5E,GAAAA,EAAArK,OAAAuT,EACA,UAAAiF,UACA,0BAAoCjF,gBAGpCR,EAAA,SAAA1I,EAAAtO,GACAgG,KAAAhG,QAAAA,EACAgG,KAAA4V,QAAA5b,EAAA4b,MACA5V,KAAAwW,oBAAAxc,EAAAwc,kBACA,MAAAE,EAAApO,EAAApE,OAAAyS,MAAA3c,EAAA4b,MAAA7C,EAAAC,EAAA4D,OAAA7D,EAAAC,EAAA6D,OACA,IAAAH,EACA,UAAAD,UAAA,oBAAgDnO,KAMhD,GAJAtI,KAAA8W,IAAAxO,EACAtI,KAAA+W,OAAAL,EAAA,GACA1W,KAAAgX,OAAAN,EAAA,GACA1W,KAAA5F,OAAAsc,EAAA,GACA1W,KAAA+W,MAAAzF,GAAAtR,KAAA+W,MAAA,EACA,UAAAN,UAAA,yBAEA,GAAAzW,KAAAgX,MAAA1F,GAAAtR,KAAAgX,MAAA,EACA,UAAAP,UAAA,yBAEA,GAAAzW,KAAA5F,MAAAkX,GAAAtR,KAAA5F,MAAA,EACA,UAAAqc,UAAA,yBAEAC,EAAA,GAGA1W,KAAAiX,WAAAP,EAAA,GAAA/C,MAAA,KAAApW,IAAAjC,IACA,cAAA6V,KAAA7V,GAAA,CACA,MAAA4b,GAAA5b,EACA,GAAA4b,GAAA,GAAAA,EAAA5F,EACA,OAAA4F,CAEA,CACA,OAAA5b,IATA0E,KAAAiX,WAAA,GAYAjX,KAAA5E,MAAAsb,EAAA,GAAAA,EAAA,GAAA/C,MAAA,QACA3T,KAAAmX,QACA,CACA,MAAAA,GAKA,OAJAnX,KAAAsI,QAAA,GAAwBtI,KAAA+W,SAAc/W,KAAAgX,SAAchX,KAAA5F,QACpD4F,KAAAiX,WAAAhZ,SACA+B,KAAAsI,SAAA,IAA4BtI,KAAAiX,WAAArD,KAAA,QAE5B5T,KAAAsI,OACA,CACA,QAAA8O,GACA,OAAApX,KAAAsI,OACA,CACA,OAAA3F,CAAA0U,GAEA,GADArG,EAAA,iBAAAhR,KAAAsI,QAAAtI,KAAAhG,QAAAqd,KACAA,aAAAf,GAAA,CACA,oBAAAe,GAAAA,IAAArX,KAAAsI,QACA,SAEA+O,EAAA,IAAAf,EAAAe,EAAArX,KAAAhG,QACA,CACA,OAAAqd,EAAA/O,UAAAtI,KAAAsI,QACA,EAEAtI,KAAAsX,YAAAD,IAAArX,KAAAuX,WAAAF,EACA,CACA,WAAAC,CAAAD,GAIA,OAHAA,aAAAf,IACAe,EAAA,IAAAf,EAAAe,EAAArX,KAAAhG,UAEAgG,KAAA+W,MAAAM,EAAAN,OACA,EAEA/W,KAAA+W,MAAAM,EAAAN,MACA,EAEA/W,KAAAgX,MAAAK,EAAAL,OACA,EAEAhX,KAAAgX,MAAAK,EAAAL,MACA,EAEAhX,KAAA5F,MAAAid,EAAAjd,OACA,EAEA4F,KAAA5F,MAAAid,EAAAjd,MACA,EAEA,CACA,CACA,UAAAmd,CAAAF,GAIA,GAHAA,aAAAf,IACAe,EAAA,IAAAf,EAAAe,EAAArX,KAAAhG,UAEAgG,KAAAiX,WAAAhZ,SAAAoZ,EAAAJ,WAAAhZ,OACA,SACQ,IAAA+B,KAAAiX,WAAAhZ,QAAAoZ,EAAAJ,WAAAhZ,OACR,SACQ,IAAA+B,KAAAiX,WAAAhZ,SAAAoZ,EAAAJ,WAAAhZ,OACR,SAEA,IAAAuZ,EAAA,EACA,GACA,MAAAxB,EAAAhW,KAAAiX,WAAAO,GACAvB,EAAAoB,EAAAJ,WAAAO,GAEA,GADAxG,EAAA,qBAAAwG,EAAAxB,EAAAC,QACA,IAAAD,QAAA,IAAAC,EACA,SACU,YAAAA,EACV,SACU,YAAAD,EACV,SACU,GAAAA,IAAAC,EAGV,OAAAF,EAAAC,EAAAC,EAEA,SAAQuB,EACR,CACA,YAAAC,CAAAJ,GACAA,aAAAf,IACAe,EAAA,IAAAf,EAAAe,EAAArX,KAAAhG,UAEA,IAAAwd,EAAA,EACA,GACA,MAAAxB,EAAAhW,KAAA5E,MAAAoc,GACAvB,EAAAoB,EAAAjc,MAAAoc,GAEA,GADAxG,EAAA,gBAAAwG,EAAAxB,EAAAC,QACA,IAAAD,QAAA,IAAAC,EACA,SACU,YAAAA,EACV,SACU,YAAAD,EACV,SACU,GAAAA,IAAAC,EAGV,OAAAF,EAAAC,EAAAC,EAEA,SAAQuB,EACR,CAGA,GAAAE,CAAAC,EAAAC,EAAAC,GACA,GAAAF,EAAAG,WAAA,QACA,IAAAF,IAAA,IAAAC,EACA,UAAAvS,MAAA,mDAEA,GAAAsS,EAAA,CACA,MAAAjB,EAAA,IAA4BiB,IAAWjB,MAAA3W,KAAAhG,QAAA4b,MAAA7C,EAAAC,EAAA2B,iBAAA5B,EAAAC,EAAAuB,aACvC,IAAAoC,GAAAA,EAAA,KAAAiB,EACA,UAAAtS,MAAA,uBAAmDsS,IAEnD,CACA,CACA,OAAAD,GACA,eACA3X,KAAAiX,WAAAhZ,OAAA,EACA+B,KAAA5F,MAAA,EACA4F,KAAAgX,MAAA,EACAhX,KAAA+W,QACA/W,KAAA0X,IAAA,MAAAE,EAAAC,GACA,MACA,eACA7X,KAAAiX,WAAAhZ,OAAA,EACA+B,KAAA5F,MAAA,EACA4F,KAAAgX,QACAhX,KAAA0X,IAAA,MAAAE,EAAAC,GACA,MACA,eACA7X,KAAAiX,WAAAhZ,OAAA,EACA+B,KAAA0X,IAAA,QAAAE,EAAAC,GACA7X,KAAA0X,IAAA,MAAAE,EAAAC,GACA,MAGA,iBACA,IAAA7X,KAAAiX,WAAAhZ,QACA+B,KAAA0X,IAAA,QAAAE,EAAAC,GAEA7X,KAAA0X,IAAA,MAAAE,EAAAC,GACA,MACA,cACA,OAAA7X,KAAAiX,WAAAhZ,OACA,UAAAqH,MAAA,WAAuCtF,KAAA8W,2BAEvC9W,KAAAiX,WAAAhZ,OAAA,EACA,MACA,YACA,IAAA+B,KAAAgX,OAAA,IAAAhX,KAAA5F,OAAA,IAAA4F,KAAAiX,WAAAhZ,QACA+B,KAAA+W,QAEA/W,KAAAgX,MAAA,EACAhX,KAAA5F,MAAA,EACA4F,KAAAiX,WAAA,GACA,MACA,YACA,IAAAjX,KAAA5F,OAAA,IAAA4F,KAAAiX,WAAAhZ,QACA+B,KAAAgX,QAEAhX,KAAA5F,MAAA,EACA4F,KAAAiX,WAAA,GACA,MACA,YACA,IAAAjX,KAAAiX,WAAAhZ,QACA+B,KAAA5F,QAEA4F,KAAAiX,WAAA,GACA,MAGA,WACA,MAAAnJ,EAAAyD,OAAAsG,GAAA,IACA,OAAA7X,KAAAiX,WAAAhZ,OACA+B,KAAAiX,WAAA,CAAAnJ,OACY,CACZ,IAAA0J,EAAAxX,KAAAiX,WAAAhZ,OACA,OAAAuZ,GAAA,GACA,iBAAAxX,KAAAiX,WAAAO,KACAxX,KAAAiX,WAAAO,KACAA,GAAA,GAGA,QAAAA,EAAA,CACA,GAAAI,IAAA5X,KAAAiX,WAAArD,KAAA,WAAAiE,EACA,UAAAvS,MAAA,yDAEAtF,KAAAiX,WAAAzX,KAAAsO,EACA,CACA,CACA,GAAA8J,EAAA,CACA,IAAAX,EAAA,CAAAW,EAAA9J,IACA,IAAA+J,IACAZ,EAAA,CAAAW,IAEA,IAAA7B,EAAA/V,KAAAiX,WAAA,GAAAW,GACAG,MAAA/X,KAAAiX,WAAA,MACAjX,KAAAiX,WAAAA,GAGAjX,KAAAiX,WAAAA,CAEA,CACA,KACA,CACA,QACA,UAAA3R,MAAA,+BAAyDqS,KAMzD,OAJA3X,KAAA8W,IAAA9W,KAAAmX,SACAnX,KAAA5E,MAAA6C,SACA+B,KAAA8W,KAAA,IAAwB9W,KAAA5E,MAAAwY,KAAA,QAExB5T,IACA,EAGA,OADAoS,EAAAkE,CAEA,EAGA,WACA,GAAA/D,EAAA,OAAAD,EACAC,EAAA,EACA,MAAA+D,EAAAzD,IAEAP,EADA,CAAA0D,EAAAJ,IAAA,IAAAU,EAAAN,EAAAJ,GAAAmB,KAGA,CACAiB,GA0BA,WACA,GAAArF,EAAA,OAAAD,EACAC,EAAA,EACA,MAAAsF,EAzBA,WACA,GAAAxF,EAAA,OAAAD,EACAC,EAAA,EACA,MAAA6D,EAAAzD,IAeA,OADAL,EAbA,CAAAlK,EAAAtO,EAAAke,GAAA,KACA,GAAA5P,aAAAgO,EACA,OAAAhO,EAEA,IACA,WAAAgO,EAAAhO,EAAAtO,EACA,CAAM,MAAAme,GACN,IAAAD,EACA,YAEA,MAAAC,CACA,EAIA,CAMAC,GAKA1F,EAJA,CAAApK,EAAAtO,KACA,MAAAqe,EAAAJ,EAAA3P,EAAAtO,GACA,OAAAqe,EAAAA,EAAA/P,QAAA,KAIA,CACAgQ,GAwG6BC,EAAAC,EAiM7B,IACAC,EAEAA,IACAA,EAAA,EAEA,SAAAC,GACAA,EAAAC,OAAA,SAAAtN,EAAAuN,GACA,WAAAC,EAAAxN,EAAAuN,EACA,EACAF,EAAAG,UAAAA,EACAH,EAAAI,UAAAA,EACAJ,EAAAK,aA2JA,SAAA1N,EAAAuN,GACA,WAAAE,EAAAzN,EAAAuN,EACA,EA5JAF,EAAAM,kBAAA,MACA,IA6IAC,EA7IAC,EAAA,CACA,UACA,WACA,WACA,UACA,UACA,eACA,eACA,SACA,aACA,cACA,QACA,UAsBA,SAAAL,EAAAxN,EAAAuN,GACA,KAAA5Y,gBAAA6Y,GACA,WAAAA,EAAAxN,EAAAuN,GAEA,IAAAD,EAAA3Y,MAuEA,SAAA2Y,GACA,QAAAnB,EAAA,EAAA2B,EAAAD,EAAAjb,OAA8CuZ,EAAA2B,EAAS3B,IACvDmB,EAAAO,EAAA1B,IAAA,EAEA,CA1EA4B,CAAAT,GACAA,EAAAU,EAAAV,EAAAW,EAAA,GACAX,EAAAY,oBAAAb,EAAAM,kBACAL,EAAAC,IAAAA,GAAA,GACAD,EAAAC,IAAAY,UAAAb,EAAAC,IAAAY,WAAAb,EAAAC,IAAAa,cACAd,EAAAe,UAAAf,EAAAC,IAAAY,UAAA,4BACAb,EAAAgB,KAAA,GACAhB,EAAAiB,OAAAjB,EAAAkB,WAAAlB,EAAAmB,SAAA,EACAnB,EAAAoB,IAAApB,EAAAja,MAAA,KACAia,EAAAtN,SAAAA,EACAsN,EAAAqB,YAAA3O,IAAAsN,EAAAC,IAAAoB,UACArB,EAAA/c,MAAAqe,EAAAC,MACAvB,EAAAwB,eAAAxB,EAAAC,IAAAuB,eACAxB,EAAAyB,SAAAzB,EAAAwB,eAAA1c,OAAA4c,OAAA3B,EAAA4B,cAAA7c,OAAA4c,OAAA3B,EAAA0B,UACAzB,EAAA4B,WAAA,GACA5B,EAAAC,IAAA4B,QACA7B,EAAA8B,GAAAhd,OAAA4c,OAAAK,SAEA,IAAA/B,EAAAC,IAAA+B,0BACAhC,EAAAC,IAAA+B,yBAAAtP,GAEAsN,EAAAiC,eAAA,IAAAjC,EAAAC,IAAAiC,SACAlC,EAAAiC,gBACAjC,EAAAkC,SAAAlC,EAAAmC,KAAAnC,EAAAoC,OAAA,GAEAC,EAAArC,EAAA,UACA,CAnDAD,EAAAuC,OAAA,CACA,OACA,wBACA,kBACA,UACA,UACA,eACA,YACA,UACA,WACA,YACA,QACA,aACA,QACA,MACA,QACA,SACA,gBACA,kBAkCAxd,OAAA4c,SACA5c,OAAA4c,OAAA,SAAAa,GACA,SAAAC,IACA,CAGA,OAFAA,EAAA/M,UAAA8M,EACA,IAAAC,CAEA,GAEA1d,OAAA+G,OACA/G,OAAA+G,KAAA,SAAA0W,GACA,IAAAlF,EAAA,GACA,QAAAwB,KAAA0D,EAAAA,EAAAE,eAAA5D,IAAAxB,EAAAxW,KAAAgY,GACA,OAAAxB,CACA,GA6CA6C,EAAAzK,UAAA,CACAiN,IAAA,WACAA,EAAArb,KACA,EACAsb,MAwuBA,SAAAC,GACA,IAAA5C,EAAA3Y,KACA,GAAAA,KAAAtB,MACA,MAAAsB,KAAAtB,MAEA,GAAAia,EAAAiB,OACA,OAAAlb,EACAia,EACA,wDAGA,UAAA4C,EACA,OAAAF,EAAA1C,GAEA,iBAAA4C,IACAA,EAAAA,EAAAnE,YAIA,IAFA,IAAAI,EAAA,EACAgE,EAAA,GAEAA,EAAAC,EAAAF,EAAA/D,KACAmB,EAAAW,EAAAkC,EACAA,GAYA,OATA7C,EAAAiC,gBACAjC,EAAAkC,WACA,OAAAW,GACA7C,EAAAmC,OACAnC,EAAAoC,OAAA,GAEApC,EAAAoC,UAGApC,EAAA/c,OACA,KAAAqe,EAAAC,MAEA,GADAvB,EAAA/c,MAAAqe,EAAAyB,iBACA,WAAAF,EACA,SAEAG,EAAAhD,EAAA6C,GACA,SACA,KAAAvB,EAAAyB,iBACAC,EAAAhD,EAAA6C,GACA,SACA,KAAAvB,EAAA2B,KACA,GAAAjD,EAAAmB,UAAAnB,EAAAkB,WAAA,CAEA,IADA,IAAAgC,EAAArE,EAAA,EACAgE,GAAA,MAAAA,GAAA,MAAAA,IACAA,EAAAC,EAAAF,EAAA/D,OACAmB,EAAAiC,gBACAjC,EAAAkC,WACA,OAAAW,GACA7C,EAAAmC,OACAnC,EAAAoC,OAAA,GAEApC,EAAAoC,UAIApC,EAAAmD,UAAAP,EAAAQ,UAAAF,EAAArE,EAAA,EACA,CACA,MAAAgE,GAAA7C,EAAAmB,SAAAnB,EAAAkB,aAAAlB,EAAAtN,QAIA2Q,EAAAR,IAAA7C,EAAAmB,UAAAnB,EAAAkB,YACAoC,EAAAtD,EAAA,mCAEA,MAAA6C,EACA7C,EAAA/c,MAAAqe,EAAAiC,YAEAvD,EAAAmD,UAAAN,IATA7C,EAAA/c,MAAAqe,EAAAkC,UACAxD,EAAAyD,iBAAAzD,EAAAkC,UAWA,SACA,KAAAZ,EAAAoC,OACA,MAAAb,EACA7C,EAAA/c,MAAAqe,EAAAqC,cAEA3D,EAAA4D,QAAAf,EAEA,SACA,KAAAvB,EAAAqC,cACA,MAAAd,EACA7C,EAAA/c,MAAAqe,EAAAuC,WAEA7D,EAAA4D,QAAA,IAAAf,EACA7C,EAAA/c,MAAAqe,EAAAoC,QAEA,SACA,KAAApC,EAAAkC,UACA,SAAAX,EACA7C,EAAA/c,MAAAqe,EAAAwC,UACA9D,EAAA+D,SAAA,QACgB,GAAAV,EAAAR,SAChB,GAAAmB,EAAAC,EAAApB,GACA7C,EAAA/c,MAAAqe,EAAA4C,SACAlE,EAAAmE,QAAAtB,OACgB,SAAAA,EAChB7C,EAAA/c,MAAAqe,EAAAuC,UACA7D,EAAAmE,QAAA,QACgB,SAAAtB,EAChB7C,EAAA/c,MAAAqe,EAAA8C,UACApE,EAAAqE,aAAArE,EAAAsE,aAAA,OACgB,CAEhB,GADAhB,EAAAtD,EAAA,eACAA,EAAAyD,iBAAA,EAAAzD,EAAAkC,SAAA,CACA,IAAAqC,EAAAvE,EAAAkC,SAAAlC,EAAAyD,iBACAZ,EAAA,IAAAnU,MAAA6V,GAAAtJ,KAAA,KAAA4H,CACA,CACA7C,EAAAmD,UAAA,IAAAN,EACA7C,EAAA/c,MAAAqe,EAAA2B,IACA,CACA,SACA,KAAA3B,EAAAwC,UACA,GAAA9D,EAAA+D,SAAAlB,IAAA,MACA7C,EAAA/c,MAAAqe,EAAAkD,QACAxE,EAAAyE,QAAA,GACAzE,EAAA+D,SAAA,GACA,QACA,CACA/D,EAAA0E,UAAA,IAAA1E,EAAA0E,SAAA1E,EAAA+D,UACA/D,EAAA/c,MAAAqe,EAAAqD,YACA3E,EAAA0E,SAAA,KAAA1E,EAAA+D,SAAAlB,EACA7C,EAAA+D,SAAA,KACgB/D,EAAA+D,SAAAlB,GAAA+B,gBAAAC,GAChBC,EAAA9E,EAAA,eACAA,EAAA/c,MAAAqe,EAAAuD,MACA7E,EAAA+D,SAAA,GACA/D,EAAA+E,MAAA,KACgB/E,EAAA+D,SAAAlB,GAAA+B,gBAAAI,GAChBhF,EAAA/c,MAAAqe,EAAA0D,SACAhF,EAAA0E,SAAA1E,EAAAmB,UACAmC,EACAtD,EACA,+CAGAA,EAAA0E,QAAA,GACA1E,EAAA+D,SAAA,IACgB,MAAAlB,GAChBiC,EAAA9E,EAAA,oBAAAA,EAAA+D,UACA/D,EAAA+D,SAAA,GACA/D,EAAA/c,MAAAqe,EAAA2B,MACgBgC,EAAApC,IAChB7C,EAAA/c,MAAAqe,EAAA4D,iBACAlF,EAAA+D,UAAAlB,GAEA7C,EAAA+D,UAAAlB,EAEA,SACA,KAAAvB,EAAA4D,iBACArC,IAAA7C,EAAAU,IACAV,EAAA/c,MAAAqe,EAAAwC,UACA9D,EAAAU,EAAA,IAEAV,EAAA+D,UAAAlB,EACA,SACA,KAAAvB,EAAA0D,QACA,MAAAnC,GACA7C,EAAA/c,MAAAqe,EAAA2B,KACA6B,EAAA9E,EAAA,YAAAA,EAAA0E,SACA1E,EAAA0E,SAAA,IAEA1E,EAAA0E,SAAA7B,EACA,MAAAA,EACA7C,EAAA/c,MAAAqe,EAAAqD,YACkBM,EAAApC,KAClB7C,EAAA/c,MAAAqe,EAAA6D,eACAnF,EAAAU,EAAAmC,IAGA,SACA,KAAAvB,EAAA6D,eACAnF,EAAA0E,SAAA7B,EACAA,IAAA7C,EAAAU,IACAV,EAAAU,EAAA,GACAV,EAAA/c,MAAAqe,EAAA0D,SAEA,SACA,KAAA1D,EAAAqD,YACA,MAAA9B,GACA7C,EAAA0E,SAAA7B,EACA7C,EAAA/c,MAAAqe,EAAA0D,SACgB,MAAAnC,GAChB7C,EAAA/c,MAAAqe,EAAAkC,UACAxD,EAAAyD,iBAAAzD,EAAAkC,UACgB+C,EAAApC,IAChB7C,EAAA0E,SAAA7B,EACA7C,EAAA/c,MAAAqe,EAAA8D,mBACApF,EAAAU,EAAAmC,GAEA7C,EAAA0E,SAAA7B,EAEA,SACA,KAAAvB,EAAA8D,mBACApF,EAAA0E,SAAA7B,EACAA,IAAA7C,EAAAU,IACAV,EAAA/c,MAAAqe,EAAAqD,YACA3E,EAAAU,EAAA,IAEA,SACA,KAAAY,EAAAkD,QACA,MAAA3B,EACA7C,EAAA/c,MAAAqe,EAAA+D,eAEArF,EAAAyE,SAAA5B,EAEA,SACA,KAAAvB,EAAA+D,eACA,MAAAxC,GACA7C,EAAA/c,MAAAqe,EAAAgE,cACAtF,EAAAyE,QAAAc,EAAAvF,EAAAC,IAAAD,EAAAyE,SACAzE,EAAAyE,SACAK,EAAA9E,EAAA,YAAAA,EAAAyE,SAEAzE,EAAAyE,QAAA,KAEAzE,EAAAyE,SAAA,IAAA5B,EACA7C,EAAA/c,MAAAqe,EAAAkD,SAEA,SACA,KAAAlD,EAAAgE,cACA,MAAAzC,GACAS,EAAAtD,EAAA,qBACAA,EAAAyE,SAAA,KAAA5B,EACA7C,EAAA/c,MAAAqe,EAAAkD,SACgBxE,EAAA0E,UAAA,IAAA1E,EAAA0E,QAChB1E,EAAA/c,MAAAqe,EAAAqD,YAEA3E,EAAA/c,MAAAqe,EAAA2B,KAEA,SACA,KAAA3B,EAAAuD,MACA,MAAAhC,EACA7C,EAAA/c,MAAAqe,EAAAkE,aAEAxF,EAAA+E,OAAAlC,EAEA,SACA,KAAAvB,EAAAkE,aACA,MAAA3C,EACA7C,EAAA/c,MAAAqe,EAAAmE,gBAEAzF,EAAA+E,OAAA,IAAAlC,EACA7C,EAAA/c,MAAAqe,EAAAuD,OAEA,SACA,KAAAvD,EAAAmE,eACA,MAAA5C,GACA7C,EAAA+E,OACAD,EAAA9E,EAAA,UAAAA,EAAA+E,OAEAD,EAAA9E,EAAA,gBACAA,EAAA+E,MAAA,GACA/E,EAAA/c,MAAAqe,EAAA2B,MACgB,MAAAJ,EAChB7C,EAAA+E,OAAA,KAEA/E,EAAA+E,OAAA,KAAAlC,EACA7C,EAAA/c,MAAAqe,EAAAuD,OAEA,SACA,KAAAvD,EAAA8C,UACA,MAAAvB,EACA7C,EAAA/c,MAAAqe,EAAAoE,iBACgBrC,EAAAR,GAChB7C,EAAA/c,MAAAqe,EAAAqE,eAEA3F,EAAAqE,cAAAxB,EAEA,SACA,KAAAvB,EAAAqE,eACA,IAAA3F,EAAAsE,cAAAjB,EAAAR,GACA,SACgB,MAAAA,EAChB7C,EAAA/c,MAAAqe,EAAAoE,iBAEA1F,EAAAsE,cAAAzB,EAEA,SACA,KAAAvB,EAAAoE,iBACA,MAAA7C,GACAiC,EAAA9E,EAAA,2BACApd,KAAAod,EAAAqE,aACAuB,KAAA5F,EAAAsE,eAEAtE,EAAAqE,aAAArE,EAAAsE,aAAA,GACAtE,EAAA/c,MAAAqe,EAAA2B,OAEAjD,EAAAsE,cAAA,IAAAzB,EACA7C,EAAA/c,MAAAqe,EAAAqE,gBAEA,SACA,KAAArE,EAAA4C,SACAF,EAAA6B,EAAAhD,GACA7C,EAAAmE,SAAAtB,GAEAiD,EAAA9F,GACA,MAAA6C,EACAkD,EAAA/F,GACkB,MAAA6C,EAClB7C,EAAA/c,MAAAqe,EAAA0E,gBAEA3C,EAAAR,IACAS,EAAAtD,EAAA,iCAEAA,EAAA/c,MAAAqe,EAAA2E,SAGA,SACA,KAAA3E,EAAA0E,eACA,MAAAnD,GACAkD,EAAA/F,GAAA,GACAkG,EAAAlG,KAEAsD,EAAAtD,EAAA,kDACAA,EAAA/c,MAAAqe,EAAA2E,QAEA,SACA,KAAA3E,EAAA2E,OACA,GAAA5C,EAAAR,GACA,SACgB,MAAAA,EAChBkD,EAAA/F,GACgB,MAAA6C,EAChB7C,EAAA/c,MAAAqe,EAAA0E,eACgBhC,EAAAC,EAAApB,IAChB7C,EAAAmG,WAAAtD,EACA7C,EAAAoG,YAAA,GACApG,EAAA/c,MAAAqe,EAAA+E,aAEA/C,EAAAtD,EAAA,0BAEA,SACA,KAAAsB,EAAA+E,YACA,MAAAxD,EACA7C,EAAA/c,MAAAqe,EAAAgF,aACgB,MAAAzD,GAChBS,EAAAtD,EAAA,2BACAA,EAAAoG,YAAApG,EAAAmG,WACAI,EAAAvG,GACA+F,EAAA/F,IACgBqD,EAAAR,GAChB7C,EAAA/c,MAAAqe,EAAAkF,sBACgBxC,EAAA6B,EAAAhD,GAChB7C,EAAAmG,YAAAtD,EAEAS,EAAAtD,EAAA,0BAEA,SACA,KAAAsB,EAAAkF,sBACA,SAAA3D,EACA7C,EAAA/c,MAAAqe,EAAAgF,iBACgB,IAAAjD,EAAAR,GAChB,SAEAS,EAAAtD,EAAA,2BACAA,EAAAoB,IAAAqF,WAAAzG,EAAAmG,YAAA,GACAnG,EAAAoG,YAAA,GACAtB,EAAA9E,EAAA,eACApd,KAAAod,EAAAmG,WACA9d,MAAA,KAEA2X,EAAAmG,WAAA,GACA,MAAAtD,EACAkD,EAAA/F,GACkBgE,EAAAC,EAAApB,IAClB7C,EAAAmG,WAAAtD,EACA7C,EAAA/c,MAAAqe,EAAA+E,cAEA/C,EAAAtD,EAAA,0BACAA,EAAA/c,MAAAqe,EAAA2E,OAEA,CACA,SACA,KAAA3E,EAAAgF,aACA,GAAAjD,EAAAR,GACA,SACgBoC,EAAApC,IAChB7C,EAAAU,EAAAmC,EACA7C,EAAA/c,MAAAqe,EAAAoF,sBAEA1G,EAAAC,IAAA+B,yBACAjc,EAAAia,EAAA,4BAEAA,EAAA/c,MAAAqe,EAAAqF,sBACA3G,EAAAoG,YAAAvD,GAEA,SACA,KAAAvB,EAAAoF,oBACA,GAAA7D,IAAA7C,EAAAU,EAAA,CACA,MAAAmC,EACA7C,EAAA/c,MAAAqe,EAAAsF,sBAEA5G,EAAAoG,aAAAvD,EAEA,QACA,CACA0D,EAAAvG,GACAA,EAAAU,EAAA,GACAV,EAAA/c,MAAAqe,EAAAuF,oBACA,SACA,KAAAvF,EAAAuF,oBACAxD,EAAAR,GACA7C,EAAA/c,MAAAqe,EAAA2E,OACgB,MAAApD,EAChBkD,EAAA/F,GACgB,MAAA6C,EAChB7C,EAAA/c,MAAAqe,EAAA0E,eACgBhC,EAAAC,EAAApB,IAChBS,EAAAtD,EAAA,oCACAA,EAAAmG,WAAAtD,EACA7C,EAAAoG,YAAA,GACApG,EAAA/c,MAAAqe,EAAA+E,aAEA/C,EAAAtD,EAAA,0BAEA,SACA,KAAAsB,EAAAqF,sBACA,IAAAG,EAAAjE,GAAA,CACA,MAAAA,EACA7C,EAAA/c,MAAAqe,EAAAyF,sBAEA/G,EAAAoG,aAAAvD,EAEA,QACA,CACA0D,EAAAvG,GACA,MAAA6C,EACAkD,EAAA/F,GAEAA,EAAA/c,MAAAqe,EAAA2E,OAEA,SACA,KAAA3E,EAAAuC,UACA,GAAA7D,EAAAmE,QAagB,MAAAtB,EAChBqD,EAAAlG,GACgBgE,EAAA6B,EAAAhD,GAChB7C,EAAAmE,SAAAtB,EACgB7C,EAAA4D,QAChB5D,EAAA4D,QAAA,KAAA5D,EAAAmE,QACAnE,EAAAmE,QAAA,GACAnE,EAAA/c,MAAAqe,EAAAoC,SAEAL,EAAAR,IACAS,EAAAtD,EAAA,kCAEAA,EAAA/c,MAAAqe,EAAA0F,yBAzBA,CACA,GAAA3D,EAAAR,GACA,SACkBoE,EAAAhD,EAAApB,GAClB7C,EAAA4D,QACA5D,EAAA4D,QAAA,KAAAf,EACA7C,EAAA/c,MAAAqe,EAAAoC,QAEAJ,EAAAtD,EAAA,mCAGAA,EAAAmE,QAAAtB,CAEA,CAcA,SACA,KAAAvB,EAAA0F,oBACA,GAAA3D,EAAAR,GACA,SAEA,MAAAA,EACAqD,EAAAlG,GAEAsD,EAAAtD,EAAA,qCAEA,SACA,KAAAsB,EAAAiC,YACA,KAAAjC,EAAAsF,sBACA,KAAAtF,EAAAyF,sBACA,IAAAG,EACAC,EACA,OAAAnH,EAAA/c,OACA,KAAAqe,EAAAiC,YACA2D,EAAA5F,EAAA2B,KACAkE,EAAA,WACA,MACA,KAAA7F,EAAAsF,sBACAM,EAAA5F,EAAAoF,oBACAS,EAAA,cACA,MACA,KAAA7F,EAAAyF,sBACAG,EAAA5F,EAAAqF,sBACAQ,EAAA,cAGA,SAAAtE,EAA2B,CAC3B,IAAAuE,EAAAC,EAAArH,GACAA,EAAAC,IAAAqH,mBAAAxiB,OAAAC,OAAAgb,EAAA4B,cAAA1c,SAAAmiB,IACApH,EAAAuH,OAAA,GACAvH,EAAA/c,MAAAikB,EACAlH,EAAA2C,MAAAyE,KAEApH,EAAAmH,IAAAC,EACApH,EAAAuH,OAAA,GACAvH,EAAA/c,MAAAikB,EAEA,MAAgBlD,EAAAhE,EAAAuH,OAAAjiB,OAAAkiB,EAAAC,EAAA5E,GAChB7C,EAAAuH,QAAA1E,GAEAS,EAAAtD,EAAA,oCACAA,EAAAmH,IAAA,IAAAnH,EAAAuH,OAAA1E,EACA7C,EAAAuH,OAAA,GACAvH,EAAA/c,MAAAikB,GAEA,SACA,QACA,UAAAva,MAAAqT,EAAA,kBAAAA,EAAA/c,OAOA,OAHA+c,EAAAkC,UAAAlC,EAAAY,qBA9xCA,SAAAZ,GAGA,IAFA,IAAA0H,EAAAC,KAAA5M,IAAAgF,EAAAM,kBAAA,IACAuH,EAAA,EACA/I,EAAA,EAAA2B,EAAAD,EAAAjb,OAA8CuZ,EAAA2B,EAAS3B,IAAA,CACvD,IAAAgJ,EAAA7H,EAAAO,EAAA1B,IAAAvZ,OACA,GAAAuiB,EAAAH,EACA,OAAAnH,EAAA1B,IACA,eACAiJ,EAAA9H,GACA,MACA,YACA8E,EAAA9E,EAAA,UAAAA,EAAA+E,OACA/E,EAAA+E,MAAA,GACA,MACA,aACAD,EAAA9E,EAAA,WAAAA,EAAA4D,QACA5D,EAAA4D,OAAA,GACA,MACA,QACA7d,EAAAia,EAAA,+BAAAO,EAAA1B,IAGA+I,EAAAD,KAAA5M,IAAA6M,EAAAC,EACA,CACA,IAAA9J,EAAAgC,EAAAM,kBAAAuH,EACA5H,EAAAY,oBAAA7C,EAAAiC,EAAAkC,QACA,CAqwCA6F,CAAA/H,GAEAA,CACA,EAlvCAgI,OAAA,WAEA,OADA3gB,KAAAtB,MAAA,KACAsB,IACA,EACAuJ,MAAA,WACA,OAAAvJ,KAAAsb,MAAA,KACA,EACAsF,MAAA,WAvBA,IAAAjI,EACA8H,EADA9H,EAwBA3Y,MAtBA,KAAA2Y,EAAA+E,QACAD,EAAA9E,EAAA,UAAAA,EAAA+E,OACA/E,EAAA+E,MAAA,IAEA,KAAA/E,EAAA4D,SACAkB,EAAA9E,EAAA,WAAAA,EAAA4D,QACA5D,EAAA4D,OAAA,GAiBA,GAGA,IACAtD,EAAA4H,QAAA,UAAA5H,MACA,CAAQ,MAAA6H,GACR7H,EAAA,WACA,CACA,CACAA,IAAAA,EAAA,WACA,GACA,IAAA8H,EAAArI,EAAAuC,OAAAtd,OAAA,SAAAqjB,GACA,gBAAAA,GAAA,QAAAA,CACA,GAIA,SAAAlI,EAAAzN,EAAAuN,GACA,KAAA5Y,gBAAA8Y,GACA,WAAAA,EAAAzN,EAAAuN,GAEAK,EAAAgI,MAAAjhB,MACAA,KAAAkhB,QAAA,IAAArI,EAAAxN,EAAAuN,GACA5Y,KAAAmhB,UAAA,EACAnhB,KAAAohB,UAAA,EACA,IAAAC,EAAArhB,KACAA,KAAAkhB,QAAAI,MAAA,WACAD,EAAAE,KAAA,MACA,EACAvhB,KAAAkhB,QAAAM,QAAA,SAAArJ,GACAkJ,EAAAE,KAAA,QAAApJ,GACAkJ,EAAAH,QAAAxiB,MAAA,IACA,EACAsB,KAAAyhB,SAAA,KACAV,EAAArgB,QAAA,SAAAsgB,GACAvjB,OAAAikB,eAAAL,EAAA,KAAAL,EAAA,CACAjnB,IAAA,WACA,OAAAsnB,EAAAH,QAAA,KAAAF,EACA,EACAW,IAAA,SAAAC,GACA,IAAAA,EAGA,OAFAP,EAAAQ,mBAAAb,GACAK,EAAAH,QAAA,KAAAF,GAAAY,EACAA,EAEAP,EAAAS,GAAAd,EAAAY,EACA,EACAG,YAAA,EACAC,cAAA,GAEA,EACA,CACAlJ,EAAA1K,UAAA3Q,OAAA4c,OAAApB,EAAA7K,UAAA,CACAmI,YAAA,CACAvV,MAAA8X,KAGAA,EAAA1K,UAAAkN,MAAA,SAAAnhB,GACA,GAAyB,mBAAN8nB,GAAsC,mBAANA,EAAMC,UAA4BD,EAAMC,SAAA/nB,GAAA,CAC3F,IAAA6F,KAAAyhB,SAAA,CACA,IAAAU,EAAqBC,EAAAC,EACrBriB,KAAAyhB,SAAA,IAAAU,EAAA,OACA,CACAhoB,EAAA6F,KAAAyhB,SAAAnG,MAAAnhB,EACA,CAGA,OAFA6F,KAAAkhB,QAAA5F,MAAAnhB,EAAAid,YACApX,KAAAuhB,KAAA,OAAApnB,IACA,CACA,EACA2e,EAAA1K,UAAAiN,IAAA,SAAAE,GAKA,OAJAA,GAAAA,EAAAtd,QACA+B,KAAAsb,MAAAC,GAEAvb,KAAAkhB,QAAA7F,OACA,CACA,EACAvC,EAAA1K,UAAA0T,GAAA,SAAAd,EAAAsB,GACA,IAAAjB,EAAArhB,KAQA,OAPAqhB,EAAAH,QAAA,KAAAF,KAAA,IAAAD,EAAArhB,QAAAshB,KACAK,EAAAH,QAAA,KAAAF,GAAA,WACA,IAAA5P,EAAA,IAAAmR,UAAAtkB,OAAA,CAAAskB,UAAA,IAAAlb,MAAA4Z,MAAA,KAAAsB,WACAnR,EAAAlS,OAAA,IAAA8hB,GACAK,EAAAE,KAAAN,MAAAI,EAAAjQ,EACA,GAEA6H,EAAA7K,UAAA0T,GAAAU,KAAAnB,EAAAL,EAAAsB,EACA,EACA,IAAA9E,EAAA,UACAG,EAAA,UACA8E,EAAA,uCACAC,EAAA,gCACAhI,EAAA,CAAqBiI,IAAAF,EAAAjI,MAAAkI,GACrB9F,EAAA,4JACA4B,EAAA,gMACA4B,EAAA,6JACAD,EAAA,iMACA,SAAAnE,EAAAR,GACA,YAAAA,GAAA,OAAAA,GAAA,OAAAA,GAAA,OAAAA,CACA,CACA,SAAAoC,EAAApC,GACA,YAAAA,GAAA,MAAAA,CACA,CACA,SAAAiE,EAAAjE,GACA,YAAAA,GAAAQ,EAAAR,EACA,CACA,SAAAmB,EAAAiG,EAAApH,GACA,OAAAoH,EAAAzR,KAAAqK,EACA,CACA,SAAAoE,EAAAgD,EAAApH,GACA,OAAAmB,EAAAiG,EAAApH,EACA,CACA,IA8nCAqH,EACAC,EACAC,EAhoCA9I,EAAA,EAsVA,QAAA+I,KArVAtK,EAAAuK,MAAA,CACA/I,MAAAD,IAEAyB,iBAAAzB,IAEA2B,KAAA3B,IAEAiC,YAAAjC,IAEAkC,UAAAlC,IAEAwC,UAAAxC,IAEA4D,iBAAA5D,IAEA0D,QAAA1D,IAEA6D,eAAA7D,IAEAqD,YAAArD,IAEA8D,mBAAA9D,IAEAiJ,iBAAAjJ,IAEAkD,QAAAlD,IAEA+D,eAAA/D,IAEAgE,cAAAhE,IAEAuD,MAAAvD,IAEAkE,aAAAlE,IAEAmE,eAAAnE,IAEA8C,UAAA9C,IAEAqE,eAAArE,IAEAoE,iBAAApE,IAEA4C,SAAA5C,IAEA0E,eAAA1E,IAEA2E,OAAA3E,IAEA+E,YAAA/E,IAEAkF,sBAAAlF,IAEAgF,aAAAhF,IAEAoF,oBAAApF,IAEAuF,oBAAAvF,IAEAqF,sBAAArF,IAEAsF,sBAAAtF,IAEAyF,sBAAAzF,IAEAuC,UAAAvC,IAEA0F,oBAAA1F,IAEAoC,OAAApC,IAEAqC,cAAArC,KAGAvB,EAAA4B,aAAA,CACA6I,IAAA,IACAC,GAAA,IACAC,GAAA,IACAC,KAAA,IACAC,KAAA,KAEA7K,EAAA0B,SAAA,CACA+I,IAAA,IACAC,GAAA,IACAC,GAAA,IACAC,KAAA,IACAC,KAAA,IACAC,MAAA,IACAC,OAAA,IACAC,MAAA,IACAC,OAAA,IACAC,MAAA,IACAC,OAAA,IACAC,KAAA,IACAC,OAAA,IACAC,IAAA,IACAC,OAAA,IACAC,MAAA,IACAC,OAAA,IACAC,KAAA,IACAC,OAAA,IACAC,MAAA,IACAC,OAAA,IACAC,KAAA,IACAC,OAAA,IACAC,OAAA,IACAC,MAAA,IACAC,OAAA,IACAC,OAAA,IACAC,OAAA,IACAC,KAAA,IACAC,MAAA,IACAC,OAAA,IACAC,MAAA,IACAC,OAAA,IACAC,KAAA,IACAC,OAAA,IACAC,OAAA,IACAC,MAAA,IACAC,MAAA,IACAC,OAAA,IACAC,MAAA,IACAC,OAAA,IACAC,KAAA,IACAC,OAAA,IACAC,OAAA,IACAC,MAAA,IACAC,OAAA,IACAC,IAAA,IACAC,KAAA,IACAC,OAAA,IACAC,MAAA,IACAC,OAAA,IACAC,KAAA,IACAC,OAAA,IACAC,OAAA,IACAC,MAAA,IACAC,OAAA,IACAC,OAAA,IACAC,OAAA,IACAC,KAAA,IACAC,MAAA,IACAC,MAAA,IACAC,OAAA,IACAC,MAAA,IACAC,OAAA,IACAC,KAAA,IACAC,OAAA,IACAC,KAAA,IACAC,KAAA,IACAC,IAAA,IACAC,KAAA,IACAC,MAAA,IACAC,KAAA,IACAC,MAAA,IACAC,OAAA,IACAC,IAAA,IACAC,OAAA,IACAC,KAAA,IACAC,IAAA,IACAC,KAAA,IACAC,MAAA,IACAC,IAAA,IACAC,IAAA,IACAC,KAAA,IACAC,IAAA,IACAC,OAAA,IACAC,KAAA,IACAC,KAAA,IACAC,KAAA,IACAC,MAAA,IACAC,MAAA,IACAC,KAAA,IACAC,OAAA,IACAC,MAAA,IACAC,KAAA,IACAC,MAAA,IACAC,OAAA,IACAC,OAAA,IACAC,OAAA,IACAC,OAAA,IACAC,MAAA,IACAC,OAAA,IACAC,MAAA,IACAC,MAAA,IACAC,OAAA,IACAC,OAAA,IACAC,KAAA,IACAC,KAAA,IACAC,KAAA,IACAC,MAAA,IACAC,MAAA,IACAC,KAAA,IACAC,MAAA,IACAC,MAAA,IACAC,QAAA,IACAC,KAAA,IACAC,IAAA,IACAC,MAAA,IACAC,KAAA,IACAC,MAAA,IACAC,OAAA,IACAC,GAAA,IACAC,GAAA,IACAC,GAAA,IACAC,QAAA,IACAC,GAAA,IACAC,IAAA,IACAC,MAAA,IACAC,IAAA,IACAC,QAAA,IACAC,IAAA,IACAC,IAAA,IACAC,IAAA,IACAC,MAAA,IACAC,MAAA,IACAC,KAAA,IACAC,MAAA,IACAC,MAAA,IACAC,QAAA,IACAC,KAAA,IACAC,IAAA,IACAC,MAAA,IACAC,KAAA,IACAC,MAAA,IACAC,OAAA,IACAC,GAAA,IACAC,GAAA,IACAC,GAAA,IACAC,QAAA,IACAC,GAAA,IACAC,IAAA,IACAC,OAAA,IACAC,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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/settings/src/store/api.js","webpack:///nextcloud/apps/settings/src/utils/sorting.ts","webpack:///nextcloud/apps/settings/src/store/users.js","webpack:///nextcloud/apps/settings/src/store/apps.js","webpack:///nextcloud/apps/settings/src/store/users-settings.js","webpack:///nextcloud/apps/settings/src/store/oc.js","webpack:///nextcloud/apps/settings/src/store/index.js","webpack:///nextcloud/apps/settings/src/constants/GroupManagement.ts","webpack:///nextcloud/apps/settings/src/logger.ts","webpack:///nextcloud/apps/settings/src/views/SettingsApp.vue","webpack:///nextcloud/apps/settings/src/views/SettingsApp.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/views/SettingsApp.vue?3a67","webpack:///nextcloud/apps/settings/src/router/routes.ts","webpack:///nextcloud/apps/settings/src/router/index.ts","webpack:///nextcloud/apps/settings/src/main-apps-users-management.ts","webpack:///nextcloud/node_modules/vuex-router-sync/index.js","webpack:///nextcloud/node_modules/@nextcloud/files/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/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/set anonymous default export name","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, fn, priority] = deferred[i];\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\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};","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport axios from '@nextcloud/axios'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\n\nconst sanitize = function(url) {\n\treturn url.replace(/\\/$/, '') // Remove last url slash\n}\n\nexport default {\n\n\t/**\n\t * This Promise is used to chain a request that require an admin password confirmation\n\t * Since chaining Promise have a very precise behavior concerning catch and then,\n\t * you'll need to be careful when using it.\n\t * e.g\n\t * // store\n\t * action(context) {\n\t * return api.requireAdmin().then((response) => {\n\t * return api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {API failure});\n\t * }).catch((error) => {requireAdmin failure});\n\t * }\n\t * // vue\n\t * this.$store.dispatch('action').then(() => {always executed})\n\t *\n\t * Since Promise.then().catch().then() will always execute the last then\n\t * this.$store.dispatch('action').then will always be executed\n\t *\n\t * If you want requireAdmin failure to also catch the API request failure\n\t * you will need to throw a new error in the api.get.catch()\n\t *\n\t * e.g\n\t * api.requireAdmin().then((response) => {\n\t * api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {throw error;});\n\t * }).catch((error) => {requireAdmin OR API failure});\n\t *\n\t * @return {Promise}\n\t */\n\trequireAdmin() {\n\t\treturn confirmPassword()\n\t},\n\tget(url, options) {\n\t\treturn axios.get(sanitize(url), options)\n\t},\n\tpost(url, data, options) {\n\t\treturn axios.post(sanitize(url), data, options)\n\t},\n\tpatch(url, data) {\n\t\treturn axios.patch(sanitize(url), data)\n\t},\n\tput(url, data) {\n\t\treturn axios.put(sanitize(url), data)\n\t},\n\tdelete(url, data) {\n\t\treturn axios.delete(sanitize(url), { params: data })\n\t},\n}\n","/**\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getCanonicalLocale, getLanguage } from '@nextcloud/l10n';\nexport const naturalCollator = Intl.Collator([getLanguage(), getCanonicalLocale()], {\n numeric: true,\n usage: 'sort',\n});\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getBuilder } from '@nextcloud/browser-storage'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport { parseFileSize } from '@nextcloud/files'\nimport { showError } from '@nextcloud/dialogs'\nimport { generateOcsUrl, generateUrl } from '@nextcloud/router'\nimport { loadState } from '@nextcloud/initial-state'\nimport axios from '@nextcloud/axios'\n\nimport { GroupSorting } from '../constants/GroupManagement.ts'\nimport { naturalCollator } from '../utils/sorting.ts'\nimport api from './api.js'\nimport logger from '../logger.ts'\n\nconst usersSettings = loadState('settings', 'usersSettings', {})\n\nconst localStorage = getBuilder('settings').persist(true).build()\n\nconst defaults = {\n\t/**\n\t * @type {import('../views/user-types').IGroup}\n\t */\n\tgroup: {\n\t\tid: '',\n\t\tname: '',\n\t\tusercount: 0,\n\t\tdisabled: 0,\n\t\tcanAdd: true,\n\t\tcanRemove: true,\n\t},\n}\n\nconst state = {\n\tusers: [],\n\tgroups: [\n\t\t...(usersSettings.getSubAdminGroups ?? []),\n\t\t...(usersSettings.systemGroups ?? []),\n\t],\n\torderBy: usersSettings.sortGroups ?? GroupSorting.UserCount,\n\tminPasswordLength: 0,\n\tusersOffset: 0,\n\tusersLimit: 25,\n\tdisabledUsersOffset: 0,\n\tdisabledUsersLimit: 25,\n\tuserCount: usersSettings.userCount ?? 0,\n\tshowConfig: {\n\t\tshowStoragePath: localStorage.getItem('account_settings__showStoragePath') === 'true',\n\t\tshowUserBackend: localStorage.getItem('account_settings__showUserBackend') === 'true',\n\t\tshowFirstLogin: localStorage.getItem('account_settings__showFirstLogin') === 'true',\n\t\tshowLastLogin: localStorage.getItem('account_settings__showLastLogin') === 'true',\n\t\tshowNewUserForm: localStorage.getItem('account_settings__showNewUserForm') === 'true',\n\t\tshowLanguages: localStorage.getItem('account_settings__showLanguages') === 'true',\n\t},\n}\n\nconst mutations = {\n\tappendUsers(state, usersObj) {\n\t\tconst existingUsers = state.users.map(({ id }) => id)\n\t\tconst newUsers = Object.values(usersObj)\n\t\t\t.filter(({ id }) => !existingUsers.includes(id))\n\n\t\tconst users = state.users.concat(newUsers)\n\t\tstate.usersOffset += state.usersLimit\n\t\tstate.users = users\n\t},\n\tupdateDisabledUsers(state, _usersObj) {\n\t\tstate.disabledUsersOffset += state.disabledUsersLimit\n\t},\n\tsetPasswordPolicyMinLength(state, length) {\n\t\tstate.minPasswordLength = length !== '' ? length : 0\n\t},\n\t/**\n\t * @param {object} state store state\n\t * @param {import('../views/user-types.js').IGroup} newGroup new group\n\t */\n\taddGroup(state, newGroup) {\n\t\ttry {\n\t\t\tif (typeof state.groups.find((group) => group.id === newGroup.id) !== 'undefined') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// extend group to default values\n\t\t\tconst group = Object.assign({}, defaults.group, newGroup)\n\t\t\tstate.groups.unshift(group)\n\t\t} catch (e) {\n\t\t\tconsole.error('Can\\'t create group', e)\n\t\t}\n\t},\n\trenameGroup(state, { gid, displayName }) {\n\t\tconst groupIndex = state.groups.findIndex(groupSearch => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tconst updatedGroup = state.groups[groupIndex]\n\t\t\tupdatedGroup.name = displayName\n\t\t\tstate.groups.splice(groupIndex, 1, updatedGroup)\n\t\t}\n\t},\n\tremoveGroup(state, gid) {\n\t\tconst groupIndex = state.groups.findIndex(groupSearch => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tstate.groups.splice(groupIndex, 1)\n\t\t}\n\t},\n\taddUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// increase count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount++\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.push(gid)\n\t},\n\tremoveUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// lower count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount--\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t},\n\taddUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.push(gid)\n\t},\n\tremoveUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t},\n\tdeleteUser(state, userid) {\n\t\tconst userIndex = state.users.findIndex(user => user.id === userid)\n\t\tthis.commit('updateUserCounts', { user: state.users[userIndex], actionType: 'remove' })\n\t\tstate.users.splice(userIndex, 1)\n\t},\n\taddUserData(state, response) {\n\t\tconst user = response.data.ocs.data\n\t\tstate.users.unshift(user)\n\t\tthis.commit('updateUserCounts', { user, actionType: 'create' })\n\t},\n\tenableDisableUser(state, { userid, enabled }) {\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\tuser.enabled = enabled\n\t\tthis.commit('updateUserCounts', { user, actionType: enabled ? 'enable' : 'disable' })\n\t},\n\t// update active/disabled counts, groups counts\n\tupdateUserCounts(state, { user, actionType }) {\n\t\t// 0 is a special value\n\t\tif (state.userCount === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst recentGroup = state.groups.find(group => group.id === '__nc_internal_recent')\n\t\tconst disabledGroup = state.groups.find(group => group.id === 'disabled')\n\t\tswitch (actionType) {\n\t\tcase 'enable':\n\t\tcase 'disable':\n\t\t\tdisabledGroup.usercount += user.enabled ? -1 : 1 // update Disabled Users count\n\t\t\trecentGroup.usercount += user.enabled ? 1 : -1\n\t\t\tstate.userCount += user.enabled ? 1 : -1 // update Active Users count\n\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\tif (!group) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tgroup.disabled += user.enabled ? -1 : 1 // update group disabled count\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'create':\n\t\t\trecentGroup.usercount++\n\t\t\tstate.userCount++ // increment Active Users count\n\n\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\tif (!group) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tgroup.usercount++ // increment group total count\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'remove':\n\t\t\tif (user.enabled) {\n\t\t\t\trecentGroup.usercount--\n\t\t\t\tstate.userCount-- // decrement Active Users count\n\t\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t\tif (!group) {\n\t\t\t\t\t\tconsole.warn('User group ' + userGroup + ' does not exist during user removal')\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tgroup.usercount-- // decrement group total count\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tdisabledGroup.usercount-- // decrement Disabled Users count\n\t\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t\tif (!group) {\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tgroup.disabled-- // decrement group disabled count\n\t\t\t\t})\n\t\t\t}\n\t\t\tbreak\n\t\tdefault:\n\t\t\tlogger.error(`Unknown action type in updateUserCounts: '${actionType}'`)\n\t\t\t// not throwing error to interrupt execution as this is not fatal\n\t\t}\n\t},\n\tsetUserData(state, { userid, key, value }) {\n\t\tif (key === 'quota') {\n\t\t\tconst humanValue = parseFileSize(value, true)\n\t\t\tstate.users.find(user => user.id === userid)[key][key] = humanValue !== null ? humanValue : value\n\t\t} else {\n\t\t\tstate.users.find(user => user.id === userid)[key] = value\n\t\t}\n\t},\n\n\t/**\n\t * Reset users list\n\t *\n\t * @param {object} state the store state\n\t */\n\tresetUsers(state) {\n\t\tstate.users = []\n\t\tstate.usersOffset = 0\n\t\tstate.disabledUsersOffset = 0\n\t},\n\n\t/**\n\t * Reset group list\n\t *\n\t * @param {object} state the store state\n\t */\n\tresetGroups(state) {\n\t\tstate.groups = [\n\t\t\t...(usersSettings.getSubAdminGroups ?? []),\n\t\t\t...(usersSettings.systemGroups ?? []),\n\t\t]\n\t},\n\n\tsetShowConfig(state, { key, value }) {\n\t\tlocalStorage.setItem(`account_settings__${key}`, JSON.stringify(value))\n\t\tstate.showConfig[key] = value\n\t},\n\n\tsetGroupSorting(state, sorting) {\n\t\tconst oldValue = state.orderBy\n\t\tstate.orderBy = sorting\n\n\t\t// Persist the value on the server\n\t\taxios.post(\n\t\t\tgenerateUrl('/settings/users/preferences/group.sortBy'),\n\t\t\t{\n\t\t\t\tvalue: String(sorting),\n\t\t\t},\n\t\t).catch((error) => {\n\t\t\tstate.orderBy = oldValue\n\t\t\tshowError(t('settings', 'Could not set group sorting'))\n\t\t\tlogger.error(error)\n\t\t})\n\t},\n}\n\nconst getters = {\n\tgetUsers(state) {\n\t\treturn state.users\n\t},\n\tgetGroups(state) {\n\t\treturn state.groups\n\t},\n\tgetSubAdminGroups() {\n\t\treturn usersSettings.subAdminGroups ?? []\n\t},\n\n\tgetSortedGroups(state) {\n\t\tconst groups = [...state.groups]\n\t\tif (state.orderBy === GroupSorting.UserCount) {\n\t\t\treturn groups.sort((a, b) => {\n\t\t\t\tconst numA = a.usercount - a.disabled\n\t\t\t\tconst numB = b.usercount - b.disabled\n\t\t\t\treturn (numA < numB) ? 1 : (numB < numA ? -1 : naturalCollator.compare(a.name, b.name))\n\t\t\t})\n\t\t} else {\n\t\t\treturn groups.sort((a, b) => naturalCollator.compare(a.name, b.name))\n\t\t}\n\t},\n\tgetGroupSorting(state) {\n\t\treturn state.orderBy\n\t},\n\tgetPasswordPolicyMinLength(state) {\n\t\treturn state.minPasswordLength\n\t},\n\tgetUsersOffset(state) {\n\t\treturn state.usersOffset\n\t},\n\tgetUsersLimit(state) {\n\t\treturn state.usersLimit\n\t},\n\tgetDisabledUsersOffset(state) {\n\t\treturn state.disabledUsersOffset\n\t},\n\tgetDisabledUsersLimit(state) {\n\t\treturn state.disabledUsersLimit\n\t},\n\tgetUserCount(state) {\n\t\treturn state.userCount\n\t},\n\tgetShowConfig(state) {\n\t\treturn state.showConfig\n\t},\n}\n\nconst CancelToken = axios.CancelToken\nlet searchRequestCancelSource = null\n\nconst actions = {\n\n\t/**\n\t * search users\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @return {Promise}\n\t */\n\tsearchUsers(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search })).catch((error) => {\n\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t})\n\t},\n\n\t/**\n\t * Get user details\n\t *\n\t * @param {object} context store context\n\t * @param {string} userId user id\n\t * @return {Promise}\n\t */\n\tgetUser(context, userId) {\n\t\treturn api.get(generateOcsUrl(`cloud/users/${userId}`)).catch((error) => {\n\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t})\n\t},\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @param {string} options.group Get users from group\n\t * @return {Promise}\n\t */\n\tgetUsers(context, { offset, limit, search, group }) {\n\t\tif (searchRequestCancelSource) {\n\t\t\tsearchRequestCancelSource.cancel('Operation canceled by another search request.')\n\t\t}\n\t\tsearchRequestCancelSource = CancelToken.source()\n\t\tsearch = typeof search === 'string' ? search : ''\n\n\t\t/**\n\t\t * Adding filters in the search bar such as in:files, in:users, etc.\n\t\t * collides with this particular search, so we need to remove them\n\t\t * here and leave only the original search query\n\t\t */\n\t\tsearch = search.replace(/in:[^\\s]+/g, '').trim()\n\n\t\tgroup = typeof group === 'string' ? group : ''\n\t\tif (group !== '') {\n\t\t\treturn api.get(generateOcsUrl('cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}', { group: encodeURIComponent(group), offset, limit, search }), {\n\t\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t\t})\n\t\t\t\t.then((response) => {\n\t\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\t}\n\t\t\t\t\treturn usersCount\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t}\n\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }), {\n\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t})\n\t\t\t.then((response) => {\n\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t}\n\t\t\t\treturn usersCount\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t}\n\t\t\t})\n\t},\n\n\t/**\n\t * Get recent users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search query\n\t * @return {Promise}\n\t */\n\tasync getRecentUsers(context, { offset, limit, search }) {\n\t\tconst url = generateOcsUrl('cloud/users/recent?offset={offset}&limit={limit}&search={search}', { offset, limit, search })\n\t\ttry {\n\t\t\tconst response = await api.get(url)\n\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\tif (usersCount > 0) {\n\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t}\n\t\t\treturn usersCount\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', error)\n\t\t}\n\t},\n\n\t/**\n\t * Get disabled users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param options.search\n\t * @return {Promise}\n\t */\n\tasync getDisabledUsers(context, { offset, limit, search }) {\n\t\tconst url = generateOcsUrl('cloud/users/disabled?offset={offset}&limit={limit}&search={search}', { offset, limit, search })\n\t\ttry {\n\t\t\tconst response = await api.get(url)\n\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\tif (usersCount > 0) {\n\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\tcontext.commit('updateDisabledUsers', response.data.ocs.data.users)\n\t\t\t}\n\t\t\treturn usersCount\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', error)\n\t\t}\n\t},\n\n\tgetGroups(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\tconst limitParam = limit === -1 ? '' : `&limit=${limit}`\n\t\treturn api.get(generateOcsUrl('cloud/groups?offset={offset}&search={search}', { offset, search }) + limitParam)\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.groups).length > 0) {\n\t\t\t\t\tresponse.data.ocs.data.groups.forEach(function(group) {\n\t\t\t\t\t\tcontext.commit('addGroup', { id: group, name: group })\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search -\n\t * @return {Promise}\n\t */\n\tgetUsersFromList(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details from a groupid\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.groupid -\n\t * @return {Promise}\n\t */\n\tgetUsersFromGroup(context, { groupid, offset, limit }) {\n\t\treturn api.get(generateOcsUrl('cloud/users/{groupId}/details?offset={offset}&limit={limit}', { groupId: encodeURIComponent(groupid), offset, limit }))\n\t\t\t.then((response) => context.commit('getUsersFromList', response.data.ocs.data.users))\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tgetPasswordPolicyMinLength(context) {\n\t\tif (getCapabilities().password_policy && getCapabilities().password_policy.minLength) {\n\t\t\tcontext.commit('setPasswordPolicyMinLength', getCapabilities().password_policy.minLength)\n\t\t\treturn getCapabilities().password_policy.minLength\n\t\t}\n\t\treturn false\n\t},\n\n\t/**\n\t * Add group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\taddGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/groups'), { groupid: gid })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('addGroup', { id: gid, name: gid })\n\t\t\t\t\treturn { gid, displayName: gid }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { gid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from adding the user to a group that doesn't exists\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Rename group\n\t *\n\t * @param {object} context store context\n\t * @param {string} groupid Group id\n\t * @param {string} displayName Group display name\n\t * @return {Promise}\n\t */\n\trenameGroup(context, { groupid, displayName }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(groupid) }), { key: 'displayname', value: displayName })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('renameGroup', { gid: groupid, displayName })\n\t\t\t\t\treturn { groupid, displayName }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { groupid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from renaming the group\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Remove group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\tremoveGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(gid) }))\n\t\t\t\t.then((response) => context.commit('removeGroup', gid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { gid, error }))\n\t},\n\n\t/**\n\t * Add user to group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { userid, error })\n\t\t\t// let's throw one more time to prevent\n\t\t\t// the view from removing the user row on failure\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Add user to group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Mark all user devices for remote wipe\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tasync wipeUserDevices(context, userid) {\n\t\ttry {\n\t\t\tawait api.requireAdmin()\n\t\t\treturn await api.post(generateOcsUrl('cloud/users/{userid}/wipe', { userid }))\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', { userid, error })\n\t\t\treturn Promise.reject(new Error('Failed to wipe user devices'))\n\t\t}\n\t},\n\n\t/**\n\t * Delete a user\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tdeleteUser(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then((response) => context.commit('deleteUser', userid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Add a user\n\t *\n\t * @param {object} context store context\n\t * @param {Function} context.commit -\n\t * @param {Function} context.dispatch -\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.password User password\n\t * @param {string} options.displayName User display name\n\t * @param {string} options.email User email\n\t * @param {string} options.groups User groups\n\t * @param {string} options.subadmin User subadmin groups\n\t * @param {string} options.quota User email\n\t * @param {string} options.language User language\n\t * @param {string} options.manager User manager\n\t * @return {Promise}\n\t */\n\taddUser({ commit, dispatch }, { userid, password, displayName, email, groups, subadmin, quota, language, manager }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users'), { userid, password, displayName, email, groups, subadmin, quota, language, manager })\n\t\t\t\t.then((response) => dispatch('addUserData', userid || response.data.ocs.data.id))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcommit('API_FAILURE', { userid, error })\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Get user data and commit addition\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\taddUserData(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.get(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then((response) => context.commit('addUserData', response))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Enable or disable user\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {boolean} options.enabled User enablement status\n\t * @return {Promise}\n\t */\n\tenableDisableUser(context, { userid, enabled = true }) {\n\t\tconst userStatus = enabled ? 'enable' : 'disable'\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(generateOcsUrl('cloud/users/{userid}/{userStatus}', { userid, userStatus }))\n\t\t\t\t.then((response) => context.commit('enableDisableUser', { userid, enabled }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Edit user data\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.key User field to edit\n\t * @param {string} options.value Value of the change\n\t * @return {Promise}\n\t */\n\tasync setUserData(context, { userid, key, value }) {\n\t\tconst allowedEmpty = ['email', 'displayname', 'manager']\n\t\tconst validKeys = ['email', 'language', 'quota', 'displayname', 'password', 'manager']\n\n\t\tif (!validKeys.includes(key)) {\n\t\t\tthrow new Error('Invalid request data')\n\t\t}\n\n\t\t// If value is empty and the key doesn't allow empty values, throw error\n\t\tif (value === '' && !allowedEmpty.includes(key)) {\n\t\t\tthrow new Error('Value cannot be empty for this field')\n\t\t}\n\n\t\ttry {\n\t\t\tawait api.requireAdmin()\n\t\t\tawait api.put(generateOcsUrl('cloud/users/{userid}', { userid }), { key, value })\n\t\t\treturn context.commit('setUserData', { userid, key, value })\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', { userid, error })\n\t\t\tthrow error\n\t\t}\n\t},\n\n\t/**\n\t * Send welcome mail\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tsendWelcomeMail(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/welcome', { userid }))\n\t\t\t\t.then(response => true)\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport api from './api.js'\nimport Vue from 'vue'\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\nimport { showError, showInfo } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\nimport { PwdConfirmationMode } from '@nextcloud/password-confirmation'\n\nconst state = {\n\tapps: [],\n\tbundles: loadState('settings', 'appstoreBundles', []),\n\tcategories: [],\n\tupdateCount: loadState('settings', 'appstoreUpdateCount', 0),\n\tloading: {},\n\tgettingCategoriesPromise: null,\n\tappApiEnabled: loadState('settings', 'appApiEnabled', false),\n}\n\nconst mutations = {\n\n\tAPPS_API_FAILURE(state, error) {\n\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '
' + error.error.response.data.data.message, { isHTML: true })\n\t\tconsole.error(state, error)\n\t},\n\n\tinitCategories(state, { categories, updateCount }) {\n\t\tstate.categories = categories\n\t\tstate.updateCount = updateCount\n\t},\n\n\tupdateCategories(state, categoriesPromise) {\n\t\tstate.gettingCategoriesPromise = categoriesPromise\n\t},\n\n\tsetUpdateCount(state, updateCount) {\n\t\tstate.updateCount = updateCount\n\t},\n\n\taddCategory(state, category) {\n\t\tstate.categories.push(category)\n\t},\n\n\tappendCategories(state, categoriesArray) {\n\t\t// convert obj to array\n\t\tstate.categories = categoriesArray\n\t},\n\n\tsetAllApps(state, apps) {\n\t\tstate.apps = apps\n\t},\n\n\tsetError(state, { appId, error }) {\n\t\tif (!Array.isArray(appId)) {\n\t\t\tappId = [appId]\n\t\t}\n\t\tappId.forEach((_id) => {\n\t\t\tconst app = state.apps.find(app => app.id === _id)\n\t\t\tapp.error = error\n\t\t})\n\t},\n\n\tclearError(state, { appId, error }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.error = null\n\t},\n\n\tenableApp(state, { appId, groups }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = true\n\t\tVue.set(app, 'groups', [...groups])\n\t\tif (app.id === 'app_api') {\n\t\t\tstate.appApiEnabled = true\n\t\t}\n\t},\n\n\tsetInstallState(state, { appId, canInstall }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tif (app) {\n\t\t\tapp.canInstall = canInstall === true\n\t\t}\n\t},\n\n\tdisableApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = false\n\t\tapp.groups = []\n\t\tif (app.removable) {\n\t\t\tapp.canUnInstall = true\n\t\t}\n\t\tif (app.id === 'app_api') {\n\t\t\tstate.appApiEnabled = false\n\t\t}\n\t},\n\n\tuninstallApp(state, appId) {\n\t\tstate.apps.find(app => app.id === appId).active = false\n\t\tstate.apps.find(app => app.id === appId).groups = []\n\t\tstate.apps.find(app => app.id === appId).needsDownload = true\n\t\tstate.apps.find(app => app.id === appId).installed = false\n\t\tstate.apps.find(app => app.id === appId).canUnInstall = false\n\t\tstate.apps.find(app => app.id === appId).canInstall = true\n\t\tif (appId === 'app_api') {\n\t\t\tstate.appApiEnabled = false\n\t\t}\n\t},\n\n\tupdateApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tconst version = app.update\n\t\tapp.update = null\n\t\tapp.version = version\n\t\tstate.updateCount--\n\n\t},\n\n\tresetApps(state) {\n\t\tstate.apps = []\n\t},\n\treset(state) {\n\t\tstate.apps = []\n\t\tstate.categories = []\n\t\tstate.updateCount = 0\n\t},\n\tstartLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, true)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, true)\n\t\t}\n\t},\n\tstopLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, false)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, false)\n\t\t}\n\t},\n}\n\nconst getters = {\n\tisAppApiEnabled(state) {\n\t\treturn state.appApiEnabled\n\t},\n\tloading(state) {\n\t\treturn function(id) {\n\t\t\treturn state.loading[id]\n\t\t}\n\t},\n\tgetCategories(state) {\n\t\treturn state.categories\n\t},\n\tgetAllApps(state) {\n\t\treturn state.apps\n\t},\n\tgetAppBundles(state) {\n\t\treturn state.bundles\n\t},\n\tgetUpdateCount(state) {\n\t\treturn state.updateCount\n\t},\n\tgetCategoryById: (state) => (selectedCategoryId) => {\n\t\treturn state.categories.find((category) => category.id === selectedCategoryId)\n\t},\n}\n\nconst actions = {\n\n\tenableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\tcontext.commit('startLoading', apps)\n\t\tcontext.commit('startLoading', 'install')\n\n\t\tconst previousState = {}\n\t\tapps.forEach((_appId) => {\n\t\t\tconst app = context.state.apps.find((app) => app.id === _appId)\n\t\t\tif (app) {\n\t\t\t\tpreviousState[_appId] = {\n\t\t\t\t\tactive: app.active,\n\t\t\t\t\tgroups: [...(app.groups || [])],\n\t\t\t\t}\n\t\t\t\tcontext.commit('enableApp', { appId: _appId, groups })\n\t\t\t}\n\t\t})\n\n\t\treturn api.post(generateUrl('settings/apps/enable'), { appIds: apps, groups }, { confirmPassword: PwdConfirmationMode.Strict })\n\t\t\t.then((response) => {\n\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\tcontext.commit('stopLoading', 'install')\n\n\t\t\t\t// check for server health\n\t\t\t\treturn axios.get(generateUrl('apps/files/'))\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tif (response.data.update_required) {\n\t\t\t\t\t\t\tshowInfo(\n\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t'settings',\n\t\t\t\t\t\t\t\t\t'The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds.',\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tonClick: () => window.location.reload(),\n\t\t\t\t\t\t\t\t\tclose: false,\n\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\t\tlocation.reload()\n\t\t\t\t\t\t\t}, 5000)\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\tif (!Array.isArray(appId)) {\n\t\t\t\t\t\t\tshowError(t('settings', 'Error: This app cannot be enabled because it makes the server unstable'))\n\t\t\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\t\t\terror: t('settings', 'Error: This app cannot be enabled because it makes the server unstable'),\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\tcontext.dispatch('disableApp', { appId })\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\tcontext.commit('stopLoading', 'install')\n\n\t\t\t\tapps.forEach((_appId) => {\n\t\t\t\t\tif (previousState[_appId]) {\n\t\t\t\t\t\tcontext.commit('enableApp', {\n\t\t\t\t\t\t\tappId: _appId,\n\t\t\t\t\t\t\tgroups: previousState[_appId].groups,\n\t\t\t\t\t\t})\n\t\t\t\t\t\tif (!previousState[_appId].active) {\n\t\t\t\t\t\t\tcontext.commit('disableApp', _appId)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tconst message = error.response?.data?.data?.message\n\t\t\t\tif (message) {\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t}\n\t\t\t})\n\t},\n\tforceEnableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then(() => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.post(generateUrl('settings/apps/force'), { appId })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('setInstallState', { appId, canInstall: true })\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tdisableApp(context, { appId }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\treturn api.post(generateUrl('settings/apps/disable'), { appIds: apps })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('disableApp', _appId)\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tuninstallApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\treturn api.get(generateUrl(`settings/apps/uninstall/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('uninstallApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tupdateApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.get(generateUrl(`settings/apps/update/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('updateApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tgetAllApps(context) {\n\t\tcontext.commit('startLoading', 'list')\n\t\treturn api.get(generateUrl('settings/apps/list'))\n\t\t\t.then((response) => {\n\t\t\t\tcontext.commit('setAllApps', response.data.apps)\n\t\t\t\tcontext.commit('stopLoading', 'list')\n\t\t\t\treturn true\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tasync getCategories(context, { shouldRefetchCategories = false } = {}) {\n\t\tif (shouldRefetchCategories || !context.state.gettingCategoriesPromise) {\n\t\t\tcontext.commit('startLoading', 'categories')\n\t\t\ttry {\n\t\t\t\tconst categoriesPromise = api.get(generateUrl('settings/apps/categories'))\n\t\t\t\tcontext.commit('updateCategories', categoriesPromise)\n\t\t\t\tconst categoriesPromiseResponse = await categoriesPromise\n\t\t\t\tif (categoriesPromiseResponse.data.length > 0) {\n\t\t\t\t\tcontext.commit('appendCategories', categoriesPromiseResponse.data)\n\t\t\t\t\tcontext.commit('stopLoading', 'categories')\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\tcontext.commit('stopLoading', 'categories')\n\t\t\t\treturn false\n\t\t\t} catch (error) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t}\n\t\treturn context.state.gettingCategoriesPromise\n\t},\n\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { loadState } from '@nextcloud/initial-state'\n\nconst state = {\n\tserverData: loadState('settings', 'usersSettings', {}),\n}\nconst mutations = {\n\tsetServerData(state, data) {\n\t\tstate.serverData = data\n\t},\n}\nconst getters = {\n\tgetServerData(state) {\n\t\treturn state.serverData\n\t},\n}\nconst actions = {}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport api from './api.js'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nconst state = {}\nconst mutations = {}\nconst getters = {}\nconst actions = {\n\t/**\n\t * Set application config in database\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.app Application name\n\t * @param {boolean} options.key Config key\n\t * @param {boolean} options.value Value to set\n\t * @return {Promise}\n\t */\n\tsetAppConfig(context, { app, key, value }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('apps/provisioning_api/api/v1/config/apps/{app}/{key}', { app, key }), { value })\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { app, key, value, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { Store } from 'vuex'\nimport users from './users.js'\nimport apps from './apps.js'\nimport settings from './users-settings.js'\nimport oc from './oc.js'\nimport { showError } from '@nextcloud/dialogs'\n\nconst debug = process.env.NODE_ENV !== 'production'\n\nconst mutations = {\n\tAPI_FAILURE(state, error) {\n\t\ttry {\n\t\t\tconst message = error.error.response.data.ocs.meta.message\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '
' + message, { isHTML: true })\n\t\t} catch (e) {\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.'))\n\t\t}\n\t\tconsole.error(state, error)\n\t},\n}\n\nlet store = null\n\nexport const useStore = () => {\n\tif (store === null) {\n\t\tstore = new Store({\n\t\t\tmodules: {\n\t\t\t\tusers,\n\t\t\t\tapps,\n\t\t\t\tsettings,\n\t\t\t\toc,\n\t\t\t},\n\t\t\tstrict: debug,\n\t\t\tmutations,\n\t\t})\n\t}\n\treturn store\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * https://github.com/nextcloud/server/blob/208e38e84e1a07a49699aa90dc5b7272d24489f0/lib/private/Group/MetaData.php#L34\n */\nexport var GroupSorting;\n(function (GroupSorting) {\n GroupSorting[GroupSorting[\"UserCount\"] = 1] = \"UserCount\";\n GroupSorting[GroupSorting[\"GroupName\"] = 2] = \"GroupName\";\n})(GroupSorting || (GroupSorting = {}));\n","/**\n * SPDX-FileCopyrightText: 2020 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('settings')\n .detectUser()\n .build();\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcContent,{attrs:{\"app-name\":\"settings\"}},[_c('router-view',{attrs:{\"name\":\"navigation\"}}),_vm._v(\" \"),_c('router-view'),_vm._v(\" \"),_c('router-view',{attrs:{\"name\":\"sidebar\"}})],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!./SettingsApp.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!./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./SettingsApp.vue?vue&type=template&id=288003b1\"\nimport script from \"./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SettingsApp.vue?vue&type=script&setup=true&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 { loadState } from '@nextcloud/initial-state';\nconst appstoreEnabled = loadState('settings', 'appstoreEnabled', true);\n// Dynamic loading\nconst AppStore = () => import(/* webpackChunkName: 'settings-apps-view' */ '../views/AppStore.vue');\nconst AppStoreNavigation = () => import(/* webpackChunkName: 'settings-apps-view' */ '../views/AppStoreNavigation.vue');\nconst AppStoreSidebar = () => import(/* webpackChunkName: 'settings-apps-view' */ '../views/AppStoreSidebar.vue');\nconst UserManagement = () => import(/* webpackChunkName: 'settings-users' */ '../views/UserManagement.vue');\nconst UserManagementNavigation = () => import(/* webpackChunkName: 'settings-users' */ '../views/UserManagementNavigation.vue');\nconst routes = [\n {\n name: 'users',\n path: '/:index(index.php/)?settings/users',\n components: {\n default: UserManagement,\n navigation: UserManagementNavigation,\n },\n props: true,\n children: [\n {\n path: ':selectedGroup',\n name: 'group',\n },\n ],\n },\n {\n path: '/:index(index.php/)?settings/apps',\n name: 'apps',\n redirect: {\n name: 'apps-category',\n params: {\n category: appstoreEnabled ? 'discover' : 'installed',\n },\n },\n components: {\n default: AppStore,\n navigation: AppStoreNavigation,\n sidebar: AppStoreSidebar,\n },\n children: [\n {\n path: ':category',\n name: 'apps-category',\n children: [\n {\n path: ':id',\n name: 'apps-details',\n },\n ],\n },\n ],\n },\n];\nexport default routes;\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport Vue from 'vue';\nimport Router from 'vue-router';\nimport { generateUrl } from '@nextcloud/router';\nimport routes from './routes.ts';\nVue.use(Router);\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(''),\n linkActiveClass: 'active',\n routes,\n});\nexport default router;\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport axios from '@nextcloud/axios';\nimport { addPasswordConfirmationInterceptors } from '@nextcloud/password-confirmation';\nimport Vue from 'vue';\nimport Vuex from 'vuex';\nimport VTooltipPlugin from 'v-tooltip';\nimport { sync } from 'vuex-router-sync';\nimport { t, n } from '@nextcloud/l10n';\nimport SettingsApp from './views/SettingsApp.vue';\nimport router from './router/index.ts';\nimport { useStore } from './store/index.js';\nimport { getCSPNonce } from '@nextcloud/auth';\nimport { PiniaVuePlugin, createPinia } from 'pinia';\naddPasswordConfirmationInterceptors(axios);\n// CSP config for webpack dynamic chunk loading\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = getCSPNonce();\n// bind to window\nVue.prototype.t = t;\nVue.prototype.n = n;\nVue.use(PiniaVuePlugin);\nVue.use(VTooltipPlugin, { defaultHtml: false });\nVue.use(Vuex);\nconst store = useStore();\nsync(store, router);\nconst pinia = createPinia();\nexport default new Vue({\n router,\n store,\n pinia,\n render: h => h(SettingsApp),\n el: '#content',\n});\n","exports.sync = function (store, router, options) {\n var moduleName = (options || {}).moduleName || 'route'\n\n store.registerModule(moduleName, {\n namespaced: true,\n state: cloneRoute(router.currentRoute),\n mutations: {\n 'ROUTE_CHANGED': function ROUTE_CHANGED (state, transition) {\n store.state[moduleName] = cloneRoute(transition.to, transition.from)\n }\n }\n })\n\n var isTimeTraveling = false\n var currentPath\n\n // sync router on store change\n var storeUnwatch = store.watch(\n function (state) { return state[moduleName]; },\n function (route) {\n var fullPath = route.fullPath;\n if (fullPath === currentPath) {\n return\n }\n if (currentPath != null) {\n isTimeTraveling = true\n router.push(route)\n }\n currentPath = fullPath\n },\n { sync: true }\n )\n\n // sync store on router navigation\n var afterEachUnHook = router.afterEach(function (to, from) {\n if (isTimeTraveling) {\n isTimeTraveling = false\n return\n }\n currentPath = to.fullPath\n store.commit(moduleName + '/ROUTE_CHANGED', { to: to, from: from })\n })\n\n return function unsync () {\n // On unsync, remove router hook\n if (afterEachUnHook != null) {\n afterEachUnHook()\n }\n\n // On unsync, remove store watch\n if (storeUnwatch != null) {\n storeUnwatch()\n }\n\n // On unsync, unregister Module with store\n store.unregisterModule(moduleName)\n }\n}\n\nfunction cloneRoute (to, from) {\n var clone = {\n name: to.name,\n path: to.path,\n hash: to.hash,\n query: to.query,\n params: to.params,\n fullPath: to.fullPath,\n meta: to.meta\n }\n if (from) {\n clone.from = cloneRoute(from)\n }\n return Object.freeze(clone)\n}\n\n","import { o as logger, F as FileType } from \"./chunks/dav-Rt1kTtvI.mjs\";\nimport { q, s, N, t, P, c, l, m, n, a, g, p, b, r, d, h, f, k, j, e, i } from \"./chunks/dav-Rt1kTtvI.mjs\";\nimport { TypedEventTarget } from \"typescript-event-target\";\nimport require$$1 from \"string_decoder\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { extname, basename } from \"@nextcloud/paths\";\nimport { getCanonicalLocale, getLanguage } from \"@nextcloud/l10n\";\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 hotkey() {\n return this._action.hotkey;\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 destructive() {\n return this._action.destructive;\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 (action.destructive !== void 0 && typeof action.destructive !== \"boolean\") {\n throw new Error(\"Invalid destructive flag\");\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 if (\"hotkey\" in action && action.hotkey !== void 0) {\n if (typeof action.hotkey !== \"object\") {\n throw new Error(\"Invalid hotkey configuration\");\n }\n if (typeof action.hotkey.key !== \"string\" || !action.hotkey.key) {\n throw new Error(\"Missing or invalid hotkey key\");\n }\n if (typeof action.hotkey.description !== \"string\" || !action.hotkey.description) {\n throw new Error(\"Missing or invalid hotkey description\");\n }\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 FileListAction {\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 iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get order() {\n return this._action.order;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\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 (\"iconSvgInline\" in action && typeof action.iconSvgInline !== \"function\") {\n throw new Error(\"Invalid iconSvgInline function\");\n }\n if (\"order\" in action && typeof action.order !== \"number\") {\n throw new Error(\"Invalid order\");\n }\n if (\"enabled\" in action && typeof action.enabled !== \"function\") {\n throw new Error(\"Invalid enabled function\");\n }\n if (!action.exec || typeof action.exec !== \"function\") {\n throw new Error(\"Invalid exec function\");\n }\n }\n}\nconst registerFileListAction = (action) => {\n if (typeof window._nc_filelistactions === \"undefined\") {\n window._nc_filelistactions = [];\n }\n if (window._nc_filelistactions.find((listAction) => listAction.id === action.id)) {\n logger.error(`FileListAction with id \"${action.id}\" is already registered`, { action });\n return;\n }\n window._nc_filelistactions.push(action);\n};\nconst getFileListActions = () => {\n if (typeof window._nc_filelistactions === \"undefined\") {\n window._nc_filelistactions = [];\n }\n return window._nc_filelistactions;\n};\nfunction getDefaultExportFromCjs(x) {\n return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, \"default\") ? x[\"default\"] : x;\n}\nvar debug_1;\nvar hasRequiredDebug;\nfunction requireDebug() {\n if (hasRequiredDebug) return debug_1;\n hasRequiredDebug = 1;\n const debug = typeof process === \"object\" && process.env && process.env.NODE_DEBUG && /\\bsemver\\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error(\"SEMVER\", ...args) : () => {\n };\n debug_1 = debug;\n return debug_1;\n}\nvar constants;\nvar hasRequiredConstants;\nfunction requireConstants() {\n if (hasRequiredConstants) return constants;\n hasRequiredConstants = 1;\n const SEMVER_SPEC_VERSION = \"2.0.0\";\n const MAX_LENGTH = 256;\n const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */\n 9007199254740991;\n const MAX_SAFE_COMPONENT_LENGTH = 16;\n const MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;\n const RELEASE_TYPES = [\n \"major\",\n \"premajor\",\n \"minor\",\n \"preminor\",\n \"patch\",\n \"prepatch\",\n \"prerelease\"\n ];\n constants = {\n MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 1,\n FLAG_LOOSE: 2\n };\n return constants;\n}\nvar re = { exports: {} };\nvar hasRequiredRe;\nfunction requireRe() {\n if (hasRequiredRe) return re.exports;\n hasRequiredRe = 1;\n (function(module, exports) {\n const {\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_LENGTH\n } = requireConstants();\n const debug = requireDebug();\n exports = module.exports = {};\n const re2 = exports.re = [];\n const safeRe = exports.safeRe = [];\n const src = exports.src = [];\n const safeSrc = exports.safeSrc = [];\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_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]\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 debug(name, index, value);\n t2[name] = index;\n src[index] = value;\n safeSrc[index] = safe;\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.NONNUMERICIDENTIFIER]}|${src[t2.NUMERICIDENTIFIER]})`);\n createToken(\"PRERELEASEIDENTIFIERLOOSE\", `(?:${src[t2.NONNUMERICIDENTIFIER]}|${src[t2.NUMERICIDENTIFIERLOOSE]})`);\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_LENGTH}})(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);\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, re.exports);\n return re.exports;\n}\nvar parseOptions_1;\nvar hasRequiredParseOptions;\nfunction requireParseOptions() {\n if (hasRequiredParseOptions) return parseOptions_1;\n hasRequiredParseOptions = 1;\n const looseOption = Object.freeze({ loose: true });\n const emptyOpts = Object.freeze({});\n const parseOptions = (options) => {\n if (!options) {\n return emptyOpts;\n }\n if (typeof options !== \"object\") {\n return looseOption;\n }\n return options;\n };\n parseOptions_1 = parseOptions;\n return parseOptions_1;\n}\nvar identifiers;\nvar hasRequiredIdentifiers;\nfunction requireIdentifiers() {\n if (hasRequiredIdentifiers) return identifiers;\n hasRequiredIdentifiers = 1;\n const numeric = /^[0-9]+$/;\n const compareIdentifiers = (a2, b2) => {\n if (typeof a2 === \"number\" && typeof b2 === \"number\") {\n return a2 === b2 ? 0 : a2 < b2 ? -1 : 1;\n }\n const anum = numeric.test(a2);\n const bnum = numeric.test(b2);\n if (anum && bnum) {\n a2 = +a2;\n b2 = +b2;\n }\n return a2 === b2 ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a2 < b2 ? -1 : 1;\n };\n const rcompareIdentifiers = (a2, b2) => compareIdentifiers(b2, a2);\n identifiers = {\n compareIdentifiers,\n rcompareIdentifiers\n };\n return identifiers;\n}\nvar semver;\nvar hasRequiredSemver;\nfunction requireSemver() {\n if (hasRequiredSemver) return semver;\n hasRequiredSemver = 1;\n const debug = requireDebug();\n const { MAX_LENGTH, MAX_SAFE_INTEGER } = requireConstants();\n const { safeRe: re2, t: t2 } = requireRe();\n const parseOptions = requireParseOptions();\n const { compareIdentifiers } = requireIdentifiers();\n 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 m2 = version.trim().match(options.loose ? re2[t2.LOOSE] : re2[t2.FULL]);\n if (!m2) {\n throw new TypeError(`Invalid Version: ${version}`);\n }\n this.raw = version;\n this.major = +m2[1];\n this.minor = +m2[2];\n this.patch = +m2[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 (!m2[4]) {\n this.prerelease = [];\n } else {\n this.prerelease = m2[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 = m2[5] ? m2[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 if (this.major < other.major) {\n return -1;\n }\n if (this.major > other.major) {\n return 1;\n }\n if (this.minor < other.minor) {\n return -1;\n }\n if (this.minor > other.minor) {\n return 1;\n }\n if (this.patch < other.patch) {\n return -1;\n }\n if (this.patch > other.patch) {\n return 1;\n }\n return 0;\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 i2 = 0;\n do {\n const a2 = this.prerelease[i2];\n const b2 = other.prerelease[i2];\n debug(\"prerelease compare\", i2, a2, b2);\n if (a2 === void 0 && b2 === void 0) {\n return 0;\n } else if (b2 === void 0) {\n return 1;\n } else if (a2 === void 0) {\n return -1;\n } else if (a2 === b2) {\n continue;\n } else {\n return compareIdentifiers(a2, b2);\n }\n } while (++i2);\n }\n compareBuild(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n let i2 = 0;\n do {\n const a2 = this.build[i2];\n const b2 = other.build[i2];\n debug(\"build compare\", i2, a2, b2);\n if (a2 === void 0 && b2 === void 0) {\n return 0;\n } else if (b2 === void 0) {\n return 1;\n } else if (a2 === void 0) {\n return -1;\n } else if (a2 === b2) {\n continue;\n } else {\n return compareIdentifiers(a2, b2);\n }\n } while (++i2);\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 if (release.startsWith(\"pre\")) {\n if (!identifier && identifierBase === false) {\n throw new Error(\"invalid increment argument: identifier is empty\");\n }\n if (identifier) {\n const match = `-${identifier}`.match(this.options.loose ? re2[t2.PRERELEASELOOSE] : re2[t2.PRERELEASE]);\n if (!match || match[1] !== identifier) {\n throw new Error(`invalid identifier: ${identifier}`);\n }\n }\n }\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 // If the input is a non-prerelease version, this acts the same as\n // prepatch.\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 \"release\":\n if (this.prerelease.length === 0) {\n throw new Error(`version ${this.raw} is not a prerelease`);\n }\n this.prerelease.length = 0;\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 // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case \"pre\": {\n const base = Number(identifierBase) ? 1 : 0;\n if (this.prerelease.length === 0) {\n this.prerelease = [base];\n } else {\n let i2 = this.prerelease.length;\n while (--i2 >= 0) {\n if (typeof this.prerelease[i2] === \"number\") {\n this.prerelease[i2]++;\n i2 = -2;\n }\n }\n if (i2 === -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 }\n semver = SemVer;\n return semver;\n}\nvar major_1;\nvar hasRequiredMajor;\nfunction requireMajor() {\n if (hasRequiredMajor) return major_1;\n hasRequiredMajor = 1;\n const SemVer = requireSemver();\n const major2 = (a2, loose) => new SemVer(a2, loose).major;\n major_1 = major2;\n return major_1;\n}\nvar majorExports = requireMajor();\nconst major = /* @__PURE__ */ getDefaultExportFromCjs(majorExports);\nvar parse_1;\nvar hasRequiredParse;\nfunction requireParse() {\n if (hasRequiredParse) return parse_1;\n hasRequiredParse = 1;\n const SemVer = requireSemver();\n const parse = (version, options, throwErrors = false) => {\n if (version instanceof SemVer) {\n return version;\n }\n try {\n return new SemVer(version, options);\n } catch (er) {\n if (!throwErrors) {\n return null;\n }\n throw er;\n }\n };\n parse_1 = parse;\n return parse_1;\n}\nvar valid_1;\nvar hasRequiredValid;\nfunction requireValid() {\n if (hasRequiredValid) return valid_1;\n hasRequiredValid = 1;\n const parse = requireParse();\n const valid2 = (version, options) => {\n const v = parse(version, options);\n return v ? v.version : null;\n };\n valid_1 = valid2;\n return valid_1;\n}\nvar validExports = requireValid();\nconst valid = /* @__PURE__ */ getDefaultExportFromCjs(validExports);\n/*!\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nclass ProxyBus {\n bus;\n constructor(bus2) {\n if (typeof bus2.getVersion !== \"function\" || !valid(bus2.getVersion())) {\n console.warn(\"Proxying an event bus with an unknown or invalid version\");\n } else if (major(bus2.getVersion()) !== major(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.3\";\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}\n/*!\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\n */\nclass SimpleBus {\n handlers = /* @__PURE__ */ new Map();\n getVersion() {\n return \"3.3.3\";\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((h2) => h2 !== handler)\n );\n }\n emit(name, ...event) {\n const handlers = this.handlers.get(name) || [];\n handlers.forEach((h2) => {\n try {\n ;\n h2(event[0]);\n } catch (e2) {\n console.error(\"could not invoke event listener\", e2);\n }\n });\n }\n}\n/*!\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: GPL-3.0-or-later\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}\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};\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};\nvar sax$1 = {};\nvar hasRequiredSax;\nfunction requireSax() {\n if (hasRequiredSax) return sax$1;\n hasRequiredSax = 1;\n (function(exports) {\n (function(sax2) {\n sax2.parser = function(strict, opt) {\n return new SAXParser(strict, opt);\n };\n sax2.SAXParser = SAXParser;\n sax2.SAXStream = SAXStream;\n sax2.createStream = createStream;\n sax2.MAX_BUFFER_LENGTH = 64 * 1024;\n var buffers = [\n \"comment\",\n \"sgmlDecl\",\n \"textNode\",\n \"tagName\",\n \"doctype\",\n \"procInstName\",\n \"procInstBody\",\n \"entity\",\n \"attribName\",\n \"attribValue\",\n \"cdata\",\n \"script\"\n ];\n sax2.EVENTS = [\n \"text\",\n \"processinginstruction\",\n \"sgmldeclaration\",\n \"doctype\",\n \"comment\",\n \"opentagstart\",\n \"attribute\",\n \"opentag\",\n \"closetag\",\n \"opencdata\",\n \"cdata\",\n \"closecdata\",\n \"error\",\n \"end\",\n \"ready\",\n \"script\",\n \"opennamespace\",\n \"closenamespace\"\n ];\n function SAXParser(strict, opt) {\n if (!(this instanceof SAXParser)) {\n return new SAXParser(strict, opt);\n }\n var parser = this;\n clearBuffers(parser);\n parser.q = parser.c = \"\";\n parser.bufferCheckPosition = sax2.MAX_BUFFER_LENGTH;\n parser.opt = opt || {};\n parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags;\n parser.looseCase = parser.opt.lowercase ? \"toLowerCase\" : \"toUpperCase\";\n parser.tags = [];\n parser.closed = parser.closedRoot = parser.sawRoot = false;\n parser.tag = parser.error = null;\n parser.strict = !!strict;\n parser.noscript = !!(strict || parser.opt.noscript);\n parser.state = S.BEGIN;\n parser.strictEntities = parser.opt.strictEntities;\n parser.ENTITIES = parser.strictEntities ? Object.create(sax2.XML_ENTITIES) : Object.create(sax2.ENTITIES);\n parser.attribList = [];\n if (parser.opt.xmlns) {\n parser.ns = Object.create(rootNS);\n }\n if (parser.opt.unquotedAttributeValues === void 0) {\n parser.opt.unquotedAttributeValues = !strict;\n }\n parser.trackPosition = parser.opt.position !== false;\n if (parser.trackPosition) {\n parser.position = parser.line = parser.column = 0;\n }\n emit2(parser, \"onready\");\n }\n if (!Object.create) {\n Object.create = function(o) {\n function F() {\n }\n F.prototype = o;\n var newf = new F();\n return newf;\n };\n }\n if (!Object.keys) {\n Object.keys = function(o) {\n var a2 = [];\n for (var i2 in o) if (o.hasOwnProperty(i2)) a2.push(i2);\n return a2;\n };\n }\n function checkBufferLength(parser) {\n var maxAllowed = Math.max(sax2.MAX_BUFFER_LENGTH, 10);\n var maxActual = 0;\n for (var i2 = 0, l2 = buffers.length; i2 < l2; i2++) {\n var len = parser[buffers[i2]].length;\n if (len > maxAllowed) {\n switch (buffers[i2]) {\n case \"textNode\":\n closeText(parser);\n break;\n case \"cdata\":\n emitNode(parser, \"oncdata\", parser.cdata);\n parser.cdata = \"\";\n break;\n case \"script\":\n emitNode(parser, \"onscript\", parser.script);\n parser.script = \"\";\n break;\n default:\n error(parser, \"Max buffer length exceeded: \" + buffers[i2]);\n }\n }\n maxActual = Math.max(maxActual, len);\n }\n var m2 = sax2.MAX_BUFFER_LENGTH - maxActual;\n parser.bufferCheckPosition = m2 + parser.position;\n }\n function clearBuffers(parser) {\n for (var i2 = 0, l2 = buffers.length; i2 < l2; i2++) {\n parser[buffers[i2]] = \"\";\n }\n }\n function flushBuffers(parser) {\n closeText(parser);\n if (parser.cdata !== \"\") {\n emitNode(parser, \"oncdata\", parser.cdata);\n parser.cdata = \"\";\n }\n if (parser.script !== \"\") {\n emitNode(parser, \"onscript\", parser.script);\n parser.script = \"\";\n }\n }\n SAXParser.prototype = {\n end: function() {\n end(this);\n },\n write,\n resume: function() {\n this.error = null;\n return this;\n },\n close: function() {\n return this.write(null);\n },\n flush: function() {\n flushBuffers(this);\n }\n };\n var Stream;\n try {\n Stream = require(\"stream\").Stream;\n } catch (ex) {\n Stream = function() {\n };\n }\n if (!Stream) Stream = function() {\n };\n var streamWraps = sax2.EVENTS.filter(function(ev) {\n return ev !== \"error\" && ev !== \"end\";\n });\n function createStream(strict, opt) {\n return new SAXStream(strict, opt);\n }\n function SAXStream(strict, opt) {\n if (!(this instanceof SAXStream)) {\n return new SAXStream(strict, opt);\n }\n Stream.apply(this);\n this._parser = new SAXParser(strict, opt);\n this.writable = true;\n this.readable = true;\n var me = this;\n this._parser.onend = function() {\n me.emit(\"end\");\n };\n this._parser.onerror = function(er) {\n me.emit(\"error\", er);\n me._parser.error = null;\n };\n this._decoder = null;\n streamWraps.forEach(function(ev) {\n Object.defineProperty(me, \"on\" + ev, {\n get: function() {\n return me._parser[\"on\" + ev];\n },\n set: function(h2) {\n if (!h2) {\n me.removeAllListeners(ev);\n me._parser[\"on\" + ev] = h2;\n return h2;\n }\n me.on(ev, h2);\n },\n enumerable: true,\n configurable: false\n });\n });\n }\n SAXStream.prototype = Object.create(Stream.prototype, {\n constructor: {\n value: SAXStream\n }\n });\n SAXStream.prototype.write = function(data) {\n if (typeof Buffer === \"function\" && typeof Buffer.isBuffer === \"function\" && Buffer.isBuffer(data)) {\n if (!this._decoder) {\n var SD = require$$1.StringDecoder;\n this._decoder = new SD(\"utf8\");\n }\n data = this._decoder.write(data);\n }\n this._parser.write(data.toString());\n this.emit(\"data\", data);\n return true;\n };\n SAXStream.prototype.end = function(chunk) {\n if (chunk && chunk.length) {\n this.write(chunk);\n }\n this._parser.end();\n return true;\n };\n SAXStream.prototype.on = function(ev, handler) {\n var me = this;\n if (!me._parser[\"on\" + ev] && streamWraps.indexOf(ev) !== -1) {\n me._parser[\"on\" + ev] = function() {\n var args = arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments);\n args.splice(0, 0, ev);\n me.emit.apply(me, args);\n };\n }\n return Stream.prototype.on.call(me, ev, handler);\n };\n var CDATA = \"[CDATA[\";\n var DOCTYPE = \"DOCTYPE\";\n var XML_NAMESPACE = \"http://www.w3.org/XML/1998/namespace\";\n var XMLNS_NAMESPACE = \"http://www.w3.org/2000/xmlns/\";\n var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE };\n var nameStart = /[:_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 var nameBody = /[:_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\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/;\n var entityStart = /[#:_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 var entityBody = /[#:_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\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/;\n function isWhitespace(c2) {\n return c2 === \" \" || c2 === \"\\n\" || c2 === \"\\r\" || c2 === \"\t\";\n }\n function isQuote(c2) {\n return c2 === '\"' || c2 === \"'\";\n }\n function isAttribEnd(c2) {\n return c2 === \">\" || isWhitespace(c2);\n }\n function isMatch(regex, c2) {\n return regex.test(c2);\n }\n function notMatch(regex, c2) {\n return !isMatch(regex, c2);\n }\n var S = 0;\n sax2.STATE = {\n BEGIN: S++,\n // leading byte order mark or whitespace\n BEGIN_WHITESPACE: S++,\n // leading whitespace\n TEXT: S++,\n // general stuff\n TEXT_ENTITY: S++,\n // & and such.\n OPEN_WAKA: S++,\n // <\n SGML_DECL: S++,\n // \n SCRIPT: S++,\n //