{"version":3,"file":"settings-apps-view-7418.js?v=43c3865d535381f4e961","mappings":"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","sources":["webpack:///nextcloud/apps/settings/src/components/AppDetails.vue?vue&type=style&index=0&id=5be7cbf9&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/AppList.vue?vue&type=style&index=0&id=62f0f115&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue?vue&type=style&index=0&id=79bd4dc4&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/Markdown.vue?vue&type=style&index=0&id=ffd9a2d6&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/views/Apps.vue?vue&type=style&index=0&id=4e6c328e&prod&lang=scss&scoped=true","webpack://nextcloud/./apps/settings/src/views/Apps.vue?8e68","webpack:///nextcloud/node_modules/vue-material-design-icons/StarShooting.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/StarShooting.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/StarShooting.vue?ea51","webpack:///nextcloud/node_modules/vue-material-design-icons/StarShooting.vue?vue&type=template&id=2796c6f2","webpack://nextcloud/./apps/settings/src/components/AppList.vue?ee21","webpack:///nextcloud/apps/settings/src/components/AppList/AppScore.vue","webpack:///nextcloud/apps/settings/src/components/AppList/AppScore.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/AppList/AppScore.vue?26fd","webpack://nextcloud/./apps/settings/src/components/AppList/AppScore.vue?1c98","webpack:///nextcloud/apps/settings/src/service/rebuild-navigation.js","webpack:///nextcloud/apps/settings/src/mixins/AppManagement.js","webpack:///nextcloud/apps/settings/src/components/SvgFilterMixin.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/settings/src/components/SvgFilterMixin.vue","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?829c","webpack://nextcloud/./apps/settings/src/components/AppList/AppItem.vue?a9a1","webpack://nextcloud/./apps/settings/src/components/AppList/AppItem.vue?af1e","webpack://nextcloud/./apps/settings/src/components/PrefixMixin.vue?c564","webpack:///nextcloud/apps/settings/src/components/PrefixMixin.vue","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?9a5a","webpack://nextcloud/./apps/settings/src/components/AppList.vue?8acf","webpack://nextcloud/./apps/settings/src/components/AppDetails.vue?7e45","webpack:///nextcloud/node_modules/marked/lib/marked.esm.js","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?8506","webpack://nextcloud/./apps/settings/src/components/Markdown.vue?26cf","webpack://nextcloud/./apps/settings/src/components/Markdown.vue?d299","webpack:///nextcloud/apps/settings/src/components/AppDetails.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/settings/src/components/AppDetails.vue","webpack://nextcloud/./apps/settings/src/components/AppDetails.vue?db88","webpack://nextcloud/./apps/settings/src/components/AppDetails.vue?2807","webpack:///nextcloud/apps/settings/src/views/Apps.vue","webpack:///nextcloud/apps/settings/src/views/Apps.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/views/Apps.vue?2b10","webpack://nextcloud/./apps/settings/src/views/Apps.vue?7b97","webpack:///nextcloud/node_modules/vue-localstorage/dist/vue-local-storage.js"],"sourcesContent":["// 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-5be7cbf9]{padding:20px}.app-details__actions-manage[data-v-5be7cbf9]{display:flex}.app-details__actions-manage input[data-v-5be7cbf9]{flex:0 1 auto;min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-details__dependencies[data-v-5be7cbf9]{opacity:.7}.app-details__documentation[data-v-5be7cbf9]{padding-top:20px}.app-details__documentation a.appslink[data-v-5be7cbf9]{display:block}.app-details__description[data-v-5be7cbf9]{padding-top:20px}.force[data-v-5be7cbf9]{color:var(--color-error);border-color:var(--color-error);background:var(--color-main-background)}.force[data-v-5be7cbf9]:hover,.force[data-v-5be7cbf9]:active{color:var(--color-main-background);border-color:var(--color-error) !important;background:var(--color-error)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppDetails.vue\"],\"names\":[],\"mappings\":\"AACA,8BACC,YAAA,CAIC,8CAEC,YAAA,CACA,oDACC,aAAA,CACA,WAAA,CACA,sBAAA,CACA,kBAAA,CACA,eAAA,CAIH,4CACC,UAAA,CAED,6CACC,gBAAA,CACA,wDACC,aAAA,CAGF,2CACC,gBAAA,CAIF,wBACC,wBAAA,CACA,+BAAA,CACA,uCAAA,CAED,6DAEC,kCAAA,CACA,0CAAA,CACA,6BAAA\",\"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\\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&__dependencies {\\n\\t\\topacity: .7;\\n\\t}\\n\\t&__documentation {\\n\\t\\tpadding-top: 20px;\\n\\t\\ta.appslink {\\n\\t\\t\\tdisplay: block;\\n\\t\\t}\\n\\t}\\n\\t&__description {\\n\\t\\tpadding-top: 20px;\\n\\t}\\n}\\n\\n.force {\\n\\tcolor: var(--color-error);\\n\\tborder-color: var(--color-error);\\n\\tbackground: var(--color-main-background);\\n}\\n.force:hover,\\n.force:active {\\n\\tcolor: var(--color-main-background);\\n\\tborder-color: var(--color-error) !important;\\n\\tbackground: var(--color-error);\\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-bundle-heading[data-v-62f0f115]{display:flex;align-items:center;margin:20px 10px 20px 0}.app-bundle-header[data-v-62f0f115]{margin:0 10px 0 50px;font-weight:bold;font-size:20px;line-height:30px;color:var(--color-text-light)}.apps-store-view[data-v-62f0f115]{display:flex;flex-wrap:wrap}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppList.vue\"],\"names\":[],\"mappings\":\"AACA,qCACC,YAAA,CACA,kBAAA,CACA,uBAAA,CAED,oCACC,oBAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CACA,6BAAA,CAED,kCACC,YAAA,CACA,cAAA\",\"sourcesContent\":[\"\\n.app-bundle-heading {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tmargin: 20px 10px 20px 0;\\n}\\n.app-bundle-header {\\n\\tmargin: 0 10px 0 50px;\\n\\tfont-weight: bold;\\n\\tfont-size: 20px;\\n\\tline-height: 30px;\\n\\tcolor: var(--color-text-light);\\n}\\n.apps-store-view {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\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-icon[data-v-79bd4dc4]{filter:var(--background-invert-if-bright)}.app-image img[data-v-79bd4dc4]{width:100%}.app-name--link[data-v-79bd4dc4]::after{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppList/AppItem.vue\"],\"names\":[],\"mappings\":\"AACA,2BACC,yCAAA,CAGD,gCACC,UAAA,CAGD,wCACE,UAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,OAAA,CACA,QAAA\",\"sourcesContent\":[\"\\n.app-icon {\\n\\tfilter: var(--background-invert-if-bright);\\n}\\n\\n.app-image img {\\n\\twidth: 100%;\\n}\\n\\n.app-name--link::after {\\n content: '';\\n position: absolute;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\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, `.settings-markdown[data-v-ffd9a2d6] h1,.settings-markdown[data-v-ffd9a2d6] h2,.settings-markdown[data-v-ffd9a2d6] h3,.settings-markdown[data-v-ffd9a2d6] h4,.settings-markdown[data-v-ffd9a2d6] h5,.settings-markdown[data-v-ffd9a2d6] h6{font-weight:600;line-height:120%;margin-top:24px;margin-bottom:12px;color:var(--color-main-text)}.settings-markdown[data-v-ffd9a2d6] h1{font-size:36px;margin-top:48px}.settings-markdown[data-v-ffd9a2d6] h2{font-size:28px;margin-top:48px}.settings-markdown[data-v-ffd9a2d6] h3{font-size:24px}.settings-markdown[data-v-ffd9a2d6] h4{font-size:21px}.settings-markdown[data-v-ffd9a2d6] h5{font-size:17px}.settings-markdown[data-v-ffd9a2d6] h6{font-size:var(--default-font-size)}.settings-markdown[data-v-ffd9a2d6] 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-ffd9a2d6] p code{background-color:var(--color-background-dark);border-radius:var(--border-radius);padding:.1em .3em}.settings-markdown[data-v-ffd9a2d6] li{position:relative}.settings-markdown[data-v-ffd9a2d6] ul,.settings-markdown[data-v-ffd9a2d6] ol{padding-left:10px;margin-left:10px}.settings-markdown[data-v-ffd9a2d6] ul li{list-style-type:disc}.settings-markdown[data-v-ffd9a2d6] ul>li>ul>li{list-style-type:circle}.settings-markdown[data-v-ffd9a2d6] ul>li>ul>li ul li{list-style-type:square}.settings-markdown[data-v-ffd9a2d6] blockquote{padding-left:1em;border-left:4px solid var(--color-primary-element);color:var(--color-text-maxcontrast);margin-left:0;margin-right:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Markdown.vue\"],\"names\":[],\"mappings\":\"AAGA,0OAMC,eAAA,CACA,gBAAA,CACA,eAAA,CACA,kBAAA,CACA,4BAAA,CAGD,uCACC,cAAA,CACA,eAAA,CAGD,uCACC,cAAA,CACA,eAAA,CAGD,uCACC,cAAA,CAGD,uCACC,cAAA,CAGD,uCACC,cAAA,CAGD,uCACC,kCAAA,CAGD,wCACC,eAAA,CACA,eAAA,CACA,6CAAA,CACA,kCAAA,CACA,iBAAA,CACA,iBAAA,CAGD,2CACC,6CAAA,CACA,kCAAA,CACA,iBAAA,CAGD,uCACC,iBAAA,CAGD,8EACC,iBAAA,CACA,gBAAA,CAGD,0CACC,oBAAA,CAGD,gDACC,sBAAA,CAGD,sDACC,sBAAA,CAGD,+CACC,gBAAA,CACA,kDAAA,CACA,mCAAA,CACA,aAAA,CACA,cAAA\",\"sourcesContent\":[\"\\n.settings-markdown::v-deep {\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n\\tfont-weight: 600;\\n\\tline-height: 120%;\\n\\tmargin-top: 24px;\\n\\tmargin-bottom: 12px;\\n\\tcolor: var(--color-main-text);\\n}\\n\\nh1 {\\n\\tfont-size: 36px;\\n\\tmargin-top: 48px;\\n}\\n\\nh2 {\\n\\tfont-size: 28px;\\n\\tmargin-top: 48px;\\n}\\n\\nh3 {\\n\\tfont-size: 24px;\\n}\\n\\nh4 {\\n\\tfont-size: 21px;\\n}\\n\\nh5 {\\n\\tfont-size: 17px;\\n}\\n\\nh6 {\\n\\tfont-size: var(--default-font-size);\\n}\\n\\npre {\\n\\twhite-space: pre;\\n\\toverflow-x: auto;\\n\\tbackground-color: var(--color-background-dark);\\n\\tborder-radius: var(--border-radius);\\n\\tpadding: 1em 1.3em;\\n\\tmargin-bottom: 1em;\\n}\\n\\np code {\\n\\tbackground-color: var(--color-background-dark);\\n\\tborder-radius: var(--border-radius);\\n\\tpadding: .1em .3em;\\n}\\n\\nli {\\n\\tposition: relative;\\n}\\n\\nul, ol {\\n\\tpadding-left: 10px;\\n\\tmargin-left: 10px;\\n}\\n\\nul li {\\n\\tlist-style-type: disc;\\n}\\n\\nul > li > ul > li {\\n\\tlist-style-type: circle;\\n}\\n\\nul > li > ul > li ul li {\\n\\tlist-style-type: square;\\n}\\n\\nblockquote {\\n\\tpadding-left: 1em;\\n\\tborder-left: 4px solid var(--color-primary-element);\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tmargin-left: 0;\\n\\tmargin-right: 0;\\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, `.app-sidebar[data-v-4e6c328e]:not(.app-sidebar--without-background) :not(.app-sidebar-header--compact) .app-sidebar-header__figure{background-size:cover}.app-sidebar[data-v-4e6c328e]:not(.app-sidebar--without-background) .app-sidebar-header--compact .app-sidebar-header__figure{background-size:32px;filter:var(--background-invert-if-bright)}.app-sidebar[data-v-4e6c328e] .app-sidebar-header__description .app-version{padding-left:10px}.app-sidebar[data-v-4e6c328e].app-sidebar--without-background .app-sidebar-header__figure{display:flex;align-items:center;justify-content:center}.app-sidebar[data-v-4e6c328e].app-sidebar--without-background .app-sidebar-header__figure--default-app-icon{width:32px;height:32px;background-size:32px}.app-sidebar[data-v-4e6c328e] .app-sidebar-header__desc .app-sidebar-header__subtitle{overflow:visible !important;height:auto;white-space:normal !important;line-height:16px}.app-sidebar[data-v-4e6c328e] .app-sidebar-header__action{margin:0 20px}.app-sidebar[data-v-4e6c328e] .app-sidebar-header__action input{margin:3px}.app-navigation[data-v-4e6c328e] button.app-navigation-toggle{top:8px;right:-8px}.app-sidebar-tabs__release h2[data-v-4e6c328e]{border-bottom:1px solid var(--color-border)}.app-sidebar-tabs__release[data-v-4e6c328e] h3{font-size:20px}.app-sidebar-tabs__release[data-v-4e6c328e] h4{font-size:17px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/Apps.vue\"],\"names\":[],\"mappings\":\"AAIE,mIACC,qBAAA,CAGD,6HACC,oBAAA,CAEA,yCAAA,CAKD,4EACC,iBAAA,CAMD,0FACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,4GACC,UAAA,CACA,WAAA,CACA,oBAAA,CAQF,sFACC,2BAAA,CACA,WAAA,CACA,6BAAA,CACA,gBAAA,CAIF,0DAEC,aAAA,CACA,gEACC,UAAA,CAMH,8DACC,OAAA,CACA,UAAA,CAIA,+CACC,2CAAA,CAKA,+CACC,cAAA,CAED,+CACC,cAAA\",\"sourcesContent\":[\"\\n.app-sidebar::v-deep {\\n\\t&:not(.app-sidebar--without-background) {\\n\\t\\t// with full screenshot, let's fill the figure\\n\\t\\t:not(.app-sidebar-header--compact) .app-sidebar-header__figure {\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t\\t// revert sidebar app icon so it is black\\n\\t\\t.app-sidebar-header--compact .app-sidebar-header__figure {\\n\\t\\t\\tbackground-size: 32px;\\n\\n\\t\\t\\tfilter: var(--background-invert-if-bright);\\n\\t\\t}\\n\\t}\\n\\n\\t.app-sidebar-header__description {\\n\\t\\t.app-version {\\n\\t\\t\\tpadding-left: 10px;\\n\\t\\t}\\n\\t}\\n\\n\\t// default icon slot styling\\n\\t&.app-sidebar--without-background {\\n\\t\\t.app-sidebar-header__figure {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\t&--default-app-icon {\\n\\t\\t\\t\\twidth: 32px;\\n\\t\\t\\t\\theight: 32px;\\n\\t\\t\\t\\tbackground-size: 32px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: migrate to components\\n\\t.app-sidebar-header__desc {\\n\\t\\t// allow multi line subtitle for the license\\n\\t\\t.app-sidebar-header__subtitle {\\n\\t\\t\\toverflow: visible !important;\\n\\t\\t\\theight: auto;\\n\\t\\t\\twhite-space: normal !important;\\n\\t\\t\\tline-height: 16px;\\n\\t\\t}\\n\\t}\\n\\n\\t.app-sidebar-header__action {\\n\\t\\t// align with tab content\\n\\t\\tmargin: 0 20px;\\n\\t\\tinput {\\n\\t\\t\\tmargin: 3px;\\n\\t\\t}\\n\\t}\\n}\\n\\n// Align the appNavigation toggle with the apps header toolbar\\n.app-navigation::v-deep button.app-navigation-toggle {\\n\\ttop: 8px;\\n\\tright: -8px;\\n}\\n\\n.app-sidebar-tabs__release {\\n\\th2 {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t}\\n\\n\\t// Overwrite changelog heading styles\\n\\t::v-deep {\\n\\t\\th3 {\\n\\t\\t\\tfont-size: 20px;\\n\\t\\t}\\n\\t\\th4 {\\n\\t\\t\\tfont-size: 17px;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcContent',{class:{ 'with-app-sidebar': _vm.app},attrs:{\"app-name\":\"settings\"}},[_c('NcAppNavigation',{class:{ 'icon-loading': _vm.loading },attrs:{\"aria-label\":_vm.t('settings', 'Apps')},scopedSlots:_vm._u([{key:\"list\",fn:function(){return [_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-your-apps\",\"to\":{ name: 'apps' },\"exact\":true,\"icon\":\"icon-category-installed\",\"name\":_vm.$options.APPS_SECTION_ENUM.installed}}),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-enabled\",\"to\":{ name: 'apps-category', params: { category: 'enabled' } },\"icon\":\"icon-category-enabled\",\"name\":_vm.$options.APPS_SECTION_ENUM.enabled}}),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-disabled\",\"to\":{ name: 'apps-category', params: { category: 'disabled' } },\"icon\":\"icon-category-disabled\",\"name\":_vm.$options.APPS_SECTION_ENUM.disabled}}),_vm._v(\" \"),(_vm.updateCount > 0)?_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-updates\",\"to\":{ name: 'apps-category', params: { category: 'updates' } },\"icon\":\"icon-download\",\"name\":_vm.$options.APPS_SECTION_ENUM.updates},scopedSlots:_vm._u([{key:\"counter\",fn:function(){return [_c('NcCounterBubble',[_vm._v(_vm._s(_vm.updateCount))])]},proxy:true}],null,false,54487302)}):_vm._e(),_vm._v(\" \"),(_vm.isSubscribed)?_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-supported\",\"to\":{ name: 'apps-category', params: { category: 'supported' } },\"name\":_vm.$options.APPS_SECTION_ENUM.supported},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconStarShooting',{attrs:{\"size\":20}})]},proxy:true}],null,false,704374136)}):_vm._e(),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-your-bundles\",\"to\":{ name: 'apps-category', params: { category: 'app-bundles' } },\"icon\":\"icon-category-app-bundles\",\"name\":_vm.$options.APPS_SECTION_ENUM['app-bundles']}}),_vm._v(\" \"),_c('NcAppNavigationSpacer'),_vm._v(\" \"),(_vm.settings.appstoreEnabled)?[_c('NcAppNavigationItem',{attrs:{\"id\":\"app-category-featured\",\"to\":{ name: 'apps-category', params: { category: 'featured' } },\"icon\":\"icon-favorite\",\"name\":_vm.$options.APPS_SECTION_ENUM.featured}}),_vm._v(\" \"),_vm._l((_vm.categories),function(cat){return _c('NcAppNavigationItem',{key:'icon-category-' + cat.ident,attrs:{\"icon\":'icon-category-' + cat.ident,\"to\":{\n\t\t\t\t\t\tname: 'apps-category',\n\t\t\t\t\t\tparams: { category: cat.ident },\n\t\t\t\t\t},\"name\":cat.displayName}})})]:_vm._e(),_vm._v(\" \"),_c('NcAppNavigationItem',{attrs:{\"id\":\"app-developer-docs\",\"name\":_vm.t('settings', 'Developer documentation') + ' ↗'},on:{\"click\":_vm.openDeveloperDocumentation}})]},proxy:true}])}),_vm._v(\" \"),_c('NcAppContent',{staticClass:\"app-settings-content\",class:{ 'icon-loading': _vm.loadingList },attrs:{\"page-heading\":_vm.pageHeading}},[_c('AppList',{attrs:{\"category\":_vm.category,\"app\":_vm.app,\"search\":_vm.searchQuery}})],1),_vm._v(\" \"),(_vm.id && _vm.app)?_c('NcAppSidebar',_vm._b({class:{'app-sidebar--without-background': !_vm.appSidebar.background},on:{\"close\":_vm.hideAppDetails},scopedSlots:_vm._u([(!_vm.appSidebar.background)?{key:\"header\",fn:function(){return [_c('div',{staticClass:\"app-sidebar-header__figure--default-app-icon icon-settings-dark\"})]},proxy:true}:null,{key:\"description\",fn:function(){return [(_vm.app.level === 300 || _vm.app.level === 200 || _vm.hasRating)?_c('div',{staticClass:\"app-level\"},[(_vm.app.level === 300)?_c('span',{staticClass:\"supported icon-checkmark-color\",attrs:{\"title\":_vm.t('settings', 'This app is supported via your current Nextcloud subscription.')}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Supported')))]):_vm._e(),_vm._v(\" \"),(_vm.app.level === 200)?_c('span',{staticClass:\"official icon-checkmark\",attrs:{\"title\":_vm.t('settings', 'Featured apps are developed by and within the community. They offer central functionality and are ready for production use.')}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Featured')))]):_vm._e(),_vm._v(\" \"),(_vm.hasRating)?_c('AppScore',{attrs:{\"score\":_vm.app.appstoreData.ratingOverall}}):_vm._e()],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-version\"},[_c('p',[_vm._v(_vm._s(_vm.app.version))])])]},proxy:true}],null,true)},'NcAppSidebar',_vm.appSidebar,false),[_vm._v(\" \"),_vm._v(\" \"),_c('NcAppSidebarTab',{attrs:{\"id\":\"desc\",\"icon\":\"icon-category-office\",\"name\":_vm.t('settings', 'Details'),\"order\":0}},[_c('AppDetails',{attrs:{\"app\":_vm.app}})],1),_vm._v(\" \"),(_vm.app.appstoreData && _vm.app.releases[0].translations.en.changelog)?_c('NcAppSidebarTab',{attrs:{\"id\":\"desca\",\"icon\":\"icon-category-organization\",\"name\":_vm.t('settings', 'Changelog'),\"order\":1}},_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(\" \"),(_vm.changelog(release))?_c('Markdown',{attrs:{\"text\":_vm.changelog(release)}}):_vm._e()],1)}),0):_vm._e()],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./StarShooting.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./StarShooting.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./StarShooting.vue?vue&type=template&id=2796c6f2\"\nimport script from \"./StarShooting.vue?vue&type=script&lang=js\"\nexport * from \"./StarShooting.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 star-shooting-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M18.09 11.77L19.56 18.1L14 14.74L8.44 18.1L9.9 11.77L5 7.5L11.47 6.96L14 1L16.53 6.96L23 7.5L18.09 11.77M2 12.43C2.19 12.43 2.38 12.37 2.55 12.26L5.75 10.15L4.18 8.79L1.45 10.59C.989 10.89 .861 11.5 1.16 12C1.36 12.27 1.68 12.43 2 12.43M1.16 21.55C1.36 21.84 1.68 22 2 22C2.19 22 2.38 21.95 2.55 21.84L6.66 19.13L7 17.76L7.31 16.31L1.45 20.16C.989 20.47 .861 21.09 1.16 21.55M1.45 15.38C.989 15.68 .861 16.3 1.16 16.76C1.36 17.06 1.68 17.21 2 17.21C2.19 17.21 2.38 17.16 2.55 17.05L7.97 13.5L8.24 12.31L7.32 11.5L1.45 15.38Z\"}},[(_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('div',{attrs:{\"id\":\"app-content-inner\"}},[_c('div',{staticClass:\"apps-list\",class:{installed: (_vm.useBundleView || _vm.useListView), store: _vm.useAppStoreView},attrs:{\"id\":\"apps-list\"}},[(_vm.useListView)?[(_vm.showUpdateAll)?_c('div',{staticClass:\"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:\"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('transition-group',{staticClass:\"apps-list-container\",attrs:{\"name\":\"app-list\",\"tag\":\"table\"}},[_c('tr',{key:\"app-list-view-header\",staticClass:\"apps-header\"},[_c('th',{staticClass:\"app-image\"},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Icon')))])]),_vm._v(\" \"),_c('th',{staticClass:\"app-name\"},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Name')))])]),_vm._v(\" \"),_c('th',{staticClass:\"app-version\"},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Version')))])]),_vm._v(\" \"),_c('th',{staticClass:\"app-level\"},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Level')))])]),_vm._v(\" \"),_c('th',{staticClass:\"actions\"},[_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-container\"},[_c('tr',{key:\"app-list-view-header\",staticClass:\"apps-header\"},[_c('th',{staticClass:\"app-image\",attrs:{\"id\":\"app-table-col-icon\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Icon')))])]),_vm._v(\" \"),_c('th',{staticClass:\"app-name\",attrs:{\"id\":\"app-table-col-name\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Name')))])]),_vm._v(\" \"),_c('th',{staticClass:\"app-version\",attrs:{\"id\":\"app-table-col-version\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Version')))])]),_vm._v(\" \"),_c('th',{staticClass:\"app-level\",attrs:{\"id\":\"app-table-col-level\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Level')))])]),_vm._v(\" \"),_c('th',{staticClass:\"actions\",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:\"app-bundle-heading\"},[_c('span',{staticClass:\"app-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-store-view\"},_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 installed\",attrs:{\"id\":\"apps-list-search\"}},[_c('div',{staticClass:\"apps-list-container\"},[(_vm.search !== '' && _vm.searchApps.length > 0)?[_c('div',{staticClass:\"section\"},[_c('div'),_vm._v(\" \"),_c('td',{attrs:{\"colspan\":\"5\"}},[_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'Results from other categories')))])])]),_vm._v(\" \"),_vm._l((_vm.searchApps),function(app){return _c('AppItem',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category}})})]:_vm._e()],2)]),_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(),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"searchresults\"}})])\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!./AppScore.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!./AppScore.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AppScore.vue?vue&type=template&id=d50ef390\"\nimport script from \"./AppScore.vue?vue&type=script&lang=js\"\nexport * from \"./AppScore.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('img',{staticClass:\"app-score-image\",attrs:{\"src\":_vm.scoreImage,\"alt\":_vm.t('settings', 'Rating: {score}/10', {score:_vm.appScore})}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import 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 * @copyright Copyright (c) 2019 Julius Härtl \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { showError } from '@nextcloud/dialogs'\nimport rebuildNavigation from '../service/rebuild-navigation.js'\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\treturn this.$store.getters.loading('install')\n\t\t},\n\t\tisLoading() {\n\t\t\treturn this.app && this.$store.getters.loading(this.app.id)\n\t\t},\n\t\tenableButtonText() {\n\t\t\tif (this.app.needsDownload) {\n\t\t\t\treturn t('settings', 'Download and enable')\n\t\t\t}\n\t\t\treturn t('settings', 'Enable')\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.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 Nextcloud version. 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},\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.groups.length || this.groupCheckedAppsData) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tsetGroupLimit() {\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\treturn false\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t\taddGroupLimitation(groupArray) {\n\t\t\tconst group = groupArray.pop()\n\t\t\tconst groups = this.app.groups.concat([]).concat([group.id])\n\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups })\n\t\t},\n\t\tremoveGroupLimitation(group) {\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\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups: currentGroups })\n\t\t},\n\t\tforceEnable(appId) {\n\t\t\tthis.$store.dispatch('forceEnableApp', { appId, groups: [] })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tenable(appId) {\n\t\t\tthis.$store.dispatch('enableApp', { appId, groups: [] })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tdisable(appId) {\n\t\t\tthis.$store.dispatch('disableApp', { appId })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tremove(appId) {\n\t\t\tthis.$store.dispatch('uninstallApp', { appId })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tinstall(appId) {\n\t\t\tthis.$store.dispatch('enableApp', { appId })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t\tupdate(appId) {\n\t\t\tthis.$store.dispatch('updateApp', { appId })\n\t\t\t\t.then((response) => { rebuildNavigation() })\n\t\t\t\t.catch((error) => { showError(error) })\n\t\t},\n\t},\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\"","\n\n\n","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\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=79bd4dc4&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=style&index=0&id=79bd4dc4&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=79bd4dc4&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=79bd4dc4&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 \"79bd4dc4\",\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` : `li`,{tag:\"component\",staticClass:\"section\",class:{ selected: _vm.isSelected }},[_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"app-image app-image-icon\",attrs:{\"headers\":_vm.getDataItemHeaders(`app-table-col-icon`)}},[((_vm.listView && !_vm.app.preview) || (!_vm.listView && !_vm.screenshotLoaded))?_c('div',{staticClass:\"icon-settings-dark\"}):(_vm.listView && _vm.app.preview)?_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()]),_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\":{ name: 'apps-details',\tparams: { category: _vm.category, id: _vm.app.id }},\"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`)}},[(_vm.app.level === 300)?_c('span',{staticClass:\"supported icon-checkmark-color\",attrs:{\"title\":_vm.t('settings', 'This app is supported via your current Nextcloud subscription.'),\"aria-label\":_vm.t('settings', 'This app is supported via your current Nextcloud subscription.')}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Supported')))]):_vm._e(),_vm._v(\" \"),(_vm.app.level === 200)?_c('span',{staticClass:\"official icon-checkmark\",attrs:{\"title\":_vm.t('settings', 'Featured apps are developed by and within the community. They offer central functionality and are ready for production use.'),\"aria-label\":_vm.t('settings', 'Featured apps are developed by and within the community. They offer central functionality and are ready for production use.')}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Featured')))]):_vm._e(),_vm._v(\" \"),(_vm.hasRating && !_vm.listView)?_c('AppScore',{attrs:{\"score\":_vm.app.score}}):_vm._e()],1),_vm._v(\" \"),_c(_vm.dataItemTag,{tag:\"component\",staticClass:\"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)?_c('div',{staticClass:\"icon icon-loading-small\"}):_vm._e(),_vm._v(\" \"),(_vm.app.update)?_c('NcButton',{attrs:{\"type\":\"primary\",\"disabled\":_vm.installing || _vm.isLoading},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},on:{\"click\":function($event){$event.stopPropagation();return _vm.disable(_vm.app.id)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings','Disable'))+\"\\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},on:{\"click\":function($event){$event.stopPropagation();return _vm.enable(_vm.app.id)}}},[_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},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()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render, staticRenderFns\nimport script from \"./PrefixMixin.vue?vue&type=script&lang=js\"\nexport * from \"./PrefixMixin.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","import Queue from 'yocto-queue';\n\nexport default function pLimit(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\tconst queue = new Queue();\n\tlet activeCount = 0;\n\n\tconst next = () => {\n\t\tactiveCount--;\n\n\t\tif (queue.size > 0) {\n\t\t\tqueue.dequeue()();\n\t\t}\n\t};\n\n\tconst run = async (fn, resolve, args) => {\n\t\tactiveCount++;\n\n\t\tconst result = (async () => fn(...args))();\n\n\t\tresolve(result);\n\n\t\ttry {\n\t\t\tawait result;\n\t\t} catch {}\n\n\t\tnext();\n\t};\n\n\tconst enqueue = (fn, resolve, args) => {\n\t\tqueue.enqueue(run.bind(undefined, fn, resolve, args));\n\n\t\t(async () => {\n\t\t\t// This function needs to wait until the next microtask before comparing\n\t\t\t// `activeCount` to `concurrency`, because `activeCount` is updated asynchronously\n\t\t\t// when the run function is dequeued and called. The comparison in the if-statement\n\t\t\t// needs to happen asynchronously as well to get an up-to-date value for `activeCount`.\n\t\t\tawait Promise.resolve();\n\n\t\t\tif (activeCount < concurrency && queue.size > 0) {\n\t\t\t\tqueue.dequeue()();\n\t\t\t}\n\t\t})();\n\t};\n\n\tconst generator = (fn, ...args) => new Promise(resolve => {\n\t\tenqueue(fn, resolve, args);\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\tqueue.clear();\n\t\t\t},\n\t\t},\n\t});\n\n\treturn generator;\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=62f0f115&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=style&index=0&id=62f0f115&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=62f0f115&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=62f0f115&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 \"62f0f115\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _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\":_vm.prefix('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\":_vm.prefix('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},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._e(),_vm._v(\" \"),(_vm.app.active)?_c('input',{staticClass:\"enable\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings','Disable'),\"disabled\":_vm.installing || _vm.isLoading},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},on:{\"click\":function($event){return _vm.enable(_vm.app.id)}}}):(!_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(\" \"),_c('ul',{staticClass:\"app-details__dependencies\"},[(_vm.app.missingMinOwnCloudVersion)?_c('li',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app has no minimum Nextcloud version assigned. This will be an error in the future.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.app.missingMaxOwnCloudVersion)?_c('li',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app has no maximum Nextcloud version assigned. This will be an error in the future.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.app.canInstall)?_c('li',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app cannot be installed because the following dependencies are not fulfilled:'))+\"\\n\\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\"+_vm._s(dep)+\"\\n\\t\\t\\t\\t\")])}),0)]):_vm._e()]),_vm._v(\" \"),_c('p',{staticClass:\"app-details__documentation\"},[(!_vm.app.internal)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.appstoreUrl,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'View in store'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.website)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.website,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Visit website'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.bugs)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.bugs,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Report a bug'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.documentation && _vm.app.documentation.user)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.documentation.user,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'User documentation'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.documentation && _vm.app.documentation.admin)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.documentation.admin,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Admin documentation'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.documentation && _vm.app.documentation.developer)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.documentation.developer,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Developer documentation'))+\" ↗\")]):_vm._e()]),_vm._v(\" \"),_c('Markdown',{staticClass:\"app-details__description\",attrs:{\"text\":_vm.app.description}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * marked v9.1.5 - a markdown parser\n * Copyright (c) 2011-2023, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\n/**\n * Gets the original marked default options.\n */\nfunction _getDefaults() {\n return {\n async: false,\n breaks: false,\n extensions: null,\n gfm: true,\n hooks: null,\n pedantic: false,\n renderer: null,\n silent: false,\n tokenizer: null,\n walkTokens: null\n };\n}\nlet _defaults = _getDefaults();\nfunction changeDefaults(newDefaults) {\n _defaults = newDefaults;\n}\n\n/**\n * Helpers\n */\nconst escapeTest = /[&<>\"']/;\nconst escapeReplace = new RegExp(escapeTest.source, 'g');\nconst escapeTestNoEncode = /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/;\nconst escapeReplaceNoEncode = new RegExp(escapeTestNoEncode.source, 'g');\nconst escapeReplacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\nconst getEscapeReplacement = (ch) => escapeReplacements[ch];\nfunction escape(html, encode) {\n if (encode) {\n if (escapeTest.test(html)) {\n return html.replace(escapeReplace, getEscapeReplacement);\n }\n }\n else {\n if (escapeTestNoEncode.test(html)) {\n return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n return html;\n}\nconst unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\nfunction unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, (_, n) => {\n n = n.toLowerCase();\n if (n === 'colon')\n return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\nconst caret = /(^|[^\\[])\\^/g;\nfunction edit(regex, opt) {\n regex = typeof regex === 'string' ? regex : regex.source;\n opt = opt || '';\n const obj = {\n replace: (name, val) => {\n val = typeof val === 'object' && 'source' in val ? val.source : val;\n val = val.replace(caret, '$1');\n regex = regex.replace(name, val);\n return obj;\n },\n getRegex: () => {\n return new RegExp(regex, opt);\n }\n };\n return obj;\n}\nfunction cleanUrl(href) {\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n }\n catch (e) {\n return null;\n }\n return href;\n}\nconst noopTest = { exec: () => null };\nfunction splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n const row = tableRow.replace(/\\|/g, (match, offset, str) => {\n let escaped = false;\n let curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\')\n escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n }\n else {\n // add space before unescaped |\n return ' |';\n }\n }), cells = row.split(/ \\|/);\n let i = 0;\n // First/last cell in a row cannot be empty if it has no leading/trailing pipe\n if (!cells[0].trim()) {\n cells.shift();\n }\n if (cells.length > 0 && !cells[cells.length - 1].trim()) {\n cells.pop();\n }\n if (count) {\n if (cells.length > count) {\n cells.splice(count);\n }\n else {\n while (cells.length < count)\n cells.push('');\n }\n }\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n}\n/**\n * Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n * /c*$/ is vulnerable to REDOS.\n *\n * @param str\n * @param c\n * @param invert Remove suffix of non-c chars instead. Default falsey.\n */\nfunction rtrim(str, c, invert) {\n const l = str.length;\n if (l === 0) {\n return '';\n }\n // Length of suffix matching the invert condition.\n let suffLen = 0;\n // Step left until we fail to match the invert condition.\n while (suffLen < l) {\n const currChar = str.charAt(l - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n }\n else if (currChar !== c && invert) {\n suffLen++;\n }\n else {\n break;\n }\n }\n return str.slice(0, l - suffLen);\n}\nfunction findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n let level = 0;\n for (let i = 0; i < str.length; i++) {\n if (str[i] === '\\\\') {\n i++;\n }\n else if (str[i] === b[0]) {\n level++;\n }\n else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n}\n\nfunction outputLink(cap, link, raw, lexer) {\n const href = link.href;\n const title = link.title ? escape(link.title) : null;\n const text = cap[1].replace(/\\\\([\\[\\]])/g, '$1');\n if (cap[0].charAt(0) !== '!') {\n lexer.state.inLink = true;\n const token = {\n type: 'link',\n raw,\n href,\n title,\n text,\n tokens: lexer.inlineTokens(text)\n };\n lexer.state.inLink = false;\n return token;\n }\n return {\n type: 'image',\n raw,\n href,\n title,\n text: escape(text)\n };\n}\nfunction indentCodeCompensation(raw, text) {\n const matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n if (matchIndentToCode === null) {\n return text;\n }\n const indentToCode = matchIndentToCode[1];\n return text\n .split('\\n')\n .map(node => {\n const matchIndentInNode = node.match(/^\\s+/);\n if (matchIndentInNode === null) {\n return node;\n }\n const [indentInNode] = matchIndentInNode;\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n return node;\n })\n .join('\\n');\n}\n/**\n * Tokenizer\n */\nclass _Tokenizer {\n options;\n // TODO: Fix this rules type\n rules;\n lexer;\n constructor(options) {\n this.options = options || _defaults;\n }\n space(src) {\n const cap = this.rules.block.newline.exec(src);\n if (cap && cap[0].length > 0) {\n return {\n type: 'space',\n raw: cap[0]\n };\n }\n }\n code(src) {\n const cap = this.rules.block.code.exec(src);\n if (cap) {\n const text = cap[0].replace(/^ {1,4}/gm, '');\n return {\n type: 'code',\n raw: cap[0],\n codeBlockStyle: 'indented',\n text: !this.options.pedantic\n ? rtrim(text, '\\n')\n : text\n };\n }\n }\n fences(src) {\n const cap = this.rules.block.fences.exec(src);\n if (cap) {\n const raw = cap[0];\n const text = indentCodeCompensation(raw, cap[3] || '');\n return {\n type: 'code',\n raw,\n lang: cap[2] ? cap[2].trim().replace(this.rules.inline._escapes, '$1') : cap[2],\n text\n };\n }\n }\n heading(src) {\n const cap = this.rules.block.heading.exec(src);\n if (cap) {\n let text = cap[2].trim();\n // remove trailing #s\n if (/#$/.test(text)) {\n const trimmed = rtrim(text, '#');\n if (this.options.pedantic) {\n text = trimmed.trim();\n }\n else if (!trimmed || / $/.test(trimmed)) {\n // CommonMark requires space before trailing #s\n text = trimmed.trim();\n }\n }\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[1].length,\n text,\n tokens: this.lexer.inline(text)\n };\n }\n }\n hr(src) {\n const cap = this.rules.block.hr.exec(src);\n if (cap) {\n return {\n type: 'hr',\n raw: cap[0]\n };\n }\n }\n blockquote(src) {\n const cap = this.rules.block.blockquote.exec(src);\n if (cap) {\n const text = rtrim(cap[0].replace(/^ *>[ \\t]?/gm, ''), '\\n');\n const top = this.lexer.state.top;\n this.lexer.state.top = true;\n const tokens = this.lexer.blockTokens(text);\n this.lexer.state.top = top;\n return {\n type: 'blockquote',\n raw: cap[0],\n tokens,\n text\n };\n }\n }\n list(src) {\n let cap = this.rules.block.list.exec(src);\n if (cap) {\n let bull = cap[1].trim();\n const isordered = bull.length > 1;\n const list = {\n type: 'list',\n raw: '',\n ordered: isordered,\n start: isordered ? +bull.slice(0, -1) : '',\n loose: false,\n items: []\n };\n bull = isordered ? `\\\\d{1,9}\\\\${bull.slice(-1)}` : `\\\\${bull}`;\n if (this.options.pedantic) {\n bull = isordered ? bull : '[*+-]';\n }\n // Get next list item\n const itemRegex = new RegExp(`^( {0,3}${bull})((?:[\\t ][^\\\\n]*)?(?:\\\\n|$))`);\n let raw = '';\n let itemContents = '';\n let endsWithBlankLine = false;\n // Check if current bullet point can start a new List Item\n while (src) {\n let endEarly = false;\n if (!(cap = itemRegex.exec(src))) {\n break;\n }\n if (this.rules.block.hr.test(src)) { // End list if bullet was actually HR (possibly move into itemRegex?)\n break;\n }\n raw = cap[0];\n src = src.substring(raw.length);\n let line = cap[2].split('\\n', 1)[0].replace(/^\\t+/, (t) => ' '.repeat(3 * t.length));\n let nextLine = src.split('\\n', 1)[0];\n let indent = 0;\n if (this.options.pedantic) {\n indent = 2;\n itemContents = line.trimStart();\n }\n else {\n indent = cap[2].search(/[^ ]/); // Find first non-space char\n indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent\n itemContents = line.slice(indent);\n indent += cap[1].length;\n }\n let blankLine = false;\n if (!line && /^ *$/.test(nextLine)) { // Items begin with at most one blank line\n raw += nextLine + '\\n';\n src = src.substring(nextLine.length + 1);\n endEarly = true;\n }\n if (!endEarly) {\n const nextBulletRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \\t][^\\\\n]*)?(?:\\\\n|$))`);\n const hrRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`);\n const fencesBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:\\`\\`\\`|~~~)`);\n const headingBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}#`);\n // Check if following lines should be included in List Item\n while (src) {\n const rawLine = src.split('\\n', 1)[0];\n nextLine = rawLine;\n // Re-align to follow commonmark nesting rules\n if (this.options.pedantic) {\n nextLine = nextLine.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ');\n }\n // End list item if found code fences\n if (fencesBeginRegex.test(nextLine)) {\n break;\n }\n // End list item if found start of new heading\n if (headingBeginRegex.test(nextLine)) {\n break;\n }\n // End list item if found start of new bullet\n if (nextBulletRegex.test(nextLine)) {\n break;\n }\n // Horizontal rule found\n if (hrRegex.test(src)) {\n break;\n }\n if (nextLine.search(/[^ ]/) >= indent || !nextLine.trim()) { // Dedent if possible\n itemContents += '\\n' + nextLine.slice(indent);\n }\n else {\n // not enough indentation\n if (blankLine) {\n break;\n }\n // paragraph continuation unless last line was a different block level element\n if (line.search(/[^ ]/) >= 4) { // indented code block\n break;\n }\n if (fencesBeginRegex.test(line)) {\n break;\n }\n if (headingBeginRegex.test(line)) {\n break;\n }\n if (hrRegex.test(line)) {\n break;\n }\n itemContents += '\\n' + nextLine;\n }\n if (!blankLine && !nextLine.trim()) { // Check if current line is blank\n blankLine = true;\n }\n raw += rawLine + '\\n';\n src = src.substring(rawLine.length + 1);\n line = nextLine.slice(indent);\n }\n }\n if (!list.loose) {\n // If the previous item ended with a blank line, the list is loose\n if (endsWithBlankLine) {\n list.loose = true;\n }\n else if (/\\n *\\n *$/.test(raw)) {\n endsWithBlankLine = true;\n }\n }\n let istask = null;\n let ischecked;\n // Check for task list items\n if (this.options.gfm) {\n istask = /^\\[[ xX]\\] /.exec(itemContents);\n if (istask) {\n ischecked = istask[0] !== '[ ] ';\n itemContents = itemContents.replace(/^\\[[ xX]\\] +/, '');\n }\n }\n list.items.push({\n type: 'list_item',\n raw,\n task: !!istask,\n checked: ischecked,\n loose: false,\n text: itemContents,\n tokens: []\n });\n list.raw += raw;\n }\n // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic\n list.items[list.items.length - 1].raw = raw.trimEnd();\n list.items[list.items.length - 1].text = itemContents.trimEnd();\n list.raw = list.raw.trimEnd();\n // Item child tokens handled here at end because we needed to have the final item to trim it first\n for (let i = 0; i < list.items.length; i++) {\n this.lexer.state.top = false;\n list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);\n if (!list.loose) {\n // Check if list should be loose\n const spacers = list.items[i].tokens.filter(t => t.type === 'space');\n const hasMultipleLineBreaks = spacers.length > 0 && spacers.some(t => /\\n.*\\n/.test(t.raw));\n list.loose = hasMultipleLineBreaks;\n }\n }\n // Set all items to loose if list is loose\n if (list.loose) {\n for (let i = 0; i < list.items.length; i++) {\n list.items[i].loose = true;\n }\n }\n return list;\n }\n }\n html(src) {\n const cap = this.rules.block.html.exec(src);\n if (cap) {\n const token = {\n type: 'html',\n block: true,\n raw: cap[0],\n pre: cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style',\n text: cap[0]\n };\n return token;\n }\n }\n def(src) {\n const cap = this.rules.block.def.exec(src);\n if (cap) {\n const tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n const href = cap[2] ? cap[2].replace(/^<(.*)>$/, '$1').replace(this.rules.inline._escapes, '$1') : '';\n const title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline._escapes, '$1') : cap[3];\n return {\n type: 'def',\n tag,\n raw: cap[0],\n href,\n title\n };\n }\n }\n table(src) {\n const cap = this.rules.block.table.exec(src);\n if (cap) {\n if (!/[:|]/.test(cap[2])) {\n // delimiter row must have a pipe (|) or colon (:) otherwise it is a setext heading\n return;\n }\n const item = {\n type: 'table',\n raw: cap[0],\n header: splitCells(cap[1]).map(c => {\n return { text: c, tokens: [] };\n }),\n align: cap[2].replace(/^\\||\\| *$/g, '').split('|'),\n rows: cap[3] && cap[3].trim() ? cap[3].replace(/\\n[ \\t]*$/, '').split('\\n') : []\n };\n if (item.header.length === item.align.length) {\n let l = item.align.length;\n let i, j, k, row;\n for (i = 0; i < l; i++) {\n const align = item.align[i];\n if (align) {\n if (/^ *-+: *$/.test(align)) {\n item.align[i] = 'right';\n }\n else if (/^ *:-+: *$/.test(align)) {\n item.align[i] = 'center';\n }\n else if (/^ *:-+ *$/.test(align)) {\n item.align[i] = 'left';\n }\n else {\n item.align[i] = null;\n }\n }\n }\n l = item.rows.length;\n for (i = 0; i < l; i++) {\n item.rows[i] = splitCells(item.rows[i], item.header.length).map(c => {\n return { text: c, tokens: [] };\n });\n }\n // parse child tokens inside headers and cells\n // header child tokens\n l = item.header.length;\n for (j = 0; j < l; j++) {\n item.header[j].tokens = this.lexer.inline(item.header[j].text);\n }\n // cell child tokens\n l = item.rows.length;\n for (j = 0; j < l; j++) {\n row = item.rows[j];\n for (k = 0; k < row.length; k++) {\n row[k].tokens = this.lexer.inline(row[k].text);\n }\n }\n return item;\n }\n }\n }\n lheading(src) {\n const cap = this.rules.block.lheading.exec(src);\n if (cap) {\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1],\n tokens: this.lexer.inline(cap[1])\n };\n }\n }\n paragraph(src) {\n const cap = this.rules.block.paragraph.exec(src);\n if (cap) {\n const text = cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1];\n return {\n type: 'paragraph',\n raw: cap[0],\n text,\n tokens: this.lexer.inline(text)\n };\n }\n }\n text(src) {\n const cap = this.rules.block.text.exec(src);\n if (cap) {\n return {\n type: 'text',\n raw: cap[0],\n text: cap[0],\n tokens: this.lexer.inline(cap[0])\n };\n }\n }\n escape(src) {\n const cap = this.rules.inline.escape.exec(src);\n if (cap) {\n return {\n type: 'escape',\n raw: cap[0],\n text: escape(cap[1])\n };\n }\n }\n tag(src) {\n const cap = this.rules.inline.tag.exec(src);\n if (cap) {\n if (!this.lexer.state.inLink && /^/i.test(cap[0])) {\n this.lexer.state.inLink = false;\n }\n if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = true;\n }\n else if (this.lexer.state.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = false;\n }\n return {\n type: 'html',\n raw: cap[0],\n inLink: this.lexer.state.inLink,\n inRawBlock: this.lexer.state.inRawBlock,\n block: false,\n text: cap[0]\n };\n }\n }\n link(src) {\n const cap = this.rules.inline.link.exec(src);\n if (cap) {\n const trimmedUrl = cap[2].trim();\n if (!this.options.pedantic && /^$/.test(trimmedUrl))) {\n return;\n }\n // ending angle bracket cannot be escaped\n const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\\\');\n if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n return;\n }\n }\n else {\n // find closing parenthesis\n const lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n const start = cap[0].indexOf('!') === 0 ? 5 : 4;\n const linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n }\n let href = cap[2];\n let title = '';\n if (this.options.pedantic) {\n // split pedantic href and title\n const link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n if (link) {\n href = link[1];\n title = link[3];\n }\n }\n else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim();\n if (/^$/.test(trimmedUrl))) {\n // pedantic allows starting angle bracket without ending angle bracket\n href = href.slice(1);\n }\n else {\n href = href.slice(1, -1);\n }\n }\n return outputLink(cap, {\n href: href ? href.replace(this.rules.inline._escapes, '$1') : href,\n title: title ? title.replace(this.rules.inline._escapes, '$1') : title\n }, cap[0], this.lexer);\n }\n }\n reflink(src, links) {\n let cap;\n if ((cap = this.rules.inline.reflink.exec(src))\n || (cap = this.rules.inline.nolink.exec(src))) {\n let link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = links[link.toLowerCase()];\n if (!link) {\n const text = cap[0].charAt(0);\n return {\n type: 'text',\n raw: text,\n text\n };\n }\n return outputLink(cap, link, cap[0], this.lexer);\n }\n }\n emStrong(src, maskedSrc, prevChar = '') {\n let match = this.rules.inline.emStrong.lDelim.exec(src);\n if (!match)\n return;\n // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n if (match[3] && prevChar.match(/[\\p{L}\\p{N}]/u))\n return;\n const nextChar = match[1] || match[2] || '';\n if (!nextChar || !prevChar || this.rules.inline.punctuation.exec(prevChar)) {\n // unicode Regex counts emoji as 1 char; spread into array for proper count (used multiple times below)\n const lLength = [...match[0]].length - 1;\n let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0;\n const endReg = match[0][0] === '*' ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd;\n endReg.lastIndex = 0;\n // Clip maskedSrc to same section of string as src (move to lexer?)\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n while ((match = endReg.exec(maskedSrc)) != null) {\n rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n if (!rDelim)\n continue; // skip single * in __abc*abc__\n rLength = [...rDelim].length;\n if (match[3] || match[4]) { // found another Left Delim\n delimTotal += rLength;\n continue;\n }\n else if (match[5] || match[6]) { // either Left or Right Delim\n if (lLength % 3 && !((lLength + rLength) % 3)) {\n midDelimTotal += rLength;\n continue; // CommonMark Emphasis Rules 9-10\n }\n }\n delimTotal -= rLength;\n if (delimTotal > 0)\n continue; // Haven't found enough closing delimiters\n // Remove extra characters. *a*** -> *a*\n rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);\n // char length can be >1 for unicode characters;\n const lastCharLength = [...match[0]][0].length;\n const raw = src.slice(0, lLength + match.index + lastCharLength + rLength);\n // Create `em` if smallest delimiter has odd char count. *a***\n if (Math.min(lLength, rLength) % 2) {\n const text = raw.slice(1, -1);\n return {\n type: 'em',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n // Create 'strong' if smallest delimiter has even char count. **a***\n const text = raw.slice(2, -2);\n return {\n type: 'strong',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n }\n }\n codespan(src) {\n const cap = this.rules.inline.code.exec(src);\n if (cap) {\n let text = cap[2].replace(/\\n/g, ' ');\n const hasNonSpaceChars = /[^ ]/.test(text);\n const hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n text = text.substring(1, text.length - 1);\n }\n text = escape(text, true);\n return {\n type: 'codespan',\n raw: cap[0],\n text\n };\n }\n }\n br(src) {\n const cap = this.rules.inline.br.exec(src);\n if (cap) {\n return {\n type: 'br',\n raw: cap[0]\n };\n }\n }\n del(src) {\n const cap = this.rules.inline.del.exec(src);\n if (cap) {\n return {\n type: 'del',\n raw: cap[0],\n text: cap[2],\n tokens: this.lexer.inlineTokens(cap[2])\n };\n }\n }\n autolink(src) {\n const cap = this.rules.inline.autolink.exec(src);\n if (cap) {\n let text, href;\n if (cap[2] === '@') {\n text = escape(cap[1]);\n href = 'mailto:' + text;\n }\n else {\n text = escape(cap[1]);\n href = text;\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n url(src) {\n let cap;\n if (cap = this.rules.inline.url.exec(src)) {\n let text, href;\n if (cap[2] === '@') {\n text = escape(cap[0]);\n href = 'mailto:' + text;\n }\n else {\n // do extended autolink path validation\n let prevCapZero;\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + cap[0];\n }\n else {\n href = cap[0];\n }\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n inlineText(src) {\n const cap = this.rules.inline.text.exec(src);\n if (cap) {\n let text;\n if (this.lexer.state.inRawBlock) {\n text = cap[0];\n }\n else {\n text = escape(cap[0]);\n }\n return {\n type: 'text',\n raw: cap[0],\n text\n };\n }\n }\n}\n\n/**\n * Block-Level Grammar\n */\n// Not all rules are defined in the object literal\n// @ts-expect-error\nconst block = {\n newline: /^(?: *(?:\\n|$))+/,\n code: /^( {4}[^\\n]+(?:\\n(?: *(?:\\n|$))*)?)+/,\n fences: /^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/,\n hr: /^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/,\n heading: /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3}bull)([ \\t][^\\n]+?)?(?:\\n|$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)' // (3)\n + '|\\\\n*|$)' // (4)\n + '|\\\\n*|$)' // (5)\n + '|)[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (6)\n + '|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) open tag\n + '|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *(?:\\n *)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n *)?| *\\n *)(title))? *(?:\\n+|$)/,\n table: noopTest,\n lheading: /^(?!bull )((?:.|\\n(?!\\s*?\\n|bull ))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n // regex template, placeholders will be replaced according to different paragraph\n // interruption rules of commonmark and the original markdown spec:\n _paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/,\n text: /^[^\\n]+/\n};\nblock._label = /(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n .replace('label', block._label)\n .replace('title', block._title)\n .getRegex();\nblock.bullet = /(?:[*+-]|\\d{1,9}[.)])/;\nblock.listItemStart = edit(/^( *)(bull) */)\n .replace('bull', block.bullet)\n .getRegex();\nblock.list = edit(block.list)\n .replace(/bull/g, block.bullet)\n .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n .replace('def', '\\\\n+(?=' + block.def.source + ')')\n .getRegex();\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nblock._comment = /|$)/;\nblock.html = edit(block.html, 'i')\n .replace('comment', block._comment)\n .replace('tag', block._tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\nblock.lheading = edit(block.lheading)\n .replace(/bull/g, block.bullet) // lists can interrupt\n .getRegex();\nblock.paragraph = edit(block._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('|table', '')\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|textarea|!--)')\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\nblock.blockquote = edit(block.blockquote)\n .replace('paragraph', block.paragraph)\n .getRegex();\n/**\n * Normal Block Grammar\n */\nblock.normal = { ...block };\n/**\n * GFM Block Grammar\n */\nblock.gfm = {\n ...block.normal,\n table: '^ *([^\\\\n ].*)\\\\n' // Header\n + ' {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)' // Align\n + '(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)' // Cells\n};\nblock.gfm.table = edit(block.gfm.table)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('blockquote', ' {0,3}>')\n .replace('code', ' {4}[^\\\\n]')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|textarea|!--)')\n .replace('tag', block._tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\nblock.gfm.paragraph = edit(block._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('table', block.gfm.table) // interrupt paragraphs with table\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|textarea|!--)')\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n/**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\nblock.pedantic = {\n ...block.normal,\n html: edit('^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', block._comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^(#{1,6})(.*)(?:\\n+|$)/,\n fences: noopTest,\n lheading: /^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n paragraph: edit(block.normal._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' *#{1,6} *[^\\n]')\n .replace('lheading', block.lheading)\n .replace('blockquote', ' {0,3}>')\n .replace('|fences', '')\n .replace('|list', '')\n .replace('|html', '')\n .getRegex()\n};\n/**\n * Inline-Level Grammar\n */\n// Not all rules are defined in the object literal\n// @ts-expect-error\nconst inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noopTest,\n tag: '^comment'\n + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^',\n link: /^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(ref)\\]/,\n nolink: /^!?\\[(ref)\\](?:\\[\\])?/,\n reflinkSearch: 'reflink|nolink(?!\\\\()',\n emStrong: {\n lDelim: /^(?:\\*+(?:((?!\\*)[punct])|[^\\s*]))|^_+(?:((?!_)[punct])|([^\\s_]))/,\n // (1) and (2) can only be a Right Delimiter. (3) and (4) can only be Left. (5) and (6) can be either Left or Right.\n // | Skip orphan inside strong | Consume to delim | (1) #*** | (2) a***#, a*** | (3) #***a, ***a | (4) ***# | (5) #***# | (6) a***a\n rDelimAst: /^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])/,\n rDelimUnd: /^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])/ // ^- Not allowed for _\n },\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noopTest,\n text: /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\`^|~';\ninline.punctuation = edit(inline.punctuation, 'u').replace(/punctuation/g, inline._punctuation).getRegex();\n// sequences em should skip over [title](link), `code`, \ninline.blockSkip = /\\[[^[\\]]*?\\]\\([^\\(\\)]*?\\)|`[^`]*?`|<[^<>]*?>/g;\ninline.anyPunctuation = /\\\\[punct]/g;\ninline._escapes = /\\\\([punct])/g;\ninline._comment = edit(block._comment).replace('(?:-->|$)', '-->').getRegex();\ninline.emStrong.lDelim = edit(inline.emStrong.lDelim, 'u')\n .replace(/punct/g, inline._punctuation)\n .getRegex();\ninline.emStrong.rDelimAst = edit(inline.emStrong.rDelimAst, 'gu')\n .replace(/punct/g, inline._punctuation)\n .getRegex();\ninline.emStrong.rDelimUnd = edit(inline.emStrong.rDelimUnd, 'gu')\n .replace(/punct/g, inline._punctuation)\n .getRegex();\ninline.anyPunctuation = edit(inline.anyPunctuation, 'gu')\n .replace(/punct/g, inline._punctuation)\n .getRegex();\ninline._escapes = edit(inline._escapes, 'gu')\n .replace(/punct/g, inline._punctuation)\n .getRegex();\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n .replace('scheme', inline._scheme)\n .replace('email', inline._email)\n .getRegex();\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\ninline.tag = edit(inline.tag)\n .replace('comment', inline._comment)\n .replace('attribute', inline._attribute)\n .getRegex();\ninline._label = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\ninline._href = /<(?:\\\\.|[^\\n<>\\\\])+>|[^\\s\\x00-\\x1f]*/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\ninline.link = edit(inline.link)\n .replace('label', inline._label)\n .replace('href', inline._href)\n .replace('title', inline._title)\n .getRegex();\ninline.reflink = edit(inline.reflink)\n .replace('label', inline._label)\n .replace('ref', block._label)\n .getRegex();\ninline.nolink = edit(inline.nolink)\n .replace('ref', block._label)\n .getRegex();\ninline.reflinkSearch = edit(inline.reflinkSearch, 'g')\n .replace('reflink', inline.reflink)\n .replace('nolink', inline.nolink)\n .getRegex();\n/**\n * Normal Inline Grammar\n */\ninline.normal = { ...inline };\n/**\n * Pedantic Inline Grammar\n */\ninline.pedantic = {\n ...inline.normal,\n strong: {\n start: /^__|\\*\\*/,\n middle: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n endAst: /\\*\\*(?!\\*)/g,\n endUnd: /__(?!_)/g\n },\n em: {\n start: /^_|\\*/,\n middle: /^()\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)|^_(?=\\S)([\\s\\S]*?\\S)_(?!_)/,\n endAst: /\\*(?!\\*)/g,\n endUnd: /_(?!_)/g\n },\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', inline._label)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', inline._label)\n .getRegex()\n};\n/**\n * GFM Inline Grammar\n */\ninline.gfm = {\n ...inline.normal,\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,\n del: /^(~~?)(?=[^\\s~])([\\s\\S]*?[^\\s~])\\1(?=[^~]|$)/,\n text: /^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\ {\n return leading + ' '.repeat(tabs.length);\n });\n }\n let token;\n let lastToken;\n let cutSrc;\n let lastParagraphClipped;\n while (src) {\n if (this.options.extensions\n && this.options.extensions.block\n && this.options.extensions.block.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n // newline\n if (token = this.tokenizer.space(src)) {\n src = src.substring(token.raw.length);\n if (token.raw.length === 1 && tokens.length > 0) {\n // if there's a single \\n as a spacer, it's terminating the last line,\n // so move it there so that we don't get unnecessary paragraph tags\n tokens[tokens.length - 1].raw += '\\n';\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // code\n if (token = this.tokenizer.code(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n // An indented code block cannot interrupt a paragraph.\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // fences\n if (token = this.tokenizer.fences(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // heading\n if (token = this.tokenizer.heading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // hr\n if (token = this.tokenizer.hr(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // blockquote\n if (token = this.tokenizer.blockquote(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // list\n if (token = this.tokenizer.list(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // html\n if (token = this.tokenizer.html(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // def\n if (token = this.tokenizer.def(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.raw;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else if (!this.tokens.links[token.tag]) {\n this.tokens.links[token.tag] = {\n href: token.href,\n title: token.title\n };\n }\n continue;\n }\n // table (gfm)\n if (token = this.tokenizer.table(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // lheading\n if (token = this.tokenizer.lheading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // top-level paragraph\n // prevent paragraph consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startBlock) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startBlock.forEach((getStartIndex) => {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {\n lastToken = tokens[tokens.length - 1];\n if (lastParagraphClipped && lastToken.type === 'paragraph') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n lastParagraphClipped = (cutSrc.length !== src.length);\n src = src.substring(token.raw.length);\n continue;\n }\n // text\n if (token = this.tokenizer.text(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n this.state.top = true;\n return tokens;\n }\n inline(src, tokens = []) {\n this.inlineQueue.push({ src, tokens });\n return tokens;\n }\n /**\n * Lexing/Compiling\n */\n inlineTokens(src, tokens = []) {\n let token, lastToken, cutSrc;\n // String with links masked to avoid interference with em and strong\n let maskedSrc = src;\n let match;\n let keepPrevChar, prevChar;\n // Mask out reflinks\n if (this.tokens.links) {\n const links = Object.keys(this.tokens.links);\n if (links.length > 0) {\n while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {\n if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);\n }\n }\n }\n }\n // Mask out other blocks\n while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n }\n // Mask out escaped characters\n while ((match = this.tokenizer.rules.inline.anyPunctuation.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);\n }\n while (src) {\n if (!keepPrevChar) {\n prevChar = '';\n }\n keepPrevChar = false;\n // extensions\n if (this.options.extensions\n && this.options.extensions.inline\n && this.options.extensions.inline.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n // escape\n if (token = this.tokenizer.escape(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // tag\n if (token = this.tokenizer.tag(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // link\n if (token = this.tokenizer.link(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // reflink, nolink\n if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // em & strong\n if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // code\n if (token = this.tokenizer.codespan(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // br\n if (token = this.tokenizer.br(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // del (gfm)\n if (token = this.tokenizer.del(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // autolink\n if (token = this.tokenizer.autolink(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // url (gfm)\n if (!this.state.inLink && (token = this.tokenizer.url(src))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // text\n // prevent inlineText consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startInline) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startInline.forEach((getStartIndex) => {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (token = this.tokenizer.inlineText(cutSrc)) {\n src = src.substring(token.raw.length);\n if (token.raw.slice(-1) !== '_') { // Track prevChar before string of ____ started\n prevChar = token.raw.slice(-1);\n }\n keepPrevChar = true;\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n return tokens;\n }\n}\n\n/**\n * Renderer\n */\nclass _Renderer {\n options;\n constructor(options) {\n this.options = options || _defaults;\n }\n code(code, infostring, escaped) {\n const lang = (infostring || '').match(/^\\S*/)?.[0];\n code = code.replace(/\\n$/, '') + '\\n';\n if (!lang) {\n return '
'\n                + (escaped ? code : escape(code, true))\n                + '
\\n';\n }\n return '
'\n            + (escaped ? code : escape(code, true))\n            + '
\\n';\n }\n blockquote(quote) {\n return `
\\n${quote}
\\n`;\n }\n html(html, block) {\n return html;\n }\n heading(text, level, raw) {\n // ignore IDs\n return `${text}\\n`;\n }\n hr() {\n return '
\\n';\n }\n list(body, ordered, start) {\n const type = ordered ? 'ol' : 'ul';\n const startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n }\n listitem(text, task, checked) {\n return `
  • ${text}
  • \\n`;\n }\n checkbox(checked) {\n return '';\n }\n paragraph(text) {\n return `

    ${text}

    \\n`;\n }\n table(header, body) {\n if (body)\n body = `${body}`;\n return '\\n'\n + '\\n'\n + header\n + '\\n'\n + body\n + '
    \\n';\n }\n tablerow(content) {\n return `\\n${content}\\n`;\n }\n tablecell(content, flags) {\n const type = flags.header ? 'th' : 'td';\n const tag = flags.align\n ? `<${type} align=\"${flags.align}\">`\n : `<${type}>`;\n return tag + content + `\\n`;\n }\n /**\n * span level renderer\n */\n strong(text) {\n return `${text}`;\n }\n em(text) {\n return `${text}`;\n }\n codespan(text) {\n return `${text}`;\n }\n br() {\n return '
    ';\n }\n del(text) {\n return `${text}`;\n }\n link(href, title, text) {\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) {\n return text;\n }\n href = cleanHref;\n let out = '
    ';\n return out;\n }\n image(href, title, text) {\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) {\n return text;\n }\n href = cleanHref;\n let out = `\"${text}\"`;\n 0 && item.tokens[0].type === 'paragraph') {\n item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;\n if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {\n item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text;\n }\n }\n else {\n item.tokens.unshift({\n type: 'text',\n text: checkbox + ' '\n });\n }\n }\n else {\n itemBody += checkbox + ' ';\n }\n }\n itemBody += this.parse(item.tokens, loose);\n body += this.renderer.listitem(itemBody, task, !!checked);\n }\n out += this.renderer.list(body, ordered, start);\n continue;\n }\n case 'html': {\n const htmlToken = token;\n out += this.renderer.html(htmlToken.text, htmlToken.block);\n continue;\n }\n case 'paragraph': {\n const paragraphToken = token;\n out += this.renderer.paragraph(this.parseInline(paragraphToken.tokens));\n continue;\n }\n case 'text': {\n let textToken = token;\n let body = textToken.tokens ? this.parseInline(textToken.tokens) : textToken.text;\n while (i + 1 < tokens.length && tokens[i + 1].type === 'text') {\n textToken = tokens[++i];\n body += '\\n' + (textToken.tokens ? this.parseInline(textToken.tokens) : textToken.text);\n }\n out += top ? this.renderer.paragraph(body) : body;\n continue;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return '';\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n /**\n * Parse Inline Tokens\n */\n parseInline(tokens, renderer) {\n renderer = renderer || this.renderer;\n let out = '';\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n // Run any renderer extensions\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n const ret = this.options.extensions.renderers[token.type].call({ parser: this }, token);\n if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(token.type)) {\n out += ret || '';\n continue;\n }\n }\n switch (token.type) {\n case 'escape': {\n const escapeToken = token;\n out += renderer.text(escapeToken.text);\n break;\n }\n case 'html': {\n const tagToken = token;\n out += renderer.html(tagToken.text);\n break;\n }\n case 'link': {\n const linkToken = token;\n out += renderer.link(linkToken.href, linkToken.title, this.parseInline(linkToken.tokens, renderer));\n break;\n }\n case 'image': {\n const imageToken = token;\n out += renderer.image(imageToken.href, imageToken.title, imageToken.text);\n break;\n }\n case 'strong': {\n const strongToken = token;\n out += renderer.strong(this.parseInline(strongToken.tokens, renderer));\n break;\n }\n case 'em': {\n const emToken = token;\n out += renderer.em(this.parseInline(emToken.tokens, renderer));\n break;\n }\n case 'codespan': {\n const codespanToken = token;\n out += renderer.codespan(codespanToken.text);\n break;\n }\n case 'br': {\n out += renderer.br();\n break;\n }\n case 'del': {\n const delToken = token;\n out += renderer.del(this.parseInline(delToken.tokens, renderer));\n break;\n }\n case 'text': {\n const textToken = token;\n out += renderer.text(textToken.text);\n break;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return '';\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n}\n\nclass _Hooks {\n options;\n constructor(options) {\n this.options = options || _defaults;\n }\n static passThroughHooks = new Set([\n 'preprocess',\n 'postprocess'\n ]);\n /**\n * Process markdown before marked\n */\n preprocess(markdown) {\n return markdown;\n }\n /**\n * Process HTML after marked is finished\n */\n postprocess(html) {\n return html;\n }\n}\n\nclass Marked {\n defaults = _getDefaults();\n options = this.setOptions;\n parse = this.#parseMarkdown(_Lexer.lex, _Parser.parse);\n parseInline = this.#parseMarkdown(_Lexer.lexInline, _Parser.parseInline);\n Parser = _Parser;\n parser = _Parser.parse;\n Renderer = _Renderer;\n TextRenderer = _TextRenderer;\n Lexer = _Lexer;\n lexer = _Lexer.lex;\n Tokenizer = _Tokenizer;\n Hooks = _Hooks;\n constructor(...args) {\n this.use(...args);\n }\n /**\n * Run callback for every token\n */\n walkTokens(tokens, callback) {\n let values = [];\n for (const token of tokens) {\n values = values.concat(callback.call(this, token));\n switch (token.type) {\n case 'table': {\n const tableToken = token;\n for (const cell of tableToken.header) {\n values = values.concat(this.walkTokens(cell.tokens, callback));\n }\n for (const row of tableToken.rows) {\n for (const cell of row) {\n values = values.concat(this.walkTokens(cell.tokens, callback));\n }\n }\n break;\n }\n case 'list': {\n const listToken = token;\n values = values.concat(this.walkTokens(listToken.items, callback));\n break;\n }\n default: {\n const genericToken = token;\n if (this.defaults.extensions?.childTokens?.[genericToken.type]) {\n this.defaults.extensions.childTokens[genericToken.type].forEach((childTokens) => {\n values = values.concat(this.walkTokens(genericToken[childTokens], callback));\n });\n }\n else if (genericToken.tokens) {\n values = values.concat(this.walkTokens(genericToken.tokens, callback));\n }\n }\n }\n }\n return values;\n }\n use(...args) {\n const extensions = this.defaults.extensions || { renderers: {}, childTokens: {} };\n args.forEach((pack) => {\n // copy options to new object\n const opts = { ...pack };\n // set async to true if it was set to true before\n opts.async = this.defaults.async || opts.async || false;\n // ==-- Parse \"addon\" extensions --== //\n if (pack.extensions) {\n pack.extensions.forEach((ext) => {\n if (!ext.name) {\n throw new Error('extension name required');\n }\n if ('renderer' in ext) { // Renderer extensions\n const prevRenderer = extensions.renderers[ext.name];\n if (prevRenderer) {\n // Replace extension with func to run new extension but fall back if false\n extensions.renderers[ext.name] = function (...args) {\n let ret = ext.renderer.apply(this, args);\n if (ret === false) {\n ret = prevRenderer.apply(this, args);\n }\n return ret;\n };\n }\n else {\n extensions.renderers[ext.name] = ext.renderer;\n }\n }\n if ('tokenizer' in ext) { // Tokenizer Extensions\n if (!ext.level || (ext.level !== 'block' && ext.level !== 'inline')) {\n throw new Error(\"extension level must be 'block' or 'inline'\");\n }\n const extLevel = extensions[ext.level];\n if (extLevel) {\n extLevel.unshift(ext.tokenizer);\n }\n else {\n extensions[ext.level] = [ext.tokenizer];\n }\n if (ext.start) { // Function to check for start of token\n if (ext.level === 'block') {\n if (extensions.startBlock) {\n extensions.startBlock.push(ext.start);\n }\n else {\n extensions.startBlock = [ext.start];\n }\n }\n else if (ext.level === 'inline') {\n if (extensions.startInline) {\n extensions.startInline.push(ext.start);\n }\n else {\n extensions.startInline = [ext.start];\n }\n }\n }\n }\n if ('childTokens' in ext && ext.childTokens) { // Child tokens to be visited by walkTokens\n extensions.childTokens[ext.name] = ext.childTokens;\n }\n });\n opts.extensions = extensions;\n }\n // ==-- Parse \"overwrite\" extensions --== //\n if (pack.renderer) {\n const renderer = this.defaults.renderer || new _Renderer(this.defaults);\n for (const prop in pack.renderer) {\n const rendererFunc = pack.renderer[prop];\n const rendererKey = prop;\n const prevRenderer = renderer[rendererKey];\n // Replace renderer with func to run extension, but fall back if false\n renderer[rendererKey] = (...args) => {\n let ret = rendererFunc.apply(renderer, args);\n if (ret === false) {\n ret = prevRenderer.apply(renderer, args);\n }\n return ret || '';\n };\n }\n opts.renderer = renderer;\n }\n if (pack.tokenizer) {\n const tokenizer = this.defaults.tokenizer || new _Tokenizer(this.defaults);\n for (const prop in pack.tokenizer) {\n const tokenizerFunc = pack.tokenizer[prop];\n const tokenizerKey = prop;\n const prevTokenizer = tokenizer[tokenizerKey];\n // Replace tokenizer with func to run extension, but fall back if false\n tokenizer[tokenizerKey] = (...args) => {\n let ret = tokenizerFunc.apply(tokenizer, args);\n if (ret === false) {\n ret = prevTokenizer.apply(tokenizer, args);\n }\n return ret;\n };\n }\n opts.tokenizer = tokenizer;\n }\n // ==-- Parse Hooks extensions --== //\n if (pack.hooks) {\n const hooks = this.defaults.hooks || new _Hooks();\n for (const prop in pack.hooks) {\n const hooksFunc = pack.hooks[prop];\n const hooksKey = prop;\n const prevHook = hooks[hooksKey];\n if (_Hooks.passThroughHooks.has(prop)) {\n hooks[hooksKey] = (arg) => {\n if (this.defaults.async) {\n return Promise.resolve(hooksFunc.call(hooks, arg)).then(ret => {\n return prevHook.call(hooks, ret);\n });\n }\n const ret = hooksFunc.call(hooks, arg);\n return prevHook.call(hooks, ret);\n };\n }\n else {\n hooks[hooksKey] = (...args) => {\n let ret = hooksFunc.apply(hooks, args);\n if (ret === false) {\n ret = prevHook.apply(hooks, args);\n }\n return ret;\n };\n }\n }\n opts.hooks = hooks;\n }\n // ==-- Parse WalkTokens extensions --== //\n if (pack.walkTokens) {\n const walkTokens = this.defaults.walkTokens;\n const packWalktokens = pack.walkTokens;\n opts.walkTokens = function (token) {\n let values = [];\n values.push(packWalktokens.call(this, token));\n if (walkTokens) {\n values = values.concat(walkTokens.call(this, token));\n }\n return values;\n };\n }\n this.defaults = { ...this.defaults, ...opts };\n });\n return this;\n }\n setOptions(opt) {\n this.defaults = { ...this.defaults, ...opt };\n return this;\n }\n #parseMarkdown(lexer, parser) {\n return (src, options) => {\n const origOpt = { ...options };\n const opt = { ...this.defaults, ...origOpt };\n // Show warning if an extension set async to true but the parse was called with async: false\n if (this.defaults.async === true && origOpt.async === false) {\n if (!opt.silent) {\n console.warn('marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored.');\n }\n opt.async = true;\n }\n const throwError = this.#onError(!!opt.silent, !!opt.async);\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n return throwError(new Error('marked(): input parameter is undefined or null'));\n }\n if (typeof src !== 'string') {\n return throwError(new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected'));\n }\n if (opt.hooks) {\n opt.hooks.options = opt;\n }\n if (opt.async) {\n return Promise.resolve(opt.hooks ? opt.hooks.preprocess(src) : src)\n .then(src => lexer(src, opt))\n .then(tokens => opt.walkTokens ? Promise.all(this.walkTokens(tokens, opt.walkTokens)).then(() => tokens) : tokens)\n .then(tokens => parser(tokens, opt))\n .then(html => opt.hooks ? opt.hooks.postprocess(html) : html)\n .catch(throwError);\n }\n try {\n if (opt.hooks) {\n src = opt.hooks.preprocess(src);\n }\n const tokens = lexer(src, opt);\n if (opt.walkTokens) {\n this.walkTokens(tokens, opt.walkTokens);\n }\n let html = parser(tokens, opt);\n if (opt.hooks) {\n html = opt.hooks.postprocess(html);\n }\n return html;\n }\n catch (e) {\n return throwError(e);\n }\n };\n }\n #onError(silent, async) {\n return (e) => {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if (silent) {\n const msg = '

    An error occurred:

    '\n                    + escape(e.message + '', true)\n                    + '
    ';\n if (async) {\n return Promise.resolve(msg);\n }\n return msg;\n }\n if (async) {\n return Promise.reject(e);\n }\n throw e;\n };\n }\n}\n\nconst markedInstance = new Marked();\nfunction marked(src, opt) {\n return markedInstance.parse(src, opt);\n}\n/**\n * Sets the default options.\n *\n * @param options Hash of options\n */\nmarked.options =\n marked.setOptions = function (options) {\n markedInstance.setOptions(options);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n };\n/**\n * Gets the original marked default options.\n */\nmarked.getDefaults = _getDefaults;\nmarked.defaults = _defaults;\n/**\n * Use Extension\n */\nmarked.use = function (...args) {\n markedInstance.use(...args);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n};\n/**\n * Run callback for every token\n */\nmarked.walkTokens = function (tokens, callback) {\n return markedInstance.walkTokens(tokens, callback);\n};\n/**\n * Compiles markdown to HTML without enclosing `p` tag.\n *\n * @param src String of markdown source to be compiled\n * @param options Hash of options\n * @return String of compiled HTML\n */\nmarked.parseInline = markedInstance.parseInline;\n/**\n * Expose\n */\nmarked.Parser = _Parser;\nmarked.parser = _Parser.parse;\nmarked.Renderer = _Renderer;\nmarked.TextRenderer = _TextRenderer;\nmarked.Lexer = _Lexer;\nmarked.lexer = _Lexer.lex;\nmarked.Tokenizer = _Tokenizer;\nmarked.Hooks = _Hooks;\nmarked.parse = marked;\nconst options = marked.options;\nconst setOptions = marked.setOptions;\nconst use = marked.use;\nconst walkTokens = marked.walkTokens;\nconst parseInline = marked.parseInline;\nconst parse = marked;\nconst parser = _Parser.parse;\nconst lexer = _Lexer.lex;\n\nexport { _Hooks as Hooks, _Lexer as Lexer, Marked, _Parser as Parser, _Renderer as Renderer, _TextRenderer as TextRenderer, _Tokenizer as Tokenizer, _defaults as defaults, _getDefaults as getDefaults, lexer, marked, options, parse, parseInline, parser, setOptions, use, walkTokens };\n//# sourceMappingURL=marked.esm.js.map\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!./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=ffd9a2d6&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=style&index=0&id=ffd9a2d6&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=ffd9a2d6&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=ffd9a2d6&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 \"ffd9a2d6\",\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/vue-loader/lib/index.js??vue-loader-options!./AppDetails.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!./AppDetails.vue?vue&type=script&lang=js\"","\n\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!./AppDetails.vue?vue&type=style&index=0&id=5be7cbf9&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetails.vue?vue&type=style&index=0&id=5be7cbf9&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppDetails.vue?vue&type=template&id=5be7cbf9&scoped=true\"\nimport script from \"./AppDetails.vue?vue&type=script&lang=js\"\nexport * from \"./AppDetails.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppDetails.vue?vue&type=style&index=0&id=5be7cbf9&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 \"5be7cbf9\",\n null\n \n)\n\nexport default component.exports","\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!./Apps.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!./Apps.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!./Apps.vue?vue&type=style&index=0&id=4e6c328e&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Apps.vue?vue&type=style&index=0&id=4e6c328e&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Apps.vue?vue&type=template&id=4e6c328e&scoped=true\"\nimport script from \"./Apps.vue?vue&type=script&lang=js\"\nexport * from \"./Apps.vue?vue&type=script&lang=js\"\nimport style0 from \"./Apps.vue?vue&type=style&index=0&id=4e6c328e&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 \"4e6c328e\",\n null\n \n)\n\nexport default component.exports","/**\n * vue-local-storage v0.6.0\n * (c) 2017 Alexander Avakov\n * @license MIT\n */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.VueLocalStorage = factory());\n}(this, (function () { 'use strict';\n\nvar VueLocalStorage = function VueLocalStorage () {\n this._properties = {};\n this._namespace = '';\n this._isSupported = true;\n};\n\nvar prototypeAccessors = { namespace: {} };\n\n/**\n * Namespace getter.\n *\n * @returns {string}\n */\nprototypeAccessors.namespace.get = function () {\n return this._namespace\n};\n\n/**\n * Namespace setter.\n *\n * @param {string} value\n */\nprototypeAccessors.namespace.set = function (value) {\n this._namespace = value ? (value + \".\") : '';\n};\n\n/**\n * Concatenates localStorage key with namespace prefix.\n *\n * @param {string} lsKey\n * @returns {string}\n * @private\n */\nVueLocalStorage.prototype._getLsKey = function _getLsKey (lsKey) {\n return (\"\" + (this._namespace) + lsKey)\n};\n\n/**\n * Set a value to localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @param {*} rawValue\n * @param {*} type\n * @private\n */\nVueLocalStorage.prototype._lsSet = function _lsSet (lsKey, rawValue, type) {\n var key = this._getLsKey(lsKey);\n var value = type && [Array, Object].includes(type)\n ? JSON.stringify(rawValue)\n : rawValue;\n\n window.localStorage.setItem(key, value);\n};\n\n/**\n * Get value from localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @returns {any}\n * @private\n */\nVueLocalStorage.prototype._lsGet = function _lsGet (lsKey) {\n var key = this._getLsKey(lsKey);\n\n return window.localStorage[key]\n};\n\n/**\n * Get value from localStorage\n *\n * @param {String} lsKey\n * @param {*} defaultValue\n * @param {*} defaultType\n * @returns {*}\n */\nVueLocalStorage.prototype.get = function get (lsKey, defaultValue, defaultType) {\n var this$1 = this;\n if ( defaultValue === void 0 ) defaultValue = null;\n if ( defaultType === void 0 ) defaultType = String;\n\n if (!this._isSupported) {\n return null\n }\n\n if (this._lsGet(lsKey)) {\n var type = defaultType;\n\n for (var key in this$1._properties) {\n if (key === lsKey) {\n type = this$1._properties[key].type;\n break\n }\n }\n\n return this._process(type, this._lsGet(lsKey))\n }\n\n return defaultValue !== null ? defaultValue : null\n};\n\n/**\n * Set localStorage value\n *\n * @param {String} lsKey\n * @param {*} value\n * @returns {*}\n */\nVueLocalStorage.prototype.set = function set (lsKey, value) {\n var this$1 = this;\n\n if (!this._isSupported) {\n return null\n }\n\n for (var key in this$1._properties) {\n var type = this$1._properties[key].type;\n\n if ((key === lsKey)) {\n this$1._lsSet(lsKey, value, type);\n\n return value\n }\n }\n\n this._lsSet(lsKey, value);\n\n return value\n};\n\n/**\n * Remove value from localStorage\n *\n * @param {String} lsKey\n */\nVueLocalStorage.prototype.remove = function remove (lsKey) {\n if (!this._isSupported) {\n return null\n }\n\n return window.localStorage.removeItem(lsKey)\n};\n\n/**\n * Add new property to localStorage\n *\n * @param {String} key\n * @param {function} type\n * @param {*} defaultValue\n */\nVueLocalStorage.prototype.addProperty = function addProperty (key, type, defaultValue) {\n if ( defaultValue === void 0 ) defaultValue = undefined;\n\n type = type || String;\n\n this._properties[key] = { type: type };\n\n if (!this._lsGet(key) && defaultValue !== null) {\n this._lsSet(key, defaultValue, type);\n }\n};\n\n/**\n * Process the value before return it from localStorage\n *\n * @param {String} type\n * @param {*} value\n * @returns {*}\n * @private\n */\nVueLocalStorage.prototype._process = function _process (type, value) {\n switch (type) {\n case Boolean:\n return value === 'true'\n case Number:\n return parseFloat(value)\n case Array:\n try {\n var array = JSON.parse(value);\n\n return Array.isArray(array) ? array : []\n } catch (e) {\n return []\n }\n case Object:\n try {\n return JSON.parse(value)\n } catch (e) {\n return {}\n }\n default:\n return value\n }\n};\n\nObject.defineProperties( VueLocalStorage.prototype, prototypeAccessors );\n\nvar vueLocalStorage = new VueLocalStorage();\n\nvar index = {\n /**\n * Install vue-local-storage plugin\n *\n * @param {Vue} Vue\n * @param {Object} options\n */\n install: function (Vue, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof process !== 'undefined' &&\n (\n process.server ||\n process.SERVER_BUILD ||\n (process.env && process.env.VUE_ENV === 'server')\n )\n ) {\n return\n }\n\n var isSupported = true;\n\n try {\n var test = '__vue-localstorage-test__';\n\n window.localStorage.setItem(test, test);\n window.localStorage.removeItem(test);\n } catch (e) {\n isSupported = false;\n vueLocalStorage._isSupported = false;\n\n console.error('Local storage is not supported');\n }\n\n var name = options.name || 'localStorage';\n var bind = options.bind;\n\n if (options.namespace) {\n vueLocalStorage.namespace = options.namespace;\n }\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n var this$1 = this;\n\n if (!isSupported) {\n return\n }\n\n if (this.$options[name]) {\n Object.keys(this.$options[name]).forEach(function (key) {\n var config = this$1.$options[name][key];\n var ref = [config.type, config.default];\n var type = ref[0];\n var defaultValue = ref[1];\n\n vueLocalStorage.addProperty(key, type, defaultValue);\n\n var existingProp = Object.getOwnPropertyDescriptor(vueLocalStorage, key);\n\n if (!existingProp) {\n var prop = {\n get: function () { return Vue.localStorage.get(key, defaultValue); },\n set: function (val) { return Vue.localStorage.set(key, val); },\n configurable: true\n };\n\n Object.defineProperty(vueLocalStorage, key, prop);\n Vue.util.defineReactive(vueLocalStorage, key, defaultValue);\n } else if (!Vue.config.silent) {\n console.log((key + \": is already defined and will be reused\"));\n }\n\n if ((bind || config.bind) && config.bind !== false) {\n this$1.$options.computed = this$1.$options.computed || {};\n\n if (!this$1.$options.computed[key]) {\n this$1.$options.computed[key] = {\n get: function () { return Vue.localStorage[key]; },\n set: function (val) { Vue.localStorage[key] = val; }\n };\n }\n }\n });\n }\n }\n });\n\n Vue[name] = vueLocalStorage;\n Vue.prototype[(\"$\" + name)] = vueLocalStorage;\n }\n};\n\nreturn index;\n\n})));\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","name","emits","props","title","type","String","fillColor","default","size","Number","_vm","this","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","computed","appScore","Math","round","score","scoreImage","imageName","imagePath","t","axios","get","generateOcsUrl","then","_ref","data","ocs","meta","statuscode","emit","apps","window","dispatchEvent","Event","appGroups","app","groups","map","group","installing","$store","getters","loading","isLoading","enableButtonText","needsDownload","forceEnableButtonText","enableButtonTooltip","forceEnableButtonTooltip","base","groupCheckedAppsData","mounted","length","methods","asyncFindGroup","query","dispatch","search","limit","offset","isLimitedToGroups","setGroupLimit","appId","canLimitToGroups","types","includes","addGroupLimitation","groupArray","pop","concat","removeGroupLimitation","currentGroups","index","indexOf","splice","forceEnable","response","rebuildNavigation","catch","error","showError","enable","disable","remove","install","update","filterId","filterUrl","random","toString","substring","components","AppScore","NcButton","mixins","AppManagement","SvgFilterMixin","category","listView","Boolean","useBundleView","headers","isSelected","scrolled","screenshotLoaded","hasRating","appstoreData","ratingNumOverall","dataItemTag","watch","$route","params","releases","screenshot","image","Image","onload","e","src","watchers","prefix","content","getDataItemHeaders","columnName","join","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","tag","class","selected","preview","appName","summary","version","level","stopPropagation","canUnInstall","active","canInstall","isCompatible","pLimit","concurrency","isInteger","POSITIVE_INFINITY","TypeError","queue","Queue","activeCount","run","async","fn","resolve","args","result","dequeue","generator","_len","arguments","Array","_key","Promise","enqueue","bind","undefined","Object","defineProperties","pendingCount","clearQueue","value","clear","AppItem","PrefixMixin","counter","filter","hasPendingUpdate","showUpdateAll","useListView","getAllApps","toLowerCase","sort","a","b","sortStringA","sortStringB","OC","Util","naturalSortCompare","installed","bundles","appstore","getServerData","bundle","bundleApps","bundleIds","searchApps","find","_app","useAppStoreView","allBundlesEnabled","bundleToggleText","toggleBundle","disableBundle","enableBundle","console","Notification","show","updateAll","store","n","key","_l","_defaults","breaks","extensions","gfm","hooks","pedantic","renderer","silent","tokenizer","walkTokens","changeDefaults","newDefaults","escapeTest","escapeReplace","RegExp","source","escapeTestNoEncode","escapeReplaceNoEncode","escapeReplacements","getEscapeReplacement","ch","html","encode","test","replace","unescapeTest","caret","edit","regex","opt","obj","val","getRegex","cleanUrl","href","encodeURI","noopTest","exec","splitCells","tableRow","count","cells","match","str","escaped","curr","split","i","trim","shift","rtrim","c","invert","l","suffLen","currChar","charAt","slice","outputLink","cap","link","raw","lexer","text","state","inLink","token","tokens","inlineTokens","_Tokenizer","rules","constructor","space","block","newline","code","codeBlockStyle","fences","matchIndentToCode","indentToCode","node","matchIndentInNode","indentInNode","indentCodeCompensation","lang","inline","_escapes","heading","trimmed","depth","hr","blockquote","top","blockTokens","list","bull","isordered","ordered","start","loose","items","itemRegex","itemContents","endsWithBlankLine","endEarly","line","repeat","nextLine","indent","trimStart","blankLine","nextBulletRegex","min","hrRegex","fencesBeginRegex","headingBeginRegex","rawLine","ischecked","istask","task","checked","trimEnd","spacers","hasMultipleLineBreaks","some","pre","def","table","item","header","align","rows","j","k","row","lheading","paragraph","escape","inRawBlock","trimmedUrl","rtrimSlash","lastParenIndex","findClosingBracket","linkLen","reflink","links","nolink","emStrong","maskedSrc","prevChar","lDelim","punctuation","lLength","rDelim","rLength","delimTotal","midDelimTotal","endReg","rDelimAst","rDelimUnd","lastIndex","lastCharLength","codespan","hasNonSpaceChars","hasSpaceCharsOnBothEnds","br","del","autolink","url","prevCapZero","_backpedal","inlineText","_paragraph","_label","_title","bullet","listItemStart","_tag","_comment","normal","reflinkSearch","_punctuation","blockSkip","anyPunctuation","_scheme","_email","_attribute","_href","strong","middle","endAst","endUnd","em","_extended_email","_Lexer","inlineQueue","create","lex","lexInline","next","lastToken","cutSrc","lastParagraphClipped","_","leading","tabs","extTokenizer","call","startBlock","startIndex","Infinity","tempSrc","tempStart","forEach","getStartIndex","errMsg","charCodeAt","Error","keepPrevChar","keys","lastIndexOf","startInline","_Renderer","infostring","quote","body","listitem","checkbox","tablerow","tablecell","flags","cleanHref","out","_TextRenderer","_Parser","textRenderer","parse","parseInline","renderers","genericToken","ret","parser","headingToken","fromCharCode","parseInt","codeToken","tableToken","cell","blockquoteToken","listToken","itemBody","unshift","htmlToken","paragraphToken","textToken","escapeToken","tagToken","linkToken","imageToken","strongToken","emToken","codespanToken","delToken","_Hooks","static","Set","preprocess","markdown","postprocess","markedInstance","defaults","setOptions","Parser","Renderer","TextRenderer","Lexer","Tokenizer","Hooks","use","callback","values","childTokens","pack","opts","ext","prevRenderer","apply","extLevel","prop","rendererFunc","rendererKey","tokenizerFunc","tokenizerKey","prevTokenizer","hooksFunc","hooksKey","prevHook","passThroughHooks","has","arg","packWalktokens","origOpt","warn","throwError","prototype","all","message","msg","reject","marked","getDefaults","renderMarkdown","prot","decodeURIComponent","unescape","dompurify","highlight","tables","sanitize","smartLists","smartypants","SAFE_FOR_JQUERY","ALLOWED_TAGS","domProps","NcSelect","Markdown","required","appstoreUrl","licence","license","toUpperCase","author","getGroups","localeCompare","directives","rawName","expression","isArray","_i","$$a","$$el","target","$$c","$$v","$$i","slot","missingMinOwnCloudVersion","missingMaxOwnCloudVersion","missingDependencies","dep","internal","website","bugs","documentation","user","admin","developer","description","Vue","VueLocalStorage","APPS_SECTION_ENUM","NcAppContent","AppDetails","AppList","IconStarShooting","NcAppNavigation","NcAppNavigationItem","NcAppNavigationSpacer","NcCounterBubble","NcAppSidebar","NcAppSidebarTab","NcContent","searchQuery","pageHeading","$options","getCategoryById","displayName","loadingList","categories","getCategories","updateCount","getUpdateCount","settings","appSidebar","authorName","xmlNode","subname","background","compact","changelog","release","translations","en","isSubscribed","beforeMount","shouldRefetchCategories","commit","subscribe","setSearch","resetSearch","beforeDestroy","unsubscribe","hideAppDetails","$router","openDeveloperDocumentation","open","developerDocumentation","scopedSlots","_u","enabled","disabled","updates","proxy","supported","appstoreEnabled","featured","cat","ident","ratingOverall","exports","_properties","_namespace","_isSupported","prototypeAccessors","namespace","set","_getLsKey","lsKey","_lsSet","rawValue","JSON","stringify","localStorage","setItem","_lsGet","defaultValue","defaultType","_process","this$1","removeItem","addProperty","parseFloat","array","vueLocalStorage","process","server","SERVER_BUILD","env","VUE_ENV","isSupported","mixin","beforeCreate","config","ref","getOwnPropertyDescriptor","log","configurable","defineProperty","util","defineReactive","factory"],"sourceRoot":""}