From 33f58bbbd1749e3455789f9a789a797bbe73ba0d Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Thu, 1 Aug 2024 20:08:11 +0200 Subject: [PATCH 1/4] fix(LDAP): disabled state can only be configuration indepentend Signed-off-by: Arthur Schiwon --- apps/user_ldap/appinfo/info.xml | 10 +- .../composer/composer/autoload_classmap.php | 1 + .../composer/composer/autoload_static.php | 1 + apps/user_ldap/js/wizard/wizardTabAdvanced.js | 13 - apps/user_ldap/lib/Configuration.php | 13 + apps/user_ldap/lib/Settings/AppSettings.php | 43 ++ apps/user_ldap/lib/User_LDAP.php | 11 +- apps/user_ldap/lib/User_Proxy.php | 17 +- apps/user_ldap/src/AppSettings.vue | 53 ++ apps/user_ldap/src/app-settings.js | 16 + apps/user_ldap/templates/settings-global.php | 13 + apps/user_ldap/templates/settings.php | 1 - dist/user_ldap-app-settings.js | 514 ++++++++++++++++++ dist/user_ldap-app-settings.js.map | 1 + webpack.modules.js | 3 + 15 files changed, 680 insertions(+), 30 deletions(-) create mode 100644 apps/user_ldap/lib/Settings/AppSettings.php create mode 100644 apps/user_ldap/src/AppSettings.vue create mode 100644 apps/user_ldap/src/app-settings.js create mode 100644 apps/user_ldap/templates/settings-global.php create mode 100644 dist/user_ldap-app-settings.js create mode 100644 dist/user_ldap-app-settings.js.map diff --git a/apps/user_ldap/appinfo/info.xml b/apps/user_ldap/appinfo/info.xml index 3b94c0bc4445e..4df884c4717e8 100644 --- a/apps/user_ldap/appinfo/info.xml +++ b/apps/user_ldap/appinfo/info.xml @@ -39,16 +39,17 @@ A user logs into Nextcloud with their LDAP or AD credentials, and is granted acc + + OCA\User_LDAP\Migration\UUIDFixInsert + OCA\User_LDAP\Migration\RemoveRefreshTime + OCA\User_LDAP\Migration\SetDefaultProvider OCA\User_LDAP\Migration\UnsetDefaultProvider - - OCA\User_LDAP\Migration\UUIDFixInsert - OCA\User_LDAP\Migration\RemoveRefreshTime - + @@ -69,6 +70,7 @@ A user logs into Nextcloud with their LDAP or AD credentials, and is granted acc OCA\User_LDAP\Settings\Admin + OCA\User_LDAP\Settings\AppSettings OCA\User_LDAP\Settings\Section diff --git a/apps/user_ldap/composer/composer/autoload_classmap.php b/apps/user_ldap/composer/composer/autoload_classmap.php index 48fe59a9a51cc..ba4b4139240b0 100644 --- a/apps/user_ldap/composer/composer/autoload_classmap.php +++ b/apps/user_ldap/composer/composer/autoload_classmap.php @@ -83,6 +83,7 @@ 'OCA\\User_LDAP\\Service\\BirthdateParserService' => $baseDir . '/../lib/Service/BirthdateParserService.php', 'OCA\\User_LDAP\\Service\\UpdateGroupsService' => $baseDir . '/../lib/Service/UpdateGroupsService.php', 'OCA\\User_LDAP\\Settings\\Admin' => $baseDir . '/../lib/Settings/Admin.php', + 'OCA\\User_LDAP\\Settings\\AppSettings' => $baseDir . '/../lib/Settings/AppSettings.php', 'OCA\\User_LDAP\\Settings\\Section' => $baseDir . '/../lib/Settings/Section.php', 'OCA\\User_LDAP\\SetupChecks\\LdapConnection' => $baseDir . '/../lib/SetupChecks/LdapConnection.php', 'OCA\\User_LDAP\\SetupChecks\\LdapInvalidUuids' => $baseDir . '/../lib/SetupChecks/LdapInvalidUuids.php', diff --git a/apps/user_ldap/composer/composer/autoload_static.php b/apps/user_ldap/composer/composer/autoload_static.php index dd5ad0322af37..b90ca3a96ac7a 100644 --- a/apps/user_ldap/composer/composer/autoload_static.php +++ b/apps/user_ldap/composer/composer/autoload_static.php @@ -98,6 +98,7 @@ class ComposerStaticInitUser_LDAP 'OCA\\User_LDAP\\Service\\BirthdateParserService' => __DIR__ . '/..' . '/../lib/Service/BirthdateParserService.php', 'OCA\\User_LDAP\\Service\\UpdateGroupsService' => __DIR__ . '/..' . '/../lib/Service/UpdateGroupsService.php', 'OCA\\User_LDAP\\Settings\\Admin' => __DIR__ . '/..' . '/../lib/Settings/Admin.php', + 'OCA\\User_LDAP\\Settings\\AppSettings' => __DIR__ . '/..' . '/../lib/Settings/AppSettings.php', 'OCA\\User_LDAP\\Settings\\Section' => __DIR__ . '/..' . '/../lib/Settings/Section.php', 'OCA\\User_LDAP\\SetupChecks\\LdapConnection' => __DIR__ . '/..' . '/../lib/SetupChecks/LdapConnection.php', 'OCA\\User_LDAP\\SetupChecks\\LdapInvalidUuids' => __DIR__ . '/..' . '/../lib/SetupChecks/LdapInvalidUuids.php', diff --git a/apps/user_ldap/js/wizard/wizardTabAdvanced.js b/apps/user_ldap/js/wizard/wizardTabAdvanced.js index 8f0d0aa79732e..10bb2efd17ccf 100644 --- a/apps/user_ldap/js/wizard/wizardTabAdvanced.js +++ b/apps/user_ldap/js/wizard/wizardTabAdvanced.js @@ -66,10 +66,6 @@ OCA = OCA || {}; $element: $('#ldap_attributes_for_user_search'), setMethod: 'setSearchAttributesUsers' }, - ldap_mark_remnants_as_disabled: { - $element: $('#ldap_mark_remnants_as_disabled'), - setMethod: 'setMarkRemnantsAsDisabled' - }, ldap_group_display_name: { $element: $('#ldap_group_display_name'), setMethod: 'setGroupDisplayName' @@ -282,15 +278,6 @@ OCA = OCA || {}; this.setElementValue(this.managedItems.ldap_attributes_for_user_search.$element, attributes); }, - /** - * enables or disables marking remnants as disabled - * - * @param {string} markRemnantsAsDisabled contains an int - */ - setMarkRemnantsAsDisabled: function(markRemnantsAsDisabled) { - this.setElementValue(this.managedItems.ldap_mark_remnants_as_disabled.$element, markRemnantsAsDisabled); - }, - /** * sets the display name attribute for groups * diff --git a/apps/user_ldap/lib/Configuration.php b/apps/user_ldap/lib/Configuration.php index 612a46d618e68..5ec7fca1c2f43 100644 --- a/apps/user_ldap/lib/Configuration.php +++ b/apps/user_ldap/lib/Configuration.php @@ -7,6 +7,7 @@ */ namespace OCA\User_LDAP; +use OCP\IAppConfig; use Psr\Log\LoggerInterface; /** @@ -296,6 +297,9 @@ public function readConfiguration(): void { case 'ldapGroupDisplayName': $readMethod = 'getLcValue'; break; + case 'markRemnantsAsDisabled': + $readMethod = 'getGlobalAppValueAsBool'; + break; case 'ldapUserDisplayName': default: // user display name does not lower case because @@ -340,6 +344,7 @@ public function saveConfiguration(): void { case 'ldapIgnoreNamingRules': case 'ldapUuidUserAttribute': case 'ldapUuidGroupAttribute': + case 'markRemnantsAsDisabled': continue 2; } if (is_null($value)) { @@ -414,6 +419,14 @@ protected function getLcValue(string $varName): string { return mb_strtolower($this->getValue($varName), 'UTF-8'); } + protected function getGlobalAppValueAsBool(string $varName): bool { + static $appConfig; + if (!$appConfig) { + $appConfig = \OCP\Server::get(IAppConfig::class); + } + return $appConfig->getValueBool('user_ldap', $varName, false); + } + protected function getSystemValue(string $varName): string { //FIXME: if another system value is added, softcode the default value return \OC::$server->getConfig()->getSystemValue($varName, false); diff --git a/apps/user_ldap/lib/Settings/AppSettings.php b/apps/user_ldap/lib/Settings/AppSettings.php new file mode 100644 index 0000000000000..cb7ebea6cfca7 --- /dev/null +++ b/apps/user_ldap/lib/Settings/AppSettings.php @@ -0,0 +1,43 @@ +l->t('Configuration-independent settings'); + } + + public function getAuthorizedAppConfig(): array { + return []; + } + + public function getForm(): TemplateResponse { + $this->initialState->provideInitialState('config', [ + 'ldap_mark_remnants_as_disabled' => $this->appConfig->getValueBool('user_ldap', 'ldap_mark_remnants_as_disabled'), + ]); + + return new TemplateResponse('user_ldap', 'settings-global'); + } + + public function getSection(): string { + return 'ldap'; + } + + public function getPriority(): int { + return 9; + } +} diff --git a/apps/user_ldap/lib/User_LDAP.php b/apps/user_ldap/lib/User_LDAP.php index 4273563ff0273..92822de8bd0c9 100644 --- a/apps/user_ldap/lib/User_LDAP.php +++ b/apps/user_ldap/lib/User_LDAP.php @@ -18,11 +18,10 @@ use OCP\Notification\IManager as INotificationManager; use OCP\User\Backend\ICountMappedUsersBackend; use OCP\User\Backend\ICountUsersBackend; -use OCP\User\Backend\IProvideEnabledStateBackend; use OCP\UserInterface; use Psr\Log\LoggerInterface; -class User_LDAP extends BackendUtility implements IUserBackend, UserInterface, IUserLDAP, ICountUsersBackend, ICountMappedUsersBackend, IProvideEnabledStateBackend { +class User_LDAP extends BackendUtility implements IUserBackend, UserInterface, IUserLDAP, ICountUsersBackend, ICountMappedUsersBackend { protected INotificationManager $notificationManager; protected UserPluginManager $userPluginManager; protected LoggerInterface $logger; @@ -632,14 +631,6 @@ public function createUser($username, $password) { return false; } - public function isUserEnabled(string $uid, callable $queryDatabaseValue): bool { - if ($this->deletedUsersIndex->isUserMarked($uid) && ((int)$this->access->connection->markRemnantsAsDisabled === 1)) { - return false; - } else { - return $queryDatabaseValue(); - } - } - public function setUserEnabled(string $uid, bool $enabled, callable $queryDatabaseValue, callable $setDatabaseValue): bool { $setDatabaseValue($enabled); return $enabled; diff --git a/apps/user_ldap/lib/User_Proxy.php b/apps/user_ldap/lib/User_Proxy.php index d3197296d7c0c..b57ce7c920646 100644 --- a/apps/user_ldap/lib/User_Proxy.php +++ b/apps/user_ldap/lib/User_Proxy.php @@ -10,6 +10,7 @@ use OCA\User_LDAP\User\DeletedUsersIndex; use OCA\User_LDAP\User\OfflineUser; use OCA\User_LDAP\User\User; +use OCP\IAppConfig; use OCP\IUserBackend; use OCP\Notification\IManager as INotificationManager; use OCP\User\Backend\ICountMappedUsersBackend; @@ -38,6 +39,7 @@ public function __construct( UserPluginManager $userPluginManager, LoggerInterface $logger, DeletedUsersIndex $deletedUsersIndex, + protected IAppConfig $appConfig, ) { parent::__construct($ldap, $accessFactory); $this->helper = $helper; @@ -422,7 +424,10 @@ public function createUser($username, $password) { } public function isUserEnabled(string $uid, callable $queryDatabaseValue): bool { - return $this->handleRequest($uid, 'isUserEnabled', [$uid, $queryDatabaseValue]); + if (!$this->treatRemnantsAsDisabled()) { + return $queryDatabaseValue(); + } + return !$this->deletedUsersIndex->isUserMarked($uid); } public function setUserEnabled(string $uid, bool $enabled, callable $queryDatabaseValue, callable $setDatabaseValue): bool { @@ -430,7 +435,7 @@ public function setUserEnabled(string $uid, bool $enabled, callable $queryDataba } public function getDisabledUserList(?int $limit = null, int $offset = 0, string $search = ''): array { - if ((int)$this->getAccess(array_key_first($this->backends) ?? '')->connection->markRemnantsAsDisabled !== 1) { + if (!$this->treatRemnantsAsDisabled()) { return []; } $disabledUsers = $this->deletedUsersIndex->getUsers(); @@ -453,4 +458,12 @@ public function getDisabledUserList(?int $limit = null, int $offset = 0, string ) ); } + + protected function treatRemnantsAsDisabled(): bool { + static $setting; + if (!$setting) { + $setting = $this->appConfig->getValueBool('user_ldap', 'markRemnantsAsDisabled', false); + } + return $setting; + } } diff --git a/apps/user_ldap/src/AppSettings.vue b/apps/user_ldap/src/AppSettings.vue new file mode 100644 index 0000000000000..83efbf7d253ec --- /dev/null +++ b/apps/user_ldap/src/AppSettings.vue @@ -0,0 +1,53 @@ + + + + + + diff --git a/apps/user_ldap/src/app-settings.js b/apps/user_ldap/src/app-settings.js new file mode 100644 index 0000000000000..7e95d3af21148 --- /dev/null +++ b/apps/user_ldap/src/app-settings.js @@ -0,0 +1,16 @@ +/** + * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +import { translate } from '@nextcloud/l10n' +import Vue from 'vue' + +import AppSettings from './AppSettings.vue' + +Vue.prototype.t = translate +export default new Vue({ + el: '#user_ldap-app-settings', + // eslint-disable-next-line vue/match-component-file-name + name: 'AppSettings', + render: h => h(AppSettings), +}) diff --git a/apps/user_ldap/templates/settings-global.php b/apps/user_ldap/templates/settings-global.php new file mode 100644 index 0000000000000..c6a9d2d4acebe --- /dev/null +++ b/apps/user_ldap/templates/settings-global.php @@ -0,0 +1,13 @@ + + +
diff --git a/apps/user_ldap/templates/settings.php b/apps/user_ldap/templates/settings.php index 4fb24655000d8..265d0a953fb28 100644 --- a/apps/user_ldap/templates/settings.php +++ b/apps/user_ldap/templates/settings.php @@ -97,7 +97,6 @@

t('Optional. An LDAP attribute to be added to the display name in brackets. Results in e.g. »John Doe (john.doe@example.org)«.'));?>

t('Base User Tree'));?>

t('User Search Attributes'));?>

-

t('When switched on, users imported from LDAP which are then missing will be disabled'));?>

t('The LDAP attribute to use to generate the groups\'s display name.'));?>

t('Base Group Tree'));?>

t('Group Search Attributes'));?>

diff --git a/dist/user_ldap-app-settings.js b/dist/user_ldap-app-settings.js new file mode 100644 index 0000000000000..cbbcbf7e9669c --- /dev/null +++ b/dist/user_ldap-app-settings.js @@ -0,0 +1,514 @@ +/******/ (() => { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ({ + +/***/ "./apps/user_ldap/src/app-settings.js": +/*!********************************************!*\ + !*** ./apps/user_ldap/src/app-settings.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _nextcloud_l10n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nextcloud/l10n */ "./node_modules/@nextcloud/l10n/dist/index.mjs"); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.runtime.esm.js"); +/* harmony import */ var _AppSettings_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppSettings.vue */ "./apps/user_ldap/src/AppSettings.vue"); +/** + * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + + + +vue__WEBPACK_IMPORTED_MODULE_2__["default"].prototype.t = _nextcloud_l10n__WEBPACK_IMPORTED_MODULE_0__.translate; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (new vue__WEBPACK_IMPORTED_MODULE_2__["default"]({ + el: '#user_ldap-app-settings', + // eslint-disable-next-line vue/match-component-file-name + name: 'AppSettings', + render: h => h(_AppSettings_vue__WEBPACK_IMPORTED_MODULE_1__["default"]) +})); + +/***/ }), + +/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/user_ldap/src/AppSettings.vue?vue&type=script&lang=js": +/*!************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/user_ldap/src/AppSettings.vue?vue&type=script&lang=js ***! + \************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _nextcloud_dialogs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nextcloud/dialogs */ "./node_modules/@nextcloud/dialogs/dist/index.mjs"); +/* harmony import */ var _nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @nextcloud/initial-state */ "./node_modules/@nextcloud/initial-state/dist/index.mjs"); +/* harmony import */ var _nextcloud_vue_dist_Components_NcCheckboxRadioSwitch_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js */ "./node_modules/@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.mjs"); +/* harmony import */ var _nextcloud_vue_dist_Components_NcSettingsSection_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @nextcloud/vue/dist/Components/NcSettingsSection.js */ "./node_modules/@nextcloud/vue/dist/Components/NcSettingsSection.mjs"); +/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ "./node_modules/console-browserify/index.js"); + + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + name: 'AppSettings', + components: { + NcCheckboxRadioSwitch: _nextcloud_vue_dist_Components_NcCheckboxRadioSwitch_js__WEBPACK_IMPORTED_MODULE_2__["default"], + NcSettingsSection: _nextcloud_vue_dist_Components_NcSettingsSection_js__WEBPACK_IMPORTED_MODULE_3__["default"] + }, + data() { + console.log((0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_1__.loadState)('user_ldap', 'config')); + return { + config: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_1__.loadState)('user_ldap', 'config') + }; + }, + methods: { + async updateBoolSetting(setting) { + OCP.AppConfig.setValue('user_ldap', setting, this.config[setting] ? '0' : '1', { + success: () => { + (0,_nextcloud_dialogs__WEBPACK_IMPORTED_MODULE_0__.showSuccess)(t('user_ldap', 'Settings saved')); + this.config[setting] = !this.config[setting]; + }, + error: () => (0,_nextcloud_dialogs__WEBPACK_IMPORTED_MODULE_0__.showError)(t('user_ldap', 'Error while saving settings')) + }); + } + } +}); + +/***/ }), + +/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/user_ldap/src/AppSettings.vue?vue&type=template&id=a1346a54": +/*!***********************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/user_ldap/src/AppSettings.vue?vue&type=template&id=a1346a54 ***! + \***********************************************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ render: () => (/* binding */ render), +/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) +/* harmony export */ }); +var render = function render() { + var _vm = this, + _c = _vm._self._c; + return _c("NcSettingsSection", { + attrs: { + name: _vm.t("user_ldap", "Configuration-independent settings") + } + }, [_c("ul", { + staticClass: "user_ldap__app-settings-list" + }, [_c("li", [_c("NcCheckboxRadioSwitch", { + attrs: { + checked: _vm.config.ldap_mark_remnants_as_disabled, + type: "switch" + }, + on: { + "update:checked": function ($event) { + return _vm.updateBoolSetting("ldap_mark_remnants_as_disabled"); + } + } + }, [_vm._v("\n\t\t\t\t" + _vm._s(_vm.t("user_ldap", "Disable users missing from LDAP")) + "\n\t\t\t")])], 1)])]); +}; +var staticRenderFns = []; +render._withStripped = true; + + +/***/ }), + +/***/ "./apps/user_ldap/src/AppSettings.vue": +/*!********************************************!*\ + !*** ./apps/user_ldap/src/AppSettings.vue ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _AppSettings_vue_vue_type_template_id_a1346a54__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppSettings.vue?vue&type=template&id=a1346a54 */ "./apps/user_ldap/src/AppSettings.vue?vue&type=template&id=a1346a54"); +/* harmony import */ var _AppSettings_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppSettings.vue?vue&type=script&lang=js */ "./apps/user_ldap/src/AppSettings.vue?vue&type=script&lang=js"); +/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); + + + + + +/* normalize component */ +; +var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])( + _AppSettings_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__["default"], + _AppSettings_vue_vue_type_template_id_a1346a54__WEBPACK_IMPORTED_MODULE_0__.render, + _AppSettings_vue_vue_type_template_id_a1346a54__WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "apps/user_ldap/src/AppSettings.vue" +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); + +/***/ }), + +/***/ "./apps/user_ldap/src/AppSettings.vue?vue&type=script&lang=js": +/*!********************************************************************!*\ + !*** ./apps/user_ldap/src/AppSettings.vue?vue&type=script&lang=js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettings_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSettings.vue?vue&type=script&lang=js */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/user_ldap/src/AppSettings.vue?vue&type=script&lang=js"); + /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettings_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__["default"]); + +/***/ }), + +/***/ "./apps/user_ldap/src/AppSettings.vue?vue&type=template&id=a1346a54": +/*!**************************************************************************!*\ + !*** ./apps/user_ldap/src/AppSettings.vue?vue&type=template&id=a1346a54 ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettings_vue_vue_type_template_id_a1346a54__WEBPACK_IMPORTED_MODULE_0__.render), +/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettings_vue_vue_type_template_id_a1346a54__WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) +/* harmony export */ }); +/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettings_vue_vue_type_template_id_a1346a54__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSettings.vue?vue&type=template&id=a1346a54 */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/user_ldap/src/AppSettings.vue?vue&type=template&id=a1346a54"); + + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ id: moduleId, +/******/ loaded: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.loaded = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = __webpack_modules__; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/chunk loaded */ +/******/ (() => { +/******/ var deferred = []; +/******/ __webpack_require__.O = (result, chunkIds, fn, priority) => { +/******/ if(chunkIds) { +/******/ priority = priority || 0; +/******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1]; +/******/ deferred[i] = [chunkIds, fn, priority]; +/******/ return; +/******/ } +/******/ var notFulfilled = Infinity; +/******/ for (var i = 0; i < deferred.length; i++) { +/******/ var chunkIds = deferred[i][0]; +/******/ var fn = deferred[i][1]; +/******/ var priority = deferred[i][2]; +/******/ var fulfilled = true; +/******/ for (var j = 0; j < chunkIds.length; j++) { +/******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) { +/******/ chunkIds.splice(j--, 1); +/******/ } else { +/******/ fulfilled = false; +/******/ if(priority < notFulfilled) notFulfilled = priority; +/******/ } +/******/ } +/******/ if(fulfilled) { +/******/ deferred.splice(i--, 1) +/******/ var r = fn(); +/******/ if (r !== undefined) result = r; +/******/ } +/******/ } +/******/ return result; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/ensure chunk */ +/******/ (() => { +/******/ __webpack_require__.f = {}; +/******/ // This file contains only the entry chunk. +/******/ // The chunk loading function for additional chunks +/******/ __webpack_require__.e = (chunkId) => { +/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { +/******/ __webpack_require__.f[key](chunkId, promises); +/******/ return promises; +/******/ }, [])); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/get javascript chunk filename */ +/******/ (() => { +/******/ // This function allow to reference async chunks +/******/ __webpack_require__.u = (chunkId) => { +/******/ // return url for filenames based on template +/******/ return "" + chunkId + "-" + chunkId + ".js?v=" + {"node_modules_nextcloud_dialogs_dist_chunks_index-CYiQsZoY_mjs":"6d1a1c73294102473dbb","data_image_svg_xml_3c_21--_20-_20SPDX-FileCopyrightText_202020_20Google_20Inc_20-_20SPDX-Lice-dcf99b":"07f50df7efd5449f1f46"}[chunkId] + ""; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/load script */ +/******/ (() => { +/******/ var inProgress = {}; +/******/ var dataWebpackPrefix = "nextcloud:"; +/******/ // loadScript function to load a script via script tag +/******/ __webpack_require__.l = (url, done, key, chunkId) => { +/******/ if(inProgress[url]) { inProgress[url].push(done); return; } +/******/ var script, needAttach; +/******/ if(key !== undefined) { +/******/ var scripts = document.getElementsByTagName("script"); +/******/ for(var i = 0; i < scripts.length; i++) { +/******/ var s = scripts[i]; +/******/ if(s.getAttribute("src") == url || s.getAttribute("data-webpack") == dataWebpackPrefix + key) { script = s; break; } +/******/ } +/******/ } +/******/ if(!script) { +/******/ needAttach = true; +/******/ script = document.createElement('script'); +/******/ +/******/ script.charset = 'utf-8'; +/******/ script.timeout = 120; +/******/ if (__webpack_require__.nc) { +/******/ script.setAttribute("nonce", __webpack_require__.nc); +/******/ } +/******/ script.setAttribute("data-webpack", dataWebpackPrefix + key); +/******/ +/******/ script.src = url; +/******/ } +/******/ inProgress[url] = [done]; +/******/ var onScriptComplete = (prev, event) => { +/******/ // avoid mem leaks in IE. +/******/ script.onerror = script.onload = null; +/******/ clearTimeout(timeout); +/******/ var doneFns = inProgress[url]; +/******/ delete inProgress[url]; +/******/ script.parentNode && script.parentNode.removeChild(script); +/******/ doneFns && doneFns.forEach((fn) => (fn(event))); +/******/ if(prev) return prev(event); +/******/ } +/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); +/******/ script.onerror = onScriptComplete.bind(null, script.onerror); +/******/ script.onload = onScriptComplete.bind(null, script.onload); +/******/ needAttach && document.head.appendChild(script); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/node module decorator */ +/******/ (() => { +/******/ __webpack_require__.nmd = (module) => { +/******/ module.paths = []; +/******/ if (!module.children) module.children = []; +/******/ return module; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/publicPath */ +/******/ (() => { +/******/ var scriptUrl; +/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + ""; +/******/ var document = __webpack_require__.g.document; +/******/ if (!scriptUrl && document) { +/******/ if (document.currentScript) +/******/ scriptUrl = document.currentScript.src; +/******/ if (!scriptUrl) { +/******/ var scripts = document.getElementsByTagName("script"); +/******/ if(scripts.length) { +/******/ var i = scripts.length - 1; +/******/ while (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src; +/******/ } +/******/ } +/******/ } +/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration +/******/ // or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic. +/******/ if (!scriptUrl) throw new Error("Automatic publicPath is not supported in this browser"); +/******/ scriptUrl = scriptUrl.replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/"); +/******/ __webpack_require__.p = scriptUrl; +/******/ })(); +/******/ +/******/ /* webpack/runtime/jsonp chunk loading */ +/******/ (() => { +/******/ __webpack_require__.b = document.baseURI || self.location.href; +/******/ +/******/ // object to store loaded and loading chunks +/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched +/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded +/******/ var installedChunks = { +/******/ "user_ldap-app-settings": 0 +/******/ }; +/******/ +/******/ __webpack_require__.f.j = (chunkId, promises) => { +/******/ // JSONP chunk loading for javascript +/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; +/******/ if(installedChunkData !== 0) { // 0 means "already installed". +/******/ +/******/ // a Promise means "currently loading". +/******/ if(installedChunkData) { +/******/ promises.push(installedChunkData[2]); +/******/ } else { +/******/ if(true) { // all chunks have JS +/******/ // setup Promise in chunk cache +/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); +/******/ promises.push(installedChunkData[2] = promise); +/******/ +/******/ // start chunk loading +/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); +/******/ // create error before stack unwound to get useful stacktrace later +/******/ var error = new Error(); +/******/ var loadingEnded = (event) => { +/******/ if(__webpack_require__.o(installedChunks, chunkId)) { +/******/ installedChunkData = installedChunks[chunkId]; +/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; +/******/ if(installedChunkData) { +/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); +/******/ var realSrc = event && event.target && event.target.src; +/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')'; +/******/ error.name = 'ChunkLoadError'; +/******/ error.type = errorType; +/******/ error.request = realSrc; +/******/ installedChunkData[1](error); +/******/ } +/******/ } +/******/ }; +/******/ __webpack_require__.l(url, loadingEnded, "chunk-" + chunkId, chunkId); +/******/ } +/******/ } +/******/ } +/******/ }; +/******/ +/******/ // no prefetching +/******/ +/******/ // no preloaded +/******/ +/******/ // no HMR +/******/ +/******/ // no HMR manifest +/******/ +/******/ __webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0); +/******/ +/******/ // install a JSONP callback for chunk loading +/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { +/******/ var chunkIds = data[0]; +/******/ var moreModules = data[1]; +/******/ var runtime = data[2]; +/******/ // add "moreModules" to the modules object, +/******/ // then flag all "chunkIds" as loaded and fire callback +/******/ var moduleId, chunkId, i = 0; +/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { +/******/ for(moduleId in moreModules) { +/******/ if(__webpack_require__.o(moreModules, moduleId)) { +/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; +/******/ } +/******/ } +/******/ if(runtime) var result = runtime(__webpack_require__); +/******/ } +/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); +/******/ for(;i < chunkIds.length; i++) { +/******/ chunkId = chunkIds[i]; +/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { +/******/ installedChunks[chunkId][0](); +/******/ } +/******/ installedChunks[chunkId] = 0; +/******/ } +/******/ return __webpack_require__.O(result); +/******/ } +/******/ +/******/ var chunkLoadingGlobal = self["webpackChunknextcloud"] = self["webpackChunknextcloud"] || []; +/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); +/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); +/******/ })(); +/******/ +/******/ /* webpack/runtime/nonce */ +/******/ (() => { +/******/ __webpack_require__.nc = undefined; +/******/ })(); +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module depends on other loaded chunks and execution need to be delayed +/******/ var __webpack_exports__ = __webpack_require__.O(undefined, ["core-common"], () => (__webpack_require__("./apps/user_ldap/src/app-settings.js"))) +/******/ __webpack_exports__ = __webpack_require__.O(__webpack_exports__); +/******/ +/******/ })() +; +//# sourceMappingURL=user_ldap-app-settings.js.map?v=6b08b9f586c62fbcd0ba \ No newline at end of file diff --git a/dist/user_ldap-app-settings.js.map b/dist/user_ldap-app-settings.js.map new file mode 100644 index 0000000000000..b663807aae64f --- /dev/null +++ b/dist/user_ldap-app-settings.js.map @@ -0,0 +1 @@ +{"version":3,"file":"user_ldap-app-settings.js?v=6b08b9f586c62fbcd0ba","mappings":";;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;;;;;;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACRA;AACA;AACA;AACA;AACA;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACNA;AACA;AACA;AACA;AACA;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACvFA;;;;;AEAA;AACA;AACA;AACA;AACA","sources":["webpack:///nextcloud/apps/user_ldap/src/app-settings.js","webpack:///nextcloud/apps/user_ldap/src/AppSettings.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/user_ldap/src/AppSettings.vue?vue&type=template&id=a1346a54","webpack:///nextcloud/apps/user_ldap/src/AppSettings.vue","webpack://nextcloud/./apps/user_ldap/src/AppSettings.vue?4459","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/before-startup","webpack:///nextcloud/webpack/startup","webpack:///nextcloud/webpack/after-startup"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { translate } from '@nextcloud/l10n';\nimport Vue from 'vue';\nimport AppSettings from \"./AppSettings.vue\";\nVue.prototype.t = translate;\nexport default new Vue({\n el: '#user_ldap-app-settings',\n // eslint-disable-next-line vue/match-component-file-name\n name: 'AppSettings',\n render: h => h(AppSettings)\n});","import { showError, showSuccess } from '@nextcloud/dialogs';\nimport { loadState } from '@nextcloud/initial-state';\nimport NcCheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js';\nimport NcSettingsSection from '@nextcloud/vue/dist/Components/NcSettingsSection.js';\nexport default {\n name: 'AppSettings',\n components: {\n NcCheckboxRadioSwitch,\n NcSettingsSection\n },\n data() {\n console.log(loadState('user_ldap', 'config'));\n return {\n config: loadState('user_ldap', 'config')\n };\n },\n methods: {\n async updateBoolSetting(setting) {\n OCP.AppConfig.setValue('user_ldap', setting, this.config[setting] ? '0' : '1', {\n success: () => {\n showSuccess(t('user_ldap', 'Settings saved'));\n this.config[setting] = !this.config[setting];\n },\n error: () => showError(t('user_ldap', 'Error while saving settings'))\n });\n }\n }\n};","var render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"NcSettingsSection\", {\n attrs: {\n name: _vm.t(\"user_ldap\", \"Configuration-independent settings\")\n }\n }, [_c(\"ul\", {\n staticClass: \"user_ldap__app-settings-list\"\n }, [_c(\"li\", [_c(\"NcCheckboxRadioSwitch\", {\n attrs: {\n checked: _vm.config.ldap_mark_remnants_as_disabled,\n type: \"switch\"\n },\n on: {\n \"update:checked\": function ($event) {\n return _vm.updateBoolSetting(\"ldap_mark_remnants_as_disabled\");\n }\n }\n }, [_vm._v(\"\\n\\t\\t\\t\\t\" + _vm._s(_vm.t(\"user_ldap\", \"Disable users missing from LDAP\")) + \"\\n\\t\\t\\t\")])], 1)])]);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\nexport { render, staticRenderFns };","import { render, staticRenderFns } from \"./AppSettings.vue?vue&type=template&id=a1346a54\"\nimport script from \"./AppSettings.vue?vue&type=script&lang=js\"\nexport * from \"./AppSettings.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\n/* hot reload */\nif (module.hot) {\n var api = require(\"/srv/http/nextcloud/master/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('a1346a54')) {\n api.createRecord('a1346a54', component.options)\n } else {\n api.reload('a1346a54', component.options)\n }\n module.hot.accept(\"./AppSettings.vue?vue&type=template&id=a1346a54\", function () {\n api.rerender('a1346a54', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/user_ldap/src/AppSettings.vue\"\nexport default component.exports","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSettings.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!./AppSettings.vue?vue&type=script&lang=js\"","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"node_modules_nextcloud_dialogs_dist_chunks_index-CYiQsZoY_mjs\":\"6d1a1c73294102473dbb\",\"data_image_svg_xml_3c_21--_20-_20SPDX-FileCopyrightText_202020_20Google_20Inc_20-_20SPDX-Lice-dcf99b\":\"07f50df7efd5449f1f46\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"user_ldap-app-settings\": 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [\"core-common\"], () => (__webpack_require__(\"./apps/user_ldap/src/app-settings.js\")))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/webpack.modules.js b/webpack.modules.js index 1f29707611be0..ffd5aeb2518e3 100644 --- a/webpack.modules.js +++ b/webpack.modules.js @@ -105,6 +105,9 @@ module.exports = { 'view-changelog-page': path.join(__dirname, 'apps/updatenotification/src', 'view-changelog-page.ts'), updatenotification: path.join(__dirname, 'apps/updatenotification/src', 'updatenotification.js'), }, + user_ldap: { + 'app-settings': path.join(__dirname, 'apps/user_ldap/src', 'app-settings.js'), + }, user_status: { menu: path.join(__dirname, 'apps/user_status/src', 'menu.js'), }, From 6a7d8517542142546f1bfe5b42a3d879f1ff3b8f Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Fri, 2 Aug 2024 17:06:54 +0200 Subject: [PATCH 2/4] fix(LDAP): add migration step to set and clean up config value - *ldap_mark_remnants_as_disabled were old values and removed now, after - combining their value and storing into current backend_mark_remnants_as_disabled Signed-off-by: Arthur Schiwon --- apps/user_ldap/appinfo/info.xml | 3 +- .../composer/composer/autoload_classmap.php | 1 + .../composer/composer/autoload_static.php | 1 + apps/user_ldap/lib/Configuration.php | 4 +- .../RearrangeMarkRemnantsAsDisabled.php | 54 +++++++++++++++++++ apps/user_ldap/lib/Settings/AppSettings.php | 2 +- apps/user_ldap/src/AppSettings.vue | 4 +- 7 files changed, 63 insertions(+), 6 deletions(-) create mode 100644 apps/user_ldap/lib/Migration/RearrangeMarkRemnantsAsDisabled.php diff --git a/apps/user_ldap/appinfo/info.xml b/apps/user_ldap/appinfo/info.xml index 4df884c4717e8..503d3ddad0e27 100644 --- a/apps/user_ldap/appinfo/info.xml +++ b/apps/user_ldap/appinfo/info.xml @@ -14,7 +14,7 @@ A user logs into Nextcloud with their LDAP or AD credentials, and is granted access based on an authentication request handled by the LDAP or AD server. Nextcloud does not store LDAP or AD passwords, rather these credentials are used to authenticate a user and then Nextcloud uses a session for the user ID. More information is available in the LDAP User and Group Backend documentation. - 1.21.0 + 1.21.1 agpl Dominik Schmidt Arthur Schiwon @@ -42,6 +42,7 @@ A user logs into Nextcloud with their LDAP or AD credentials, and is granted acc OCA\User_LDAP\Migration\UUIDFixInsert OCA\User_LDAP\Migration\RemoveRefreshTime + OCA\User_LDAP\Migration\RearrangeMarkRemnantsAsDisabled OCA\User_LDAP\Migration\SetDefaultProvider diff --git a/apps/user_ldap/composer/composer/autoload_classmap.php b/apps/user_ldap/composer/composer/autoload_classmap.php index ba4b4139240b0..771b30b2be801 100644 --- a/apps/user_ldap/composer/composer/autoload_classmap.php +++ b/apps/user_ldap/composer/composer/autoload_classmap.php @@ -61,6 +61,7 @@ 'OCA\\User_LDAP\\Mapping\\GroupMapping' => $baseDir . '/../lib/Mapping/GroupMapping.php', 'OCA\\User_LDAP\\Mapping\\UserMapping' => $baseDir . '/../lib/Mapping/UserMapping.php', 'OCA\\User_LDAP\\Migration\\GroupMappingMigration' => $baseDir . '/../lib/Migration/GroupMappingMigration.php', + 'OCA\\User_LDAP\\Migration\\RearrangeMarkRemnantsAsDisabled' => $baseDir . '/../lib/Migration/RearrangeMarkRemnantsAsDisabled.php', 'OCA\\User_LDAP\\Migration\\RemoveRefreshTime' => $baseDir . '/../lib/Migration/RemoveRefreshTime.php', 'OCA\\User_LDAP\\Migration\\SetDefaultProvider' => $baseDir . '/../lib/Migration/SetDefaultProvider.php', 'OCA\\User_LDAP\\Migration\\UUIDFix' => $baseDir . '/../lib/Migration/UUIDFix.php', diff --git a/apps/user_ldap/composer/composer/autoload_static.php b/apps/user_ldap/composer/composer/autoload_static.php index b90ca3a96ac7a..bc02462714a93 100644 --- a/apps/user_ldap/composer/composer/autoload_static.php +++ b/apps/user_ldap/composer/composer/autoload_static.php @@ -76,6 +76,7 @@ class ComposerStaticInitUser_LDAP 'OCA\\User_LDAP\\Mapping\\GroupMapping' => __DIR__ . '/..' . '/../lib/Mapping/GroupMapping.php', 'OCA\\User_LDAP\\Mapping\\UserMapping' => __DIR__ . '/..' . '/../lib/Mapping/UserMapping.php', 'OCA\\User_LDAP\\Migration\\GroupMappingMigration' => __DIR__ . '/..' . '/../lib/Migration/GroupMappingMigration.php', + 'OCA\\User_LDAP\\Migration\\RearrangeMarkRemnantsAsDisabled' => __DIR__ . '/..' . '/../lib/Migration/RearrangeMarkRemnantsAsDisabled.php', 'OCA\\User_LDAP\\Migration\\RemoveRefreshTime' => __DIR__ . '/..' . '/../lib/Migration/RemoveRefreshTime.php', 'OCA\\User_LDAP\\Migration\\SetDefaultProvider' => __DIR__ . '/..' . '/../lib/Migration/SetDefaultProvider.php', 'OCA\\User_LDAP\\Migration\\UUIDFix' => __DIR__ . '/..' . '/../lib/Migration/UUIDFix.php', diff --git a/apps/user_ldap/lib/Configuration.php b/apps/user_ldap/lib/Configuration.php index 5ec7fca1c2f43..5092cff73261f 100644 --- a/apps/user_ldap/lib/Configuration.php +++ b/apps/user_ldap/lib/Configuration.php @@ -527,7 +527,7 @@ public function getDefaults(): array { 'ldap_expert_uuid_group_attr' => '', 'has_memberof_filter_support' => 0, 'use_memberof_to_detect_membership' => 1, - 'ldap_mark_remnants_as_disabled' => 0, + 'backend_mark_remnants_as_disabled' => 0, 'last_jpegPhoto_lookup' => 0, 'ldap_nested_groups' => 0, 'ldap_paging_size' => 500, @@ -606,7 +606,7 @@ public function getConfigTranslationArray(): array { 'ldap_expert_uuid_group_attr' => 'ldapExpertUUIDGroupAttr', 'has_memberof_filter_support' => 'hasMemberOfFilterSupport', 'use_memberof_to_detect_membership' => 'useMemberOfToDetectMembership', - 'ldap_mark_remnants_as_disabled' => 'markRemnantsAsDisabled', + 'backend_mark_remnants_as_disabled' => 'markRemnantsAsDisabled', 'last_jpegPhoto_lookup' => 'lastJpegPhotoLookup', 'ldap_nested_groups' => 'ldapNestedGroups', 'ldap_paging_size' => 'ldapPagingSize', diff --git a/apps/user_ldap/lib/Migration/RearrangeMarkRemnantsAsDisabled.php b/apps/user_ldap/lib/Migration/RearrangeMarkRemnantsAsDisabled.php new file mode 100644 index 0000000000000..182b6cce0f260 --- /dev/null +++ b/apps/user_ldap/lib/Migration/RearrangeMarkRemnantsAsDisabled.php @@ -0,0 +1,54 @@ +appConfig->getKeys('user_ldap'); + + if (in_array('backend_mark_remnants_as_disabled', $allKeys, true)) { + return; + } + + // if it was enabled for at least one configuration, use it as global configuration + $filteredKeys = array_filter($allKeys, static function (string $key): bool { + return str_contains($key, 'ldap_mark_remnants_as_disabled'); + }); + $newValue = false; + foreach ($filteredKeys as $filteredKey) { + $newValue = $newValue || $this->appConfig->getValueBool('user_ldap', $filteredKey); + } + + // set the new value + $this->appConfig->setValueBool('user_ldap', 'backend_mark_remnants_as_disabled', $newValue); + if ($newValue) { + $output->info('The option "Disable missing users from LDAP" is activated.'); + } + + // clean up now that the new value is saved + foreach ($filteredKeys as $filteredKey) { + $this->appConfig->deleteKey('user_ldap', $filteredKey); + } + } +} diff --git a/apps/user_ldap/lib/Settings/AppSettings.php b/apps/user_ldap/lib/Settings/AppSettings.php index cb7ebea6cfca7..abe9f4938ea20 100644 --- a/apps/user_ldap/lib/Settings/AppSettings.php +++ b/apps/user_ldap/lib/Settings/AppSettings.php @@ -27,7 +27,7 @@ public function getAuthorizedAppConfig(): array { public function getForm(): TemplateResponse { $this->initialState->provideInitialState('config', [ - 'ldap_mark_remnants_as_disabled' => $this->appConfig->getValueBool('user_ldap', 'ldap_mark_remnants_as_disabled'), + 'backend_mark_remnants_as_disabled' => $this->appConfig->getValueBool('user_ldap', 'backend_mark_remnants_as_disabled'), ]); return new TemplateResponse('user_ldap', 'settings-global'); diff --git a/apps/user_ldap/src/AppSettings.vue b/apps/user_ldap/src/AppSettings.vue index 83efbf7d253ec..9df4f3e2e653a 100644 --- a/apps/user_ldap/src/AppSettings.vue +++ b/apps/user_ldap/src/AppSettings.vue @@ -7,9 +7,9 @@
  • - + @update:checked="updateBoolSetting('backend_mark_remnants_as_disabled')"> {{ t('user_ldap', 'Disable users missing from LDAP') }}
  • From e7a944f44d3099d132df6cb9b46fd7cababfbcdd Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Fri, 2 Aug 2024 17:08:25 +0200 Subject: [PATCH 3/4] fix(LDAP): harmonize template name Signed-off-by: Arthur Schiwon --- apps/user_ldap/lib/Settings/AppSettings.php | 2 +- .../templates/{settings-global.php => app-settings.php} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename apps/user_ldap/templates/{settings-global.php => app-settings.php} (100%) diff --git a/apps/user_ldap/lib/Settings/AppSettings.php b/apps/user_ldap/lib/Settings/AppSettings.php index abe9f4938ea20..1fb2ad4a5c7f4 100644 --- a/apps/user_ldap/lib/Settings/AppSettings.php +++ b/apps/user_ldap/lib/Settings/AppSettings.php @@ -30,7 +30,7 @@ public function getForm(): TemplateResponse { 'backend_mark_remnants_as_disabled' => $this->appConfig->getValueBool('user_ldap', 'backend_mark_remnants_as_disabled'), ]); - return new TemplateResponse('user_ldap', 'settings-global'); + return new TemplateResponse('user_ldap', 'app-settings'); } public function getSection(): string { diff --git a/apps/user_ldap/templates/settings-global.php b/apps/user_ldap/templates/app-settings.php similarity index 100% rename from apps/user_ldap/templates/settings-global.php rename to apps/user_ldap/templates/app-settings.php From 6a0351e0ae0171a5526403822f4bfbfb2718b16f Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Fri, 2 Aug 2024 19:01:17 +0200 Subject: [PATCH 4/4] build(JS): compile assets Signed-off-by: Arthur Schiwon --- ...settings-vue-settings-personal-password.js | 4 +- ...ings-vue-settings-personal-password.js.map | 2 +- dist/user_ldap-app-settings.js | 516 +----------------- dist/user_ldap-app-settings.js.license | 194 +++++++ dist/user_ldap-app-settings.js.map | 2 +- dist/user_ldap-app-settings.js.map.license | 1 + dist/user_status-menu.js | 4 +- dist/user_status-menu.js.map | 2 +- dist/weather_status-weather-status.js | 4 +- dist/weather_status-weather-status.js.map | 2 +- 10 files changed, 207 insertions(+), 524 deletions(-) create mode 100644 dist/user_ldap-app-settings.js.license create mode 120000 dist/user_ldap-app-settings.js.map.license diff --git a/dist/settings-vue-settings-personal-password.js b/dist/settings-vue-settings-personal-password.js index 0f203e23c25f9..b842ad3cf2c3d 100644 --- a/dist/settings-vue-settings-personal-password.js +++ b/dist/settings-vue-settings-personal-password.js @@ -1,2 +1,2 @@ -(()=>{"use strict";var t,e,n,s={85526:(t,e,n)=>{var s=n(85471),o=n(88837),r=n(54332),a=n(16044),i=n(65043),l=n(63814),d=n(85168);const c={name:"PasswordSection",components:{NcSettingsSection:o.A,NcButton:r.A,NcPasswordField:a.A},data:()=>({oldPass:"",newPass:""}),methods:{changePassword(){i.Ay.post((0,l.Jv)("/settings/personal/changepassword"),{oldpassword:this.oldPass,newpassword:this.newPass}).then((t=>t.data)).then((t=>{"error"===t.status?(this.errorMessage=t.data.message,(0,d.Qg)(t.data.message)):(0,d.Te)(t.data.message)}))}}};var p=n(85072),u=n.n(p),m=n(97825),w=n.n(m),f=n(77659),h=n.n(f),g=n(55056),v=n.n(g),b=n(10540),P=n.n(b),A=n(41113),y=n.n(A),x=n(30514),S={};S.styleTagTransform=y(),S.setAttributes=v(),S.insert=h().bind(null,"head"),S.domAPI=w(),S.insertStyleElement=P(),u()(x.A,S),x.A&&x.A.locals&&x.A.locals;const N=(0,n(14486).A)(c,(function(){var t=this,e=t._self._c;return e("NcSettingsSection",{attrs:{name:t.t("settings","Password")}},[e("form",{attrs:{id:"passwordform",method:"POST"},on:{submit:function(e){return e.preventDefault(),t.changePassword.apply(null,arguments)}}},[e("NcPasswordField",{attrs:{id:"old-pass",label:t.t("settings","Current password"),name:"oldpassword",value:t.oldPass,autocomplete:"current-password",autocapitalize:"none",spellcheck:"false"},on:{"update:value":function(e){t.oldPass=e}}}),t._v(" "),e("NcPasswordField",{attrs:{id:"new-pass",label:t.t("settings","New password"),value:t.newPass,maxlength:469,autocomplete:"new-password",autocapitalize:"none",spellcheck:"false","check-password-strength":!0},on:{"update:value":function(e){t.newPass=e}}}),t._v(" "),e("NcButton",{attrs:{type:"primary","native-type":"submit",disabled:0===t.newPass.length||0===t.oldPass.length}},[t._v("\n\t\t\t"+t._s(t.t("settings","Change password"))+"\n\t\t")])],1)])}),[],!1,null,null,null).exports;var C=n(53334);n.nc=btoa(OC.requestToken),s.Ay.prototype.t=C.Tl,s.Ay.prototype.n=C.zw,new s.Ay({el:"#security-password",name:"main-personal-password",render:t=>t(N)})},30514:(t,e,n)=>{n.d(e,{A:()=>i});var s=n(71354),o=n.n(s),r=n(76314),a=n.n(r)()(o());a.push([t.id,"\n#passwordform {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 1rem;\n\tmax-width: 400px;\n}\n","",{version:3,sources:["webpack://./apps/settings/src/components/PasswordSection.vue"],names:[],mappings:";AAmFA;CACA,aAAA;CACA,sBAAA;CACA,SAAA;CACA,gBAAA;AACA",sourcesContent:['\x3c!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n--\x3e\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!./PasswordSection.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!./PasswordSection.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordSection.vue?vue&type=style&index=0&id=62d50055&prod&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordSection.vue?vue&type=style&index=0&id=62d50055&prod&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./PasswordSection.vue?vue&type=template&id=62d50055\"\nimport script from \"./PasswordSection.vue?vue&type=script&lang=js\"\nexport * from \"./PasswordSection.vue?vue&type=script&lang=js\"\nimport style0 from \"./PasswordSection.vue?vue&type=style&index=0&id=62d50055&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcSettingsSection',{attrs:{\"name\":_vm.t('settings', 'Password')}},[_c('form',{attrs:{\"id\":\"passwordform\",\"method\":\"POST\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.changePassword.apply(null, arguments)}}},[_c('NcPasswordField',{attrs:{\"id\":\"old-pass\",\"label\":_vm.t('settings', 'Current password'),\"name\":\"oldpassword\",\"value\":_vm.oldPass,\"autocomplete\":\"current-password\",\"autocapitalize\":\"none\",\"spellcheck\":\"false\"},on:{\"update:value\":function($event){_vm.oldPass=$event}}}),_vm._v(\" \"),_c('NcPasswordField',{attrs:{\"id\":\"new-pass\",\"label\":_vm.t('settings', 'New password'),\"value\":_vm.newPass,\"maxlength\":469,\"autocomplete\":\"new-password\",\"autocapitalize\":\"none\",\"spellcheck\":\"false\",\"check-password-strength\":true},on:{\"update:value\":function($event){_vm.newPass=$event}}}),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"primary\",\"native-type\":\"submit\",\"disabled\":_vm.newPass.length === 0 || _vm.oldPass.length === 0}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Change password'))+\"\\n\\t\\t\")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Vue from 'vue'\n\nimport PasswordSection from './components/PasswordSection.vue'\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(OC.requestToken)\n\nVue.prototype.t = t\nVue.prototype.n = n\n\nexport default new Vue({\n\tel: '#security-password',\n\tname: 'main-personal-password',\n\trender: h => h(PasswordSection),\n})\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n#passwordform {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 1rem;\n\tmax-width: 400px;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PasswordSection.vue\"],\"names\":[],\"mappings\":\";AAmFA;CACA,aAAA;CACA,sBAAA;CACA,SAAA;CACA,gBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"4254\":\"5c2324570f66dff0c8a1\",\"9480\":\"2fb23485ae3a8860e96b\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 186;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t186: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(85526)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","name","components","NcSettingsSection","NcButton","NcPasswordField","data","oldPass","newPass","methods","changePassword","axios","post","generateUrl","oldpassword","newpassword","then","res","status","errorMessage","message","showError","showSuccess","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","this","_c","_self","attrs","t","on","$event","preventDefault","apply","arguments","_v","length","_s","__webpack_nonce__","btoa","OC","requestToken","Vue","prototype","n","el","render","h","PasswordSection","___CSS_LOADER_EXPORT___","push","module","id","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","loaded","__webpack_modules__","call","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","Object","keys","every","key","splice","r","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","g","globalThis","Function","window","obj","prop","hasOwnProperty","l","url","done","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","value","nmd","paths","children","scriptUrl","importScripts","location","currentScript","test","Error","replace","p","b","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","error","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"settings-vue-settings-personal-password.js?v=633f908c96cd8a4954e1","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/settings/src/components/PasswordSection.vue","webpack:///nextcloud/apps/settings/src/components/PasswordSection.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/PasswordSection.vue?d029","webpack://nextcloud/./apps/settings/src/components/PasswordSection.vue?c089","webpack://nextcloud/./apps/settings/src/components/PasswordSection.vue?dda9","webpack:///nextcloud/apps/settings/src/main-personal-password.js","webpack:///nextcloud/apps/settings/src/components/PasswordSection.vue?vue&type=style&index=0&id=62d50055&prod&lang=css","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","\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!./PasswordSection.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!./PasswordSection.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordSection.vue?vue&type=style&index=0&id=62d50055&prod&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordSection.vue?vue&type=style&index=0&id=62d50055&prod&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./PasswordSection.vue?vue&type=template&id=62d50055\"\nimport script from \"./PasswordSection.vue?vue&type=script&lang=js\"\nexport * from \"./PasswordSection.vue?vue&type=script&lang=js\"\nimport style0 from \"./PasswordSection.vue?vue&type=style&index=0&id=62d50055&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcSettingsSection',{attrs:{\"name\":_vm.t('settings', 'Password')}},[_c('form',{attrs:{\"id\":\"passwordform\",\"method\":\"POST\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.changePassword.apply(null, arguments)}}},[_c('NcPasswordField',{attrs:{\"id\":\"old-pass\",\"label\":_vm.t('settings', 'Current password'),\"name\":\"oldpassword\",\"value\":_vm.oldPass,\"autocomplete\":\"current-password\",\"autocapitalize\":\"none\",\"spellcheck\":\"false\"},on:{\"update:value\":function($event){_vm.oldPass=$event}}}),_vm._v(\" \"),_c('NcPasswordField',{attrs:{\"id\":\"new-pass\",\"label\":_vm.t('settings', 'New password'),\"value\":_vm.newPass,\"maxlength\":469,\"autocomplete\":\"new-password\",\"autocapitalize\":\"none\",\"spellcheck\":\"false\",\"check-password-strength\":true},on:{\"update:value\":function($event){_vm.newPass=$event}}}),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"primary\",\"native-type\":\"submit\",\"disabled\":_vm.newPass.length === 0 || _vm.oldPass.length === 0}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Change password'))+\"\\n\\t\\t\")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Vue from 'vue'\n\nimport PasswordSection from './components/PasswordSection.vue'\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(OC.requestToken)\n\nVue.prototype.t = t\nVue.prototype.n = n\n\nexport default new Vue({\n\tel: '#security-password',\n\tname: 'main-personal-password',\n\trender: h => h(PasswordSection),\n})\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n#passwordform {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 1rem;\n\tmax-width: 400px;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PasswordSection.vue\"],\"names\":[],\"mappings\":\";AAmFA;CACA,aAAA;CACA,sBAAA;CACA,SAAA;CACA,gBAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"4254\":\"5c2324570f66dff0c8a1\",\"9480\":\"2fb23485ae3a8860e96b\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 186;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t186: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(85526)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","name","components","NcSettingsSection","NcButton","NcPasswordField","data","oldPass","newPass","methods","changePassword","axios","post","generateUrl","oldpassword","newpassword","then","res","status","errorMessage","message","showError","showSuccess","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","this","_c","_self","attrs","t","on","$event","preventDefault","apply","arguments","_v","length","_s","__webpack_nonce__","btoa","OC","requestToken","Vue","prototype","n","el","render","h","PasswordSection","___CSS_LOADER_EXPORT___","push","module","id","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","loaded","__webpack_modules__","call","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","Object","keys","every","key","splice","r","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","g","globalThis","Function","window","obj","prop","hasOwnProperty","l","url","done","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","value","nmd","paths","children","scriptUrl","importScripts","location","currentScript","test","Error","replace","p","b","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","error","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/user_ldap-app-settings.js b/dist/user_ldap-app-settings.js index cbbcbf7e9669c..20122379d2f86 100644 --- a/dist/user_ldap-app-settings.js +++ b/dist/user_ldap-app-settings.js @@ -1,514 +1,2 @@ -/******/ (() => { // webpackBootstrap -/******/ "use strict"; -/******/ var __webpack_modules__ = ({ - -/***/ "./apps/user_ldap/src/app-settings.js": -/*!********************************************!*\ - !*** ./apps/user_ldap/src/app-settings.js ***! - \********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _nextcloud_l10n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nextcloud/l10n */ "./node_modules/@nextcloud/l10n/dist/index.mjs"); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.runtime.esm.js"); -/* harmony import */ var _AppSettings_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppSettings.vue */ "./apps/user_ldap/src/AppSettings.vue"); -/** - * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors - * SPDX-License-Identifier: AGPL-3.0-or-later - */ - - - -vue__WEBPACK_IMPORTED_MODULE_2__["default"].prototype.t = _nextcloud_l10n__WEBPACK_IMPORTED_MODULE_0__.translate; -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (new vue__WEBPACK_IMPORTED_MODULE_2__["default"]({ - el: '#user_ldap-app-settings', - // eslint-disable-next-line vue/match-component-file-name - name: 'AppSettings', - render: h => h(_AppSettings_vue__WEBPACK_IMPORTED_MODULE_1__["default"]) -})); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/user_ldap/src/AppSettings.vue?vue&type=script&lang=js": -/*!************************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/user_ldap/src/AppSettings.vue?vue&type=script&lang=js ***! - \************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _nextcloud_dialogs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nextcloud/dialogs */ "./node_modules/@nextcloud/dialogs/dist/index.mjs"); -/* harmony import */ var _nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @nextcloud/initial-state */ "./node_modules/@nextcloud/initial-state/dist/index.mjs"); -/* harmony import */ var _nextcloud_vue_dist_Components_NcCheckboxRadioSwitch_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js */ "./node_modules/@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.mjs"); -/* harmony import */ var _nextcloud_vue_dist_Components_NcSettingsSection_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @nextcloud/vue/dist/Components/NcSettingsSection.js */ "./node_modules/@nextcloud/vue/dist/Components/NcSettingsSection.mjs"); -/* provided dependency */ var console = __webpack_require__(/*! ./node_modules/console-browserify/index.js */ "./node_modules/console-browserify/index.js"); - - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - name: 'AppSettings', - components: { - NcCheckboxRadioSwitch: _nextcloud_vue_dist_Components_NcCheckboxRadioSwitch_js__WEBPACK_IMPORTED_MODULE_2__["default"], - NcSettingsSection: _nextcloud_vue_dist_Components_NcSettingsSection_js__WEBPACK_IMPORTED_MODULE_3__["default"] - }, - data() { - console.log((0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_1__.loadState)('user_ldap', 'config')); - return { - config: (0,_nextcloud_initial_state__WEBPACK_IMPORTED_MODULE_1__.loadState)('user_ldap', 'config') - }; - }, - methods: { - async updateBoolSetting(setting) { - OCP.AppConfig.setValue('user_ldap', setting, this.config[setting] ? '0' : '1', { - success: () => { - (0,_nextcloud_dialogs__WEBPACK_IMPORTED_MODULE_0__.showSuccess)(t('user_ldap', 'Settings saved')); - this.config[setting] = !this.config[setting]; - }, - error: () => (0,_nextcloud_dialogs__WEBPACK_IMPORTED_MODULE_0__.showError)(t('user_ldap', 'Error while saving settings')) - }); - } - } -}); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/user_ldap/src/AppSettings.vue?vue&type=template&id=a1346a54": -/*!***********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/user_ldap/src/AppSettings.vue?vue&type=template&id=a1346a54 ***! - \***********************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ render: () => (/* binding */ render), -/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) -/* harmony export */ }); -var render = function render() { - var _vm = this, - _c = _vm._self._c; - return _c("NcSettingsSection", { - attrs: { - name: _vm.t("user_ldap", "Configuration-independent settings") - } - }, [_c("ul", { - staticClass: "user_ldap__app-settings-list" - }, [_c("li", [_c("NcCheckboxRadioSwitch", { - attrs: { - checked: _vm.config.ldap_mark_remnants_as_disabled, - type: "switch" - }, - on: { - "update:checked": function ($event) { - return _vm.updateBoolSetting("ldap_mark_remnants_as_disabled"); - } - } - }, [_vm._v("\n\t\t\t\t" + _vm._s(_vm.t("user_ldap", "Disable users missing from LDAP")) + "\n\t\t\t")])], 1)])]); -}; -var staticRenderFns = []; -render._withStripped = true; - - -/***/ }), - -/***/ "./apps/user_ldap/src/AppSettings.vue": -/*!********************************************!*\ - !*** ./apps/user_ldap/src/AppSettings.vue ***! - \********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _AppSettings_vue_vue_type_template_id_a1346a54__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppSettings.vue?vue&type=template&id=a1346a54 */ "./apps/user_ldap/src/AppSettings.vue?vue&type=template&id=a1346a54"); -/* harmony import */ var _AppSettings_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppSettings.vue?vue&type=script&lang=js */ "./apps/user_ldap/src/AppSettings.vue?vue&type=script&lang=js"); -/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); - - - - - -/* normalize component */ -; -var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])( - _AppSettings_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__["default"], - _AppSettings_vue_vue_type_template_id_a1346a54__WEBPACK_IMPORTED_MODULE_0__.render, - _AppSettings_vue_vue_type_template_id_a1346a54__WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, - false, - null, - null, - null - -) - -/* hot reload */ -if (false) { var api; } -component.options.__file = "apps/user_ldap/src/AppSettings.vue" -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); - -/***/ }), - -/***/ "./apps/user_ldap/src/AppSettings.vue?vue&type=script&lang=js": -/*!********************************************************************!*\ - !*** ./apps/user_ldap/src/AppSettings.vue?vue&type=script&lang=js ***! - \********************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettings_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSettings.vue?vue&type=script&lang=js */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/user_ldap/src/AppSettings.vue?vue&type=script&lang=js"); - /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettings_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__["default"]); - -/***/ }), - -/***/ "./apps/user_ldap/src/AppSettings.vue?vue&type=template&id=a1346a54": -/*!**************************************************************************!*\ - !*** ./apps/user_ldap/src/AppSettings.vue?vue&type=template&id=a1346a54 ***! - \**************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettings_vue_vue_type_template_id_a1346a54__WEBPACK_IMPORTED_MODULE_0__.render), -/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettings_vue_vue_type_template_id_a1346a54__WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) -/* harmony export */ }); -/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AppSettings_vue_vue_type_template_id_a1346a54__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSettings.vue?vue&type=template&id=a1346a54 */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/user_ldap/src/AppSettings.vue?vue&type=template&id=a1346a54"); - - -/***/ }) - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ id: moduleId, -/******/ loaded: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.loaded = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = __webpack_modules__; -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/chunk loaded */ -/******/ (() => { -/******/ var deferred = []; -/******/ __webpack_require__.O = (result, chunkIds, fn, priority) => { -/******/ if(chunkIds) { -/******/ priority = priority || 0; -/******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1]; -/******/ deferred[i] = [chunkIds, fn, priority]; -/******/ return; -/******/ } -/******/ var notFulfilled = Infinity; -/******/ for (var i = 0; i < deferred.length; i++) { -/******/ var chunkIds = deferred[i][0]; -/******/ var fn = deferred[i][1]; -/******/ var priority = deferred[i][2]; -/******/ var fulfilled = true; -/******/ for (var j = 0; j < chunkIds.length; j++) { -/******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) { -/******/ chunkIds.splice(j--, 1); -/******/ } else { -/******/ fulfilled = false; -/******/ if(priority < notFulfilled) notFulfilled = priority; -/******/ } -/******/ } -/******/ if(fulfilled) { -/******/ deferred.splice(i--, 1) -/******/ var r = fn(); -/******/ if (r !== undefined) result = r; -/******/ } -/******/ } -/******/ return result; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/compat get default export */ -/******/ (() => { -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = (module) => { -/******/ var getter = module && module.__esModule ? -/******/ () => (module['default']) : -/******/ () => (module); -/******/ __webpack_require__.d(getter, { a: getter }); -/******/ return getter; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/ensure chunk */ -/******/ (() => { -/******/ __webpack_require__.f = {}; -/******/ // This file contains only the entry chunk. -/******/ // The chunk loading function for additional chunks -/******/ __webpack_require__.e = (chunkId) => { -/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { -/******/ __webpack_require__.f[key](chunkId, promises); -/******/ return promises; -/******/ }, [])); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/get javascript chunk filename */ -/******/ (() => { -/******/ // This function allow to reference async chunks -/******/ __webpack_require__.u = (chunkId) => { -/******/ // return url for filenames based on template -/******/ return "" + chunkId + "-" + chunkId + ".js?v=" + {"node_modules_nextcloud_dialogs_dist_chunks_index-CYiQsZoY_mjs":"6d1a1c73294102473dbb","data_image_svg_xml_3c_21--_20-_20SPDX-FileCopyrightText_202020_20Google_20Inc_20-_20SPDX-Lice-dcf99b":"07f50df7efd5449f1f46"}[chunkId] + ""; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/global */ -/******/ (() => { -/******/ __webpack_require__.g = (function() { -/******/ if (typeof globalThis === 'object') return globalThis; -/******/ try { -/******/ return this || new Function('return this')(); -/******/ } catch (e) { -/******/ if (typeof window === 'object') return window; -/******/ } -/******/ })(); -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/load script */ -/******/ (() => { -/******/ var inProgress = {}; -/******/ var dataWebpackPrefix = "nextcloud:"; -/******/ // loadScript function to load a script via script tag -/******/ __webpack_require__.l = (url, done, key, chunkId) => { -/******/ if(inProgress[url]) { inProgress[url].push(done); return; } -/******/ var script, needAttach; -/******/ if(key !== undefined) { -/******/ var scripts = document.getElementsByTagName("script"); -/******/ for(var i = 0; i < scripts.length; i++) { -/******/ var s = scripts[i]; -/******/ if(s.getAttribute("src") == url || s.getAttribute("data-webpack") == dataWebpackPrefix + key) { script = s; break; } -/******/ } -/******/ } -/******/ if(!script) { -/******/ needAttach = true; -/******/ script = document.createElement('script'); -/******/ -/******/ script.charset = 'utf-8'; -/******/ script.timeout = 120; -/******/ if (__webpack_require__.nc) { -/******/ script.setAttribute("nonce", __webpack_require__.nc); -/******/ } -/******/ script.setAttribute("data-webpack", dataWebpackPrefix + key); -/******/ -/******/ script.src = url; -/******/ } -/******/ inProgress[url] = [done]; -/******/ var onScriptComplete = (prev, event) => { -/******/ // avoid mem leaks in IE. -/******/ script.onerror = script.onload = null; -/******/ clearTimeout(timeout); -/******/ var doneFns = inProgress[url]; -/******/ delete inProgress[url]; -/******/ script.parentNode && script.parentNode.removeChild(script); -/******/ doneFns && doneFns.forEach((fn) => (fn(event))); -/******/ if(prev) return prev(event); -/******/ } -/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); -/******/ script.onerror = onScriptComplete.bind(null, script.onerror); -/******/ script.onload = onScriptComplete.bind(null, script.onload); -/******/ needAttach && document.head.appendChild(script); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ (() => { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = (exports) => { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/node module decorator */ -/******/ (() => { -/******/ __webpack_require__.nmd = (module) => { -/******/ module.paths = []; -/******/ if (!module.children) module.children = []; -/******/ return module; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/publicPath */ -/******/ (() => { -/******/ var scriptUrl; -/******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + ""; -/******/ var document = __webpack_require__.g.document; -/******/ if (!scriptUrl && document) { -/******/ if (document.currentScript) -/******/ scriptUrl = document.currentScript.src; -/******/ if (!scriptUrl) { -/******/ var scripts = document.getElementsByTagName("script"); -/******/ if(scripts.length) { -/******/ var i = scripts.length - 1; -/******/ while (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src; -/******/ } -/******/ } -/******/ } -/******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration -/******/ // or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic. -/******/ if (!scriptUrl) throw new Error("Automatic publicPath is not supported in this browser"); -/******/ scriptUrl = scriptUrl.replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/"); -/******/ __webpack_require__.p = scriptUrl; -/******/ })(); -/******/ -/******/ /* webpack/runtime/jsonp chunk loading */ -/******/ (() => { -/******/ __webpack_require__.b = document.baseURI || self.location.href; -/******/ -/******/ // object to store loaded and loading chunks -/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched -/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded -/******/ var installedChunks = { -/******/ "user_ldap-app-settings": 0 -/******/ }; -/******/ -/******/ __webpack_require__.f.j = (chunkId, promises) => { -/******/ // JSONP chunk loading for javascript -/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; -/******/ if(installedChunkData !== 0) { // 0 means "already installed". -/******/ -/******/ // a Promise means "currently loading". -/******/ if(installedChunkData) { -/******/ promises.push(installedChunkData[2]); -/******/ } else { -/******/ if(true) { // all chunks have JS -/******/ // setup Promise in chunk cache -/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); -/******/ promises.push(installedChunkData[2] = promise); -/******/ -/******/ // start chunk loading -/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); -/******/ // create error before stack unwound to get useful stacktrace later -/******/ var error = new Error(); -/******/ var loadingEnded = (event) => { -/******/ if(__webpack_require__.o(installedChunks, chunkId)) { -/******/ installedChunkData = installedChunks[chunkId]; -/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; -/******/ if(installedChunkData) { -/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); -/******/ var realSrc = event && event.target && event.target.src; -/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')'; -/******/ error.name = 'ChunkLoadError'; -/******/ error.type = errorType; -/******/ error.request = realSrc; -/******/ installedChunkData[1](error); -/******/ } -/******/ } -/******/ }; -/******/ __webpack_require__.l(url, loadingEnded, "chunk-" + chunkId, chunkId); -/******/ } -/******/ } -/******/ } -/******/ }; -/******/ -/******/ // no prefetching -/******/ -/******/ // no preloaded -/******/ -/******/ // no HMR -/******/ -/******/ // no HMR manifest -/******/ -/******/ __webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0); -/******/ -/******/ // install a JSONP callback for chunk loading -/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { -/******/ var chunkIds = data[0]; -/******/ var moreModules = data[1]; -/******/ var runtime = data[2]; -/******/ // add "moreModules" to the modules object, -/******/ // then flag all "chunkIds" as loaded and fire callback -/******/ var moduleId, chunkId, i = 0; -/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { -/******/ for(moduleId in moreModules) { -/******/ if(__webpack_require__.o(moreModules, moduleId)) { -/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; -/******/ } -/******/ } -/******/ if(runtime) var result = runtime(__webpack_require__); -/******/ } -/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); -/******/ for(;i < chunkIds.length; i++) { -/******/ chunkId = chunkIds[i]; -/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { -/******/ installedChunks[chunkId][0](); -/******/ } -/******/ installedChunks[chunkId] = 0; -/******/ } -/******/ return __webpack_require__.O(result); -/******/ } -/******/ -/******/ var chunkLoadingGlobal = self["webpackChunknextcloud"] = self["webpackChunknextcloud"] || []; -/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); -/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); -/******/ })(); -/******/ -/******/ /* webpack/runtime/nonce */ -/******/ (() => { -/******/ __webpack_require__.nc = undefined; -/******/ })(); -/******/ -/************************************************************************/ -/******/ -/******/ // startup -/******/ // Load entry module and return exports -/******/ // This entry module depends on other loaded chunks and execution need to be delayed -/******/ var __webpack_exports__ = __webpack_require__.O(undefined, ["core-common"], () => (__webpack_require__("./apps/user_ldap/src/app-settings.js"))) -/******/ __webpack_exports__ = __webpack_require__.O(__webpack_exports__); -/******/ -/******/ })() -; -//# sourceMappingURL=user_ldap-app-settings.js.map?v=6b08b9f586c62fbcd0ba \ No newline at end of file +(()=>{"use strict";var e,r,n,o={65811:(e,r,n)=>{var o=n(53334),a=n(85471),i=n(85168),s=n(32981),l=n(32073),c=n(88837);const d={name:"AppSettings",components:{NcCheckboxRadioSwitch:l.A,NcSettingsSection:c.A},data:()=>({config:(0,s.C)("user_ldap","config")}),methods:{async updateBoolSetting(e){OCP.AppConfig.setValue("user_ldap",e,this.config[e]?"0":"1",{success:()=>{(0,i.Te)(t("user_ldap","Settings saved")),this.config[e]=!this.config[e]},error:()=>(0,i.Qg)(t("user_ldap","Error while saving settings"))})}}},u=(0,n(14486).A)(d,(function(){var e=this,t=e._self._c;return t("NcSettingsSection",{attrs:{name:e.t("user_ldap","Configuration-independent settings")}},[t("ul",{staticClass:"user_ldap__app-settings-list"},[t("li",[t("NcCheckboxRadioSwitch",{attrs:{checked:e.config.backend_mark_remnants_as_disabled,type:"switch"},on:{"update:checked":function(t){return e.updateBoolSetting("backend_mark_remnants_as_disabled")}}},[e._v("\n\t\t\t\t"+e._s(e.t("user_ldap","Disable users missing from LDAP"))+"\n\t\t\t")])],1)])])}),[],!1,null,null,null).exports;a.Ay.prototype.t=o.Tl,new a.Ay({el:"#user_ldap-app-settings",name:"AppSettings",render:e=>e(u)})}},a={};function i(e){var t=a[e];if(void 0!==t)return t.exports;var r=a[e]={id:e,loaded:!1,exports:{}};return o[e].call(r.exports,r,r.exports,i),r.loaded=!0,r.exports}i.m=o,e=[],i.O=(t,r,n,o)=>{if(!r){var a=1/0;for(d=0;d=o)&&Object.keys(i.O).every((e=>i.O[e](r[l])))?r.splice(l--,1):(s=!1,o0&&e[d-1][2]>o;d--)e[d]=e[d-1];e[d]=[r,n,o]},i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>e+"-"+e+".js?v="+{4254:"5c2324570f66dff0c8a1",9480:"2fb23485ae3a8860e96b"}[e],i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r={},n="nextcloud:",i.l=(e,t,o,a)=>{if(r[e])r[e].push(t);else{var s,l;if(void 0!==o)for(var c=document.getElementsByTagName("script"),d=0;d{s.onerror=s.onload=null,clearTimeout(f);var o=r[e];if(delete r[e],s.parentNode&&s.parentNode.removeChild(s),o&&o.forEach((e=>e(n))),t)return t(n)},f=setTimeout(p.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=p.bind(null,s.onerror),s.onload=p.bind(null,s.onload),l&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),i.j=6790,(()=>{var e;i.g.importScripts&&(e=i.g.location+"");var t=i.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var n=r.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=r[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),i.p=e})(),(()=>{i.b=document.baseURI||self.location.href;var e={6790:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,o)=>n=e[t]=[r,o]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}},i.O.j=t=>0===e[t];var t=(t,r)=>{var n,o,a=r[0],s=r[1],l=r[2],c=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(l)var d=l(i)}for(t&&t(r);ci(65811)));s=i.O(s)})(); +//# sourceMappingURL=user_ldap-app-settings.js.map?v=0d8affd808472f3ce1dc \ No newline at end of file diff --git a/dist/user_ldap-app-settings.js.license b/dist/user_ldap-app-settings.js.license new file mode 100644 index 0000000000000..d6d5744504f05 --- /dev/null +++ b/dist/user_ldap-app-settings.js.license @@ -0,0 +1,194 @@ +SPDX-License-Identifier: MIT +SPDX-License-Identifier: ISC +SPDX-License-Identifier: GPL-3.0-or-later +SPDX-License-Identifier: AGPL-3.0-or-later +SPDX-License-Identifier: (MPL-2.0 OR Apache-2.0) +SPDX-FileCopyrightText: inherits developers +SPDX-FileCopyrightText: escape-html developers +SPDX-FileCopyrightText: assert developers +SPDX-FileCopyrightText: Varun A P +SPDX-FileCopyrightText: Tobias Koppers @sokra +SPDX-FileCopyrightText: Roman Shtylman +SPDX-FileCopyrightText: Raynos +SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors +SPDX-FileCopyrightText: Joyent +SPDX-FileCopyrightText: Jordan Harband +SPDX-FileCopyrightText: Jordan Harband +SPDX-FileCopyrightText: John-David Dalton (http://allyoucanleet.com/) +SPDX-FileCopyrightText: John Molakvoæ (skjnldsv) +SPDX-FileCopyrightText: Guillaume Chau +SPDX-FileCopyrightText: Evan You +SPDX-FileCopyrightText: Dr.-Ing. Mario Heiderich, Cure53 (https://cure53.de/) +SPDX-FileCopyrightText: David Clark +SPDX-FileCopyrightText: Christoph Wurst +SPDX-FileCopyrightText: Anthony Fu +SPDX-FileCopyrightText: Andris Reinman +SPDX-FileCopyrightText: @nextcloud/dialogs developers + + +This file is generated from multiple sources. Included packages: +- @nextcloud/dialogs + - version: 5.3.5 + - license: AGPL-3.0-or-later +- @nextcloud/initial-state + - version: 2.2.0 + - license: GPL-3.0-or-later +- @nextcloud/l10n + - version: 3.1.0 + - license: GPL-3.0-or-later +- @nextcloud/router + - version: 3.0.1 + - license: GPL-3.0-or-later +- @nextcloud/vue + - version: 8.15.1 + - license: AGPL-3.0-or-later +- @vueuse/core + - version: 10.11.0 + - license: MIT +- @vueuse/shared + - version: 10.11.0 + - license: MIT +- assert + - version: 2.1.0 + - license: MIT +- available-typed-arrays + - version: 1.0.7 + - license: MIT +- call-bind + - version: 1.0.7 + - license: MIT +- console-browserify + - version: 1.2.0 + - license: MIT +- css-loader + - version: 6.10.0 + - license: MIT +- define-data-property + - version: 1.1.4 + - license: MIT +- define-properties + - version: 1.2.1 + - license: MIT +- dompurify + - version: 3.1.4 + - license: (MPL-2.0 OR Apache-2.0) +- es-define-property + - version: 1.0.0 + - license: MIT +- es-errors + - version: 1.3.0 + - license: MIT +- escape-html + - version: 1.0.3 + - license: MIT +- floating-vue + - version: 1.0.0-beta.19 + - license: MIT +- focus-trap + - version: 7.5.4 + - license: MIT +- for-each + - version: 0.3.3 + - license: MIT +- function-bind + - version: 1.1.2 + - license: MIT +- get-intrinsic + - version: 1.2.4 + - license: MIT +- gopd + - version: 1.0.1 + - license: MIT +- has-property-descriptors + - version: 1.0.2 + - license: MIT +- has-proto + - version: 1.0.3 + - license: MIT +- has-symbols + - version: 1.0.3 + - license: MIT +- has-tostringtag + - version: 1.0.2 + - license: MIT +- hasown + - version: 2.0.2 + - license: MIT +- inherits + - version: 2.0.4 + - license: ISC +- is-arguments + - version: 1.1.1 + - license: MIT +- is-callable + - version: 1.2.7 + - license: MIT +- is-generator-function + - version: 1.0.10 + - license: MIT +- is-nan + - version: 1.3.2 + - license: MIT +- is-typed-array + - version: 1.1.13 + - license: MIT +- lodash.get + - version: 4.4.2 + - license: MIT +- node-gettext + - version: 3.0.0 + - license: MIT +- object-is + - version: 1.1.5 + - license: MIT +- object-keys + - version: 1.1.1 + - license: MIT +- object.assign + - version: 4.1.5 + - license: MIT +- inherits + - version: 2.0.3 + - license: ISC +- util + - version: 0.10.4 + - license: MIT +- path + - version: 0.12.7 + - license: MIT +- possible-typed-array-names + - version: 1.0.0 + - license: MIT +- process + - version: 0.11.10 + - license: MIT +- set-function-length + - version: 1.2.1 + - license: MIT +- style-loader + - version: 3.3.4 + - license: MIT +- tabbable + - version: 6.2.0 + - license: MIT +- toastify-js + - version: 1.12.0 + - license: MIT +- util + - version: 0.12.5 + - license: MIT +- vue-loader + - version: 15.11.1 + - license: MIT +- vue + - version: 2.7.16 + - license: MIT +- webpack + - version: 5.93.0 + - license: MIT +- which-typed-array + - version: 1.1.15 + - license: MIT +- nextcloud + - version: 1.0.0 + - license: AGPL-3.0-or-later diff --git a/dist/user_ldap-app-settings.js.map b/dist/user_ldap-app-settings.js.map index b663807aae64f..ea215b9fab2b5 100644 --- a/dist/user_ldap-app-settings.js.map +++ b/dist/user_ldap-app-settings.js.map @@ -1 +1 @@ -{"version":3,"file":"user_ldap-app-settings.js?v=6b08b9f586c62fbcd0ba","mappings":";;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;;;;;;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACRA;AACA;AACA;AACA;AACA;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACNA;AACA;AACA;AACA;AACA;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACvFA;;;;;AEAA;AACA;AACA;AACA;AACA","sources":["webpack:///nextcloud/apps/user_ldap/src/app-settings.js","webpack:///nextcloud/apps/user_ldap/src/AppSettings.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/user_ldap/src/AppSettings.vue?vue&type=template&id=a1346a54","webpack:///nextcloud/apps/user_ldap/src/AppSettings.vue","webpack://nextcloud/./apps/user_ldap/src/AppSettings.vue?4459","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/before-startup","webpack:///nextcloud/webpack/startup","webpack:///nextcloud/webpack/after-startup"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { translate } from '@nextcloud/l10n';\nimport Vue from 'vue';\nimport AppSettings from \"./AppSettings.vue\";\nVue.prototype.t = translate;\nexport default new Vue({\n el: '#user_ldap-app-settings',\n // eslint-disable-next-line vue/match-component-file-name\n name: 'AppSettings',\n render: h => h(AppSettings)\n});","import { showError, showSuccess } from '@nextcloud/dialogs';\nimport { loadState } from '@nextcloud/initial-state';\nimport NcCheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js';\nimport NcSettingsSection from '@nextcloud/vue/dist/Components/NcSettingsSection.js';\nexport default {\n name: 'AppSettings',\n components: {\n NcCheckboxRadioSwitch,\n NcSettingsSection\n },\n data() {\n console.log(loadState('user_ldap', 'config'));\n return {\n config: loadState('user_ldap', 'config')\n };\n },\n methods: {\n async updateBoolSetting(setting) {\n OCP.AppConfig.setValue('user_ldap', setting, this.config[setting] ? '0' : '1', {\n success: () => {\n showSuccess(t('user_ldap', 'Settings saved'));\n this.config[setting] = !this.config[setting];\n },\n error: () => showError(t('user_ldap', 'Error while saving settings'))\n });\n }\n }\n};","var render = function render() {\n var _vm = this,\n _c = _vm._self._c;\n return _c(\"NcSettingsSection\", {\n attrs: {\n name: _vm.t(\"user_ldap\", \"Configuration-independent settings\")\n }\n }, [_c(\"ul\", {\n staticClass: \"user_ldap__app-settings-list\"\n }, [_c(\"li\", [_c(\"NcCheckboxRadioSwitch\", {\n attrs: {\n checked: _vm.config.ldap_mark_remnants_as_disabled,\n type: \"switch\"\n },\n on: {\n \"update:checked\": function ($event) {\n return _vm.updateBoolSetting(\"ldap_mark_remnants_as_disabled\");\n }\n }\n }, [_vm._v(\"\\n\\t\\t\\t\\t\" + _vm._s(_vm.t(\"user_ldap\", \"Disable users missing from LDAP\")) + \"\\n\\t\\t\\t\")])], 1)])]);\n};\nvar staticRenderFns = [];\nrender._withStripped = true;\nexport { render, staticRenderFns };","import { render, staticRenderFns } from \"./AppSettings.vue?vue&type=template&id=a1346a54\"\nimport script from \"./AppSettings.vue?vue&type=script&lang=js\"\nexport * from \"./AppSettings.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\n/* hot reload */\nif (module.hot) {\n var api = require(\"/srv/http/nextcloud/master/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('a1346a54')) {\n api.createRecord('a1346a54', component.options)\n } else {\n api.reload('a1346a54', component.options)\n }\n module.hot.accept(\"./AppSettings.vue?vue&type=template&id=a1346a54\", function () {\n api.rerender('a1346a54', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/user_ldap/src/AppSettings.vue\"\nexport default component.exports","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSettings.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!./AppSettings.vue?vue&type=script&lang=js\"","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"node_modules_nextcloud_dialogs_dist_chunks_index-CYiQsZoY_mjs\":\"6d1a1c73294102473dbb\",\"data_image_svg_xml_3c_21--_20-_20SPDX-FileCopyrightText_202020_20Google_20Inc_20-_20SPDX-Lice-dcf99b\":\"07f50df7efd5449f1f46\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"user_ldap-app-settings\": 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [\"core-common\"], () => (__webpack_require__(\"./apps/user_ldap/src/app-settings.js\")))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"user_ldap-app-settings.js?v=0d8affd808472f3ce1dc","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/user_ldap/src/AppSettings.vue","webpack:///nextcloud/apps/user_ldap/src/AppSettings.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/user_ldap/src/AppSettings.vue?347e","webpack://nextcloud/./apps/user_ldap/src/AppSettings.vue?df0d","webpack:///nextcloud/apps/user_ldap/src/app-settings.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","\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!./AppSettings.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!./AppSettings.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AppSettings.vue?vue&type=template&id=8f353ec6\"\nimport script from \"./AppSettings.vue?vue&type=script&lang=js\"\nexport * from \"./AppSettings.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('NcSettingsSection',{attrs:{\"name\":_vm.t('user_ldap', 'Configuration-independent settings')}},[_c('ul',{staticClass:\"user_ldap__app-settings-list\"},[_c('li',[_c('NcCheckboxRadioSwitch',{attrs:{\"checked\":_vm.config.backend_mark_remnants_as_disabled,\"type\":\"switch\"},on:{\"update:checked\":function($event){return _vm.updateBoolSetting('backend_mark_remnants_as_disabled')}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('user_ldap', 'Disable users missing from LDAP'))+\"\\n\\t\\t\\t\")])],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { translate } from '@nextcloud/l10n'\nimport Vue from 'vue'\n\nimport AppSettings from './AppSettings.vue'\n\nVue.prototype.t = translate\nexport default new Vue({\n\tel: '#user_ldap-app-settings',\n\t// eslint-disable-next-line vue/match-component-file-name\n\tname: 'AppSettings',\n\trender: h => h(AppSettings),\n})\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"4254\":\"5c2324570f66dff0c8a1\",\"9480\":\"2fb23485ae3a8860e96b\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 6790;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t6790: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(65811)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","name","components","NcCheckboxRadioSwitch","NcSettingsSection","data","config","loadState","methods","updateBoolSetting","setting","OCP","AppConfig","setValue","success","showSuccess","t","error","showError","_vm","this","_c","_self","attrs","staticClass","backend_mark_remnants_as_disabled","on","$event","_v","_s","Vue","prototype","translate","el","render","h","AppSettings","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","id","loaded","__webpack_modules__","call","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","g","globalThis","Function","window","obj","prop","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","value","nmd","paths","children","scriptUrl","importScripts","location","currentScript","test","Error","replace","p","b","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/user_ldap-app-settings.js.map.license b/dist/user_ldap-app-settings.js.map.license new file mode 120000 index 0000000000000..08d6f5191eb8b --- /dev/null +++ b/dist/user_ldap-app-settings.js.map.license @@ -0,0 +1 @@ +user_ldap-app-settings.js.license \ No newline at end of file diff --git a/dist/user_status-menu.js b/dist/user_status-menu.js index 5fb5a8b1a63b8..0cd4e803c2476 100644 --- a/dist/user_status-menu.js +++ b/dist/user_status-menu.js @@ -1,2 +1,2 @@ -(()=>{"use strict";var e,s,a,r={19725:(e,s,a)=>{var r=a(85471),n=a(21777),o=a(61338),u=a(54332),i=a(53611),c=a(17334),d=a.n(c),l=a(65043),m=a(63814),p=a(33114),A=a(96763);const g={name:"UserStatus",components:{NcButton:u.A,NcUserStatusIcon:i.A,SetStatusModal:()=>Promise.all([a.e(4208),a.e(5133)]).then(a.bind(a,70233))},mixins:[p.A],props:{inline:{type:Boolean,default:!1}},data:()=>({heartbeatInterval:null,isAway:!1,isModalOpen:!1,mouseMoveListener:null,setAwayTimeout:null}),mounted(){this.$store.dispatch("loadStatusFromInitialState"),OC.config.session_keepalive&&(this.heartbeatInterval=setInterval(this._backgroundHeartbeat.bind(this),3e5),this.setAwayTimeout=()=>{this.isAway=!0},this.mouseMoveListener=d()((()=>{const t=this.isAway;this.isAway=!1,clearTimeout(this.setAwayTimeout),setTimeout(this.setAwayTimeout,12e4),t&&this._backgroundHeartbeat()}),2e3,!0),window.addEventListener("mousemove",this.mouseMoveListener,{capture:!0,passive:!0}),this._backgroundHeartbeat()),(0,o.B1)("user_status:status.updated",this.handleUserStatusUpdated)},beforeDestroy(){window.removeEventListener("mouseMove",this.mouseMoveListener),clearInterval(this.heartbeatInterval),(0,o.al)("user_status:status.updated",this.handleUserStatusUpdated)},methods:{openModal(){this.isModalOpen=!0},closeModal(){this.isModalOpen=!1},async _backgroundHeartbeat(){try{const t=await(async t=>{const e=(0,m.KT)("apps/user_status/api/v1/heartbeat?format=json");return(await l.Ay.put(e,{status:t?"away":"online"})).data.ocs.data})(this.isAway);null!=t&&t.userId?this.$store.dispatch("setStatusFromHeartbeat",t):await this.$store.dispatch("reFetchStatusFromServer")}catch(e){var t;A.debug("Failed sending heartbeat, got: "+(null===(t=e.response)||void 0===t?void 0:t.status))}},handleUserStatusUpdated(t){OC.getCurrentUser().uid===t.userId&&this.$store.dispatch("setStatusFromObject",{status:t.status,icon:t.icon,message:t.message})}}};var v=a(85072),h=a.n(v),f=a(97825),b=a.n(f),y=a(77659),S=a.n(y),w=a(55056),I=a.n(w),C=a(10540),k=a.n(C),_=a(41113),x=a.n(_),M=a(5821),T={};T.styleTagTransform=x(),T.setAttributes=I(),T.insert=S().bind(null,"head"),T.domAPI=b(),T.insertStyleElement=k(),h()(M.A,T),M.A&&M.A.locals&&M.A.locals;const O=(0,a(14486).A)(g,(function(){var t=this,e=t._self._c;return e(t.inline?"div":"li",{tag:"component"},[t.inline?e("NcButton",{on:{click:function(e){return e.stopPropagation(),t.openModal.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("NcUserStatusIcon",{staticClass:"user-status-icon",attrs:{status:t.statusType,"aria-hidden":"true"}})]},proxy:!0}])},[t._v("\n\t\t"+t._s(t.visibleMessage)+"\n\t")]):e("button",{staticClass:"user-status-menu-item",on:{click:function(e){return e.stopPropagation(),t.openModal.apply(null,arguments)}}},[e("NcUserStatusIcon",{staticClass:"user-status-icon",attrs:{status:t.statusType,"aria-hidden":"true"}}),t._v("\n\t\t"+t._s(t.visibleMessage)+"\n\t")],1),t._v(" "),t.isModalOpen?e("SetStatusModal",{attrs:{inline:t.inline},on:{close:t.closeModal}}):t._e()],1)}),[],!1,null,"056751be",null).exports;var P=a(95353);const F={state:{predefinedStatuses:[]},mutations:{addPredefinedStatus(t,e){t.predefinedStatuses=[...t.predefinedStatuses,e]}},getters:{statusesHaveLoaded:t=>t.predefinedStatuses.length>0},actions:{async loadAllPredefinedStatuses(t){let{state:e,commit:s}=t;if(e.predefinedStatuses.length>0)return;const a=await(async()=>{const t=(0,m.KT)("apps/user_status/api/v1/predefined_statuses?format=json");return(await l.Ay.get(t)).data.ocs.data})();for(const t of a)s("addPredefinedStatus",t)}}};var U=a(32981),D=a(61913),B=a(19231);const E=t=>{if(null===t)return null;const e=(0,D.R)();if("period"===t.type)return e.setSeconds(e.getSeconds()+t.time),Math.floor(e.getTime()/1e3);if("end-of"===t.type)switch(t.time){case"day":case"week":return Number((0,B.A)(e).endOf(t.time).format("X"))}return"_time"===t.type?t.time:null},j={state:{status:null,statusIsUserDefined:null,message:null,icon:null,clearAt:null,messageIsPredefined:null,messageId:null},mutations:{setStatus(t,e){let{statusType:s}=e;t.status=s,t.statusIsUserDefined=!0},setPredefinedMessage(t,e){let{messageId:s,clearAt:a,message:r,icon:n}=e;t.messageId=s,t.messageIsPredefined=!0,t.message=r,t.icon=n,t.clearAt=a},setCustomMessage(t,e){let{message:s,icon:a,clearAt:r}=e;t.messageId=null,t.messageIsPredefined=!1,t.message=s,t.icon=a,t.clearAt=r},clearMessage(t){t.messageId=null,t.messageIsPredefined=!1,t.message=null,t.icon=null,t.clearAt=null},loadStatusFromServer(t,e){let{status:s,statusIsUserDefined:a,message:r,icon:n,clearAt:o,messageIsPredefined:u,messageId:i}=e;t.status=s,t.message=r,t.icon=n,void 0!==a&&(t.statusIsUserDefined=a),void 0!==o&&(t.clearAt=o),void 0!==u&&(t.messageIsPredefined=u),void 0!==i&&(t.messageId=i)}},getters:{},actions:{async setStatus(t,e){var s;let{commit:a,state:r}=t,{statusType:u}=e;await(async t=>{const e=(0,m.KT)("apps/user_status/api/v1/user_status/status");await l.Ay.put(e,{statusType:t})})(u),a("setStatus",{statusType:u}),(0,o.Ic)("user_status:status.updated",{status:r.status,message:r.message,icon:r.icon,clearAt:r.clearAt,userId:null===(s=(0,n.HW)())||void 0===s?void 0:s.uid})},async setStatusFromObject(t,e){let{commit:s,state:a}=t;s("loadStatusFromServer",e)},async setPredefinedMessage(t,e){var s;let{commit:a,rootState:r,state:u}=t,{messageId:i,clearAt:c}=e;const d=E(c);await async function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const s=(0,m.KT)("apps/user_status/api/v1/user_status/message/predefined?format=json");await l.Ay.put(s,{messageId:t,clearAt:e})}(i,d);const p=r.predefinedStatuses.predefinedStatuses.find((t=>t.id===i)),{message:A,icon:g}=p;a("setPredefinedMessage",{messageId:i,clearAt:d,message:A,icon:g}),(0,o.Ic)("user_status:status.updated",{status:u.status,message:u.message,icon:u.icon,clearAt:u.clearAt,userId:null===(s=(0,n.HW)())||void 0===s?void 0:s.uid})},async setCustomMessage(t,e){var s;let{commit:a,state:r}=t,{message:u,icon:i,clearAt:c}=e;const d=E(c);await async function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const a=(0,m.KT)("apps/user_status/api/v1/user_status/message/custom?format=json");await l.Ay.put(a,{message:t,statusIcon:e,clearAt:s})}(u,i,d),a("setCustomMessage",{message:u,icon:i,clearAt:d}),(0,o.Ic)("user_status:status.updated",{status:r.status,message:r.message,icon:r.icon,clearAt:r.clearAt,userId:null===(s=(0,n.HW)())||void 0===s?void 0:s.uid})},async clearMessage(t){var e;let{commit:s,state:a}=t;await(async()=>{const t=(0,m.KT)("apps/user_status/api/v1/user_status/message?format=json");await l.Ay.delete(t)})(),s("clearMessage"),(0,o.Ic)("user_status:status.updated",{status:a.status,message:a.message,icon:a.icon,clearAt:a.clearAt,userId:null===(e=(0,n.HW)())||void 0===e?void 0:e.uid})},async reFetchStatusFromServer(t){let{commit:e}=t;e("loadStatusFromServer",await(async()=>{const t=(0,m.KT)("apps/user_status/api/v1/user_status");return(await l.Ay.get(t)).data.ocs.data})())},async setStatusFromHeartbeat(t,e){let{commit:s}=t;s("loadStatusFromServer",e)},loadStatusFromInitialState(t){let{commit:e}=t;e("loadStatusFromServer",(0,U.C)("user_status","status"))}}},$={state:{status:null,statusIsUserDefined:null,message:null,icon:null,clearAt:null,messageIsPredefined:null,messageId:null},mutations:{loadBackupStatusFromServer(t,e){let{status:s,statusIsUserDefined:a,message:r,icon:n,clearAt:o,messageIsPredefined:u,messageId:i}=e;t.status=s,t.message=r,t.icon=n,void 0!==a&&(t.statusIsUserDefined=a),void 0!==o&&(t.clearAt=o),void 0!==u&&(t.messageIsPredefined=u),void 0!==i&&(t.messageId=i)}},getters:{},actions:{async fetchBackupFromServer(t){let{commit:e}=t;try{var s;e("loadBackupStatusFromServer",await(async t=>{const e=(0,m.KT)("apps/user_status/api/v1/statuses/{userId}",{userId:"_"+t});return(await l.Ay.get(e)).data.ocs.data})(null===(s=(0,n.HW)())||void 0===s?void 0:s.uid))}catch(t){}},async revertBackupFromServer(t,e){let{commit:s}=t,{messageId:a}=e;const r=await(async t=>{const e=(0,m.KT)("apps/user_status/api/v1/user_status/revert/{messageId}",{messageId:t});return(await l.Ay.delete(e)).data.ocs.data})(a);var u;r&&(s("loadBackupStatusFromServer",{}),s("loadStatusFromServer",r),(0,o.Ic)("user_status:status.updated",{status:r.status,message:r.message,icon:r.icon,clearAt:r.clearAt,userId:null===(u=(0,n.HW)())||void 0===u?void 0:u.uid}))}}};r.Ay.use(P.Ay);const H=new P.il({modules:{predefinedStatuses:F,userStatus:j,userBackupStatus:$},strict:!0});a.nc=btoa((0,n.do)()),r.Ay.prototype.t=t,r.Ay.prototype.$t=t;const L=()=>{const t=document.getElementById("user_status-menu-entry");new r.Ay({el:t,render:t=>t(O),store:H})};document.getElementById("user_status-menu-entry")?L():(0,o.B1)("core:user-menu:mounted",L),document.addEventListener("DOMContentLoaded",(function(){OCA.Dashboard&&OCA.Dashboard.registerStatus("status",(t=>new(r.Ay.extend(O))({propsData:{inline:!0},store:H}).$mount(t)))}))},33114:(t,e,s)=>{s.d(e,{A:()=>o});var a=s(95353),r=s(85168),n=s(96763);const o={computed:{...(0,a.aH)({statusType:t=>t.userStatus.status,statusIsUserDefined:t=>t.userStatus.statusIsUserDefined,customIcon:t=>t.userStatus.icon,customMessage:t=>t.userStatus.message}),visibleMessage(){if(this.customIcon&&this.customMessage)return"".concat(this.customIcon," ").concat(this.customMessage);if(this.customMessage)return this.customMessage;if(this.statusIsUserDefined)switch(this.statusType){case"online":return this.$t("user_status","Online");case"away":case"busy":return this.$t("user_status","Away");case"dnd":return this.$t("user_status","Do not disturb");case"invisible":return this.$t("user_status","Invisible");case"offline":return this.$t("user_status","Offline")}return this.$t("user_status","Set status")}},methods:{async changeStatus(t){try{await this.$store.dispatch("setStatus",{statusType:t})}catch(t){(0,r.Qg)(this.$t("user_status","There was an error saving the new status")),n.debug(t)}}}}},61913:(t,e,s)=>{s.d(e,{R:()=>a});const a=()=>new Date},5821:(t,e,s)=>{s.d(e,{A:()=>u});var a=s(71354),r=s.n(a),n=s(76314),o=s.n(n)()(r());o.push([t.id,".user-status-menu-item[data-v-056751be]{--color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-main-text));width:auto;min-width:44px;height:44px;margin:0;border:0;border-radius:var(--border-radius-pill);background-color:var(--color-main-background-blur);font-size:inherit;font-weight:normal;-webkit-backdrop-filter:var(--background-blur);backdrop-filter:var(--background-blur)}.user-status-menu-item[data-v-056751be]:active,.user-status-menu-item[data-v-056751be]:hover,.user-status-menu-item[data-v-056751be]:focus-visible{background-color:var(--color-background-hover)}.user-status-menu-item[data-v-056751be]:focus-visible{box-shadow:0 0 0 4px var(--color-main-background) !important;outline:2px solid var(--color-main-text) !important}.user-status-icon[data-v-056751be]{width:16px;height:16px;margin-right:10px;opacity:1 !important;background-size:16px;vertical-align:middle !important}","",{version:3,sources:["webpack://./apps/user_status/src/UserStatus.vue"],names:[],mappings:"AACA,wCAEC,+FAAA,CAEA,UAAA,CACA,cAAA,CACA,WAAA,CACA,QAAA,CACA,QAAA,CACA,uCAAA,CACA,kDAAA,CACA,iBAAA,CACA,kBAAA,CAEA,8CAAA,CACA,sCAAA,CAEA,mJAGC,8CAAA,CAED,sDACC,4DAAA,CACA,mDAAA,CAIF,mCACC,UAAA,CACA,WAAA,CACA,iBAAA,CACA,oBAAA,CACA,oBAAA,CACA,gCAAA",sourcesContent:["\n.user-status-menu-item {\n\t// Ensure the maxcontrast color is set for the background\n\t--color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-main-text));\n\n\twidth: auto;\n\tmin-width: 44px;\n\theight: 44px;\n\tmargin: 0;\n\tborder: 0;\n\tborder-radius: var(--border-radius-pill);\n\tbackground-color: var(--color-main-background-blur);\n\tfont-size: inherit;\n\tfont-weight: normal;\n\n\t-webkit-backdrop-filter: var(--background-blur);\n\tbackdrop-filter: var(--background-blur);\n\n\t&:active,\n\t&:hover,\n\t&:focus-visible {\n\t\tbackground-color: var(--color-background-hover);\n\t}\n\t&:focus-visible {\n\t\tbox-shadow: 0 0 0 4px var(--color-main-background) !important;\n\t\toutline: 2px solid var(--color-main-text) !important;\n\t}\n}\n\n.user-status-icon {\n\twidth: 16px;\n\theight: 16px;\n\tmargin-right: 10px;\n\topacity: 1 !important;\n\tbackground-size: 16px;\n\tvertical-align: middle !important;\n}\n"],sourceRoot:""}]);const u=o},53611:(t,e,s)=>{s.d(e,{A:()=>a.N});var a=s(28109)}},n={};function o(t){var e=n[t];if(void 0!==e)return e.exports;var s=n[t]={id:t,loaded:!1,exports:{}};return r[t].call(s.exports,s,s.exports,o),s.loaded=!0,s.exports}o.m=r,e=[],o.O=(t,s,a,r)=>{if(!s){var n=1/0;for(d=0;d=r)&&Object.keys(o.O).every((t=>o.O[t](s[i])))?s.splice(i--,1):(u=!1,r0&&e[d-1][2]>r;d--)e[d]=e[d-1];e[d]=[s,a,r]},o.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return o.d(e,{a:e}),e},o.d=(t,e)=>{for(var s in e)o.o(e,s)&&!o.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},o.f={},o.e=t=>Promise.all(Object.keys(o.f).reduce(((e,s)=>(o.f[s](t,e),e)),[])),o.u=t=>(5133===t?"user-status-modal":t)+"-"+t+".js?v="+{4254:"5c2324570f66dff0c8a1",5133:"bd5c65f1dff18eb447f7",9480:"2fb23485ae3a8860e96b"}[t],o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),s={},a="nextcloud:",o.l=(t,e,r,n)=>{if(s[t])s[t].push(e);else{var u,i;if(void 0!==r)for(var c=document.getElementsByTagName("script"),d=0;d{u.onerror=u.onload=null,clearTimeout(p);var r=s[t];if(delete s[t],u.parentNode&&u.parentNode.removeChild(u),r&&r.forEach((t=>t(a))),e)return e(a)},p=setTimeout(m.bind(null,void 0,{type:"timeout",target:u}),12e4);u.onerror=m.bind(null,u.onerror),u.onload=m.bind(null,u.onload),i&&document.head.appendChild(u)}},o.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),o.j=9953,(()=>{var t;o.g.importScripts&&(t=o.g.location+"");var e=o.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var s=e.getElementsByTagName("script");if(s.length)for(var a=s.length-1;a>-1&&(!t||!/^http(s?):/.test(t));)t=s[a--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=t})(),(()=>{o.b=document.baseURI||self.location.href;var t={9953:0};o.f.j=(e,s)=>{var a=o.o(t,e)?t[e]:void 0;if(0!==a)if(a)s.push(a[2]);else{var r=new Promise(((s,r)=>a=t[e]=[s,r]));s.push(a[2]=r);var n=o.p+o.u(e),u=new Error;o.l(n,(s=>{if(o.o(t,e)&&(0!==(a=t[e])&&(t[e]=void 0),a)){var r=s&&("load"===s.type?"missing":s.type),n=s&&s.target&&s.target.src;u.message="Loading chunk "+e+" failed.\n("+r+": "+n+")",u.name="ChunkLoadError",u.type=r,u.request=n,a[1](u)}}),"chunk-"+e,e)}},o.O.j=e=>0===t[e];var e=(e,s)=>{var a,r,n=s[0],u=s[1],i=s[2],c=0;if(n.some((e=>0!==t[e]))){for(a in u)o.o(u,a)&&(o.m[a]=u[a]);if(i)var d=i(o)}for(e&&e(s);co(19725)));u=o.O(u)})(); -//# sourceMappingURL=user_status-menu.js.map?v=0a0374b13c79fe34a29a \ No newline at end of file +(()=>{"use strict";var e,s,a,r={19725:(e,s,a)=>{var r=a(85471),n=a(21777),o=a(61338),u=a(54332),i=a(53611),d=a(17334),c=a.n(d),l=a(65043),m=a(63814),p=a(33114),A=a(96763);const g={name:"UserStatus",components:{NcButton:u.A,NcUserStatusIcon:i.A,SetStatusModal:()=>Promise.all([a.e(4208),a.e(5133)]).then(a.bind(a,70233))},mixins:[p.A],props:{inline:{type:Boolean,default:!1}},data:()=>({heartbeatInterval:null,isAway:!1,isModalOpen:!1,mouseMoveListener:null,setAwayTimeout:null}),mounted(){this.$store.dispatch("loadStatusFromInitialState"),OC.config.session_keepalive&&(this.heartbeatInterval=setInterval(this._backgroundHeartbeat.bind(this),3e5),this.setAwayTimeout=()=>{this.isAway=!0},this.mouseMoveListener=c()((()=>{const t=this.isAway;this.isAway=!1,clearTimeout(this.setAwayTimeout),setTimeout(this.setAwayTimeout,12e4),t&&this._backgroundHeartbeat()}),2e3,!0),window.addEventListener("mousemove",this.mouseMoveListener,{capture:!0,passive:!0}),this._backgroundHeartbeat()),(0,o.B1)("user_status:status.updated",this.handleUserStatusUpdated)},beforeDestroy(){window.removeEventListener("mouseMove",this.mouseMoveListener),clearInterval(this.heartbeatInterval),(0,o.al)("user_status:status.updated",this.handleUserStatusUpdated)},methods:{openModal(){this.isModalOpen=!0},closeModal(){this.isModalOpen=!1},async _backgroundHeartbeat(){try{const t=await(async t=>{const e=(0,m.KT)("apps/user_status/api/v1/heartbeat?format=json");return(await l.Ay.put(e,{status:t?"away":"online"})).data.ocs.data})(this.isAway);null!=t&&t.userId?this.$store.dispatch("setStatusFromHeartbeat",t):await this.$store.dispatch("reFetchStatusFromServer")}catch(e){var t;A.debug("Failed sending heartbeat, got: "+(null===(t=e.response)||void 0===t?void 0:t.status))}},handleUserStatusUpdated(t){OC.getCurrentUser().uid===t.userId&&this.$store.dispatch("setStatusFromObject",{status:t.status,icon:t.icon,message:t.message})}}};var v=a(85072),h=a.n(v),f=a(97825),b=a.n(f),y=a(77659),S=a.n(y),w=a(55056),I=a.n(w),C=a(10540),k=a.n(C),_=a(41113),x=a.n(_),M=a(5821),T={};T.styleTagTransform=x(),T.setAttributes=I(),T.insert=S().bind(null,"head"),T.domAPI=b(),T.insertStyleElement=k(),h()(M.A,T),M.A&&M.A.locals&&M.A.locals;const O=(0,a(14486).A)(g,(function(){var t=this,e=t._self._c;return e(t.inline?"div":"li",{tag:"component"},[t.inline?e("NcButton",{on:{click:function(e){return e.stopPropagation(),t.openModal.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("NcUserStatusIcon",{staticClass:"user-status-icon",attrs:{status:t.statusType,"aria-hidden":"true"}})]},proxy:!0}])},[t._v("\n\t\t"+t._s(t.visibleMessage)+"\n\t")]):e("button",{staticClass:"user-status-menu-item",on:{click:function(e){return e.stopPropagation(),t.openModal.apply(null,arguments)}}},[e("NcUserStatusIcon",{staticClass:"user-status-icon",attrs:{status:t.statusType,"aria-hidden":"true"}}),t._v("\n\t\t"+t._s(t.visibleMessage)+"\n\t")],1),t._v(" "),t.isModalOpen?e("SetStatusModal",{attrs:{inline:t.inline},on:{close:t.closeModal}}):t._e()],1)}),[],!1,null,"056751be",null).exports;var P=a(95353);const F={state:{predefinedStatuses:[]},mutations:{addPredefinedStatus(t,e){t.predefinedStatuses=[...t.predefinedStatuses,e]}},getters:{statusesHaveLoaded:t=>t.predefinedStatuses.length>0},actions:{async loadAllPredefinedStatuses(t){let{state:e,commit:s}=t;if(e.predefinedStatuses.length>0)return;const a=await(async()=>{const t=(0,m.KT)("apps/user_status/api/v1/predefined_statuses?format=json");return(await l.Ay.get(t)).data.ocs.data})();for(const t of a)s("addPredefinedStatus",t)}}};var U=a(32981),D=a(61913),B=a(19231);const E=t=>{if(null===t)return null;const e=(0,D.R)();if("period"===t.type)return e.setSeconds(e.getSeconds()+t.time),Math.floor(e.getTime()/1e3);if("end-of"===t.type)switch(t.time){case"day":case"week":return Number((0,B.A)(e).endOf(t.time).format("X"))}return"_time"===t.type?t.time:null},j={state:{status:null,statusIsUserDefined:null,message:null,icon:null,clearAt:null,messageIsPredefined:null,messageId:null},mutations:{setStatus(t,e){let{statusType:s}=e;t.status=s,t.statusIsUserDefined=!0},setPredefinedMessage(t,e){let{messageId:s,clearAt:a,message:r,icon:n}=e;t.messageId=s,t.messageIsPredefined=!0,t.message=r,t.icon=n,t.clearAt=a},setCustomMessage(t,e){let{message:s,icon:a,clearAt:r}=e;t.messageId=null,t.messageIsPredefined=!1,t.message=s,t.icon=a,t.clearAt=r},clearMessage(t){t.messageId=null,t.messageIsPredefined=!1,t.message=null,t.icon=null,t.clearAt=null},loadStatusFromServer(t,e){let{status:s,statusIsUserDefined:a,message:r,icon:n,clearAt:o,messageIsPredefined:u,messageId:i}=e;t.status=s,t.message=r,t.icon=n,void 0!==a&&(t.statusIsUserDefined=a),void 0!==o&&(t.clearAt=o),void 0!==u&&(t.messageIsPredefined=u),void 0!==i&&(t.messageId=i)}},getters:{},actions:{async setStatus(t,e){var s;let{commit:a,state:r}=t,{statusType:u}=e;await(async t=>{const e=(0,m.KT)("apps/user_status/api/v1/user_status/status");await l.Ay.put(e,{statusType:t})})(u),a("setStatus",{statusType:u}),(0,o.Ic)("user_status:status.updated",{status:r.status,message:r.message,icon:r.icon,clearAt:r.clearAt,userId:null===(s=(0,n.HW)())||void 0===s?void 0:s.uid})},async setStatusFromObject(t,e){let{commit:s,state:a}=t;s("loadStatusFromServer",e)},async setPredefinedMessage(t,e){var s;let{commit:a,rootState:r,state:u}=t,{messageId:i,clearAt:d}=e;const c=E(d);await async function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const s=(0,m.KT)("apps/user_status/api/v1/user_status/message/predefined?format=json");await l.Ay.put(s,{messageId:t,clearAt:e})}(i,c);const p=r.predefinedStatuses.predefinedStatuses.find((t=>t.id===i)),{message:A,icon:g}=p;a("setPredefinedMessage",{messageId:i,clearAt:c,message:A,icon:g}),(0,o.Ic)("user_status:status.updated",{status:u.status,message:u.message,icon:u.icon,clearAt:u.clearAt,userId:null===(s=(0,n.HW)())||void 0===s?void 0:s.uid})},async setCustomMessage(t,e){var s;let{commit:a,state:r}=t,{message:u,icon:i,clearAt:d}=e;const c=E(d);await async function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const a=(0,m.KT)("apps/user_status/api/v1/user_status/message/custom?format=json");await l.Ay.put(a,{message:t,statusIcon:e,clearAt:s})}(u,i,c),a("setCustomMessage",{message:u,icon:i,clearAt:c}),(0,o.Ic)("user_status:status.updated",{status:r.status,message:r.message,icon:r.icon,clearAt:r.clearAt,userId:null===(s=(0,n.HW)())||void 0===s?void 0:s.uid})},async clearMessage(t){var e;let{commit:s,state:a}=t;await(async()=>{const t=(0,m.KT)("apps/user_status/api/v1/user_status/message?format=json");await l.Ay.delete(t)})(),s("clearMessage"),(0,o.Ic)("user_status:status.updated",{status:a.status,message:a.message,icon:a.icon,clearAt:a.clearAt,userId:null===(e=(0,n.HW)())||void 0===e?void 0:e.uid})},async reFetchStatusFromServer(t){let{commit:e}=t;e("loadStatusFromServer",await(async()=>{const t=(0,m.KT)("apps/user_status/api/v1/user_status");return(await l.Ay.get(t)).data.ocs.data})())},async setStatusFromHeartbeat(t,e){let{commit:s}=t;s("loadStatusFromServer",e)},loadStatusFromInitialState(t){let{commit:e}=t;e("loadStatusFromServer",(0,U.C)("user_status","status"))}}},$={state:{status:null,statusIsUserDefined:null,message:null,icon:null,clearAt:null,messageIsPredefined:null,messageId:null},mutations:{loadBackupStatusFromServer(t,e){let{status:s,statusIsUserDefined:a,message:r,icon:n,clearAt:o,messageIsPredefined:u,messageId:i}=e;t.status=s,t.message=r,t.icon=n,void 0!==a&&(t.statusIsUserDefined=a),void 0!==o&&(t.clearAt=o),void 0!==u&&(t.messageIsPredefined=u),void 0!==i&&(t.messageId=i)}},getters:{},actions:{async fetchBackupFromServer(t){let{commit:e}=t;try{var s;e("loadBackupStatusFromServer",await(async t=>{const e=(0,m.KT)("apps/user_status/api/v1/statuses/{userId}",{userId:"_"+t});return(await l.Ay.get(e)).data.ocs.data})(null===(s=(0,n.HW)())||void 0===s?void 0:s.uid))}catch(t){}},async revertBackupFromServer(t,e){let{commit:s}=t,{messageId:a}=e;const r=await(async t=>{const e=(0,m.KT)("apps/user_status/api/v1/user_status/revert/{messageId}",{messageId:t});return(await l.Ay.delete(e)).data.ocs.data})(a);var u;r&&(s("loadBackupStatusFromServer",{}),s("loadStatusFromServer",r),(0,o.Ic)("user_status:status.updated",{status:r.status,message:r.message,icon:r.icon,clearAt:r.clearAt,userId:null===(u=(0,n.HW)())||void 0===u?void 0:u.uid}))}}};r.Ay.use(P.Ay);const H=new P.il({modules:{predefinedStatuses:F,userStatus:j,userBackupStatus:$},strict:!0});a.nc=btoa((0,n.do)()),r.Ay.prototype.t=t,r.Ay.prototype.$t=t;const L=()=>{const t=document.getElementById("user_status-menu-entry");new r.Ay({el:t,render:t=>t(O),store:H})};document.getElementById("user_status-menu-entry")?L():(0,o.B1)("core:user-menu:mounted",L),document.addEventListener("DOMContentLoaded",(function(){OCA.Dashboard&&OCA.Dashboard.registerStatus("status",(t=>new(r.Ay.extend(O))({propsData:{inline:!0},store:H}).$mount(t)))}))},33114:(t,e,s)=>{s.d(e,{A:()=>o});var a=s(95353),r=s(85168),n=s(96763);const o={computed:{...(0,a.aH)({statusType:t=>t.userStatus.status,statusIsUserDefined:t=>t.userStatus.statusIsUserDefined,customIcon:t=>t.userStatus.icon,customMessage:t=>t.userStatus.message}),visibleMessage(){if(this.customIcon&&this.customMessage)return"".concat(this.customIcon," ").concat(this.customMessage);if(this.customMessage)return this.customMessage;if(this.statusIsUserDefined)switch(this.statusType){case"online":return this.$t("user_status","Online");case"away":case"busy":return this.$t("user_status","Away");case"dnd":return this.$t("user_status","Do not disturb");case"invisible":return this.$t("user_status","Invisible");case"offline":return this.$t("user_status","Offline")}return this.$t("user_status","Set status")}},methods:{async changeStatus(t){try{await this.$store.dispatch("setStatus",{statusType:t})}catch(t){(0,r.Qg)(this.$t("user_status","There was an error saving the new status")),n.debug(t)}}}}},61913:(t,e,s)=>{s.d(e,{R:()=>a});const a=()=>new Date},5821:(t,e,s)=>{s.d(e,{A:()=>u});var a=s(71354),r=s.n(a),n=s(76314),o=s.n(n)()(r());o.push([t.id,".user-status-menu-item[data-v-056751be]{--color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-main-text));width:auto;min-width:44px;height:44px;margin:0;border:0;border-radius:var(--border-radius-pill);background-color:var(--color-main-background-blur);font-size:inherit;font-weight:normal;-webkit-backdrop-filter:var(--background-blur);backdrop-filter:var(--background-blur)}.user-status-menu-item[data-v-056751be]:active,.user-status-menu-item[data-v-056751be]:hover,.user-status-menu-item[data-v-056751be]:focus-visible{background-color:var(--color-background-hover)}.user-status-menu-item[data-v-056751be]:focus-visible{box-shadow:0 0 0 4px var(--color-main-background) !important;outline:2px solid var(--color-main-text) !important}.user-status-icon[data-v-056751be]{width:16px;height:16px;margin-right:10px;opacity:1 !important;background-size:16px;vertical-align:middle !important}","",{version:3,sources:["webpack://./apps/user_status/src/UserStatus.vue"],names:[],mappings:"AACA,wCAEC,+FAAA,CAEA,UAAA,CACA,cAAA,CACA,WAAA,CACA,QAAA,CACA,QAAA,CACA,uCAAA,CACA,kDAAA,CACA,iBAAA,CACA,kBAAA,CAEA,8CAAA,CACA,sCAAA,CAEA,mJAGC,8CAAA,CAED,sDACC,4DAAA,CACA,mDAAA,CAIF,mCACC,UAAA,CACA,WAAA,CACA,iBAAA,CACA,oBAAA,CACA,oBAAA,CACA,gCAAA",sourcesContent:["\n.user-status-menu-item {\n\t// Ensure the maxcontrast color is set for the background\n\t--color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-main-text));\n\n\twidth: auto;\n\tmin-width: 44px;\n\theight: 44px;\n\tmargin: 0;\n\tborder: 0;\n\tborder-radius: var(--border-radius-pill);\n\tbackground-color: var(--color-main-background-blur);\n\tfont-size: inherit;\n\tfont-weight: normal;\n\n\t-webkit-backdrop-filter: var(--background-blur);\n\tbackdrop-filter: var(--background-blur);\n\n\t&:active,\n\t&:hover,\n\t&:focus-visible {\n\t\tbackground-color: var(--color-background-hover);\n\t}\n\t&:focus-visible {\n\t\tbox-shadow: 0 0 0 4px var(--color-main-background) !important;\n\t\toutline: 2px solid var(--color-main-text) !important;\n\t}\n}\n\n.user-status-icon {\n\twidth: 16px;\n\theight: 16px;\n\tmargin-right: 10px;\n\topacity: 1 !important;\n\tbackground-size: 16px;\n\tvertical-align: middle !important;\n}\n"],sourceRoot:""}]);const u=o},53611:(t,e,s)=>{s.d(e,{A:()=>a.N});var a=s(28109)}},n={};function o(t){var e=n[t];if(void 0!==e)return e.exports;var s=n[t]={id:t,loaded:!1,exports:{}};return r[t].call(s.exports,s,s.exports,o),s.loaded=!0,s.exports}o.m=r,e=[],o.O=(t,s,a,r)=>{if(!s){var n=1/0;for(c=0;c=r)&&Object.keys(o.O).every((t=>o.O[t](s[i])))?s.splice(i--,1):(u=!1,r0&&e[c-1][2]>r;c--)e[c]=e[c-1];e[c]=[s,a,r]},o.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return o.d(e,{a:e}),e},o.d=(t,e)=>{for(var s in e)o.o(e,s)&&!o.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},o.f={},o.e=t=>Promise.all(Object.keys(o.f).reduce(((e,s)=>(o.f[s](t,e),e)),[])),o.u=t=>(5133===t?"user-status-modal":t)+"-"+t+".js?v="+{4254:"5c2324570f66dff0c8a1",5133:"bd5c65f1dff18eb447f7",9480:"2fb23485ae3a8860e96b"}[t],o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),s={},a="nextcloud:",o.l=(t,e,r,n)=>{if(s[t])s[t].push(e);else{var u,i;if(void 0!==r)for(var d=document.getElementsByTagName("script"),c=0;c{u.onerror=u.onload=null,clearTimeout(p);var r=s[t];if(delete s[t],u.parentNode&&u.parentNode.removeChild(u),r&&r.forEach((t=>t(a))),e)return e(a)},p=setTimeout(m.bind(null,void 0,{type:"timeout",target:u}),12e4);u.onerror=m.bind(null,u.onerror),u.onload=m.bind(null,u.onload),i&&document.head.appendChild(u)}},o.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),o.j=9953,(()=>{var t;o.g.importScripts&&(t=o.g.location+"");var e=o.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var s=e.getElementsByTagName("script");if(s.length)for(var a=s.length-1;a>-1&&(!t||!/^http(s?):/.test(t));)t=s[a--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=t})(),(()=>{o.b=document.baseURI||self.location.href;var t={9953:0};o.f.j=(e,s)=>{var a=o.o(t,e)?t[e]:void 0;if(0!==a)if(a)s.push(a[2]);else{var r=new Promise(((s,r)=>a=t[e]=[s,r]));s.push(a[2]=r);var n=o.p+o.u(e),u=new Error;o.l(n,(s=>{if(o.o(t,e)&&(0!==(a=t[e])&&(t[e]=void 0),a)){var r=s&&("load"===s.type?"missing":s.type),n=s&&s.target&&s.target.src;u.message="Loading chunk "+e+" failed.\n("+r+": "+n+")",u.name="ChunkLoadError",u.type=r,u.request=n,a[1](u)}}),"chunk-"+e,e)}},o.O.j=e=>0===t[e];var e=(e,s)=>{var a,r,n=s[0],u=s[1],i=s[2],d=0;if(n.some((e=>0!==t[e]))){for(a in u)o.o(u,a)&&(o.m[a]=u[a]);if(i)var c=i(o)}for(e&&e(s);do(19725)));u=o.O(u)})(); +//# sourceMappingURL=user_status-menu.js.map?v=c20619167b332b273385 \ No newline at end of file diff --git a/dist/user_status-menu.js.map b/dist/user_status-menu.js.map index c708a038e61cd..e9d04e13a6f84 100644 --- a/dist/user_status-menu.js.map +++ b/dist/user_status-menu.js.map @@ -1 +1 @@ -{"version":3,"file":"user_status-menu.js?v=0a0374b13c79fe34a29a","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/user_status/src/UserStatus.vue","webpack:///nextcloud/apps/user_status/src/UserStatus.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/user_status/src/services/heartbeatService.js","webpack://nextcloud/./apps/user_status/src/UserStatus.vue?7a3a","webpack://nextcloud/./apps/user_status/src/UserStatus.vue?d74a","webpack://nextcloud/./apps/user_status/src/UserStatus.vue?e2b3","webpack:///nextcloud/apps/user_status/src/services/predefinedStatusService.js","webpack:///nextcloud/apps/user_status/src/store/predefinedStatuses.js","webpack:///nextcloud/apps/user_status/src/services/clearAtService.js","webpack:///nextcloud/apps/user_status/src/store/userStatus.js","webpack:///nextcloud/apps/user_status/src/services/statusService.js","webpack:///nextcloud/apps/user_status/src/store/userBackupStatus.js","webpack:///nextcloud/apps/user_status/src/store/index.js","webpack:///nextcloud/apps/user_status/src/menu.js","webpack:///nextcloud/apps/user_status/src/mixins/OnlineStatusMixin.js","webpack:///nextcloud/apps/user_status/src/services/dateService.js","webpack:///nextcloud/apps/user_status/src/UserStatus.vue?vue&type=style&index=0&id=056751be&prod&lang=scss&scoped=true","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","\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!./UserStatus.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!./UserStatus.vue?vue&type=script&lang=js\"","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport HttpClient from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\n/**\n * Sends a heartbeat\n *\n * @param {boolean} isAway Whether or not the user is active\n * @return {Promise}\n */\nconst sendHeartbeat = async (isAway) => {\n\tconst url = generateOcsUrl('apps/user_status/api/v1/heartbeat?format=json')\n\tconst response = await HttpClient.put(url, {\n\t\tstatus: isAway ? 'away' : 'online',\n\t})\n\treturn response.data.ocs.data\n}\n\nexport {\n\tsendHeartbeat,\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!./UserStatus.vue?vue&type=style&index=0&id=056751be&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!./UserStatus.vue?vue&type=style&index=0&id=056751be&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserStatus.vue?vue&type=template&id=056751be&scoped=true\"\nimport script from \"./UserStatus.vue?vue&type=script&lang=js\"\nexport * from \"./UserStatus.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserStatus.vue?vue&type=style&index=0&id=056751be&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 \"056751be\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.inline ? 'div' : 'li',{tag:\"component\"},[(!_vm.inline)?_c('button',{staticClass:\"user-status-menu-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.openModal.apply(null, arguments)}}},[_c('NcUserStatusIcon',{staticClass:\"user-status-icon\",attrs:{\"status\":_vm.statusType,\"aria-hidden\":\"true\"}}),_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.visibleMessage)+\"\\n\\t\")],1):_c('NcButton',{on:{\"click\":function($event){$event.stopPropagation();return _vm.openModal.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcUserStatusIcon',{staticClass:\"user-status-icon\",attrs:{\"status\":_vm.statusType,\"aria-hidden\":\"true\"}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.visibleMessage)+\"\\n\\t\")]),_vm._v(\" \"),(_vm.isModalOpen)?_c('SetStatusModal',{attrs:{\"inline\":_vm.inline},on:{\"close\":_vm.closeModal}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport HttpClient from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\n/**\n * Fetches all predefined statuses from the server\n *\n * @return {Promise}\n */\nconst fetchAllPredefinedStatuses = async () => {\n\tconst url = generateOcsUrl('apps/user_status/api/v1/predefined_statuses?format=json')\n\tconst response = await HttpClient.get(url)\n\n\treturn response.data.ocs.data\n}\n\nexport {\n\tfetchAllPredefinedStatuses,\n}\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { fetchAllPredefinedStatuses } from '../services/predefinedStatusService.js'\n\nconst state = {\n\tpredefinedStatuses: [],\n}\n\nconst mutations = {\n\n\t/**\n\t * Adds a predefined status to the state\n\t *\n\t * @param {object} state The Vuex state\n\t * @param {object} status The status to add\n\t */\n\taddPredefinedStatus(state, status) {\n\t\tstate.predefinedStatuses = [...state.predefinedStatuses, status]\n\t},\n}\n\nconst getters = {\n\tstatusesHaveLoaded(state) {\n\t\treturn state.predefinedStatuses.length > 0\n\t},\n}\n\nconst actions = {\n\n\t/**\n\t * Loads all predefined statuses from the server\n\t *\n\t * @param {object} vuex The Vuex components\n\t * @param {Function} vuex.commit The Vuex commit function\n\t * @param {object} vuex.state -\n\t */\n\tasync loadAllPredefinedStatuses({ state, commit }) {\n\t\tif (state.predefinedStatuses.length > 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst statuses = await fetchAllPredefinedStatuses()\n\t\tfor (const status of statuses) {\n\t\t\tcommit('addPredefinedStatus', status)\n\t\t}\n\t},\n\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport {\n\tdateFactory,\n} from './dateService.js'\nimport moment from '@nextcloud/moment'\n\n/**\n * Calculates the actual clearAt timestamp\n *\n * @param {object | null} clearAt The clear-at config\n * @return {number | null}\n */\nconst getTimestampForClearAt = (clearAt) => {\n\tif (clearAt === null) {\n\t\treturn null\n\t}\n\n\tconst date = dateFactory()\n\n\tif (clearAt.type === 'period') {\n\t\tdate.setSeconds(date.getSeconds() + clearAt.time)\n\t\treturn Math.floor(date.getTime() / 1000)\n\t}\n\tif (clearAt.type === 'end-of') {\n\t\tswitch (clearAt.time) {\n\t\tcase 'day':\n\t\tcase 'week':\n\t\t\treturn Number(moment(date).endOf(clearAt.time).format('X'))\n\t\t}\n\t}\n\t// This is not an officially supported type\n\t// but only used internally to show the remaining time\n\t// in the Set Status Modal\n\tif (clearAt.type === '_time') {\n\t\treturn clearAt.time\n\t}\n\n\treturn null\n}\n\nexport {\n\tgetTimestampForClearAt,\n}\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport {\n\tfetchCurrentStatus,\n\tsetStatus,\n\tsetPredefinedMessage,\n\tsetCustomMessage,\n\tclearMessage,\n} from '../services/statusService.js'\nimport { loadState } from '@nextcloud/initial-state'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getTimestampForClearAt } from '../services/clearAtService.js'\nimport { emit } from '@nextcloud/event-bus'\n\nconst state = {\n\t// Status (online / away / dnd / invisible / offline)\n\tstatus: null,\n\t// Whether the status is user-defined\n\tstatusIsUserDefined: null,\n\t// A custom message set by the user\n\tmessage: null,\n\t// The icon selected by the user\n\ticon: null,\n\t// When to automatically clean the status\n\tclearAt: null,\n\t// Whether the message is predefined\n\t// (and can automatically be translated by Nextcloud)\n\tmessageIsPredefined: null,\n\t// The id of the message in case it's predefined\n\tmessageId: null,\n}\n\nconst mutations = {\n\n\t/**\n\t * Sets a new status\n\t *\n\t * @param {object} state The Vuex state\n\t * @param {object} data The destructuring object\n\t * @param {string} data.statusType The new status type\n\t */\n\tsetStatus(state, { statusType }) {\n\t\tstate.status = statusType\n\t\tstate.statusIsUserDefined = true\n\t},\n\n\t/**\n\t * Sets a message using a predefined message\n\t *\n\t * @param {object} state The Vuex state\n\t * @param {object} data The destructuring object\n\t * @param {string} data.messageId The messageId\n\t * @param {number | null} data.clearAt When to automatically clear the status\n\t * @param {string} data.message The message\n\t * @param {string} data.icon The icon\n\t */\n\tsetPredefinedMessage(state, { messageId, clearAt, message, icon }) {\n\t\tstate.messageId = messageId\n\t\tstate.messageIsPredefined = true\n\n\t\tstate.message = message\n\t\tstate.icon = icon\n\t\tstate.clearAt = clearAt\n\t},\n\n\t/**\n\t * Sets a custom message\n\t *\n\t * @param {object} state The Vuex state\n\t * @param {object} data The destructuring object\n\t * @param {string} data.message The message\n\t * @param {string} data.icon The icon\n\t * @param {number} data.clearAt When to automatically clear the status\n\t */\n\tsetCustomMessage(state, { message, icon, clearAt }) {\n\t\tstate.messageId = null\n\t\tstate.messageIsPredefined = false\n\n\t\tstate.message = message\n\t\tstate.icon = icon\n\t\tstate.clearAt = clearAt\n\t},\n\n\t/**\n\t * Clears the status\n\t *\n\t * @param {object} state The Vuex state\n\t */\n\tclearMessage(state) {\n\t\tstate.messageId = null\n\t\tstate.messageIsPredefined = false\n\n\t\tstate.message = null\n\t\tstate.icon = null\n\t\tstate.clearAt = null\n\t},\n\n\t/**\n\t * Loads the status from initial state\n\t *\n\t * @param {object} state The Vuex state\n\t * @param {object} data The destructuring object\n\t * @param {string} data.status The status type\n\t * @param {boolean} data.statusIsUserDefined Whether or not this status is user-defined\n\t * @param {string} data.message The message\n\t * @param {string} data.icon The icon\n\t * @param {number} data.clearAt When to automatically clear the status\n\t * @param {boolean} data.messageIsPredefined Whether or not the message is predefined\n\t * @param {string} data.messageId The id of the predefined message\n\t */\n\tloadStatusFromServer(state, { status, statusIsUserDefined, message, icon, clearAt, messageIsPredefined, messageId }) {\n\t\tstate.status = status\n\t\tstate.message = message\n\t\tstate.icon = icon\n\n\t\t// Don't overwrite certain values if the refreshing comes in via short updates\n\t\t// E.g. from talk participant list which only has the status, message and icon\n\t\tif (typeof statusIsUserDefined !== 'undefined') {\n\t\t\tstate.statusIsUserDefined = statusIsUserDefined\n\t\t}\n\t\tif (typeof clearAt !== 'undefined') {\n\t\t\tstate.clearAt = clearAt\n\t\t}\n\t\tif (typeof messageIsPredefined !== 'undefined') {\n\t\t\tstate.messageIsPredefined = messageIsPredefined\n\t\t}\n\t\tif (typeof messageId !== 'undefined') {\n\t\t\tstate.messageId = messageId\n\t\t}\n\t},\n}\n\nconst getters = {}\n\nconst actions = {\n\n\t/**\n\t * Sets a new status\n\t *\n\t * @param {object} vuex The Vuex destructuring object\n\t * @param {Function} vuex.commit The Vuex commit function\n\t * @param {object} vuex.state The Vuex state object\n\t * @param {object} data The data destructuring object\n\t * @param {string} data.statusType The new status type\n\t * @return {Promise}\n\t */\n\tasync setStatus({ commit, state }, { statusType }) {\n\t\tawait setStatus(statusType)\n\t\tcommit('setStatus', { statusType })\n\t\temit('user_status:status.updated', {\n\t\t\tstatus: state.status,\n\t\t\tmessage: state.message,\n\t\t\ticon: state.icon,\n\t\t\tclearAt: state.clearAt,\n\t\t\tuserId: getCurrentUser()?.uid,\n\t\t})\n\t},\n\n\t/**\n\t * Update status from 'user_status:status.updated' update.\n\t * This doesn't trigger another 'user_status:status.updated'\n\t * event.\n\t *\n\t * @param {object} vuex The Vuex destructuring object\n\t * @param {Function} vuex.commit The Vuex commit function\n\t * @param {object} vuex.state The Vuex state object\n\t * @param {string} status The new status\n\t * @return {Promise}\n\t */\n\tasync setStatusFromObject({ commit, state }, status) {\n\t\tcommit('loadStatusFromServer', status)\n\t},\n\n\t/**\n\t * Sets a message using a predefined message\n\t *\n\t * @param {object} vuex The Vuex destructuring object\n\t * @param {Function} vuex.commit The Vuex commit function\n\t * @param {object} vuex.state The Vuex state object\n\t * @param {object} vuex.rootState The Vuex root state\n\t * @param {object} data The data destructuring object\n\t * @param {string} data.messageId The messageId\n\t * @param {object | null} data.clearAt When to automatically clear the status\n\t * @return {Promise}\n\t */\n\tasync setPredefinedMessage({ commit, rootState, state }, { messageId, clearAt }) {\n\t\tconst resolvedClearAt = getTimestampForClearAt(clearAt)\n\n\t\tawait setPredefinedMessage(messageId, resolvedClearAt)\n\t\tconst status = rootState.predefinedStatuses.predefinedStatuses.find((status) => status.id === messageId)\n\t\tconst { message, icon } = status\n\n\t\tcommit('setPredefinedMessage', { messageId, clearAt: resolvedClearAt, message, icon })\n\t\temit('user_status:status.updated', {\n\t\t\tstatus: state.status,\n\t\t\tmessage: state.message,\n\t\t\ticon: state.icon,\n\t\t\tclearAt: state.clearAt,\n\t\t\tuserId: getCurrentUser()?.uid,\n\t\t})\n\t},\n\n\t/**\n\t * Sets a custom message\n\t *\n\t * @param {object} vuex The Vuex destructuring object\n\t * @param {Function} vuex.commit The Vuex commit function\n\t * @param {object} vuex.state The Vuex state object\n\t * @param {object} data The data destructuring object\n\t * @param {string} data.message The message\n\t * @param {string} data.icon The icon\n\t * @param {object | null} data.clearAt When to automatically clear the status\n\t * @return {Promise}\n\t */\n\tasync setCustomMessage({ commit, state }, { message, icon, clearAt }) {\n\t\tconst resolvedClearAt = getTimestampForClearAt(clearAt)\n\n\t\tawait setCustomMessage(message, icon, resolvedClearAt)\n\t\tcommit('setCustomMessage', { message, icon, clearAt: resolvedClearAt })\n\t\temit('user_status:status.updated', {\n\t\t\tstatus: state.status,\n\t\t\tmessage: state.message,\n\t\t\ticon: state.icon,\n\t\t\tclearAt: state.clearAt,\n\t\t\tuserId: getCurrentUser()?.uid,\n\t\t})\n\t},\n\n\t/**\n\t * Clears the status\n\t *\n\t * @param {object} vuex The Vuex destructuring object\n\t * @param {Function} vuex.commit The Vuex commit function\n\t * @param {object} vuex.state The Vuex state object\n\t * @return {Promise}\n\t */\n\tasync clearMessage({ commit, state }) {\n\t\tawait clearMessage()\n\t\tcommit('clearMessage')\n\t\temit('user_status:status.updated', {\n\t\t\tstatus: state.status,\n\t\t\tmessage: state.message,\n\t\t\ticon: state.icon,\n\t\t\tclearAt: state.clearAt,\n\t\t\tuserId: getCurrentUser()?.uid,\n\t\t})\n\t},\n\n\t/**\n\t * Re-fetches the status from the server\n\t *\n\t * @param {object} vuex The Vuex destructuring object\n\t * @param {Function} vuex.commit The Vuex commit function\n\t * @return {Promise}\n\t */\n\tasync reFetchStatusFromServer({ commit }) {\n\t\tconst status = await fetchCurrentStatus()\n\t\tcommit('loadStatusFromServer', status)\n\t},\n\n\t/**\n\t * Stores the status we got in the reply of the heartbeat\n\t *\n\t * @param {object} vuex The Vuex destructuring object\n\t * @param {Function} vuex.commit The Vuex commit function\n\t * @param {object} status The data destructuring object\n\t * @param {string} status.status The status type\n\t * @param {boolean} status.statusIsUserDefined Whether or not this status is user-defined\n\t * @param {string} status.message The message\n\t * @param {string} status.icon The icon\n\t * @param {number} status.clearAt When to automatically clear the status\n\t * @param {boolean} status.messageIsPredefined Whether or not the message is predefined\n\t * @param {string} status.messageId The id of the predefined message\n\t * @return {Promise}\n\t */\n\tasync setStatusFromHeartbeat({ commit }, status) {\n\t\tcommit('loadStatusFromServer', status)\n\t},\n\n\t/**\n\t * Loads the server from the initial state\n\t *\n\t * @param {object} vuex The Vuex destructuring object\n\t * @param {Function} vuex.commit The Vuex commit function\n\t */\n\tloadStatusFromInitialState({ commit }) {\n\t\tconst status = loadState('user_status', 'status')\n\t\tcommit('loadStatusFromServer', status)\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport HttpClient from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\n/**\n * Fetches the current user-status\n *\n * @return {Promise}\n */\nconst fetchCurrentStatus = async () => {\n\tconst url = generateOcsUrl('apps/user_status/api/v1/user_status')\n\tconst response = await HttpClient.get(url)\n\n\treturn response.data.ocs.data\n}\n\n/**\n * Fetches the current user-status\n *\n * @param {string} userId\n * @return {Promise}\n */\nconst fetchBackupStatus = async (userId) => {\n\tconst url = generateOcsUrl('apps/user_status/api/v1/statuses/{userId}', { userId: '_' + userId })\n\tconst response = await HttpClient.get(url)\n\n\treturn response.data.ocs.data\n}\n\n/**\n * Sets the status\n *\n * @param {string} statusType The status (online / away / dnd / invisible)\n * @return {Promise}\n */\nconst setStatus = async (statusType) => {\n\tconst url = generateOcsUrl('apps/user_status/api/v1/user_status/status')\n\tawait HttpClient.put(url, {\n\t\tstatusType,\n\t})\n}\n\n/**\n * Sets a message based on our predefined statuses\n *\n * @param {string} messageId The id of the message, taken from predefined status service\n * @param {number | null} clearAt When to automatically clean the status\n * @return {Promise}\n */\nconst setPredefinedMessage = async (messageId, clearAt = null) => {\n\tconst url = generateOcsUrl('apps/user_status/api/v1/user_status/message/predefined?format=json')\n\tawait HttpClient.put(url, {\n\t\tmessageId,\n\t\tclearAt,\n\t})\n}\n\n/**\n * Sets a custom message\n *\n * @param {string} message The user-defined message\n * @param {string | null} statusIcon The user-defined icon\n * @param {number | null} clearAt When to automatically clean the status\n * @return {Promise}\n */\nconst setCustomMessage = async (message, statusIcon = null, clearAt = null) => {\n\tconst url = generateOcsUrl('apps/user_status/api/v1/user_status/message/custom?format=json')\n\tawait HttpClient.put(url, {\n\t\tmessage,\n\t\tstatusIcon,\n\t\tclearAt,\n\t})\n}\n\n/**\n * Clears the current status of the user\n *\n * @return {Promise}\n */\nconst clearMessage = async () => {\n\tconst url = generateOcsUrl('apps/user_status/api/v1/user_status/message?format=json')\n\tawait HttpClient.delete(url)\n}\n\n/**\n * Revert the automated status\n *\n * @param {string} messageId\n * @return {Promise}\n */\nconst revertToBackupStatus = async (messageId) => {\n\tconst url = generateOcsUrl('apps/user_status/api/v1/user_status/revert/{messageId}', { messageId })\n\tconst response = await HttpClient.delete(url)\n\n\treturn response.data.ocs.data\n}\n\nexport {\n\tfetchCurrentStatus,\n\tfetchBackupStatus,\n\tsetStatus,\n\tsetCustomMessage,\n\tsetPredefinedMessage,\n\tclearMessage,\n\trevertToBackupStatus,\n}\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport {\n\tfetchBackupStatus,\n\trevertToBackupStatus,\n} from '../services/statusService.js'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { emit } from '@nextcloud/event-bus'\n\nconst state = {\n\t// Status (online / away / dnd / invisible / offline)\n\tstatus: null,\n\t// Whether the status is user-defined\n\tstatusIsUserDefined: null,\n\t// A custom message set by the user\n\tmessage: null,\n\t// The icon selected by the user\n\ticon: null,\n\t// When to automatically clean the status\n\tclearAt: null,\n\t// Whether the message is predefined\n\t// (and can automatically be translated by Nextcloud)\n\tmessageIsPredefined: null,\n\t// The id of the message in case it's predefined\n\tmessageId: null,\n}\n\nconst mutations = {\n\t/**\n\t * Loads the status from initial state\n\t *\n\t * @param {object} state The Vuex state\n\t * @param {object} data The destructuring object\n\t * @param {string} data.status The status type\n\t * @param {boolean} data.statusIsUserDefined Whether or not this status is user-defined\n\t * @param {string} data.message The message\n\t * @param {string} data.icon The icon\n\t * @param {number} data.clearAt When to automatically clear the status\n\t * @param {boolean} data.messageIsPredefined Whether or not the message is predefined\n\t * @param {string} data.messageId The id of the predefined message\n\t */\n\tloadBackupStatusFromServer(state, { status, statusIsUserDefined, message, icon, clearAt, messageIsPredefined, messageId }) {\n\t\tstate.status = status\n\t\tstate.message = message\n\t\tstate.icon = icon\n\n\t\t// Don't overwrite certain values if the refreshing comes in via short updates\n\t\t// E.g. from talk participant list which only has the status, message and icon\n\t\tif (typeof statusIsUserDefined !== 'undefined') {\n\t\t\tstate.statusIsUserDefined = statusIsUserDefined\n\t\t}\n\t\tif (typeof clearAt !== 'undefined') {\n\t\t\tstate.clearAt = clearAt\n\t\t}\n\t\tif (typeof messageIsPredefined !== 'undefined') {\n\t\t\tstate.messageIsPredefined = messageIsPredefined\n\t\t}\n\t\tif (typeof messageId !== 'undefined') {\n\t\t\tstate.messageId = messageId\n\t\t}\n\t},\n}\n\nconst getters = {}\n\nconst actions = {\n\t/**\n\t * Re-fetches the status from the server\n\t *\n\t * @param {object} vuex The Vuex destructuring object\n\t * @param {Function} vuex.commit The Vuex commit function\n\t * @return {Promise}\n\t */\n\tasync fetchBackupFromServer({ commit }) {\n\t\ttry {\n\t\t\tconst status = await fetchBackupStatus(getCurrentUser()?.uid)\n\t\t\tcommit('loadBackupStatusFromServer', status)\n\t\t} catch (e) {\n\t\t\t// Ignore missing user backup status\n\t\t}\n\t},\n\n\tasync revertBackupFromServer({ commit }, { messageId }) {\n\t\tconst status = await revertToBackupStatus(messageId)\n\t\tif (status) {\n\t\t\tcommit('loadBackupStatusFromServer', {})\n\t\t\tcommit('loadStatusFromServer', status)\n\t\t\temit('user_status:status.updated', {\n\t\t\t\tstatus: status.status,\n\t\t\t\tmessage: status.message,\n\t\t\t\ticon: status.icon,\n\t\t\t\tclearAt: status.clearAt,\n\t\t\t\tuserId: getCurrentUser()?.uid,\n\t\t\t})\n\t\t}\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Vue from 'vue'\nimport Vuex, { Store } from 'vuex'\nimport predefinedStatuses from './predefinedStatuses.js'\nimport userStatus from './userStatus.js'\nimport userBackupStatus from './userBackupStatus.js'\n\nVue.use(Vuex)\n\nexport default new Store({\n\tmodules: {\n\t\tpredefinedStatuses,\n\t\tuserStatus,\n\t\tuserBackupStatus,\n\t},\n\tstrict: true,\n})\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Vue from 'vue'\nimport { getRequestToken } from '@nextcloud/auth'\nimport { subscribe } from '@nextcloud/event-bus'\n\nimport UserStatus from './UserStatus.vue'\n\nimport store from './store/index.js'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\nVue.prototype.t = t\nVue.prototype.$t = t\n\nconst mountPoint = document.getElementById('user_status-menu-entry')\n\nconst mountMenuEntry = () => {\n\tconst mountPoint = document.getElementById('user_status-menu-entry')\n\t// eslint-disable-next-line no-new\n\tnew Vue({\n\t\tel: mountPoint,\n\t\trender: h => h(UserStatus),\n\t\tstore,\n\t})\n}\n\nif (mountPoint) {\n\tmountMenuEntry()\n} else {\n\tsubscribe('core:user-menu:mounted', mountMenuEntry)\n}\n\n// Register dashboard status\ndocument.addEventListener('DOMContentLoaded', function() {\n\tif (!OCA.Dashboard) {\n\t\treturn\n\t}\n\n\tOCA.Dashboard.registerStatus('status', (el) => {\n\t\tconst Dashboard = Vue.extend(UserStatus)\n\t\treturn new Dashboard({\n\t\t\tpropsData: {\n\t\t\t\tinline: true,\n\t\t\t},\n\t\t\tstore,\n\t\t}).$mount(el)\n\t})\n})\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { mapState } from 'vuex'\nimport { showError } from '@nextcloud/dialogs'\n\nexport default {\n\tcomputed: {\n\t\t...mapState({\n\t\t\tstatusType: state => state.userStatus.status,\n\t\t\tstatusIsUserDefined: state => state.userStatus.statusIsUserDefined,\n\t\t\tcustomIcon: state => state.userStatus.icon,\n\t\t\tcustomMessage: state => state.userStatus.message,\n\t\t}),\n\n\t\t/**\n\t\t * The message displayed in the top right corner\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tvisibleMessage() {\n\t\t\tif (this.customIcon && this.customMessage) {\n\t\t\t\treturn `${this.customIcon} ${this.customMessage}`\n\t\t\t}\n\n\t\t\tif (this.customMessage) {\n\t\t\t\treturn this.customMessage\n\t\t\t}\n\n\t\t\tif (this.statusIsUserDefined) {\n\t\t\t\tswitch (this.statusType) {\n\t\t\t\tcase 'online':\n\t\t\t\t\treturn this.$t('user_status', 'Online')\n\n\t\t\t\tcase 'away':\n\t\t\t\tcase 'busy':\n\t\t\t\t\treturn this.$t('user_status', 'Away')\n\n\t\t\t\tcase 'dnd':\n\t\t\t\t\treturn this.$t('user_status', 'Do not disturb')\n\n\t\t\t\tcase 'invisible':\n\t\t\t\t\treturn this.$t('user_status', 'Invisible')\n\n\t\t\t\tcase 'offline':\n\t\t\t\t\treturn this.$t('user_status', 'Offline')\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this.$t('user_status', 'Set status')\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Changes the user-status\n\t\t *\n\t\t * @param {string} statusType (online / away / dnd / invisible)\n\t\t */\n\t\tasync changeStatus(statusType) {\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('setStatus', { statusType })\n\t\t\t} catch (err) {\n\t\t\t\tshowError(this.$t('user_status', 'There was an error saving the new status'))\n\t\t\t\tconsole.debug(err)\n\t\t\t}\n\t\t},\n\t},\n}\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nconst dateFactory = () => {\n\treturn new Date()\n}\n\nexport {\n\tdateFactory,\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.user-status-menu-item[data-v-056751be]{--color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-main-text));width:auto;min-width:44px;height:44px;margin:0;border:0;border-radius:var(--border-radius-pill);background-color:var(--color-main-background-blur);font-size:inherit;font-weight:normal;-webkit-backdrop-filter:var(--background-blur);backdrop-filter:var(--background-blur)}.user-status-menu-item[data-v-056751be]:active,.user-status-menu-item[data-v-056751be]:hover,.user-status-menu-item[data-v-056751be]:focus-visible{background-color:var(--color-background-hover)}.user-status-menu-item[data-v-056751be]:focus-visible{box-shadow:0 0 0 4px var(--color-main-background) !important;outline:2px solid var(--color-main-text) !important}.user-status-icon[data-v-056751be]{width:16px;height:16px;margin-right:10px;opacity:1 !important;background-size:16px;vertical-align:middle !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/user_status/src/UserStatus.vue\"],\"names\":[],\"mappings\":\"AACA,wCAEC,+FAAA,CAEA,UAAA,CACA,cAAA,CACA,WAAA,CACA,QAAA,CACA,QAAA,CACA,uCAAA,CACA,kDAAA,CACA,iBAAA,CACA,kBAAA,CAEA,8CAAA,CACA,sCAAA,CAEA,mJAGC,8CAAA,CAED,sDACC,4DAAA,CACA,mDAAA,CAIF,mCACC,UAAA,CACA,WAAA,CACA,iBAAA,CACA,oBAAA,CACA,oBAAA,CACA,gCAAA\",\"sourcesContent\":[\"\\n.user-status-menu-item {\\n\\t// Ensure the maxcontrast color is set for the background\\n\\t--color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-main-text));\\n\\n\\twidth: auto;\\n\\tmin-width: 44px;\\n\\theight: 44px;\\n\\tmargin: 0;\\n\\tborder: 0;\\n\\tborder-radius: var(--border-radius-pill);\\n\\tbackground-color: var(--color-main-background-blur);\\n\\tfont-size: inherit;\\n\\tfont-weight: normal;\\n\\n\\t-webkit-backdrop-filter: var(--background-blur);\\n\\tbackdrop-filter: var(--background-blur);\\n\\n\\t&:active,\\n\\t&:hover,\\n\\t&:focus-visible {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t}\\n\\t&:focus-visible {\\n\\t\\tbox-shadow: 0 0 0 4px var(--color-main-background) !important;\\n\\t\\toutline: 2px solid var(--color-main-text) !important;\\n\\t}\\n}\\n\\n.user-status-icon {\\n\\twidth: 16px;\\n\\theight: 16px;\\n\\tmargin-right: 10px;\\n\\topacity: 1 !important;\\n\\tbackground-size: 16px;\\n\\tvertical-align: middle !important;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + (chunkId === 5133 ? \"user-status-modal\" : chunkId) + \"-\" + chunkId + \".js?v=\" + {\"4254\":\"5c2324570f66dff0c8a1\",\"5133\":\"bd5c65f1dff18eb447f7\",\"9480\":\"2fb23485ae3a8860e96b\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 9953;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t9953: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(19725)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","name","components","NcButton","NcUserStatusIcon","SetStatusModal","mixins","OnlineStatusMixin","props","inline","type","Boolean","default","data","heartbeatInterval","isAway","isModalOpen","mouseMoveListener","setAwayTimeout","mounted","$store","dispatch","OC","config","session_keepalive","setInterval","_backgroundHeartbeat","bind","debounce","wasAway","clearTimeout","setTimeout","window","addEventListener","capture","passive","subscribe","handleUserStatusUpdated","beforeDestroy","removeEventListener","clearInterval","unsubscribe","methods","openModal","closeModal","status","async","url","generateOcsUrl","HttpClient","put","ocs","sendHeartbeat","userId","error","_error$response","console","debug","response","state","getCurrentUser","uid","icon","message","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","this","_c","_self","tag","on","$event","stopPropagation","apply","arguments","scopedSlots","_u","key","fn","staticClass","attrs","statusType","proxy","_v","_s","visibleMessage","_e","predefinedStatuses","mutations","addPredefinedStatus","getters","statusesHaveLoaded","length","actions","loadAllPredefinedStatuses","_ref","commit","statuses","get","fetchAllPredefinedStatuses","getTimestampForClearAt","clearAt","date","dateFactory","setSeconds","getSeconds","time","Math","floor","getTime","Number","moment","endOf","format","statusIsUserDefined","messageIsPredefined","messageId","setStatus","setPredefinedMessage","_ref2","setCustomMessage","_ref3","clearMessage","loadStatusFromServer","_ref4","_ref5","_ref6","_getCurrentUser","emit","setStatusFromObject","_ref7","_ref8","_ref9","_getCurrentUser2","rootState","resolvedClearAt","undefined","find","id","_ref10","_ref11","_getCurrentUser3","statusIcon","_ref12","_getCurrentUser4","delete","reFetchStatusFromServer","_ref13","fetchCurrentStatus","setStatusFromHeartbeat","_ref14","loadStatusFromInitialState","_ref15","loadState","loadBackupStatusFromServer","fetchBackupFromServer","fetchBackupStatus","e","revertBackupFromServer","revertToBackupStatus","Vue","use","Vuex","Store","modules","userStatus","userBackupStatus","strict","__webpack_nonce__","btoa","getRequestToken","prototype","t","$t","mountMenuEntry","mountPoint","document","getElementById","el","render","h","UserStatus","store","OCA","Dashboard","registerStatus","extend","propsData","$mount","computed","mapState","customIcon","customMessage","concat","changeStatus","err","showError","Date","___CSS_LOADER_EXPORT___","push","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","loaded","__webpack_modules__","call","m","O","result","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","Object","keys","every","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","f","chunkId","Promise","all","reduce","promises","u","g","globalThis","Function","obj","prop","hasOwnProperty","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","doneFns","parentNode","removeChild","forEach","target","head","appendChild","Symbol","toStringTag","value","nmd","paths","children","scriptUrl","importScripts","location","currentScript","test","Error","replace","p","b","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"user_status-menu.js?v=c20619167b332b273385","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/user_status/src/UserStatus.vue","webpack:///nextcloud/apps/user_status/src/UserStatus.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/user_status/src/services/heartbeatService.js","webpack://nextcloud/./apps/user_status/src/UserStatus.vue?7a3a","webpack://nextcloud/./apps/user_status/src/UserStatus.vue?d74a","webpack://nextcloud/./apps/user_status/src/UserStatus.vue?e2b3","webpack:///nextcloud/apps/user_status/src/services/predefinedStatusService.js","webpack:///nextcloud/apps/user_status/src/store/predefinedStatuses.js","webpack:///nextcloud/apps/user_status/src/services/clearAtService.js","webpack:///nextcloud/apps/user_status/src/store/userStatus.js","webpack:///nextcloud/apps/user_status/src/services/statusService.js","webpack:///nextcloud/apps/user_status/src/store/userBackupStatus.js","webpack:///nextcloud/apps/user_status/src/store/index.js","webpack:///nextcloud/apps/user_status/src/menu.js","webpack:///nextcloud/apps/user_status/src/mixins/OnlineStatusMixin.js","webpack:///nextcloud/apps/user_status/src/services/dateService.js","webpack:///nextcloud/apps/user_status/src/UserStatus.vue?vue&type=style&index=0&id=056751be&prod&lang=scss&scoped=true","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","\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!./UserStatus.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!./UserStatus.vue?vue&type=script&lang=js\"","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport HttpClient from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\n/**\n * Sends a heartbeat\n *\n * @param {boolean} isAway Whether or not the user is active\n * @return {Promise}\n */\nconst sendHeartbeat = async (isAway) => {\n\tconst url = generateOcsUrl('apps/user_status/api/v1/heartbeat?format=json')\n\tconst response = await HttpClient.put(url, {\n\t\tstatus: isAway ? 'away' : 'online',\n\t})\n\treturn response.data.ocs.data\n}\n\nexport {\n\tsendHeartbeat,\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!./UserStatus.vue?vue&type=style&index=0&id=056751be&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!./UserStatus.vue?vue&type=style&index=0&id=056751be&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserStatus.vue?vue&type=template&id=056751be&scoped=true\"\nimport script from \"./UserStatus.vue?vue&type=script&lang=js\"\nexport * from \"./UserStatus.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserStatus.vue?vue&type=style&index=0&id=056751be&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 \"056751be\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.inline ? 'div' : 'li',{tag:\"component\"},[(!_vm.inline)?_c('button',{staticClass:\"user-status-menu-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.openModal.apply(null, arguments)}}},[_c('NcUserStatusIcon',{staticClass:\"user-status-icon\",attrs:{\"status\":_vm.statusType,\"aria-hidden\":\"true\"}}),_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.visibleMessage)+\"\\n\\t\")],1):_c('NcButton',{on:{\"click\":function($event){$event.stopPropagation();return _vm.openModal.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcUserStatusIcon',{staticClass:\"user-status-icon\",attrs:{\"status\":_vm.statusType,\"aria-hidden\":\"true\"}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.visibleMessage)+\"\\n\\t\")]),_vm._v(\" \"),(_vm.isModalOpen)?_c('SetStatusModal',{attrs:{\"inline\":_vm.inline},on:{\"close\":_vm.closeModal}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport HttpClient from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\n/**\n * Fetches all predefined statuses from the server\n *\n * @return {Promise}\n */\nconst fetchAllPredefinedStatuses = async () => {\n\tconst url = generateOcsUrl('apps/user_status/api/v1/predefined_statuses?format=json')\n\tconst response = await HttpClient.get(url)\n\n\treturn response.data.ocs.data\n}\n\nexport {\n\tfetchAllPredefinedStatuses,\n}\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { fetchAllPredefinedStatuses } from '../services/predefinedStatusService.js'\n\nconst state = {\n\tpredefinedStatuses: [],\n}\n\nconst mutations = {\n\n\t/**\n\t * Adds a predefined status to the state\n\t *\n\t * @param {object} state The Vuex state\n\t * @param {object} status The status to add\n\t */\n\taddPredefinedStatus(state, status) {\n\t\tstate.predefinedStatuses = [...state.predefinedStatuses, status]\n\t},\n}\n\nconst getters = {\n\tstatusesHaveLoaded(state) {\n\t\treturn state.predefinedStatuses.length > 0\n\t},\n}\n\nconst actions = {\n\n\t/**\n\t * Loads all predefined statuses from the server\n\t *\n\t * @param {object} vuex The Vuex components\n\t * @param {Function} vuex.commit The Vuex commit function\n\t * @param {object} vuex.state -\n\t */\n\tasync loadAllPredefinedStatuses({ state, commit }) {\n\t\tif (state.predefinedStatuses.length > 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst statuses = await fetchAllPredefinedStatuses()\n\t\tfor (const status of statuses) {\n\t\t\tcommit('addPredefinedStatus', status)\n\t\t}\n\t},\n\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport {\n\tdateFactory,\n} from './dateService.js'\nimport moment from '@nextcloud/moment'\n\n/**\n * Calculates the actual clearAt timestamp\n *\n * @param {object | null} clearAt The clear-at config\n * @return {number | null}\n */\nconst getTimestampForClearAt = (clearAt) => {\n\tif (clearAt === null) {\n\t\treturn null\n\t}\n\n\tconst date = dateFactory()\n\n\tif (clearAt.type === 'period') {\n\t\tdate.setSeconds(date.getSeconds() + clearAt.time)\n\t\treturn Math.floor(date.getTime() / 1000)\n\t}\n\tif (clearAt.type === 'end-of') {\n\t\tswitch (clearAt.time) {\n\t\tcase 'day':\n\t\tcase 'week':\n\t\t\treturn Number(moment(date).endOf(clearAt.time).format('X'))\n\t\t}\n\t}\n\t// This is not an officially supported type\n\t// but only used internally to show the remaining time\n\t// in the Set Status Modal\n\tif (clearAt.type === '_time') {\n\t\treturn clearAt.time\n\t}\n\n\treturn null\n}\n\nexport {\n\tgetTimestampForClearAt,\n}\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport {\n\tfetchCurrentStatus,\n\tsetStatus,\n\tsetPredefinedMessage,\n\tsetCustomMessage,\n\tclearMessage,\n} from '../services/statusService.js'\nimport { loadState } from '@nextcloud/initial-state'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getTimestampForClearAt } from '../services/clearAtService.js'\nimport { emit } from '@nextcloud/event-bus'\n\nconst state = {\n\t// Status (online / away / dnd / invisible / offline)\n\tstatus: null,\n\t// Whether the status is user-defined\n\tstatusIsUserDefined: null,\n\t// A custom message set by the user\n\tmessage: null,\n\t// The icon selected by the user\n\ticon: null,\n\t// When to automatically clean the status\n\tclearAt: null,\n\t// Whether the message is predefined\n\t// (and can automatically be translated by Nextcloud)\n\tmessageIsPredefined: null,\n\t// The id of the message in case it's predefined\n\tmessageId: null,\n}\n\nconst mutations = {\n\n\t/**\n\t * Sets a new status\n\t *\n\t * @param {object} state The Vuex state\n\t * @param {object} data The destructuring object\n\t * @param {string} data.statusType The new status type\n\t */\n\tsetStatus(state, { statusType }) {\n\t\tstate.status = statusType\n\t\tstate.statusIsUserDefined = true\n\t},\n\n\t/**\n\t * Sets a message using a predefined message\n\t *\n\t * @param {object} state The Vuex state\n\t * @param {object} data The destructuring object\n\t * @param {string} data.messageId The messageId\n\t * @param {number | null} data.clearAt When to automatically clear the status\n\t * @param {string} data.message The message\n\t * @param {string} data.icon The icon\n\t */\n\tsetPredefinedMessage(state, { messageId, clearAt, message, icon }) {\n\t\tstate.messageId = messageId\n\t\tstate.messageIsPredefined = true\n\n\t\tstate.message = message\n\t\tstate.icon = icon\n\t\tstate.clearAt = clearAt\n\t},\n\n\t/**\n\t * Sets a custom message\n\t *\n\t * @param {object} state The Vuex state\n\t * @param {object} data The destructuring object\n\t * @param {string} data.message The message\n\t * @param {string} data.icon The icon\n\t * @param {number} data.clearAt When to automatically clear the status\n\t */\n\tsetCustomMessage(state, { message, icon, clearAt }) {\n\t\tstate.messageId = null\n\t\tstate.messageIsPredefined = false\n\n\t\tstate.message = message\n\t\tstate.icon = icon\n\t\tstate.clearAt = clearAt\n\t},\n\n\t/**\n\t * Clears the status\n\t *\n\t * @param {object} state The Vuex state\n\t */\n\tclearMessage(state) {\n\t\tstate.messageId = null\n\t\tstate.messageIsPredefined = false\n\n\t\tstate.message = null\n\t\tstate.icon = null\n\t\tstate.clearAt = null\n\t},\n\n\t/**\n\t * Loads the status from initial state\n\t *\n\t * @param {object} state The Vuex state\n\t * @param {object} data The destructuring object\n\t * @param {string} data.status The status type\n\t * @param {boolean} data.statusIsUserDefined Whether or not this status is user-defined\n\t * @param {string} data.message The message\n\t * @param {string} data.icon The icon\n\t * @param {number} data.clearAt When to automatically clear the status\n\t * @param {boolean} data.messageIsPredefined Whether or not the message is predefined\n\t * @param {string} data.messageId The id of the predefined message\n\t */\n\tloadStatusFromServer(state, { status, statusIsUserDefined, message, icon, clearAt, messageIsPredefined, messageId }) {\n\t\tstate.status = status\n\t\tstate.message = message\n\t\tstate.icon = icon\n\n\t\t// Don't overwrite certain values if the refreshing comes in via short updates\n\t\t// E.g. from talk participant list which only has the status, message and icon\n\t\tif (typeof statusIsUserDefined !== 'undefined') {\n\t\t\tstate.statusIsUserDefined = statusIsUserDefined\n\t\t}\n\t\tif (typeof clearAt !== 'undefined') {\n\t\t\tstate.clearAt = clearAt\n\t\t}\n\t\tif (typeof messageIsPredefined !== 'undefined') {\n\t\t\tstate.messageIsPredefined = messageIsPredefined\n\t\t}\n\t\tif (typeof messageId !== 'undefined') {\n\t\t\tstate.messageId = messageId\n\t\t}\n\t},\n}\n\nconst getters = {}\n\nconst actions = {\n\n\t/**\n\t * Sets a new status\n\t *\n\t * @param {object} vuex The Vuex destructuring object\n\t * @param {Function} vuex.commit The Vuex commit function\n\t * @param {object} vuex.state The Vuex state object\n\t * @param {object} data The data destructuring object\n\t * @param {string} data.statusType The new status type\n\t * @return {Promise}\n\t */\n\tasync setStatus({ commit, state }, { statusType }) {\n\t\tawait setStatus(statusType)\n\t\tcommit('setStatus', { statusType })\n\t\temit('user_status:status.updated', {\n\t\t\tstatus: state.status,\n\t\t\tmessage: state.message,\n\t\t\ticon: state.icon,\n\t\t\tclearAt: state.clearAt,\n\t\t\tuserId: getCurrentUser()?.uid,\n\t\t})\n\t},\n\n\t/**\n\t * Update status from 'user_status:status.updated' update.\n\t * This doesn't trigger another 'user_status:status.updated'\n\t * event.\n\t *\n\t * @param {object} vuex The Vuex destructuring object\n\t * @param {Function} vuex.commit The Vuex commit function\n\t * @param {object} vuex.state The Vuex state object\n\t * @param {string} status The new status\n\t * @return {Promise}\n\t */\n\tasync setStatusFromObject({ commit, state }, status) {\n\t\tcommit('loadStatusFromServer', status)\n\t},\n\n\t/**\n\t * Sets a message using a predefined message\n\t *\n\t * @param {object} vuex The Vuex destructuring object\n\t * @param {Function} vuex.commit The Vuex commit function\n\t * @param {object} vuex.state The Vuex state object\n\t * @param {object} vuex.rootState The Vuex root state\n\t * @param {object} data The data destructuring object\n\t * @param {string} data.messageId The messageId\n\t * @param {object | null} data.clearAt When to automatically clear the status\n\t * @return {Promise}\n\t */\n\tasync setPredefinedMessage({ commit, rootState, state }, { messageId, clearAt }) {\n\t\tconst resolvedClearAt = getTimestampForClearAt(clearAt)\n\n\t\tawait setPredefinedMessage(messageId, resolvedClearAt)\n\t\tconst status = rootState.predefinedStatuses.predefinedStatuses.find((status) => status.id === messageId)\n\t\tconst { message, icon } = status\n\n\t\tcommit('setPredefinedMessage', { messageId, clearAt: resolvedClearAt, message, icon })\n\t\temit('user_status:status.updated', {\n\t\t\tstatus: state.status,\n\t\t\tmessage: state.message,\n\t\t\ticon: state.icon,\n\t\t\tclearAt: state.clearAt,\n\t\t\tuserId: getCurrentUser()?.uid,\n\t\t})\n\t},\n\n\t/**\n\t * Sets a custom message\n\t *\n\t * @param {object} vuex The Vuex destructuring object\n\t * @param {Function} vuex.commit The Vuex commit function\n\t * @param {object} vuex.state The Vuex state object\n\t * @param {object} data The data destructuring object\n\t * @param {string} data.message The message\n\t * @param {string} data.icon The icon\n\t * @param {object | null} data.clearAt When to automatically clear the status\n\t * @return {Promise}\n\t */\n\tasync setCustomMessage({ commit, state }, { message, icon, clearAt }) {\n\t\tconst resolvedClearAt = getTimestampForClearAt(clearAt)\n\n\t\tawait setCustomMessage(message, icon, resolvedClearAt)\n\t\tcommit('setCustomMessage', { message, icon, clearAt: resolvedClearAt })\n\t\temit('user_status:status.updated', {\n\t\t\tstatus: state.status,\n\t\t\tmessage: state.message,\n\t\t\ticon: state.icon,\n\t\t\tclearAt: state.clearAt,\n\t\t\tuserId: getCurrentUser()?.uid,\n\t\t})\n\t},\n\n\t/**\n\t * Clears the status\n\t *\n\t * @param {object} vuex The Vuex destructuring object\n\t * @param {Function} vuex.commit The Vuex commit function\n\t * @param {object} vuex.state The Vuex state object\n\t * @return {Promise}\n\t */\n\tasync clearMessage({ commit, state }) {\n\t\tawait clearMessage()\n\t\tcommit('clearMessage')\n\t\temit('user_status:status.updated', {\n\t\t\tstatus: state.status,\n\t\t\tmessage: state.message,\n\t\t\ticon: state.icon,\n\t\t\tclearAt: state.clearAt,\n\t\t\tuserId: getCurrentUser()?.uid,\n\t\t})\n\t},\n\n\t/**\n\t * Re-fetches the status from the server\n\t *\n\t * @param {object} vuex The Vuex destructuring object\n\t * @param {Function} vuex.commit The Vuex commit function\n\t * @return {Promise}\n\t */\n\tasync reFetchStatusFromServer({ commit }) {\n\t\tconst status = await fetchCurrentStatus()\n\t\tcommit('loadStatusFromServer', status)\n\t},\n\n\t/**\n\t * Stores the status we got in the reply of the heartbeat\n\t *\n\t * @param {object} vuex The Vuex destructuring object\n\t * @param {Function} vuex.commit The Vuex commit function\n\t * @param {object} status The data destructuring object\n\t * @param {string} status.status The status type\n\t * @param {boolean} status.statusIsUserDefined Whether or not this status is user-defined\n\t * @param {string} status.message The message\n\t * @param {string} status.icon The icon\n\t * @param {number} status.clearAt When to automatically clear the status\n\t * @param {boolean} status.messageIsPredefined Whether or not the message is predefined\n\t * @param {string} status.messageId The id of the predefined message\n\t * @return {Promise}\n\t */\n\tasync setStatusFromHeartbeat({ commit }, status) {\n\t\tcommit('loadStatusFromServer', status)\n\t},\n\n\t/**\n\t * Loads the server from the initial state\n\t *\n\t * @param {object} vuex The Vuex destructuring object\n\t * @param {Function} vuex.commit The Vuex commit function\n\t */\n\tloadStatusFromInitialState({ commit }) {\n\t\tconst status = loadState('user_status', 'status')\n\t\tcommit('loadStatusFromServer', status)\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport HttpClient from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\n/**\n * Fetches the current user-status\n *\n * @return {Promise}\n */\nconst fetchCurrentStatus = async () => {\n\tconst url = generateOcsUrl('apps/user_status/api/v1/user_status')\n\tconst response = await HttpClient.get(url)\n\n\treturn response.data.ocs.data\n}\n\n/**\n * Fetches the current user-status\n *\n * @param {string} userId\n * @return {Promise}\n */\nconst fetchBackupStatus = async (userId) => {\n\tconst url = generateOcsUrl('apps/user_status/api/v1/statuses/{userId}', { userId: '_' + userId })\n\tconst response = await HttpClient.get(url)\n\n\treturn response.data.ocs.data\n}\n\n/**\n * Sets the status\n *\n * @param {string} statusType The status (online / away / dnd / invisible)\n * @return {Promise}\n */\nconst setStatus = async (statusType) => {\n\tconst url = generateOcsUrl('apps/user_status/api/v1/user_status/status')\n\tawait HttpClient.put(url, {\n\t\tstatusType,\n\t})\n}\n\n/**\n * Sets a message based on our predefined statuses\n *\n * @param {string} messageId The id of the message, taken from predefined status service\n * @param {number | null} clearAt When to automatically clean the status\n * @return {Promise}\n */\nconst setPredefinedMessage = async (messageId, clearAt = null) => {\n\tconst url = generateOcsUrl('apps/user_status/api/v1/user_status/message/predefined?format=json')\n\tawait HttpClient.put(url, {\n\t\tmessageId,\n\t\tclearAt,\n\t})\n}\n\n/**\n * Sets a custom message\n *\n * @param {string} message The user-defined message\n * @param {string | null} statusIcon The user-defined icon\n * @param {number | null} clearAt When to automatically clean the status\n * @return {Promise}\n */\nconst setCustomMessage = async (message, statusIcon = null, clearAt = null) => {\n\tconst url = generateOcsUrl('apps/user_status/api/v1/user_status/message/custom?format=json')\n\tawait HttpClient.put(url, {\n\t\tmessage,\n\t\tstatusIcon,\n\t\tclearAt,\n\t})\n}\n\n/**\n * Clears the current status of the user\n *\n * @return {Promise}\n */\nconst clearMessage = async () => {\n\tconst url = generateOcsUrl('apps/user_status/api/v1/user_status/message?format=json')\n\tawait HttpClient.delete(url)\n}\n\n/**\n * Revert the automated status\n *\n * @param {string} messageId\n * @return {Promise}\n */\nconst revertToBackupStatus = async (messageId) => {\n\tconst url = generateOcsUrl('apps/user_status/api/v1/user_status/revert/{messageId}', { messageId })\n\tconst response = await HttpClient.delete(url)\n\n\treturn response.data.ocs.data\n}\n\nexport {\n\tfetchCurrentStatus,\n\tfetchBackupStatus,\n\tsetStatus,\n\tsetCustomMessage,\n\tsetPredefinedMessage,\n\tclearMessage,\n\trevertToBackupStatus,\n}\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport {\n\tfetchBackupStatus,\n\trevertToBackupStatus,\n} from '../services/statusService.js'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { emit } from '@nextcloud/event-bus'\n\nconst state = {\n\t// Status (online / away / dnd / invisible / offline)\n\tstatus: null,\n\t// Whether the status is user-defined\n\tstatusIsUserDefined: null,\n\t// A custom message set by the user\n\tmessage: null,\n\t// The icon selected by the user\n\ticon: null,\n\t// When to automatically clean the status\n\tclearAt: null,\n\t// Whether the message is predefined\n\t// (and can automatically be translated by Nextcloud)\n\tmessageIsPredefined: null,\n\t// The id of the message in case it's predefined\n\tmessageId: null,\n}\n\nconst mutations = {\n\t/**\n\t * Loads the status from initial state\n\t *\n\t * @param {object} state The Vuex state\n\t * @param {object} data The destructuring object\n\t * @param {string} data.status The status type\n\t * @param {boolean} data.statusIsUserDefined Whether or not this status is user-defined\n\t * @param {string} data.message The message\n\t * @param {string} data.icon The icon\n\t * @param {number} data.clearAt When to automatically clear the status\n\t * @param {boolean} data.messageIsPredefined Whether or not the message is predefined\n\t * @param {string} data.messageId The id of the predefined message\n\t */\n\tloadBackupStatusFromServer(state, { status, statusIsUserDefined, message, icon, clearAt, messageIsPredefined, messageId }) {\n\t\tstate.status = status\n\t\tstate.message = message\n\t\tstate.icon = icon\n\n\t\t// Don't overwrite certain values if the refreshing comes in via short updates\n\t\t// E.g. from talk participant list which only has the status, message and icon\n\t\tif (typeof statusIsUserDefined !== 'undefined') {\n\t\t\tstate.statusIsUserDefined = statusIsUserDefined\n\t\t}\n\t\tif (typeof clearAt !== 'undefined') {\n\t\t\tstate.clearAt = clearAt\n\t\t}\n\t\tif (typeof messageIsPredefined !== 'undefined') {\n\t\t\tstate.messageIsPredefined = messageIsPredefined\n\t\t}\n\t\tif (typeof messageId !== 'undefined') {\n\t\t\tstate.messageId = messageId\n\t\t}\n\t},\n}\n\nconst getters = {}\n\nconst actions = {\n\t/**\n\t * Re-fetches the status from the server\n\t *\n\t * @param {object} vuex The Vuex destructuring object\n\t * @param {Function} vuex.commit The Vuex commit function\n\t * @return {Promise}\n\t */\n\tasync fetchBackupFromServer({ commit }) {\n\t\ttry {\n\t\t\tconst status = await fetchBackupStatus(getCurrentUser()?.uid)\n\t\t\tcommit('loadBackupStatusFromServer', status)\n\t\t} catch (e) {\n\t\t\t// Ignore missing user backup status\n\t\t}\n\t},\n\n\tasync revertBackupFromServer({ commit }, { messageId }) {\n\t\tconst status = await revertToBackupStatus(messageId)\n\t\tif (status) {\n\t\t\tcommit('loadBackupStatusFromServer', {})\n\t\t\tcommit('loadStatusFromServer', status)\n\t\t\temit('user_status:status.updated', {\n\t\t\t\tstatus: status.status,\n\t\t\t\tmessage: status.message,\n\t\t\t\ticon: status.icon,\n\t\t\t\tclearAt: status.clearAt,\n\t\t\t\tuserId: getCurrentUser()?.uid,\n\t\t\t})\n\t\t}\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Vue from 'vue'\nimport Vuex, { Store } from 'vuex'\nimport predefinedStatuses from './predefinedStatuses.js'\nimport userStatus from './userStatus.js'\nimport userBackupStatus from './userBackupStatus.js'\n\nVue.use(Vuex)\n\nexport default new Store({\n\tmodules: {\n\t\tpredefinedStatuses,\n\t\tuserStatus,\n\t\tuserBackupStatus,\n\t},\n\tstrict: true,\n})\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Vue from 'vue'\nimport { getRequestToken } from '@nextcloud/auth'\nimport { subscribe } from '@nextcloud/event-bus'\n\nimport UserStatus from './UserStatus.vue'\n\nimport store from './store/index.js'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\nVue.prototype.t = t\nVue.prototype.$t = t\n\nconst mountPoint = document.getElementById('user_status-menu-entry')\n\nconst mountMenuEntry = () => {\n\tconst mountPoint = document.getElementById('user_status-menu-entry')\n\t// eslint-disable-next-line no-new\n\tnew Vue({\n\t\tel: mountPoint,\n\t\trender: h => h(UserStatus),\n\t\tstore,\n\t})\n}\n\nif (mountPoint) {\n\tmountMenuEntry()\n} else {\n\tsubscribe('core:user-menu:mounted', mountMenuEntry)\n}\n\n// Register dashboard status\ndocument.addEventListener('DOMContentLoaded', function() {\n\tif (!OCA.Dashboard) {\n\t\treturn\n\t}\n\n\tOCA.Dashboard.registerStatus('status', (el) => {\n\t\tconst Dashboard = Vue.extend(UserStatus)\n\t\treturn new Dashboard({\n\t\t\tpropsData: {\n\t\t\t\tinline: true,\n\t\t\t},\n\t\t\tstore,\n\t\t}).$mount(el)\n\t})\n})\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { mapState } from 'vuex'\nimport { showError } from '@nextcloud/dialogs'\n\nexport default {\n\tcomputed: {\n\t\t...mapState({\n\t\t\tstatusType: state => state.userStatus.status,\n\t\t\tstatusIsUserDefined: state => state.userStatus.statusIsUserDefined,\n\t\t\tcustomIcon: state => state.userStatus.icon,\n\t\t\tcustomMessage: state => state.userStatus.message,\n\t\t}),\n\n\t\t/**\n\t\t * The message displayed in the top right corner\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tvisibleMessage() {\n\t\t\tif (this.customIcon && this.customMessage) {\n\t\t\t\treturn `${this.customIcon} ${this.customMessage}`\n\t\t\t}\n\n\t\t\tif (this.customMessage) {\n\t\t\t\treturn this.customMessage\n\t\t\t}\n\n\t\t\tif (this.statusIsUserDefined) {\n\t\t\t\tswitch (this.statusType) {\n\t\t\t\tcase 'online':\n\t\t\t\t\treturn this.$t('user_status', 'Online')\n\n\t\t\t\tcase 'away':\n\t\t\t\tcase 'busy':\n\t\t\t\t\treturn this.$t('user_status', 'Away')\n\n\t\t\t\tcase 'dnd':\n\t\t\t\t\treturn this.$t('user_status', 'Do not disturb')\n\n\t\t\t\tcase 'invisible':\n\t\t\t\t\treturn this.$t('user_status', 'Invisible')\n\n\t\t\t\tcase 'offline':\n\t\t\t\t\treturn this.$t('user_status', 'Offline')\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this.$t('user_status', 'Set status')\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Changes the user-status\n\t\t *\n\t\t * @param {string} statusType (online / away / dnd / invisible)\n\t\t */\n\t\tasync changeStatus(statusType) {\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('setStatus', { statusType })\n\t\t\t} catch (err) {\n\t\t\t\tshowError(this.$t('user_status', 'There was an error saving the new status'))\n\t\t\t\tconsole.debug(err)\n\t\t\t}\n\t\t},\n\t},\n}\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nconst dateFactory = () => {\n\treturn new Date()\n}\n\nexport {\n\tdateFactory,\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.user-status-menu-item[data-v-056751be]{--color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-main-text));width:auto;min-width:44px;height:44px;margin:0;border:0;border-radius:var(--border-radius-pill);background-color:var(--color-main-background-blur);font-size:inherit;font-weight:normal;-webkit-backdrop-filter:var(--background-blur);backdrop-filter:var(--background-blur)}.user-status-menu-item[data-v-056751be]:active,.user-status-menu-item[data-v-056751be]:hover,.user-status-menu-item[data-v-056751be]:focus-visible{background-color:var(--color-background-hover)}.user-status-menu-item[data-v-056751be]:focus-visible{box-shadow:0 0 0 4px var(--color-main-background) !important;outline:2px solid var(--color-main-text) !important}.user-status-icon[data-v-056751be]{width:16px;height:16px;margin-right:10px;opacity:1 !important;background-size:16px;vertical-align:middle !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/user_status/src/UserStatus.vue\"],\"names\":[],\"mappings\":\"AACA,wCAEC,+FAAA,CAEA,UAAA,CACA,cAAA,CACA,WAAA,CACA,QAAA,CACA,QAAA,CACA,uCAAA,CACA,kDAAA,CACA,iBAAA,CACA,kBAAA,CAEA,8CAAA,CACA,sCAAA,CAEA,mJAGC,8CAAA,CAED,sDACC,4DAAA,CACA,mDAAA,CAIF,mCACC,UAAA,CACA,WAAA,CACA,iBAAA,CACA,oBAAA,CACA,oBAAA,CACA,gCAAA\",\"sourcesContent\":[\"\\n.user-status-menu-item {\\n\\t// Ensure the maxcontrast color is set for the background\\n\\t--color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-main-text));\\n\\n\\twidth: auto;\\n\\tmin-width: 44px;\\n\\theight: 44px;\\n\\tmargin: 0;\\n\\tborder: 0;\\n\\tborder-radius: var(--border-radius-pill);\\n\\tbackground-color: var(--color-main-background-blur);\\n\\tfont-size: inherit;\\n\\tfont-weight: normal;\\n\\n\\t-webkit-backdrop-filter: var(--background-blur);\\n\\tbackdrop-filter: var(--background-blur);\\n\\n\\t&:active,\\n\\t&:hover,\\n\\t&:focus-visible {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t}\\n\\t&:focus-visible {\\n\\t\\tbox-shadow: 0 0 0 4px var(--color-main-background) !important;\\n\\t\\toutline: 2px solid var(--color-main-text) !important;\\n\\t}\\n}\\n\\n.user-status-icon {\\n\\twidth: 16px;\\n\\theight: 16px;\\n\\tmargin-right: 10px;\\n\\topacity: 1 !important;\\n\\tbackground-size: 16px;\\n\\tvertical-align: middle !important;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + (chunkId === 5133 ? \"user-status-modal\" : chunkId) + \"-\" + chunkId + \".js?v=\" + {\"4254\":\"5c2324570f66dff0c8a1\",\"5133\":\"bd5c65f1dff18eb447f7\",\"9480\":\"2fb23485ae3a8860e96b\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 9953;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t9953: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(19725)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","name","components","NcButton","NcUserStatusIcon","SetStatusModal","mixins","OnlineStatusMixin","props","inline","type","Boolean","default","data","heartbeatInterval","isAway","isModalOpen","mouseMoveListener","setAwayTimeout","mounted","$store","dispatch","OC","config","session_keepalive","setInterval","_backgroundHeartbeat","bind","debounce","wasAway","clearTimeout","setTimeout","window","addEventListener","capture","passive","subscribe","handleUserStatusUpdated","beforeDestroy","removeEventListener","clearInterval","unsubscribe","methods","openModal","closeModal","status","async","url","generateOcsUrl","HttpClient","put","ocs","sendHeartbeat","userId","error","_error$response","console","debug","response","state","getCurrentUser","uid","icon","message","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","this","_c","_self","tag","on","$event","stopPropagation","apply","arguments","scopedSlots","_u","key","fn","staticClass","attrs","statusType","proxy","_v","_s","visibleMessage","_e","predefinedStatuses","mutations","addPredefinedStatus","getters","statusesHaveLoaded","length","actions","loadAllPredefinedStatuses","_ref","commit","statuses","get","fetchAllPredefinedStatuses","getTimestampForClearAt","clearAt","date","dateFactory","setSeconds","getSeconds","time","Math","floor","getTime","Number","moment","endOf","format","statusIsUserDefined","messageIsPredefined","messageId","setStatus","setPredefinedMessage","_ref2","setCustomMessage","_ref3","clearMessage","loadStatusFromServer","_ref4","_ref5","_ref6","_getCurrentUser","emit","setStatusFromObject","_ref7","_ref8","_ref9","_getCurrentUser2","rootState","resolvedClearAt","undefined","find","id","_ref10","_ref11","_getCurrentUser3","statusIcon","_ref12","_getCurrentUser4","delete","reFetchStatusFromServer","_ref13","fetchCurrentStatus","setStatusFromHeartbeat","_ref14","loadStatusFromInitialState","_ref15","loadState","loadBackupStatusFromServer","fetchBackupFromServer","fetchBackupStatus","e","revertBackupFromServer","revertToBackupStatus","Vue","use","Vuex","Store","modules","userStatus","userBackupStatus","strict","__webpack_nonce__","btoa","getRequestToken","prototype","t","$t","mountMenuEntry","mountPoint","document","getElementById","el","render","h","UserStatus","store","OCA","Dashboard","registerStatus","extend","propsData","$mount","computed","mapState","customIcon","customMessage","concat","changeStatus","err","showError","Date","___CSS_LOADER_EXPORT___","push","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","loaded","__webpack_modules__","call","m","O","result","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","Object","keys","every","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","f","chunkId","Promise","all","reduce","promises","u","g","globalThis","Function","obj","prop","hasOwnProperty","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","doneFns","parentNode","removeChild","forEach","target","head","appendChild","Symbol","toStringTag","value","nmd","paths","children","scriptUrl","importScripts","location","currentScript","test","Error","replace","p","b","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/weather_status-weather-status.js b/dist/weather_status-weather-status.js index fa2cf331b6ba6..b172cfed1ed04 100644 --- a/dist/weather_status-weather-status.js +++ b/dist/weather_status-weather-status.js @@ -1,2 +1,2 @@ -(()=>{"use strict";var M,N,u,D={55924:(M,N,u)=>{var D=u(85471),A=u(21777),g=u(85168),e=u(19231),i=u(53334);const I={name:"StarIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var L=u(14486);const j=(0,L.A)(I,(function(){var M=this,t=M._self._c;return t("span",M._b({staticClass:"material-design-icon star-icon",attrs:{"aria-hidden":!M.title||null,"aria-label":M.title,role:"img"},on:{click:function(t){return M.$emit("click",t)}}},"span",M.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:M.fillColor,width:M.size,height:M.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z"}},[M.title?t("title",[M._v(M._s(M.title))]):M._e()])])])}),[],!1,null,null,null).exports,y={name:"StarOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},a=(0,L.A)(y,(function(){var M=this,t=M._self._c;return t("span",M._b({staticClass:"material-design-icon star-outline-icon",attrs:{"aria-hidden":!M.title||null,"aria-label":M.title,role:"img"},on:{click:function(t){return M.$emit("click",t)}}},"span",M.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:M.fillColor,width:M.size,height:M.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z"}},[M.title?t("title",[M._v(M._s(M.title))]):M._e()])])])}),[],!1,null,null,null).exports;var r=u(24764),n=u(89257),c=u(30567),T=u(44131),s=u(73267),o=u(80114),w=u(32831),C=u(65043),z=u(63814);const l=async M=>{const t=(0,z.KT)("apps/weather_status/api/v1/favorites");return(await C.Ay.put(t,{favorites:M})).data.ocs.data};var d=u(96763);const E={clearsky_day:{icon:"icon-clearsky-day",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} clear sky later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} clear sky",{temperature:M,unit:N})}},clearsky_night:{icon:"icon-clearsky-night",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} clear sky later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} clear sky",{temperature:M,unit:N})}},cloudy:{icon:"icon-cloudy",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} cloudy later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} cloudy",{temperature:M,unit:N})}},fair_day:{icon:"icon-fair-day",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} fair weather later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} fair weather",{temperature:M,unit:N})}},fair_night:{icon:"icon-fair-night",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} fair weather later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} fair weather",{temperature:M,unit:N})}},partlycloudy_day:{icon:"icon-partlycloudy-day",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} partly cloudy later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} partly cloudy",{temperature:M,unit:N})}},partlycloudy_night:{icon:"icon-partlycloudy-night",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} partly cloudy later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} partly cloudy",{temperature:M,unit:N})}},fog:{icon:"icon-fog",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} foggy later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} foggy",{temperature:M,unit:N})}},lightrain:{icon:"icon-lightrain",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} light rainfall later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} light rainfall",{temperature:M,unit:N})}},rain:{icon:"icon-rain",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} rainfall later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} rainfall",{temperature:M,unit:N})}},heavyrain:{icon:"icon-heavyrain",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} heavy rainfall later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} heavy rainfall",{temperature:M,unit:N})}},rainshowers_day:{icon:"icon-rainshowers-day",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} rainfall showers later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} rainfall showers",{temperature:M,unit:N})}},rainshowers_night:{icon:"icon-rainshowers-night",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} rainfall showers later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} rainfall showers",{temperature:M,unit:N})}},lightrainshowers_day:{icon:"icon-light-rainshowers-day",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} light rainfall showers later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} light rainfall showers",{temperature:M,unit:N})}},lightrainshowers_night:{icon:"icon-light-rainshowers-night",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} light rainfall showers later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} light rainfall showers",{temperature:M,unit:N})}},heavyrainshowers_day:{icon:"icon-heavy-rainshowers-day",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} heavy rainfall showers later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} heavy rainfall showers",{temperature:M,unit:N})}},heavyrainshowers_night:{icon:"icon-heavy-rainshowers-night",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} heavy rainfall showers later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} heavy rainfall showers",{temperature:M,unit:N})}}},h={name:"App",components:{IconStar:j,NcActions:r.A,NcActionButton:n.A,NcActionCaption:c.A,NcActionInput:T.A,NcActionLink:s.A,NcActionSeparator:o.A,NcActionText:w.A},data:()=>({locale:(0,i.JK)(),loading:!0,errorMessage:"",mode:1,address:null,lat:null,lon:null,offset:5,forecasts:[],loop:null,favorites:[]}),computed:{useFahrenheitLocale(){return["en_US","en_MH","en_FM","en_PW","en_KY","en_LR"].includes(this.locale)},temperatureUnit(){return this.useFahrenheitLocale?"°F":"°C"},locationText(){return t("weather_status","More weather for {adr}",{adr:this.address})},temperature(){return this.getTemperature(this.forecasts,0)},futureTemperature(){return this.getTemperature(this.forecasts,this.offset)},weatherCode(){return this.getWeatherCode(this.forecasts,0)},futureWeatherCode(){return this.getWeatherCode(this.forecasts,this.offset)},weatherIcon(){return this.getWeatherIcon(this.weatherCode,this.loading)},futureWeatherIcon(){return this.getWeatherIcon(this.futureWeatherCode,this.loading)},currentWeatherMessage(){return this.loading?t("weather_status","Loading weather"):this.errorMessage?this.errorMessage:this.getWeatherMessage(this.weatherCode,this.temperature)},forecastMessage(){return this.loading?t("weather_status","Loading weather"):this.getWeatherMessage(this.futureWeatherCode,this.futureTemperature,!0)},weatherLinkTarget(){return"https://www.windy.com/-Rain-thunder-rain?rain,"+this.lat+","+this.lon+",11"},gotWeather(){return this.address&&!this.errorMessage},addRemoveFavoriteIcon(){return this.currentAddressIsFavorite?j:a},addRemoveFavoriteText(){return this.currentAddressIsFavorite?t("weather_status","Remove from favorites"):t("weather_status","Add as favorite")},currentAddressIsFavorite(){return this.favorites.find((M=>M===this.address))}},mounted(){this.initWeatherStatus()},methods:{async initWeatherStatus(){try{const M=await(async()=>{const M=(0,z.KT)("apps/weather_status/api/v1/location");return(await C.Ay.get(M)).data.ocs.data})();this.lat=M.lat,this.lon=M.lon,this.address=M.address,this.mode=M.mode,1===this.mode?this.askBrowserLocation():2===this.mode&&this.startLoop();const t=await(async()=>{const M=(0,z.KT)("apps/weather_status/api/v1/favorites");return(await C.Ay.get(M)).data.ocs.data})();this.favorites=t}catch(M){if("ECONNABORTED"===(null==M?void 0:M.code))return void d.info("The weather status request was cancelled because the user navigates.");M.response&&401===M.response.status?(0,g.Qg)(t("weather_status","You are not logged in.")):(0,g.Qg)(t("weather_status","There was an error getting the weather status information.")),d.error(M)}},startLoop(){clearInterval(this.loop),this.lat&&this.lon?(this.loop=setInterval((()=>this.getForecast()),36e5),this.getForecast()):this.loading=!1},askBrowserLocation(){this.loading=!0,this.errorMessage="",navigator.geolocation&&window.isSecureContext?navigator.geolocation.getCurrentPosition((M=>{d.debug("browser location success"),this.lat=M.coords.latitude,this.lon=M.coords.longitude,this.saveMode(1),this.mode=1,this.saveLocation(this.lat,this.lon)}),(M=>{d.debug("location permission refused"),d.debug(M),this.saveMode(2),this.mode=2,this.lat&&this.lon?this.startLoop():this.usePersonalAddress()})):(d.debug("no secure context!"),this.saveMode(2),this.mode=2,this.startLoop())},async getForecast(){try{this.forecasts=await(async()=>{const M=(0,z.KT)("apps/weather_status/api/v1/forecast");return(await C.Ay.get(M)).data.ocs.data})()}catch(M){this.errorMessage=t("weather_status","No weather information found"),d.debug(M)}this.loading=!1},async setAddress(M){this.loading=!0,this.errorMessage="";try{const N=await(async M=>{const t=(0,z.KT)("apps/weather_status/api/v1/location");return(await C.Ay.put(t,{address:M,lat:null,lon:null})).data.ocs.data})(M);N.success?(this.lat=N.lat,this.lon=N.lon,this.address=N.address,this.mode=2,this.startLoop()):(this.errorMessage=t("weather_status","Location not found"),this.loading=!1)}catch(M){M.response&&401===M.response.status?(0,g.Qg)(t("weather_status","You are not logged in.")):(0,g.Qg)(t("weather_status","There was an error setting the location address.")),this.loading=!1}},async saveLocation(M,N){try{const t=await(async(M,t)=>{const N=(0,z.KT)("apps/weather_status/api/v1/location");return(await C.Ay.put(N,{address:"",lat:M,lon:t})).data.ocs.data})(M,N);this.address=t.address,this.startLoop()}catch(M){M.response&&401===M.response.status?(0,g.Qg)(t("weather_status","You are not logged in.")):(0,g.Qg)(t("weather_status","There was an error setting the location.")),d.debug(M)}},async saveMode(M){try{await(async M=>{const t=(0,z.KT)("apps/weather_status/api/v1/mode");return(await C.Ay.put(t,{mode:M})).data.ocs.data})(M)}catch(M){M.response&&401===M.response.status?(0,g.Qg)(t("weather_status","You are not logged in.")):(0,g.Qg)(t("weather_status","There was an error saving the mode.")),d.debug(M)}},onBrowserLocationClick(){this.askBrowserLocation()},async usePersonalAddress(){this.loading=!0;try{const M=await(async()=>{const M=(0,z.KT)("apps/weather_status/api/v1/use-personal");return(await C.Ay.put(M)).data.ocs.data})();this.lat=M.lat,this.lon=M.lon,this.address=M.address,this.mode=2,this.startLoop()}catch(M){M.response&&401===M.response.status?(0,g.Qg)(t("weather_status","You are not logged in.")):(0,g.Qg)(t("weather_status","There was an error using personal address.")),d.debug(M),this.loading=!1}},onAddressSubmit(){const M=this.$refs.addressInput.$el.querySelector('input[type="text"]').value;this.setAddress(M)},getLocalizedTemperature(M){return this.useFahrenheitLocale?1.8*M+32:M},onAddRemoveFavoriteClick(){const M=this.currentAddressIsFavorite;if(M){const t=this.favorites.indexOf(M);-1!==t&&this.favorites.splice(t,1)}else this.favorites.push(this.address);l(this.favorites)},onFavoriteClick(M,t){if(M.target.classList.contains("action-button__icon")){const M=this.favorites.indexOf(t);-1!==M&&this.favorites.splice(M,1),l(this.favorites)}else t!==this.address&&this.setAddress(t)},formatTime:M=>(0,e.A)(M).format("LT"),getTemperature(M){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return M.length>t?M[t].data.instant.details.air_temperature:""},getWeatherCode(M){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return M.length>t?M[t].data.next_1_hours.summary.symbol_code:""},getWeatherIcon:(M,t)=>t?"icon-loading-small":"icon-weather "+(M&&M in E?E[M].icon:"icon-fair-day"),getWeatherMessage(M,N){let u=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return M&&M in E?E[M].text(Math.round(this.getLocalizedTemperature(N)),this.temperatureUnit,u):t("weather_status","Set location for weather")}}};var x=u(85072),S=u.n(x),Q=u(97825),O=u.n(Q),m=u(77659),Y=u.n(m),k=u(55056),p=u.n(k),v=u(10540),U=u.n(v),b=u(41113),Z=u.n(b),f=u(79494),G={};G.styleTagTransform=Z(),G.setAttributes=p(),G.insert=Y().bind(null,"head"),G.domAPI=O(),G.insertStyleElement=U(),S()(f.A,G),f.A&&f.A.locals&&f.A.locals;const B=(0,L.A)(h,(function(){var M=this,t=M._self._c;return t("div",{attrs:{id:"weather-status-menu-item"}},[t("NcActions",{staticClass:"weather-status-menu-item__subheader",attrs:{"default-icon":M.weatherIcon,"aria-hidden":!0,"aria-label":M.currentWeatherMessage,"menu-name":M.currentWeatherMessage}},[M.gotWeather?t("NcActionText",{attrs:{"aria-hidden":!0,icon:M.futureWeatherIcon}},[M._v("\n\t\t\t"+M._s(M.forecastMessage)+"\n\t\t")]):M._e(),M._v(" "),M.gotWeather?t("NcActionLink",{attrs:{icon:"icon-address",target:"_blank","aria-hidden":!0,href:M.weatherLinkTarget,"close-after-click":!0}},[M._v("\n\t\t\t"+M._s(M.locationText)+"\n\t\t")]):M._e(),M._v(" "),M.gotWeather?t("NcActionButton",{attrs:{"aria-hidden":!0},on:{click:M.onAddRemoveFavoriteClick},scopedSlots:M._u([{key:"icon",fn:function(){return[t(M.addRemoveFavoriteIcon,{tag:"component",staticClass:"favorite-color",attrs:{size:20}})]},proxy:!0}],null,!1,1785206719)},[M._v("\n\t\t\t"+M._s(M.addRemoveFavoriteText)+"\n\t\t")]):M._e(),M._v(" "),M.address&&!M.errorMessage?t("NcActionSeparator"):M._e(),M._v(" "),t("NcActionButton",{attrs:{icon:"icon-crosshair","close-after-click":!0,"aria-hidden":!0},on:{click:M.onBrowserLocationClick}},[M._v("\n\t\t\t"+M._s(M.t("weather_status","Detect location"))+"\n\t\t")]),M._v(" "),t("NcActionInput",{ref:"addressInput",attrs:{label:M.t("weather_status","Set custom address"),disabled:!1,icon:"icon-rename","aria-hidden":!0,type:"text",value:""},on:{submit:M.onAddressSubmit}}),M._v(" "),M.favorites.length>0?[t("NcActionCaption",{attrs:{name:M.t("weather_status","Favorites")}}),M._v(" "),M._l(M.favorites,(function(N){return t("NcActionButton",{key:N,attrs:{"aria-hidden":!0},on:{click:function(t){return M.onFavoriteClick(t,N)}},scopedSlots:M._u([{key:"icon",fn:function(){return[t("IconStar",{class:{"favorite-color":M.address===N},attrs:{size:20}})]},proxy:!0}],null,!0)},[M._v("\n\t\t\t\t"+M._s(N)+"\n\t\t\t")])}))]:M._e()],2)],1)}),[],!1,null,null,null).exports;u.nc=btoa((0,A.do)()),D.Ay.prototype.t=t,document.addEventListener("DOMContentLoaded",(function(){OCA.Dashboard&&OCA.Dashboard.registerStatus("weather",(M=>(new(D.Ay.extend(B))).$mount(M)))}))},79494:(M,t,N)=>{N.d(t,{A:()=>V});var u=N(71354),D=N.n(u),A=N(76314),g=N.n(A),e=N(4417),i=N.n(e),I=new URL(N(6315),N.b),L=new URL(N(62537),N.b),j=new URL(N(83454),N.b),y=new URL(N(78228),N.b),a=new URL(N(26727),N.b),r=new URL(N(70384),N.b),n=new URL(N(77301),N.b),c=new URL(N(80386),N.b),T=new URL(N(94231),N.b),s=new URL(N(50898),N.b),o=new URL(N(50443),N.b),w=new URL(N(51957),N.b),C=new URL(N(82313),N.b),z=new URL(N(13360),N.b),l=new URL(N(1956),N.b),d=new URL(N(46485),N.b),E=new URL(N(88082),N.b),h=new URL(N(61675),N.b),x=new URL(N(35059),N.b),S=g()(D()),Q=i()(I),O=i()(L),m=i()(j),Y=i()(y),k=i()(a),p=i()(r),v=i()(n),U=i()(c),b=i()(T),Z=i()(s),f=i()(o),G=i()(w),B=i()(C),W=i()(z),P=i()(l),_=i()(d),R=i()(E),H=i()(h),J=i()(x);S.push([M.id,`.icon-weather{background-size:16px}.icon-weather-status{background-image:url(${Q})}.icon-clearsky-day{background-image:url(${O})}.icon-clearsky-night{background-image:url(${m})}.icon-cloudy{background-image:url(${Y})}.icon-fair-day{background-image:url(${k})}.icon-fair-night{background-image:url(${p})}.icon-partlycloudy-day{background-image:url(${v})}.icon-partlycloudy-night{background-image:url(${U})}.icon-fog{background-image:url(${b})}.icon-lightrain{background-image:url(${Z})}.icon-rain{background-image:url(${f})}.icon-heavyrain{background-image:url(${G})}.icon-light-rainshowers-day{background-image:url(${B})}.icon-light-rainshowers-night{background-image:url(${W})}.icon-rainshowers-day{background-image:url(${P})}.icon-rainshowers-night{background-image:url(${_})}.icon-heavy-rainshowers-day{background-image:url(${R})}.icon-heavy-rainshowers-night{background-image:url(${H})}.icon-crosshair{background-color:var(--color-main-text);padding:0 !important;mask:url(${J}) no-repeat;mask-size:18px 18px;mask-position:center;-webkit-mask:url(${J}) no-repeat;-webkit-mask-size:18px 18px;-webkit-mask-position:center;min-width:44px !important;min-height:44px !important}.favorite-color{color:var(--color-favorite)}.weather-status-menu-item__subheader{width:100%}.weather-status-menu-item__subheader .trigger>.icon{background-size:16px;border:0;border-radius:var(--border-radius-pill);font-weight:normal;padding-left:40px}.weather-status-menu-item__subheader .trigger>.icon.icon-loading-small::after{left:21px}`,"",{version:3,sources:["webpack://./apps/weather_status/src/App.vue"],names:[],mappings:"AACA,cACC,oBAAA,CAED,qBACC,wDAAA,CAED,mBACC,wDAAA,CAED,qBACC,wDAAA,CAED,aACC,wDAAA,CAED,eACC,wDAAA,CAED,iBACC,wDAAA,CAED,uBACC,wDAAA,CAED,yBACC,wDAAA,CAED,UACC,wDAAA,CAED,gBACC,wDAAA,CAED,WACC,yDAAA,CAED,gBACC,yDAAA,CAED,4BACC,yDAAA,CAED,8BACC,yDAAA,CAED,sBACC,yDAAA,CAED,wBACC,yDAAA,CAED,4BACC,yDAAA,CAED,8BACC,yDAAA,CAED,gBACI,uCAAA,CACA,oBAAA,CACA,uDAAA,CACA,mBAAA,CACA,oBAAA,CACA,+DAAA,CACA,2BAAA,CACA,4BAAA,CACA,yBAAA,CACA,0BAAA,CAIJ,gBACC,2BAAA,CAGD,qCACC,UAAA,CAEA,oDACC,oBAAA,CACA,QAAA,CACA,uCAAA,CACA,kBAAA,CACA,iBAAA,CAGC,8EACC,SAAA",sourcesContent:["\n.icon-weather {\n\tbackground-size: 16px;\n}\n.icon-weather-status {\n\tbackground-image: url('./../img/app-dark.svg');\n}\n.icon-clearsky-day {\n\tbackground-image: url('./../img/sun.svg');\n}\n.icon-clearsky-night {\n\tbackground-image: url('./../img/moon.svg');\n}\n.icon-cloudy {\n\tbackground-image: url('./../img/cloud-cloud.svg');\n}\n.icon-fair-day {\n\tbackground-image: url('./../img/sun-small-cloud.svg');\n}\n.icon-fair-night {\n\tbackground-image: url('./../img/moon-small-cloud.svg');\n}\n.icon-partlycloudy-day {\n\tbackground-image: url('./../img/sun-cloud.svg');\n}\n.icon-partlycloudy-night {\n\tbackground-image: url('./../img/moon-cloud.svg');\n}\n.icon-fog {\n\tbackground-image: url('./../img/fog.svg');\n}\n.icon-lightrain {\n\tbackground-image: url('./../img/light-rain.svg');\n}\n.icon-rain {\n\tbackground-image: url('./../img/rain.svg');\n}\n.icon-heavyrain {\n\tbackground-image: url('./../img/heavy-rain.svg');\n}\n.icon-light-rainshowers-day {\n\tbackground-image: url('./../img/sun-cloud-light-rain.svg');\n}\n.icon-light-rainshowers-night {\n\tbackground-image: url('./../img/moon-cloud-light-rain.svg');\n}\n.icon-rainshowers-day {\n\tbackground-image: url('./../img/sun-cloud-rain.svg');\n}\n.icon-rainshowers-night {\n\tbackground-image: url('./../img/moon-cloud-rain.svg');\n}\n.icon-heavy-rainshowers-day {\n\tbackground-image: url('./../img/sun-cloud-heavy-rain.svg');\n}\n.icon-heavy-rainshowers-night {\n\tbackground-image: url('./../img/moon-cloud-heavy-rain.svg');\n}\n.icon-crosshair {\n background-color: var(--color-main-text);\n padding: 0 !important;\n mask: url(./../img/cross.svg) no-repeat;\n mask-size: 18px 18px;\n mask-position: center;\n -webkit-mask: url(./../img/cross.svg) no-repeat;\n -webkit-mask-size: 18px 18px;\n -webkit-mask-position: center;\n min-width: 44px !important;\n min-height: 44px !important;\n}\n\n// Set color to primary element for current / active favorite address\n.favorite-color {\n\tcolor: var(--color-favorite);\n}\n\n.weather-status-menu-item__subheader {\n\twidth: 100%;\n\n\t.trigger > .icon {\n\t\tbackground-size: 16px;\n\t\tborder: 0;\n\t\tborder-radius: var(--border-radius-pill);\n\t\tfont-weight: normal;\n\t\tpadding-left: 40px;\n\n\t\t&.icon-loading-small {\n\t\t\t&::after {\n\t\t\t\tleft: 21px;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const V=S},6315:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyMHB4Ij48cGF0aCBkPSJNNDQ0LTc2OHYtMTQ0aDcydjE0NGgtNzJabTI2NSAxMTItNTQtNTIgMTA0LTEwMiA1MiA1MC0xMDIgMTA0Wm01OSAyMTJ2LTcyaDE0NHY3Mkg3NjhaTTQ0NC00OHYtMTQ0aDcydjE0NGgtNzJaTTI1MS02NTggMTQ3LTc2MGw1NC01MCAxMDEgMTAxLTUxIDUxWm01MDkgNTExTDY1OS0yNTJsNTAtNTAgMTA0IDEwMC01MyA1NVpNNDgtNDQ0di03MmgxNDR2NzJINDhabTE1MiAyOTctNTEtNTMgMTAyLTEwMCAyNSAyNCAyNCAyNS0xMDAgMTA0Wm0yODAtOTNxLTEwMCAwLTE3MC03MHQtNzAtMTcwcTAtMTAwIDcwLTE3MHQxNzAtNzBxMTAwIDAgMTcwIDcwdDcwIDE3MHEwIDEwMC03MCAxNzB0LTE3MCA3MFoiLz48L3N2Zz4="},78228:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjk0LjcxIiBoZWlnaHQ9IjE4OS4xNiIgdmlld0JveD0iMCAwIDI5NSAxOTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEwOS4wMyAxMTkuMmMwLTI5LjE5IDI2LjQtNTIuOTQgNTguODYtNTIuOTQgNy4wMiAwIDEzLjgxIDEuMDggMjAuMjkgMy4yMmE1NC4zNiA1NC4zNiAwIDAxMjUuMDQtMTQuMzZBNTEuOTUgNTEuOTUgMCAwMDE2Ni45IDI2LjNjLTQuMjEgMC04LjQxLjUyLTEyLjQ4IDEuNTItMyAuNzQtNi4xNS0uNDQtNy45LTIuOTlhNTcuMTMgNTcuMTMgMCAwMC04NS41OC05Ljg0IDU2Ljk1IDU2Ljk1IDAgMDAtMTguMzMgMzYuNjUgNy40MiA3LjQyIDAgMDEtNC4yIDZjLS42OS4zNC0xLjM4LjY4LTIuMDUgMS4wNi0uNjIuMzQtMS4yOS42LTEuOTguNzZBNDQuMyA0NC4zIDAgMDA5LjggNzQuNjZhNDMuMiA0My4yIDAgMDAtOS44IDI3LjU4YzAgMjQuMTkgMTkuNzggNDMuODYgNDQuMSA0My44Nmg1Mi45NmE0OC4wNCA0OC4wNCAwIDAxMTIuMDMtMjQuNjNjLS4wMy0uNzYtLjA1LTEuNTEtLjA1LTIuMjciIGZpbGw9IiM2MWM5ZTciLz48cGF0aCBkPSJNMjY5LjI1IDEyMC40YTcuNDMgNy40MyAwIDAxLTQuNDYtOS41IDI4Ljg1IDI4Ljg1IDAgMDAxLjcyLTkuODJjMC0xNC4xLTEwLjI3LTI2LjE2LTI0LjctMzAuOWE0My42MyA0My42MyAwIDAwLTIxLjA4LTEuNTVjLTkuOSAxLjY4LTE4Ljc0IDYuNy0yNC41IDE0LjEyYTcuNDMgNy40MyAwIDAxLTguOCAyLjI2IDQ5LjEyIDQ5LjEyIDAgMDAtMTkuNTMtMy45NmMtMjQuMjcgMC00NC4wMiAxNy4xLTQ0LjAyIDM4LjEgMCAxLjM0LjA5IDIuNzMuMjYgNC4xYTcuMzkgNy4zOSAwIDAxLTIuMjMgNi4yNiAzNC4zIDM0LjMgMCAwMC05LjcxIDE2LjUzIDMxLjAzIDMxLjAzIDAgMDAuMDIgMTQuODVjNCAxNi4xMyAyMC42MiAyOC4yNyA0MC40NiAyOC4yN2gxMDAuNjNjMjIuODIgMCA0MS4zOC0xNi4wNCA0MS4zOC0zNS43NiAwLTE0LjQ1LTkuOTktMjcuNDEtMjUuNDQtMzMiIGZpbGw9IiM0NDkyYTgiLz48L3N2Zz4K"},35059:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIvPjxwYXRoIGQ9Ik0yMiAxMmgtNE02IDEySDJNMTIgNlYyTTEyIDIydi00Ii8+PC9zdmc+Cg=="},94231:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjU0LjQ0IiBoZWlnaHQ9IjI1Ni4zOCIgdmlld0JveD0iMCAwIDI1NSAyNTciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzYxYzllNyI+PHBhdGggZD0iTTIzMy4zIDcxLjU4YTcuNDIgNy40MiAwIDAxLTIuNjMtMy44NCA1NS41IDU1LjUgMCAwMC01My4wOC0zOS44N2MtNC41IDAtOSAuNTUtMTMuMzUgMS42My0zIC43NC02LjE1LS40NS03LjktM0E2MS4xIDYxLjEgMCAwMDEwNiAuMDEgNjAuODkgNjAuODkgMCAwMDY0LjgzIDE2YTYwLjg3IDYwLjg3IDAgMDAtMTkuNiAzOS4yIDcuNDIgNy40MiAwIDAxLTQuMiA2Yy0uNzMuMzQtMS40Ny43Mi0yLjIgMS4xMi0uNjEuMzUtMS4yOC42LTEuOTcuNzVBNDcuNDggNDcuNDggMCAwMDEwLjUgNzkuMzcgNDYuMyA0Ni4zIDAgMDAwIDEwOC45MmMwIDI1LjkxIDIxLjIgNDcgNDcuMjYgNDdIMjA0LjZjMjYuMDYgMCA0Ny4yNy0yMS4wOSA0Ny4yNy00N2E0Ni42IDQ2LjYgMCAwMC0xOC41Ni0zNy4zNE0yMzEuMzIgMTg3LjkxYzAtNC4xLTMuMzMtNy40My03LjQzLTcuNDNIMjguODdhNy40MiA3LjQyIDAgMTAwIDE0Ljg2aDE5NS4wMmM0LjEgMCA3LjQzLTMuMzQgNy40My03LjQzTTIxMy4xNCAyNDEuNTRIMTguMTJhNy40MyA3LjQzIDAgMDAwIDE0Ljg1aDE5NS4wMmE3LjQyIDcuNDIgMCAxMDAtMTQuODVNNjIuMjggMjExLjQzYTcuNDIgNy40MiAwIDEwMCAxNC44NWg3MS40N2E3LjQzIDcuNDMgMCAwMDAtMTQuODVINjIuMjhNMjQ3IDIxMS40M2gtNzEuNDhhNy40MiA3LjQyIDAgMTAwIDE0Ljg1SDI0N2E3LjQzIDcuNDMgMCAwMDAtMTQuODUiLz48L2c+PC9zdmc+Cg=="},51957:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUxLjg4IiBoZWlnaHQ9IjI1OC42NCIgdmlld0JveD0iMCAwIDI1MSAyNTkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTI1MS44NSAxMDguOWE0Ni42IDQ2LjYgMCAwMC0xOC41Ni0zNy4zNCA3LjQzIDcuNDMgMCAwMS0yLjYzLTMuODUgNTUuNSA1NS41IDAgMDAtNTMuMDgtMzkuODZjLTQuNSAwLTkgLjU0LTEzLjM1IDEuNjItMyAuNzQtNi4xNS0uNDUtNy45LTNBNjEuMSA2MS4xIDAgMDAxMDYgMGE2MC44OSA2MC44OSAwIDAwLTQxLjE4IDE1Ljk3IDYwLjg3IDYwLjg3IDAgMDAtMTkuNiAzOS4yIDcuNDMgNy40MyAwIDAxLTQuMiA2Yy0uNzMuMzUtMS40Ny43My0yLjIgMS4xMy0uNjEuMzQtMS4yOC42LTEuOTcuNzVhNDcuNDggNDcuNDggMCAwMC0yNi4zNSAxNi4zQTQ2LjMgNDYuMyAwIDAwLS4wMSAxMDguOWMwIDI1LjkyIDIxLjIgNDcgNDcuMjYgNDdIMjA0LjZjMjYuMDcgMCA0Ny4yNy0yMS4wOCA0Ny4yNy00NyIgZmlsbD0iIzQ0OTJhOCIvPjxnIGZpbGw9IiM2MWM5ZTciPjxwYXRoIGQ9Ik02Ni42NiAyMjMuNDRhNy40MiA3LjQyIDAgMDA3LjEtOS42bC04Ljk0LTI5LjE4YTcuNDIgNy40MiAwIDEwLTE0LjIgNC4zNWw4Ljk0IDI5LjE3YTcuNDMgNy40MyAwIDAwNy4xIDUuMjZNMTA3LjQgMjU4LjYyYTcuNDMgNy40MyAwIDAwNy4xLTkuNmwtOC45My0yOS4xOGE3LjQyIDcuNDIgMCAxMC0xNC4yIDQuMzVsOC45NCAyOS4xOGE3LjQzIDcuNDMgMCAwMDcuMSA1LjI1TTE1OS4yMiAyMTMuMDZhNy40MyA3LjQzIDAgMDAtNC45MyA5LjI4bDguOTQgMjkuMTdhNy40MyA3LjQzIDAgMTAxNC4yLTQuMzVMMTY4LjUgMjE4YTcuNDMgNy40MyAwIDAwLTkuMjctNC45M00xMjguODQgMjIzLjQ0YTcuNDEgNy40MSAwIDAwNy4xLTkuNmwtOC45My0yOS4xOGE3LjQzIDcuNDMgMCAxMC0xNC4yIDQuMzVsOC45NCAyOS4xN2E3LjQzIDcuNDMgMCAwMDcuMSA1LjI2TTE5MS4wMyAyMjMuNDRhNy40MSA3LjQxIDAgMDA3LjEtOS42bC04Ljk0LTI5LjE4QTcuNDIgNy40MiAwIDEwMTc1IDE4OWw4Ljk0IDI5LjE3YTcuNDMgNy40MyAwIDAwNy4xIDUuMjYiLz48L2c+PC9zdmc+Cg=="},50898:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjk0LjcxIiBoZWlnaHQ9IjI1OC41NyIgdmlld0JveD0iMCAwIDI5NSAyNTkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzYxYzllNyI+PHBhdGggZD0iTTEwOS4wNCAxMTkuMThjMC0yOS4yIDI2LjQtNTIuOTUgNTguODctNTIuOTUgNyAwIDEzLjggMS4wOCAyMC4yOCAzLjIyYTU0LjMyIDU0LjMyIDAgMDEyNS4wNC0xNC4zNSA1MS45MyA1MS45MyAwIDAwLTQ2LjMyLTI4LjgzYy00LjIxIDAtOC40MS41MS0xMi40NyAxLjUyLTMgLjc1LTYuMTYtLjQ1LTcuOTEtM0E1Ny4xNSA1Ny4xNSAwIDAwOTkuNDYuMDJjLTE0LjMgMC0yNy45NyA1LjMxLTM4LjUxIDE0Ljk1YTU2LjkzIDU2LjkzIDAgMDAtMTguMzMgMzYuNjUgNy40MyA3LjQzIDAgMDEtNC4yIDZjLS42OC4zMi0xLjM3LjY4LTIuMDUgMS4wNS0uNjIuMzUtMS4yOS42LTEuOTguNzVBNDQuMyA0NC4zIDAgMDA5LjggNzQuNjQgNDMuMiA0My4yIDAgMDAwIDEwMi4yYzAgMjQuMTggMTkuNzggNDMuODYgNDQuMSA0My44Nmg1Mi45NmE0OC4wNCA0OC4wNCAwIDAxMTIuMDMtMjQuNjNjLS4wMy0uNzYtLjA1LTEuNTEtLjA1LTIuMjZNNjQuOTkgMjU4LjU5YTcuNDQgNy40NCAwIDAwNy4xLTkuNmwtOC45NC0yOS4xOGE3LjQzIDcuNDMgMCAwMC0xNC4yIDQuMzVsOC45NCAyOS4xN2E3LjQzIDcuNDMgMCAwMDcuMSA1LjI2TTEyNy4xNyAyNTguNTlhNy40MyA3LjQzIDAgMDA3LjEtOS42bC04Ljk0LTI5LjE4YTcuNDMgNy40MyAwIDAwLTE0LjIgNC4zNWw4Ljk0IDI5LjE3YTcuNDMgNy40MyAwIDAwNy4xIDUuMjZNMTg5LjM2IDI1OC41OWE3LjQzIDcuNDMgMCAwMDcuMS05LjZsLTguOTQtMjkuMThhNy40MyA3LjQzIDAgMDAtMTQuMiA0LjM1bDguOTQgMjkuMTdhNy40MyA3LjQzIDAgMDA3LjEgNS4yNiIvPjwvZz48cGF0aCBkPSJNMjY5LjI2IDEyMC40MmE3LjQzIDcuNDMgMCAwMS00LjQ2LTkuNSAyOC44NiAyOC44NiAwIDAwMS43My05LjgyYzAtMTQuMS0xMC4yOC0yNi4xNS0yNC43LTMwLjkxYTQzLjU3IDQzLjU3IDAgMDAtMjEuMDktMS41NWMtOS45IDEuNjktMTguNzQgNi43LTI0LjQ5IDE0LjEyYTcuNDMgNy40MyAwIDAxLTguOCAyLjI4IDQ5LjEyIDQ5LjEyIDAgMDAtMTkuNTQtMy45NmMtMjQuMjcgMC00NC4wMiAxNy4wOS00NC4wMiAzOC4wOSAwIDEuMzUuMDkgMi43My4yNiA0LjFhNy40MyA3LjQzIDAgMDEtMi4yMyA2LjI2IDM0LjIxIDM0LjIxIDAgMDAtOS43MSAxNi41MyAzMS4wMyAzMS4wMyAwIDAwLjAzIDE0Ljg1YzQgMTYuMTMgMjAuNjEgMjguMjcgNDAuNDUgMjguMjdoMTAwLjYzYzIyLjgyIDAgNDEuMzgtMTYuMDUgNDEuMzgtMzUuNzYgMC0xNC40Ni05Ljk4LTI3LjQxLTI1LjQ0LTMzIiBmaWxsPSIjNDQ5MmE4Ii8+PC9zdmc+Cg=="},61675:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzE4Ljk0IiBoZWlnaHQ9IjI4OS42MiIgdmlld0JveD0iMCAwIDMxOSAyOTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzYxYzllNyI+PHBhdGggZD0iTTI4NS4wNCAxMjcuNmE3LjQyIDcuNDIgMCAwMS0yLjY0LTMuODUgNTUuNSA1NS41IDAgMDAtNTMuMDgtMzkuODZjLTQuNSAwLTkgLjU0LTEzLjM0IDEuNjItMyAuNzUtNi4xNS0uNDUtNy45LTNhNjEuMSA2MS4xIDAgMDAtNTAuMzMtMjYuNDggNjAuODkgNjAuODkgMCAwMC00MS4xOCAxNS45OCA2MC44OCA2MC44OCAwIDAwLTE5LjYgMzkuMTkgNy40MiA3LjQyIDAgMDEtNC4yIDZjLS43My4zNS0xLjQ3LjczLTIuMiAxLjEzLS42Mi4zNC0xLjI5LjYtMS45OC43NWE0Ny40OCA0Ny40OCAwIDAwLTI2LjM1IDE2LjMgNDYuMjkgNDYuMjkgMCAwMC0xMC41MSAyOS41NWMwIDI1LjkyIDIxLjIgNDcgNDcuMjcgNDdoMTU3LjM0YzI2LjA2IDAgNDcuMjYtMjEuMDggNDcuMjYtNDdhNDYuNiA0Ni42IDAgMDAtMTguNTYtMzcuMzMiIHBhaW50LW9yZGVyPSJzdHJva2UgZmlsbCBtYXJrZXJzIi8+PHBhdGggZD0iTTkxLjk4IDI4Ny4xYTcuNDEgNy40MSAwIDAwNy4xLTkuNmwtOC45NC0yOS4xOGE3LjQzIDcuNDMgMCAwMC0xNC4yIDQuMzVsOC45NCAyOS4xOGE3LjQzIDcuNDMgMCAwMDcuMSA1LjI1TTE1NC4xNiAyODcuMWE3LjQzIDcuNDMgMCAwMDcuMS05LjZsLTguOTQtMjkuMThhNy40MyA3LjQzIDAgMDAtMTQuMiA0LjM1bDguOTQgMjkuMThhNy40MyA3LjQzIDAgMDA3LjEgNS4yNU0yMTYuMzUgMjg3LjFhNy40MyA3LjQzIDAgMDA3LjEtOS42bC04Ljk0LTI5LjE4YTcuNDMgNy40MyAwIDEwLTE0LjIgNC4zNWw4Ljk0IDI5LjE4YTcuNDMgNy40MyAwIDAwNy4xIDUuMjVNMTE2LjU4IDI1OS45N2E3LjQzIDcuNDMgMCAwMDcuMS05LjZsLTguOTQtMjkuMThhNy40MyA3LjQzIDAgMDAtMTQuMiA0LjM1bDguOTQgMjkuMTdhNy40MyA3LjQzIDAgMDA3LjEgNS4yNk0xNzguNzYgMjU5Ljk3YTcuNDMgNy40MyAwIDAwNy4xLTkuNmwtOC45NC0yOS4xOGE3LjQzIDcuNDMgMCAxMC0xNC4yIDQuMzVsOC45NCAyOS4xN2E3LjQzIDcuNDMgMCAwMDcuMSA1LjI2TTI3OC4zMyAyODcuMDlhNy40MyA3LjQzIDAgMDA3LjEtOS42bC04Ljk0LTI5LjE4YTcuNDMgNy40MyAwIDEwLTE0LjIgNC4zNWw4Ljk0IDI5LjE3YTcuNDMgNy40MyAwIDAwNy4xIDUuMjZNMjQwLjczIDI1OS45NWE3LjQzIDcuNDMgMCAwMDcuMS05LjZsLTguOTQtMjkuMThhNy40MyA3LjQzIDAgMTAtMTQuMiA0LjM1bDguOTQgMjkuMThhNy40MyA3LjQzIDAgMDA3LjEgNS4yNSIvPjwvZz48cGF0aCBkPSJNNzkuODItLjA1Yy0zLjM3IDEuMDItNi42OSAyLjItOS45NiAzLjU0LTU3LjU1IDIzLjU3LTg1LjIgODkuNTYtNjEuNjMgMTQ3LjEyIDguMTkgMjAgMjEuNjEgMzYuODQgMzguOCA0OS4wN2E2MS42IDYxLjYgMCAwMS0xMC44LTM0LjgzYzAtMTQuMyA0LjkzLTI4LjEzIDEzLjk2LTM5LjIyYTYyLjY2IDYyLjY2IDAgMDE1Ljk5LTYuMzYgMTI1LjgyIDEyNS44MiAwIDAxLTEuNjktNzAuMDlBMTI4LjQzIDEyOC40MyAwIDAxNzkuODItLjA1eiIgZmlsbD0iI2UxYzAxNCIvPjwvc3ZnPgo="},13360:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzE4Ljk0IiBoZWlnaHQ9IjI4OS42MiIgdmlld0JveD0iMCAwIDMxOSAyOTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzYxYzllNyI+PHBhdGggZD0iTTI4NS4wNCAxMjcuNmE3LjQyIDcuNDIgMCAwMS0yLjY0LTMuODUgNTUuNSA1NS41IDAgMDAtNTMuMDgtMzkuODZjLTQuNSAwLTkgLjU0LTEzLjM0IDEuNjItMyAuNzUtNi4xNS0uNDUtNy45LTNhNjEuMSA2MS4xIDAgMDAtNTAuMzMtMjYuNDggNjAuODkgNjAuODkgMCAwMC00MS4xOCAxNS45OCA2MC44OCA2MC44OCAwIDAwLTE5LjYgMzkuMTkgNy40MiA3LjQyIDAgMDEtNC4yIDZjLS43My4zNS0xLjQ3LjczLTIuMiAxLjEzLS42Mi4zNC0xLjI5LjYtMS45OC43NWE0Ny40OCA0Ny40OCAwIDAwLTI2LjM1IDE2LjMgNDYuMjkgNDYuMjkgMCAwMC0xMC41MSAyOS41NWMwIDI1LjkyIDIxLjIgNDcgNDcuMjcgNDdoMTU3LjM0YzI2LjA2IDAgNDcuMjYtMjEuMDggNDcuMjYtNDdhNDYuNiA0Ni42IDAgMDAtMTguNTYtMzcuMzMiIHBhaW50LW9yZGVyPSJzdHJva2UgZmlsbCBtYXJrZXJzIi8+PHBhdGggZD0iTTExOS45NSAyODkuNjNhNy40MSA3LjQxIDAgMDA3LjEtOS42bC04Ljk0LTI5LjE4YTcuNDMgNy40MyAwIDAwLTE0LjIgNC4zNWw4Ljk0IDI5LjE4YTcuNDMgNy40MyAwIDAwNy4xIDUuMjVNMTgyLjEzIDI4OS42M2E3LjQzIDcuNDMgMCAwMDcuMS05LjZsLTguOTMtMjkuMThhNy40MyA3LjQzIDAgMDAtMTQuMiA0LjM1bDguOTQgMjkuMThhNy40MyA3LjQzIDAgMDA3LjEgNS4yNU0yNDQuMzIgMjg5LjYzYTcuNDMgNy40MyAwIDAwNy4xLTkuNmwtOC45NC0yOS4xOGE3LjQzIDcuNDMgMCAxMC0xNC4yIDQuMzVsOC45NCAyOS4xOGE3LjQzIDcuNDMgMCAwMDcuMSA1LjI1Ii8+PC9nPjxwYXRoIGQ9Ik04MC42Ni0uOUM3Ny4yOS4xNCA3My45NyAxLjMyIDcwLjcgMi42NiAxMy4xNSAyNi4yMi0xNC41IDkyLjIxIDkuMDcgMTQ5Ljc3YzguMTkgMjAgMjEuNjEgMzYuODQgMzguOCA0OS4wN0E2MS42IDYxLjYgMCAwMTM3LjA3IDE2NGMwLTE0LjMgNC45My0yOC4xMyAxMy45Ni0zOS4yMmE2Mi42NiA2Mi42NiAwIDAxNS45OS02LjM2IDEyNS44MiAxMjUuODIgMCAwMS0xLjY5LTcwLjA5QTEyOC40MyAxMjguNDMgMCAwMTgwLjY2LS44OXoiIGZpbGw9IiNlMWMwMTQiLz48L3N2Zz4K"},46485:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzE4Ljk0IiBoZWlnaHQ9IjI4OS42MiIgdmlld0JveD0iMCAwIDMxOSAyOTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzYxYzllNyI+PHBhdGggZD0iTTI4NS4wNCAxMjcuNmE3LjQyIDcuNDIgMCAwMS0yLjY0LTMuODUgNTUuNSA1NS41IDAgMDAtNTMuMDgtMzkuODZjLTQuNSAwLTkgLjU0LTEzLjM0IDEuNjItMyAuNzUtNi4xNS0uNDUtNy45LTNhNjEuMSA2MS4xIDAgMDAtNTAuMzMtMjYuNDggNjAuODkgNjAuODkgMCAwMC00MS4xOCAxNS45OCA2MC44OCA2MC44OCAwIDAwLTE5LjYgMzkuMTkgNy40MiA3LjQyIDAgMDEtNC4yIDZjLS43My4zNS0xLjQ3LjczLTIuMiAxLjEzLS42Mi4zNC0xLjI5LjYtMS45OC43NWE0Ny40OCA0Ny40OCAwIDAwLTI2LjM1IDE2LjMgNDYuMjkgNDYuMjkgMCAwMC0xMC41MSAyOS41NWMwIDI1LjkyIDIxLjIgNDcgNDcuMjcgNDdoMTU3LjM0YzI2LjA2IDAgNDcuMjYtMjEuMDggNDcuMjYtNDdhNDYuNiA0Ni42IDAgMDAtMTguNTYtMzcuMzMiIHBhaW50LW9yZGVyPSJzdHJva2UgZmlsbCBtYXJrZXJzIi8+PHBhdGggZD0iTTEyNS4wMyAyODcuOTRhNy40MSA3LjQxIDAgMDA3LjEtOS42bC04Ljk0LTI5LjE4YTcuNDMgNy40MyAwIDAwLTE0LjIgNC4zNWw4Ljk0IDI5LjE4YTcuNDMgNy40MyAwIDAwNy4xIDUuMjVNMTg3LjIxIDI4Ny45NGE3LjQzIDcuNDMgMCAwMDcuMS05LjZsLTguOTMtMjkuMThhNy40MyA3LjQzIDAgMDAtMTQuMiA0LjM1bDguOTQgMjkuMThhNy40MyA3LjQzIDAgMDA3LjEgNS4yNU0yNDkuNCAyODcuOTRhNy40MyA3LjQzIDAgMDA3LjEtOS42bC04Ljk0LTI5LjE4YTcuNDMgNy40MyAwIDEwLTE0LjIgNC4zNWw4Ljk0IDI5LjE4YTcuNDMgNy40MyAwIDAwNy4xIDUuMjVNMTQ5LjYzIDI2MC44YTcuNDMgNy40MyAwIDAwNy4xLTkuNmwtOC45NC0yOS4xN2E3LjQzIDcuNDMgMCAwMC0xNC4yIDQuMzVsOC45NCAyOS4xN2E3LjQzIDcuNDMgMCAwMDcuMSA1LjI2TTIxMS44MSAyNjAuOGE3LjQzIDcuNDMgMCAwMDcuMS05LjZsLTguOTQtMjkuMTdhNy40MyA3LjQzIDAgMTAtMTQuMiA0LjM1bDguOTUgMjkuMTdhNy40MyA3LjQzIDAgMDA3LjEgNS4yNiIvPjwvZz48cGF0aCBkPSJNNzkuODItLjA1Yy0zLjM3IDEuMDItNi42OSAyLjItOS45NiAzLjU0LTU3LjU1IDIzLjU3LTg1LjIgODkuNTYtNjEuNjMgMTQ3LjEyIDguMTkgMjAgMjEuNjEgMzYuODQgMzguOCA0OS4wN2E2MS42IDYxLjYgMCAwMS0xMC44LTM0LjgzYzAtMTQuMyA0LjkzLTI4LjEzIDEzLjk2LTM5LjIyYTYyLjY2IDYyLjY2IDAgMDE1Ljk5LTYuMzYgMTI1LjgyIDEyNS44MiAwIDAxLTEuNjktNzAuMDlBMTI4LjQzIDEyOC40MyAwIDAxNzkuODItLjA1eiIgZmlsbD0iI2UxYzAxNCIvPjwvc3ZnPgo="},80386:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjM4LjMiIGhlaWdodD0iMjI4LjU3IiB2aWV3Qm94PSIwIDAgMjM5IDIyOSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjNjFjOWU3Ij48cGF0aCBkPSJNOTEuNjQgNjYuNTRMODYuNDYgODUuOWwxOC41Mi03LjY2IDE2LjggMTAuOTEtMS41NS0xOS45NyAxNS41Ny0xMi42Mi0xOS40OC00LjY5LTcuMTktMTguNy0xMC40OCAxNy4wNy0yMC4wMSAxLjA0IDEzIDE1LjI2TTE3Ni43OSA0NS40NmwtNy42Ny0xMC4zLTMuNTEgMTIuMzUtMTIuMTcgNC4xIDEwLjY2IDcuMTYuMTQgMTIuODQgMTAuMS03LjkyIDEyLjI3IDMuODMtNC40Mi0xMi4wNiA3LjQzLTEwLjQ4LTEyLjgzLjQ4Ii8+PHBhdGggZD0iTTIxMi4xNyAxNTUuNjRhNS4yNSA1LjI1IDAgMDEtMS44Ny0yLjczIDM5LjUyIDM5LjUyIDAgMDAtMzcuNzktMjguMzhjLTMuMiAwLTYuNC4zOS05LjUgMS4xNmE1LjI5IDUuMjkgMCAwMS01LjYzLTIuMTQgNDMuNSA0My41IDAgMDAtNjUuMTQtNy40OCA0My4zNSA0My4zNSAwIDAwLTEzLjk1IDI3LjkgNS4zIDUuMyAwIDAxLTMgNC4yOGMtLjUyLjI0LTEuMDQuNTEtMS41Ni44LS40NC4yNC0uOTEuNDItMS40LjUzYTMzLjg0IDMzLjg0IDAgMDAtMTguNzcgMTEuNiAzMi45OSAzMi45OSAwIDAwLTcuNDggMjEuMDVjMCAxOC40NCAxNS4xIDMzLjQ1IDMzLjY1IDMzLjQ1aDExMmMxOC41NiAwIDMzLjY2LTE1IDMzLjY2LTMzLjQ1YTMzLjIgMzMuMiAwIDAwLTEzLjIyLTI2LjU5IiBwYWludC1vcmRlcj0ic3Ryb2tlIGZpbGwgbWFya2VycyIvPjwvZz48cGF0aCBkPSJNODIuOS0uMzNhMTE3LjYyIDExNy42MiAwIDAwLTEwLjMgMy42N0MxMy4wNiAyNy43My0xNS41NSA5NiA4Ljg0IDE1NS41NGExMTYuNDMgMTE2LjQzIDAgMDAyNi4zNiAzOS4yNCA0NS42MiA0NS42MiAwIDAxLTEuODctMTIuOUE0Ni4zIDQ2LjMgMCAwMTQzLjcgMTUyLjdsLjAxLS4wMWE0Ni41OSA0Ni41OSAwIDAxMjAuNTItMTQuNDdBMTMwLjQgMTMwLjQgMCAwMTU2LjcgNTAuNiAxMzIuODggMTMyLjg4IDAgMDE4Mi45LS4zMnoiIGZpbGw9IiNlMWMwMTQiLz48L3N2Zz4K"},70384:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjM4LjMiIGhlaWdodD0iMjI4LjU3IiB2aWV3Qm94PSIwIDAgMjM5IDIyOSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjNjFjOWU3Ij48cGF0aCBkPSJNOTguNDMgMTAyLjEybC01LjE5IDE5LjM2IDE4LjUzLTcuNjUgMTYuOCAxMC45LTEuNTYtMTkuOTcgMTUuNTgtMTIuNjEtMTkuNDktNC43LTcuMTgtMTguNy0xMC40OCAxNy4wOC0yMC4wMiAxLjA0IDEzLjAxIDE1LjI1TTE3Ni43OSA0NS40NmwtNy42Ny0xMC4zLTMuNTEgMTIuMzUtMTIuMTcgNC4xIDEwLjY2IDcuMTYuMTQgMTIuODQgMTAuMS03LjkyIDEyLjI3IDMuODMtNC40Mi0xMi4wNiA3LjQzLTEwLjQ4LTEyLjgzLjQ4Ii8+PHBhdGggZD0iTTIyMC43NiAxNzkuNTlhMy41MyAzLjUzIDAgMDEtMS4yNi0xLjg0IDI2LjU0IDI2LjU0IDAgMDAtMzEuNzYtMTguMjggMy41NSAzLjU1IDAgMDEtMy43OC0xLjQ0IDI5LjIxIDI5LjIxIDAgMDAtNTMuMTIgMTMuNzIgMy41NiAzLjU2IDAgMDEtMiAyLjg3Yy0uMzYuMTctLjcxLjM1LTEuMDYuNTQtLjMuMTYtLjYxLjI4LS45NS4zNWEyMi43MyAyMi43MyAwIDAwLTEyLjYgNy44IDIyLjE1IDIyLjE1IDAgMDAtNS4wMiAxNC4xMyAyMi41NiAyMi41NiAwIDAwMjIuNiAyMi40N2g3NS4yM2EyMi41NiAyMi41NiAwIDAwMjIuNi0yMi40NyAyMi4zIDIyLjMgMCAwMC04Ljg4LTE3Ljg1IiBwYWludC1vcmRlcj0ic3Ryb2tlIGZpbGwgbWFya2VycyIvPjwvZz48cGF0aCBkPSJNODIuNDctLjAyYTExNy42MiAxMTcuNjIgMCAwMC0xMC4zIDMuNjdDMTIuNjMgMjguMDMtMTUuOTcgOTYuMyA4LjQxIDE1NS44NWExMTUuOTEgMTE1LjkxIDAgMDA2Mi45IDYzLjQgMTE2LjE4IDExNi4xOCAwIDAwNTQuMzkgOC43M2MtMTQuNC0yLjc0LTI1LjQ1LTE1LjQ0LTI1LjQ1LTMwLjU3IDAtMy40Ni41OS02Ljg2IDEuNy0xMC4wOWExMzAuNDIgMTMwLjQyIDAgMDEtNDAuMTItNTMuMzUgMTMwLjQgMTMwLjQgMCAwMS01LjU2LTgzLjA2QTEzMi44OCAxMzIuODggMCAwMTgyLjQ3LS4wMnoiIGZpbGw9IiNlMWMwMTQiLz48L3N2Zz4K"},83454:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTg5LjYzIiBoZWlnaHQ9IjIyOC40IiB2aWV3Qm94PSIwIDAgMTg5IDIyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNjIuMTEgMTM0YTEzMC40IDEzMC40IDAgMDEtNS41NS04My4wNUExMzIuODkgMTMyLjg5IDAgMDE4Mi43NiAwYTExNy42NCAxMTcuNjQgMCAwMC0xMC4zIDMuNjdDMTIuOTIgMjguMDctMTUuNyA5Ni4zNCA4LjcgMTU1Ljg4YTExNS45MSAxMTUuOTEgMCAwMDYyLjg5IDYzLjQgMTE1LjkzIDExNS45MyAwIDAwODkuMy4zNmMzLjM5LTEuMzkgNi43LTIuOTIgOS45Mi00LjYyYTEzMi42NiAxMzIuNjYgMCAwMS01NC40LTE3LjkyIDEzMC40NSAxMzAuNDUgMCAwMS01NC4zLTYzLjEiIGZpbGw9IiNlMWMwMTQiLz48cGF0aCBkPSJNMTIyLjE1IDEyMy4zbC01LjE5IDE5LjM3IDE4LjUyLTcuNjUgMTYuODEgMTAuOS0xLjU2LTE5Ljk3IDE1LjU4LTEyLjYxLTE5LjQ5LTQuNy03LjE4LTE4LjctMTAuNDggMTcuMDgtMjAuMDIgMS4wNCAxMy4wMSAxNS4yNU0xNzYuNzkgNDUuNDZsLTcuNjctMTAuMy0zLjUxIDEyLjM1LTEyLjE3IDQuMSAxMC42NiA3LjE2LjE0IDEyLjg0IDEwLjEtNy45MiAxMi4yNyAzLjgzLTQuNDItMTIuMDYgNy40My0xMC40OC0xMi44My40OCIgZmlsbD0iIzYxYzllNyIvPjwvc3ZnPgo="},50443:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUxLjg3IiBoZWlnaHQ9IjIyMy40NSIgdmlld0JveD0iMCAwIDI1MiAyMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQ3LjI2IDE1NS45SDIwNC42YzI2LjA2IDAgNDcuMjctMjEuMSA0Ny4yNy00N2E0Ni42IDQ2LjYgMCAwMC0xOC41Ni0zNy4zNCA3LjQzIDcuNDMgMCAwMS0yLjY0LTMuODUgNTUuNSA1NS41IDAgMDAtNTMuMDgtMzkuODZjLTQuNSAwLTkgLjU0LTEzLjM0IDEuNjItMyAuNzQtNi4xNS0uNDUtNy45LTNBNjEuMSA2MS4xIDAgMDAxMDYuMDEgMGE2MC44OSA2MC44OSAwIDAwLTQxLjE4IDE1Ljk4IDYwLjg4IDYwLjg4IDAgMDAtMTkuNiAzOS4xOSA3LjQyIDcuNDIgMCAwMS00LjIgNmMtLjc0LjM1LTEuNDguNzMtMi4yIDEuMTMtLjYyLjM0LTEuMjkuNi0xLjk4Ljc1YTQ3LjQ3IDQ3LjQ3IDAgMDAtMjYuMzUgMTYuM0E0Ni4zIDQ2LjMgMCAwMDAgMTA4LjljMCAyNS45MiAyMS4yIDQ3IDQ3LjI2IDQ3IiBmaWxsPSIjNDQ5MmE4Ii8+PGcgZmlsbD0iIzYxYzllNyI+PHBhdGggZD0ibTU1LjU1IDE3OS43NGE3LjQyIDcuNDIgMCAwIDAtNC45MiA5LjI4bDguOTQgMjkuMTdhNy40MyA3LjQzIDAgMSAwIDE0LjItNC4zNWwtOC45NC0yOS4xN2E3LjQyIDcuNDIgMCAwIDAtOS4yOC00LjkzbTYyLjE5IDBhNy40MyA3LjQzIDAgMCAwLTQuOTMgOS4yOGw4Ljk0IDI5LjE3YTcuNDMgNy40MyAwIDAgMCAxNC4yLTQuMzVsLTguOTQtMjkuMTdhNy40MyA3LjQzIDAgMCAwLTkuMjctNC45M202Mi4xOCAwYTcuNDMgNy40MyAwIDAgMC00LjkyIDkuMjhsOC45NCAyOS4xN2E3LjQzIDcuNDMgMCAwIDAgMTQuMi00LjM1bC04Ljk0LTI5LjE3YTcuNDMgNy40MyAwIDAgMC05LjI4LTQuOTMiLz48L2c+PC9zdmc+Cg=="},88082:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzA3LjE5IiBoZWlnaHQ9IjI5MS4zMyIgdmlld0JveD0iMCAwIDMwNyAyOTEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTU1LjU3IDkyLjU0YzAgOS4yNyAzLjQzIDE4LjAyIDkuNTQgMjQuNzZhNjIuMzYgNjIuMzYgMCAwMTIxLjIyLTEwLjM4IDc1LjcyIDc1LjcyIDAgMDEyNS42MS00NS44IDM2Ljk3IDM2Ljk3IDAgMDAtNTYuMzcgMzEuNCIgZmlsbD0iI2RlYzYwZiIvPjxnIGZpbGw9IiM2MWM5ZTciPjxwYXRoIGQ9Ik0yODguNiAxMjkuM2E3LjQyIDcuNDIgMCAwMS0yLjYzLTMuODVBNTUuNSA1NS41IDAgMDAyMzIuOSA4NS42Yy00LjUgMC05IC41NC0xMy4zNCAxLjYyLTMgLjc1LTYuMTUtLjQ1LTcuOS0zYTYxLjEgNjEuMSAwIDAwLTUwLjMzLTI2LjQ4IDYwLjg5IDYwLjg5IDAgMDAtNDEuMTggMTUuOTggNjAuODggNjAuODggMCAwMC0xOS42IDM5LjE5IDcuNDIgNy40MiAwIDAxLTQuMiA2Yy0uNzMuMzUtMS40Ny43My0yLjIgMS4xMy0uNjIuMzQtMS4yOS42LTEuOTguNzVhNDcuNDggNDcuNDggMCAwMC0yNi4zNSAxNi4zIDQ2LjI5IDQ2LjI5IDAgMDAtMTAuNTEgMjkuNTVjMCAyNS45MiAyMS4yIDQ3IDQ3LjI3IDQ3SDI1OS45YzI2LjA2IDAgNDcuMjYtMjEuMDggNDcuMjYtNDdhNDYuNiA0Ni42IDAgMDAtMTguNTYtMzcuMzNNOTUuMzUgMjYzLjc3YTcuNDEgNy40MSAwIDAwNy4xLTkuNmwtOC45NC0yOS4xOGE3LjQzIDcuNDMgMCAwMC0xNC4yIDQuMzVsOC45NCAyOS4xOGE3LjQzIDcuNDMgMCAwMDcuMSA1LjI1TTE1Ny41MyAyNjMuNzdhNy40MyA3LjQzIDAgMDA3LjEtOS42bC04Ljk0LTI5LjE4YTcuNDMgNy40MyAwIDAwLTE0LjIgNC4zNWw4Ljk0IDI5LjE4YTcuNDMgNy40MyAwIDAwNy4xIDUuMjVNMjE5LjcyIDI2My43N2E3LjQzIDcuNDMgMCAwMDcuMS05LjZsLTguOTQtMjkuMThhNy40MyA3LjQzIDAgMTAtMTQuMiA0LjM1bDguOTQgMjkuMThhNy40MyA3LjQzIDAgMDA3LjEgNS4yNSIvPjwvZz48ZyBmaWxsPSIjZGVjNjBmIj48cGF0aCBkPSJNODUuMDggNy40NXYyMC44OWE3LjQzIDcuNDMgMCAwMDE0Ljg1IDBWNy40NGE3LjQzIDcuNDMgMCAxMC0xNC44NSAwTTYwLjQxIDQ0LjM2YTcuNDMgNy40MyAwIDAwNi40Mi0xMS4xNEw1Ni40IDE1LjEyYTcuNDMgNy40MyAwIDAwLTEyLjg2IDcuNDRsMTAuNDUgMTguMDlhNy40MiA3LjQyIDAgMDA2LjQzIDMuNzFNNDAuNjEgNTRMMjIuNTIgNDMuNTZhNy40MyA3LjQzIDAgMTAtNy40MyAxMi44NmwxOC4xIDEwLjQ1QTcuNDMgNy40MyAwIDAwNDAuNjIgNTRNMzUuNzMgOTIuNTRjMC00LjEtMy4zMi03LjQzLTcuNDItNy40M0g3LjRhNy40MyA3LjQzIDAgMDAwIDE0Ljg1aDIwLjljNC4xIDAgNy40Mi0zLjMyIDcuNDItNy40Mk00MC42MSAxMzEuMDdhNy40MyA3LjQzIDAgMTAtNy40Mi0xMi44NmwtMTguMSAxMC40NGE3LjQzIDcuNDMgMCAxMDcuNDMgMTIuODdsMTguMS0xMC40NU0xMjAuOSA0My4zNmE3LjQyIDcuNDIgMCAwMDEwLjE1LTIuNzJsMTAuNDMtMTguMDlhNy40MyA3LjQzIDAgMDAtMTIuODYtNy40MmwtMTAuNDUgMTguMWE3LjQzIDcuNDMgMCAwMDIuNzIgMTAuMTMiLz48L2c+PGcgZmlsbD0iIzYxYzllNyI+PHBhdGggZD0iTTE5NC40MSAyOTAuNTlhNy40MSA3LjQxIDAgMDA3LjEtOS42bC04Ljk0LTI5LjE4YTcuNDMgNy40MyAwIDAwLTE0LjIgNC4zNWw4Ljk0IDI5LjE3YTcuNDMgNy40MyAwIDAwNy4xIDUuMjZNMTMyLjcgMjg5LjM5YTcuNDEgNy40MSAwIDAwNy4xLTkuNmwtOC45NS0yOS4xOGE3LjQzIDcuNDMgMCAwMC0xNC4yIDQuMzVsOC45NCAyOS4xN2E3LjQzIDcuNDMgMCAwMDcuMSA1LjI2TTI4MC4xNyAyNjEuNmE3LjQzIDcuNDMgMCAwMDcuMS05LjZsLTguOTQtMjkuMThhNy40MyA3LjQzIDAgMTAtMTQuMiA0LjM1bDguOTQgMjkuMThhNy40MyA3LjQzIDAgMDA3LjEgNS4yNU0yNTQuODYgMjg4LjQxYTcuNDEgNy40MSAwIDAwNy4xLTkuNmwtOC45NC0yOS4xOGE3LjQzIDcuNDMgMCAwMC0xNC4yIDQuMzVsOC45NCAyOS4xOGE3LjQzIDcuNDMgMCAwMDcuMSA1LjI1Ii8+PC9nPjwvc3ZnPgo="},82313:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzA3LjE5IiBoZWlnaHQ9IjI5MS4zMyIgdmlld0JveD0iMCAwIDMwNyAyOTEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTU1LjU3IDkyLjU0YzAgOS4yNyAzLjQzIDE4LjAyIDkuNTQgMjQuNzZhNjIuMzYgNjIuMzYgMCAwMTIxLjIyLTEwLjM4IDc1LjcyIDc1LjcyIDAgMDEyNS42MS00NS44IDM2Ljk3IDM2Ljk3IDAgMDAtNTYuMzcgMzEuNCIgZmlsbD0iI2RlYzYwZiIvPjxnIGZpbGw9IiM2MWM5ZTciPjxwYXRoIGQ9Ik0yODguNiAxMjkuM2E3LjQyIDcuNDIgMCAwMS0yLjYzLTMuODVBNTUuNSA1NS41IDAgMDAyMzIuOSA4NS42Yy00LjUgMC05IC41NC0xMy4zNCAxLjYyLTMgLjc1LTYuMTUtLjQ1LTcuOS0zYTYxLjEgNjEuMSAwIDAwLTUwLjMzLTI2LjQ4IDYwLjg5IDYwLjg5IDAgMDAtNDEuMTggMTUuOTggNjAuODggNjAuODggMCAwMC0xOS42IDM5LjE5IDcuNDIgNy40MiAwIDAxLTQuMiA2Yy0uNzMuMzUtMS40Ny43My0yLjIgMS4xMy0uNjIuMzQtMS4yOS42LTEuOTguNzVhNDcuNDggNDcuNDggMCAwMC0yNi4zNSAxNi4zIDQ2LjI5IDQ2LjI5IDAgMDAtMTAuNTEgMjkuNTVjMCAyNS45MiAyMS4yIDQ3IDQ3LjI3IDQ3SDI1OS45YzI2LjA2IDAgNDcuMjYtMjEuMDggNDcuMjYtNDdhNDYuNiA0Ni42IDAgMDAtMTguNTYtMzcuMzNNMTIzLjUyIDI5MS4zM2E3LjQxIDcuNDEgMCAwMDcuMS05LjZsLTguOTQtMjkuMThhNy40MyA3LjQzIDAgMDAtMTQuMiA0LjM1bDguOTQgMjkuMThhNy40MyA3LjQzIDAgMDA3LjEgNS4yNU0xODUuNyAyOTEuMzNhNy40MyA3LjQzIDAgMDA3LjEtOS42bC04LjkzLTI5LjE4YTcuNDMgNy40MyAwIDAwLTE0LjIgNC4zNWw4Ljk0IDI5LjE4YTcuNDMgNy40MyAwIDAwNy4xIDUuMjVNMjQ3Ljg5IDI5MS4zM2E3LjQzIDcuNDMgMCAwMDcuMS05LjZsLTguOTQtMjkuMThhNy40MyA3LjQzIDAgMTAtMTQuMiA0LjM1bDguOTQgMjkuMThhNy40MyA3LjQzIDAgMDA3LjEgNS4yNSIvPjwvZz48ZyBmaWxsPSIjZGVjNjBmIj48cGF0aCBkPSJNODUuMDggNy40NXYyMC44OWE3LjQzIDcuNDMgMCAwMDE0Ljg1IDBWNy40NGE3LjQzIDcuNDMgMCAxMC0xNC44NSAwTTYwLjQxIDQ0LjM2YTcuNDMgNy40MyAwIDAwNi40Mi0xMS4xNEw1Ni40IDE1LjEyYTcuNDMgNy40MyAwIDAwLTEyLjg2IDcuNDRsMTAuNDUgMTguMDlhNy40MiA3LjQyIDAgMDA2LjQzIDMuNzFNNDAuNjEgNTRMMjIuNTIgNDMuNTZhNy40MyA3LjQzIDAgMTAtNy40MyAxMi44NmwxOC4xIDEwLjQ1QTcuNDMgNy40MyAwIDAwNDAuNjIgNTRNMzUuNzMgOTIuNTRjMC00LjEtMy4zMi03LjQzLTcuNDItNy40M0g3LjRhNy40MyA3LjQzIDAgMDAwIDE0Ljg1aDIwLjljNC4xIDAgNy40Mi0zLjMyIDcuNDItNy40Mk00MC42MSAxMzEuMDdhNy40MyA3LjQzIDAgMTAtNy40Mi0xMi44NmwtMTguMSAxMC40NGE3LjQzIDcuNDMgMCAxMDcuNDMgMTIuODdsMTguMS0xMC40NU0xMjAuOSA0My4zNmE3LjQyIDcuNDIgMCAwMDEwLjE1LTIuNzJsMTAuNDMtMTguMDlhNy40MyA3LjQzIDAgMDAtMTIuODYtNy40MmwtMTAuNDUgMTguMWE3LjQzIDcuNDMgMCAwMDIuNzIgMTAuMTMiLz48L2c+PC9zdmc+Cg=="},1956:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzA3LjE5IiBoZWlnaHQ9IjI5MS4zMyIgdmlld0JveD0iMCAwIDMwNyAyOTEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTU1LjU3IDkyLjU0YzAgOS4yNyAzLjQzIDE4LjAyIDkuNTQgMjQuNzZhNjIuMzYgNjIuMzYgMCAwMTIxLjIyLTEwLjM4IDc1LjcyIDc1LjcyIDAgMDEyNS42MS00NS44IDM2Ljk3IDM2Ljk3IDAgMDAtNTYuMzcgMzEuNCIgZmlsbD0iI2RlYzYwZiIvPjxnIGZpbGw9IiM2MWM5ZTciPjxwYXRoIGQ9Ik0yODguNiAxMjkuM2E3LjQyIDcuNDIgMCAwMS0yLjYzLTMuODVBNTUuNSA1NS41IDAgMDAyMzIuOSA4NS42Yy00LjUgMC05IC41NC0xMy4zNCAxLjYyLTMgLjc1LTYuMTUtLjQ1LTcuOS0zYTYxLjEgNjEuMSAwIDAwLTUwLjMzLTI2LjQ4IDYwLjg5IDYwLjg5IDAgMDAtNDEuMTggMTUuOTggNjAuODggNjAuODggMCAwMC0xOS42IDM5LjE5IDcuNDIgNy40MiAwIDAxLTQuMiA2Yy0uNzMuMzUtMS40Ny43My0yLjIgMS4xMy0uNjIuMzQtMS4yOS42LTEuOTguNzVhNDcuNDggNDcuNDggMCAwMC0yNi4zNSAxNi4zIDQ2LjI5IDQ2LjI5IDAgMDAtMTAuNTEgMjkuNTVjMCAyNS45MiAyMS4yIDQ3IDQ3LjI3IDQ3SDI1OS45YzI2LjA2IDAgNDcuMjYtMjEuMDggNDcuMjYtNDdhNDYuNiA0Ni42IDAgMDAtMTguNTYtMzcuMzNNMTE2LjkyIDI2NC45N2E3LjQxIDcuNDEgMCAwMDcuMS05LjZsLTguOTQtMjkuMThhNy40MyA3LjQzIDAgMDAtMTQuMiA0LjM1bDguOTQgMjkuMThhNy40MyA3LjQzIDAgMDA3LjEgNS4yNU0xNzkuMSAyNjQuOTdhNy40MyA3LjQzIDAgMDA3LjEtOS42bC04LjkzLTI5LjE4YTcuNDMgNy40MyAwIDAwLTE0LjIgNC4zNWw4Ljk0IDI5LjE4YTcuNDMgNy40MyAwIDAwNy4xIDUuMjVNMjQxLjI5IDI2NC45N2E3LjQzIDcuNDMgMCAwMDcuMS05LjZsLTguOTQtMjkuMThhNy40MyA3LjQzIDAgMTAtMTQuMiA0LjM1bDguOTQgMjkuMThhNy40MyA3LjQzIDAgMDA3LjEgNS4yNSIvPjwvZz48ZyBmaWxsPSIjZGVjNjBmIj48cGF0aCBkPSJNODUuMDggNy40NXYyMC44OWE3LjQzIDcuNDMgMCAwMDE0Ljg1IDBWNy40NGE3LjQzIDcuNDMgMCAxMC0xNC44NSAwTTYwLjQxIDQ0LjM2YTcuNDMgNy40MyAwIDAwNi40Mi0xMS4xNEw1Ni40IDE1LjEyYTcuNDMgNy40MyAwIDAwLTEyLjg2IDcuNDRsMTAuNDUgMTguMDlhNy40MiA3LjQyIDAgMDA2LjQzIDMuNzFNNDAuNjEgNTRMMjIuNTIgNDMuNTZhNy40MyA3LjQzIDAgMTAtNy40MyAxMi44NmwxOC4xIDEwLjQ1QTcuNDMgNy40MyAwIDAwNDAuNjIgNTRNMzUuNzMgOTIuNTRjMC00LjEtMy4zMi03LjQzLTcuNDItNy40M0g3LjRhNy40MyA3LjQzIDAgMDAwIDE0Ljg1aDIwLjljNC4xIDAgNy40Mi0zLjMyIDcuNDItNy40Mk00MC42MSAxMzEuMDdhNy40MyA3LjQzIDAgMTAtNy40Mi0xMi44NmwtMTguMSAxMC40NGE3LjQzIDcuNDMgMCAxMDcuNDMgMTIuODdsMTguMS0xMC40NU0xMjAuOSA0My4zNmE3LjQyIDcuNDIgMCAwMDEwLjE1LTIuNzJsMTAuNDMtMTguMDlhNy40MyA3LjQzIDAgMDAtMTIuODYtNy40MmwtMTAuNDUgMTguMWE3LjQzIDcuNDMgMCAwMDIuNzIgMTAuMTMiLz48L2c+PHBhdGggZD0iTTIxNS45OCAyOTEuNzlhNy40MSA3LjQxIDAgMDA3LjEtOS42TDIxNC4xNSAyNTNhNy40MyA3LjQzIDAgMDAtMTQuMiA0LjM1bDguOTUgMjkuMTdhNy40MyA3LjQzIDAgMDA3LjEgNS4yNk0xNTQuMjcgMjkwLjU5YTcuNDEgNy40MSAwIDAwNy4xLTkuNmwtOC45NC0yOS4xOGE3LjQzIDcuNDMgMCAwMC0xNC4yIDQuMzVsOC45NCAyOS4xN2E3LjQzIDcuNDMgMCAwMDcuMSA1LjI2IiBmaWxsPSIjNjFjOWU3Ii8+PC9zdmc+Cg=="},77301:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzA3LjE5IiBoZWlnaHQ9IjIxMy42MSIgdmlld0JveD0iMCAwIDMwNyAyMTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTI4OC42IDEyOS4zN2E3LjM4IDcuMzggMCAwMS0yLjYzLTMuODQgNTUuNTEgNTUuNTEgMCAwMC01My4wOC0zOS44N2MtNC41IDAtOSAuNTUtMTMuMzQgMS42My0zIC43NS02LjE1LS40NS03LjktM2E2MS4xIDYxLjEgMCAwMC05MS41MS0xMC41IDYwLjg5IDYwLjg5IDAgMDAtMTkuNiAzOS4yIDcuNDQgNy40NCAwIDAxLTQuMiA2Yy0uNzMuMzQtMS40Ny43MS0yLjIgMS4xMS0uNjIuMzUtMS4yOS42LTEuOTguNzVhNDcuNTQgNDcuNTQgMCAwMC0yNi4zNSAxNi4zIDQ2LjMzIDQ2LjMzIDAgMDAtMTAuNTEgMjkuNTZjMCAyNS45MiAyMS4yIDQ3IDQ3LjI3IDQ3SDI1OS45YzI2LjA2IDAgNDcuMjYtMjEuMDggNDcuMjYtNDdhNDYuNjMgNDYuNjMgMCAwMC0xOC41Ni0zNy4zNCIgZmlsbD0iIzYxYzllNyIvPjxnIGZpbGw9IiNkZWM2MGYiPjxwYXRoIGQ9Ik01NS41NyA5Mi41N2EzNi43IDM2LjcgMCAwMDkuNTQgMjQuNzYgNjIuMzYgNjIuMzYgMCAwMTIxLjIyLTEwLjM5IDc1LjY4IDc1LjY4IDAgMDEyNS42MS00NS43OCAzNi45NyAzNi45NyAwIDAwLTU2LjM3IDMxLjQxTTkyLjUgMzUuNzdjNC4xIDAgNy40My0zLjMzIDcuNDMtNy40M1Y3LjQ1YTcuNDIgNy40MiAwIDEwLTE0Ljg1IDB2MjAuOWMwIDQuMDkgMy4zMyA3LjQyIDcuNDMgNy40Mk01My45NyA0MC43YTcuNDIgNy40MiAwIDEwMTIuODctNy40MmwtMTAuNDUtMTguMWE3LjQzIDcuNDMgMCAwMC0xMi44NiA3LjQzbDEwLjQ0IDE4LjFNMTUuMSA1Ni40NGwxOC4wOSAxMC40NWE3LjQ3IDcuNDcgMCAwMDEwLjE0LTIuNzIgNy40MyA3LjQzIDAgMDAtMi43MS0xMC4xNWwtMTguMS0xMC40NWE3LjQzIDcuNDMgMCAwMC03LjQzIDEyLjg3TTcuNDIgMTAwLjA0SDI4LjNhNy40MyA3LjQzIDAgMDAwLTE0Ljg2SDcuNDFhNy40MiA3LjQyIDAgMTAwIDE0Ljg2TTQzLjMzIDEyMC45N2E3LjQyIDcuNDIgMCAwMC0xMC4xNC0yLjcybC0xOC4xIDEwLjQ0YTcuNDMgNy40MyAwIDAwNy40MyAxMi44NmwxOC4xLTEwLjQ0YTcuNDMgNy40MyAwIDAwMi43MS0xMC4xNE0xMjAuOSA0My4zN2E3LjQyIDcuNDIgMCAwMDEwLjE1LTIuNzJsMTAuNDMtMTguMWE3LjQzIDcuNDMgMCAwMC0xMi44Ni03LjQybC0xMC40NSAxOC4xYTcuNDMgNy40MyAwIDAwMi43MiAxMC4xNCIvPjwvZz48L3N2Zz4K"},26727:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgwLjUiIGhlaWdodD0iMjgwLjUiIHZpZXdCb3g9IjAgMCAyODAgMjgwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0yNTcgMjE5Ljc0YTQuMyA0LjMgMCAwMS0xLjUzLTIuMjQgMzIuMzggMzIuMzggMCAwMC0zMC45Ni0yMy4yNmMtMi42MyAwLTUuMjUuMzItNy43OC45NWE0LjMzIDQuMzMgMCAwMS00LjYxLTEuNzUgMzUuNjMgMzUuNjMgMCAwMC01My4zOC02LjEzIDM1LjUyIDM1LjUyIDAgMDAtMTEuNDMgMjIuODcgNC4zNCA0LjM0IDAgMDEtMi40NSAzLjVjLS40Mi4yLS44Ni40Mi0xLjI4LjY1LS4zNi4yLS43NS4zNS0xLjE1LjQ0YTI3LjczIDI3LjczIDAgMDAtMTUuMzcgOS41IDI3LjAzIDI3LjAzIDAgMDAtNi4xMyAxNy4yNSAyNy41MiAyNy41MiAwIDAwMjcuNTYgMjcuNGg5MS43N2MxNS4yIDAgMjcuNTctMTIuMjkgMjcuNTctMjcuNGEyNy4yIDI3LjIgMCAwMC0xMC44Mi0yMS43OCIgZmlsbD0iIzYxYzllNyIgcGFpbnQtb3JkZXI9InN0cm9rZSBmaWxsIG1hcmtlcnMiLz48ZyBmaWxsPSIjZGVjNjBmIj48cGF0aCBkPSJNMTQwLjIgNzAuNzNBNjkuODYgNjkuODYgMCAwMDcwLjQgMTQwLjVjMCAzMy4zMyAyMy41IDYxLjI3IDU0LjggNjguMTRhNDAuNiA0MC42IDAgMDExMC4wMy01LjEgNDguNjEgNDguNjEgMCAwMTE0LjctMjUuNThoLjAxYTQ4LjU5IDQ4LjU5IDAgMDE1My41LTguMDUgNjkuMzUgNjkuMzUgMCAwMDYuNTItMjkuNDEgNjkuODYgNjkuODYgMCAwMC02OS43OC02OS43OHptLS45IDEzMS40NGwtLjEuMDQtLjA0LjAzLjEzLS4wN3pNMTMyLjggMzguOWE3LjQzIDcuNDMgMCAwMDE0Ljg1IDBWNy40NGE3LjQzIDcuNDMgMCAwMC0xNC44NSAwVjM4LjlNODkuNTQgNTkuOTFhNy40MyA3LjQzIDAgMDA2LjQzLTExLjE0TDgwLjI0IDIxLjUzYTcuNDMgNy40MyAwIDAwLTEyLjg2IDcuNDNMODMuMSA1Ni4yYTcuNDIgNy40MiAwIDAwNi40MyAzLjcxTTE4Ljc2IDcwLjE0YTcuNDMgNy40MyAwIDAwMi43MiAxMC4xNUw0OC43MiA5NmE3LjQyIDcuNDIgMCAxMDcuNDMtMTIuODZMMjguOSA2Ny40MmE3LjQzIDcuNDMgMCAwMC0xMC4xNCAyLjcyTTQ2LjI4IDE0MC4yN2MwLTQuMS0zLjMzLTcuNDItNy40My03LjQySDcuNGE3LjQzIDcuNDMgMCAwMDAgMTQuODVoMzEuNDZjNC4xIDAgNy40My0zLjMzIDcuNDMtNy40M00yNzMuMDUgMTMyLjg1aC0zMS40NmE3LjQzIDcuNDMgMCAwMDAgMTQuODVoMzEuNDZhNy40MyA3LjQzIDAgMDAwLTE0Ljg1TTQ4LjczIDE4NC41MUwyMS41IDIwMC4yNGE3LjQzIDcuNDMgMCAxMDcuNDIgMTIuODZsMjcuMjUtMTUuNzNhNy40MyA3LjQzIDAgMDAtNy40My0xMi44Nk0yNTEuNTQgNjcuNDJMMjI0LjMgODMuMTVBNy40MyA3LjQzIDAgMDAyMzEuNzIgOTZsMjcuMjQtMTUuNzNhNy40MyA3LjQzIDAgMDAtNy40Mi0xMi44Nk04My4xIDIyNC4zNGwtMTUuNzMgMjcuMjRhNy40MyA3LjQzIDAgMDAxMi44NyA3LjQzbDE1LjczLTI3LjI1YTcuNDMgNy40MyAwIDAwLTEyLjg3LTcuNDJNMTg3LjIgNTguOTFhNy40IDcuNCAwIDAwMTAuMTQtMi43MWwxNS43My0yNy4yNWE3LjQzIDcuNDMgMCAxMC0xMi44Ni03LjQybC0xNS43MyAyNy4yNGE3LjQzIDcuNDMgMCAwMDIuNzEgMTAuMTQiLz48L2c+PC9zdmc+Cg=="},62537:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgwLjUiIGhlaWdodD0iMjgwLjUiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDI4MCAyODAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iI2RlYzYwZiI+PHBhdGggZD0iTTE0MC4yMiAyMTAuMDRjMzguNDggMCA2OS43OC0zMS4zIDY5Ljc4LTY5Ljc4cy0zMS4zLTY5Ljc4LTY5Ljc4LTY5Ljc4Yy0zOC40NyAwLTY5Ljc4IDMxLjMtNjkuNzggNjkuNzhzMzEuMyA2OS43OCA2OS43OCA2OS43OE0xMzIuOCAzOC45YTcuNDMgNy40MyAwIDAwMTQuODUgMFY3LjQ0YTcuNDMgNy40MyAwIDAwLTE0Ljg1IDBWMzguOU0xMzIuOCAyNDEuNjN2MzEuNDZhNy40MyA3LjQzIDAgMDAxNC44NSAwdi0zMS40NmE3LjQzIDcuNDMgMCAwMC0xNC44NSAwTTg5LjU0IDU5LjkxYTcuNDMgNy40MyAwIDAwNi40My0xMS4xNEw4MC4yNCAyMS41M2E3LjQzIDcuNDMgMCAwMC0xMi44NiA3LjQzTDgzLjEgNTYuMmE3LjQyIDcuNDIgMCAwMDYuNDMgMy43MU0xODcuMiAyMjEuNjJhNy40MyA3LjQzIDAgMDAtMi43MiAxMC4xNEwyMDAuMiAyNTlhNy40MiA3LjQyIDAgMTAxMi44Ni03LjQybC0xNS43My0yNy4yNWE3LjQzIDcuNDMgMCAwMC0xMC4xNS0yLjcxTTE4Ljc2IDcwLjE0YTcuNDMgNy40MyAwIDAwMi43MiAxMC4xNUw0OC43MiA5NmE3LjQyIDcuNDIgMCAxMDcuNDMtMTIuODZMMjguOSA2Ny40MmE3LjQzIDcuNDMgMCAwMC0xMC4xNCAyLjcyTTI1OC45NyAyMDAuMjRsLTI3LjI1LTE1LjczYTcuNDMgNy40MyAwIDAwLTcuNDIgMTIuODdsMjcuMjQgMTUuNzNhNy40IDcuNCAwIDAwMTAuMTQtMi43MiA3LjQzIDcuNDMgMCAwMC0yLjcxLTEwLjE1TTQ2LjI4IDE0MC4yN2MwLTQuMS0zLjMzLTcuNDItNy40My03LjQySDcuNGE3LjQzIDcuNDMgMCAwMDAgMTQuODVoMzEuNDZjNC4xIDAgNy40My0zLjMzIDcuNDMtNy40M00yNzMuMDUgMTMyLjg1aC0zMS40NmE3LjQzIDcuNDMgMCAwMDAgMTQuODVoMzEuNDZhNy40MyA3LjQzIDAgMDAwLTE0Ljg1TTQ4LjczIDE4NC41MUwyMS41IDIwMC4yNGE3LjQzIDcuNDMgMCAxMDcuNDIgMTIuODZsMjcuMjUtMTUuNzNhNy40MyA3LjQzIDAgMDAtNy40My0xMi44Nk0yNTEuNTQgNjcuNDJMMjI0LjMgODMuMTVBNy40MyA3LjQzIDAgMDAyMzEuNzIgOTZsMjcuMjQtMTUuNzNhNy40MyA3LjQzIDAgMDAtNy40Mi0xMi44Nk04My4xIDIyNC4zNGwtMTUuNzMgMjcuMjRhNy40MyA3LjQzIDAgMDAxMi44NyA3LjQzbDE1LjczLTI3LjI1YTcuNDMgNy40MyAwIDAwLTEyLjg3LTcuNDJNMTg3LjIgNTguOTFhNy40IDcuNCAwIDAwMTAuMTQtMi43MWwxNS43My0yNy4yNWE3LjQzIDcuNDMgMCAxMC0xMi44Ni03LjQybC0xNS43MyAyNy4yNGE3LjQzIDcuNDMgMCAwMDIuNzEgMTAuMTQiIGZpbGw9IiNkZWM2MGYiLz48L2c+PC9zdmc+Cg=="},27518:M=>{M.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M15.4%2016.6L10.8%2012l4.6-4.6L14%206l-6%206%206%206%201.4-1.4z%27/%3e%3c/svg%3e"},27514:M=>{M.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M18.4%207.4L17%206l-6%206%206%206%201.4-1.4-4.6-4.6%204.6-4.6m-6%200L11%206l-6%206%206%206%201.4-1.4L7.8%2012l4.6-4.6z%27/%3e%3c/svg%3e"},79722:M=>{M.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M5.6%207.4L7%206l6%206-6%206-1.4-1.4%204.6-4.6-4.6-4.6m6%200L13%206l6%206-6%206-1.4-1.4%204.6-4.6-4.6-4.6z%27/%3e%3c/svg%3e"},86886:M=>{M.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M8.6%2016.6l4.6-4.6-4.6-4.6L10%206l6%206-6%206-1.4-1.4z%27/%3e%3c/svg%3e"}},A={};function g(M){var t=A[M];if(void 0!==t)return t.exports;var N=A[M]={id:M,loaded:!1,exports:{}};return D[M].call(N.exports,N,N.exports,g),N.loaded=!0,N.exports}g.m=D,M=[],g.O=(t,N,u,D)=>{if(!N){var A=1/0;for(L=0;L=D)&&Object.keys(g.O).every((M=>g.O[M](N[i])))?N.splice(i--,1):(e=!1,D0&&M[L-1][2]>D;L--)M[L]=M[L-1];M[L]=[N,u,D]},g.n=M=>{var t=M&&M.__esModule?()=>M.default:()=>M;return g.d(t,{a:t}),t},g.d=(M,t)=>{for(var N in t)g.o(t,N)&&!g.o(M,N)&&Object.defineProperty(M,N,{enumerable:!0,get:t[N]})},g.f={},g.e=M=>Promise.all(Object.keys(g.f).reduce(((t,N)=>(g.f[N](M,t),t)),[])),g.u=M=>M+"-"+M+".js?v="+{4254:"5c2324570f66dff0c8a1",9480:"2fb23485ae3a8860e96b"}[M],g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(M){if("object"==typeof window)return window}}(),g.o=(M,t)=>Object.prototype.hasOwnProperty.call(M,t),N={},u="nextcloud:",g.l=(M,t,D,A)=>{if(N[M])N[M].push(t);else{var e,i;if(void 0!==D)for(var I=document.getElementsByTagName("script"),L=0;L{e.onerror=e.onload=null,clearTimeout(a);var D=N[M];if(delete N[M],e.parentNode&&e.parentNode.removeChild(e),D&&D.forEach((M=>M(u))),t)return t(u)},a=setTimeout(y.bind(null,void 0,{type:"timeout",target:e}),12e4);e.onerror=y.bind(null,e.onerror),e.onload=y.bind(null,e.onload),i&&document.head.appendChild(e)}},g.r=M=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(M,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(M,"__esModule",{value:!0})},g.nmd=M=>(M.paths=[],M.children||(M.children=[]),M),g.j=1848,(()=>{var M;g.g.importScripts&&(M=g.g.location+"");var t=g.g.document;if(!M&&t&&(t.currentScript&&(M=t.currentScript.src),!M)){var N=t.getElementsByTagName("script");if(N.length)for(var u=N.length-1;u>-1&&(!M||!/^http(s?):/.test(M));)M=N[u--].src}if(!M)throw new Error("Automatic publicPath is not supported in this browser");M=M.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),g.p=M})(),(()=>{g.b=document.baseURI||self.location.href;var M={1848:0};g.f.j=(t,N)=>{var u=g.o(M,t)?M[t]:void 0;if(0!==u)if(u)N.push(u[2]);else{var D=new Promise(((N,D)=>u=M[t]=[N,D]));N.push(u[2]=D);var A=g.p+g.u(t),e=new Error;g.l(A,(N=>{if(g.o(M,t)&&(0!==(u=M[t])&&(M[t]=void 0),u)){var D=N&&("load"===N.type?"missing":N.type),A=N&&N.target&&N.target.src;e.message="Loading chunk "+t+" failed.\n("+D+": "+A+")",e.name="ChunkLoadError",e.type=D,e.request=A,u[1](e)}}),"chunk-"+t,t)}},g.O.j=t=>0===M[t];var t=(t,N)=>{var u,D,A=N[0],e=N[1],i=N[2],I=0;if(A.some((t=>0!==M[t]))){for(u in e)g.o(e,u)&&(g.m[u]=e[u]);if(i)var L=i(g)}for(t&&t(N);Ig(55924)));e=g.O(e)})(); -//# sourceMappingURL=weather_status-weather-status.js.map?v=0dd80573efc9d20e4643 \ No newline at end of file +(()=>{"use strict";var M,N,u,D={55924:(M,N,u)=>{var D=u(85471),A=u(21777),g=u(85168),e=u(19231),i=u(53334);const I={name:"StarIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var L=u(14486);const j=(0,L.A)(I,(function(){var M=this,t=M._self._c;return t("span",M._b({staticClass:"material-design-icon star-icon",attrs:{"aria-hidden":!M.title||null,"aria-label":M.title,role:"img"},on:{click:function(t){return M.$emit("click",t)}}},"span",M.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:M.fillColor,width:M.size,height:M.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z"}},[M.title?t("title",[M._v(M._s(M.title))]):M._e()])])])}),[],!1,null,null,null).exports,y={name:"StarOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},a=(0,L.A)(y,(function(){var M=this,t=M._self._c;return t("span",M._b({staticClass:"material-design-icon star-outline-icon",attrs:{"aria-hidden":!M.title||null,"aria-label":M.title,role:"img"},on:{click:function(t){return M.$emit("click",t)}}},"span",M.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:M.fillColor,width:M.size,height:M.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z"}},[M.title?t("title",[M._v(M._s(M.title))]):M._e()])])])}),[],!1,null,null,null).exports;var r=u(24764),n=u(89257),T=u(30567),c=u(44131),s=u(73267),o=u(80114),w=u(32831),C=u(65043),z=u(63814);const l=async M=>{const t=(0,z.KT)("apps/weather_status/api/v1/favorites");return(await C.Ay.put(t,{favorites:M})).data.ocs.data};var d=u(96763);const E={clearsky_day:{icon:"icon-clearsky-day",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} clear sky later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} clear sky",{temperature:M,unit:N})}},clearsky_night:{icon:"icon-clearsky-night",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} clear sky later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} clear sky",{temperature:M,unit:N})}},cloudy:{icon:"icon-cloudy",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} cloudy later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} cloudy",{temperature:M,unit:N})}},fair_day:{icon:"icon-fair-day",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} fair weather later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} fair weather",{temperature:M,unit:N})}},fair_night:{icon:"icon-fair-night",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} fair weather later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} fair weather",{temperature:M,unit:N})}},partlycloudy_day:{icon:"icon-partlycloudy-day",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} partly cloudy later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} partly cloudy",{temperature:M,unit:N})}},partlycloudy_night:{icon:"icon-partlycloudy-night",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} partly cloudy later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} partly cloudy",{temperature:M,unit:N})}},fog:{icon:"icon-fog",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} foggy later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} foggy",{temperature:M,unit:N})}},lightrain:{icon:"icon-lightrain",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} light rainfall later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} light rainfall",{temperature:M,unit:N})}},rain:{icon:"icon-rain",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} rainfall later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} rainfall",{temperature:M,unit:N})}},heavyrain:{icon:"icon-heavyrain",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} heavy rainfall later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} heavy rainfall",{temperature:M,unit:N})}},rainshowers_day:{icon:"icon-rainshowers-day",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} rainfall showers later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} rainfall showers",{temperature:M,unit:N})}},rainshowers_night:{icon:"icon-rainshowers-night",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} rainfall showers later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} rainfall showers",{temperature:M,unit:N})}},lightrainshowers_day:{icon:"icon-light-rainshowers-day",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} light rainfall showers later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} light rainfall showers",{temperature:M,unit:N})}},lightrainshowers_night:{icon:"icon-light-rainshowers-night",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} light rainfall showers later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} light rainfall showers",{temperature:M,unit:N})}},heavyrainshowers_day:{icon:"icon-heavy-rainshowers-day",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} heavy rainfall showers later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} heavy rainfall showers",{temperature:M,unit:N})}},heavyrainshowers_night:{icon:"icon-heavy-rainshowers-night",text:function(M,N){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]?t("weather_status","{temperature} {unit} heavy rainfall showers later today",{temperature:M,unit:N}):t("weather_status","{temperature} {unit} heavy rainfall showers",{temperature:M,unit:N})}}},h={name:"App",components:{IconStar:j,NcActions:r.A,NcActionButton:n.A,NcActionCaption:T.A,NcActionInput:c.A,NcActionLink:s.A,NcActionSeparator:o.A,NcActionText:w.A},data:()=>({locale:(0,i.JK)(),loading:!0,errorMessage:"",mode:1,address:null,lat:null,lon:null,offset:5,forecasts:[],loop:null,favorites:[]}),computed:{useFahrenheitLocale(){return["en_US","en_MH","en_FM","en_PW","en_KY","en_LR"].includes(this.locale)},temperatureUnit(){return this.useFahrenheitLocale?"°F":"°C"},locationText(){return t("weather_status","More weather for {adr}",{adr:this.address})},temperature(){return this.getTemperature(this.forecasts,0)},futureTemperature(){return this.getTemperature(this.forecasts,this.offset)},weatherCode(){return this.getWeatherCode(this.forecasts,0)},futureWeatherCode(){return this.getWeatherCode(this.forecasts,this.offset)},weatherIcon(){return this.getWeatherIcon(this.weatherCode,this.loading)},futureWeatherIcon(){return this.getWeatherIcon(this.futureWeatherCode,this.loading)},currentWeatherMessage(){return this.loading?t("weather_status","Loading weather"):this.errorMessage?this.errorMessage:this.getWeatherMessage(this.weatherCode,this.temperature)},forecastMessage(){return this.loading?t("weather_status","Loading weather"):this.getWeatherMessage(this.futureWeatherCode,this.futureTemperature,!0)},weatherLinkTarget(){return"https://www.windy.com/-Rain-thunder-rain?rain,"+this.lat+","+this.lon+",11"},gotWeather(){return this.address&&!this.errorMessage},addRemoveFavoriteIcon(){return this.currentAddressIsFavorite?j:a},addRemoveFavoriteText(){return this.currentAddressIsFavorite?t("weather_status","Remove from favorites"):t("weather_status","Add as favorite")},currentAddressIsFavorite(){return this.favorites.find((M=>M===this.address))}},mounted(){this.initWeatherStatus()},methods:{async initWeatherStatus(){try{const M=await(async()=>{const M=(0,z.KT)("apps/weather_status/api/v1/location");return(await C.Ay.get(M)).data.ocs.data})();this.lat=M.lat,this.lon=M.lon,this.address=M.address,this.mode=M.mode,1===this.mode?this.askBrowserLocation():2===this.mode&&this.startLoop();const t=await(async()=>{const M=(0,z.KT)("apps/weather_status/api/v1/favorites");return(await C.Ay.get(M)).data.ocs.data})();this.favorites=t}catch(M){if("ECONNABORTED"===(null==M?void 0:M.code))return void d.info("The weather status request was cancelled because the user navigates.");M.response&&401===M.response.status?(0,g.Qg)(t("weather_status","You are not logged in.")):(0,g.Qg)(t("weather_status","There was an error getting the weather status information.")),d.error(M)}},startLoop(){clearInterval(this.loop),this.lat&&this.lon?(this.loop=setInterval((()=>this.getForecast()),36e5),this.getForecast()):this.loading=!1},askBrowserLocation(){this.loading=!0,this.errorMessage="",navigator.geolocation&&window.isSecureContext?navigator.geolocation.getCurrentPosition((M=>{d.debug("browser location success"),this.lat=M.coords.latitude,this.lon=M.coords.longitude,this.saveMode(1),this.mode=1,this.saveLocation(this.lat,this.lon)}),(M=>{d.debug("location permission refused"),d.debug(M),this.saveMode(2),this.mode=2,this.lat&&this.lon?this.startLoop():this.usePersonalAddress()})):(d.debug("no secure context!"),this.saveMode(2),this.mode=2,this.startLoop())},async getForecast(){try{this.forecasts=await(async()=>{const M=(0,z.KT)("apps/weather_status/api/v1/forecast");return(await C.Ay.get(M)).data.ocs.data})()}catch(M){this.errorMessage=t("weather_status","No weather information found"),d.debug(M)}this.loading=!1},async setAddress(M){this.loading=!0,this.errorMessage="";try{const N=await(async M=>{const t=(0,z.KT)("apps/weather_status/api/v1/location");return(await C.Ay.put(t,{address:M,lat:null,lon:null})).data.ocs.data})(M);N.success?(this.lat=N.lat,this.lon=N.lon,this.address=N.address,this.mode=2,this.startLoop()):(this.errorMessage=t("weather_status","Location not found"),this.loading=!1)}catch(M){M.response&&401===M.response.status?(0,g.Qg)(t("weather_status","You are not logged in.")):(0,g.Qg)(t("weather_status","There was an error setting the location address.")),this.loading=!1}},async saveLocation(M,N){try{const t=await(async(M,t)=>{const N=(0,z.KT)("apps/weather_status/api/v1/location");return(await C.Ay.put(N,{address:"",lat:M,lon:t})).data.ocs.data})(M,N);this.address=t.address,this.startLoop()}catch(M){M.response&&401===M.response.status?(0,g.Qg)(t("weather_status","You are not logged in.")):(0,g.Qg)(t("weather_status","There was an error setting the location.")),d.debug(M)}},async saveMode(M){try{await(async M=>{const t=(0,z.KT)("apps/weather_status/api/v1/mode");return(await C.Ay.put(t,{mode:M})).data.ocs.data})(M)}catch(M){M.response&&401===M.response.status?(0,g.Qg)(t("weather_status","You are not logged in.")):(0,g.Qg)(t("weather_status","There was an error saving the mode.")),d.debug(M)}},onBrowserLocationClick(){this.askBrowserLocation()},async usePersonalAddress(){this.loading=!0;try{const M=await(async()=>{const M=(0,z.KT)("apps/weather_status/api/v1/use-personal");return(await C.Ay.put(M)).data.ocs.data})();this.lat=M.lat,this.lon=M.lon,this.address=M.address,this.mode=2,this.startLoop()}catch(M){M.response&&401===M.response.status?(0,g.Qg)(t("weather_status","You are not logged in.")):(0,g.Qg)(t("weather_status","There was an error using personal address.")),d.debug(M),this.loading=!1}},onAddressSubmit(){const M=this.$refs.addressInput.$el.querySelector('input[type="text"]').value;this.setAddress(M)},getLocalizedTemperature(M){return this.useFahrenheitLocale?1.8*M+32:M},onAddRemoveFavoriteClick(){const M=this.currentAddressIsFavorite;if(M){const t=this.favorites.indexOf(M);-1!==t&&this.favorites.splice(t,1)}else this.favorites.push(this.address);l(this.favorites)},onFavoriteClick(M,t){if(M.target.classList.contains("action-button__icon")){const M=this.favorites.indexOf(t);-1!==M&&this.favorites.splice(M,1),l(this.favorites)}else t!==this.address&&this.setAddress(t)},formatTime:M=>(0,e.A)(M).format("LT"),getTemperature(M){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return M.length>t?M[t].data.instant.details.air_temperature:""},getWeatherCode(M){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return M.length>t?M[t].data.next_1_hours.summary.symbol_code:""},getWeatherIcon:(M,t)=>t?"icon-loading-small":"icon-weather "+(M&&M in E?E[M].icon:"icon-fair-day"),getWeatherMessage(M,N){let u=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return M&&M in E?E[M].text(Math.round(this.getLocalizedTemperature(N)),this.temperatureUnit,u):t("weather_status","Set location for weather")}}};var x=u(85072),S=u.n(x),Q=u(97825),O=u.n(Q),m=u(77659),Y=u.n(m),k=u(55056),p=u.n(k),v=u(10540),U=u.n(v),b=u(41113),Z=u.n(b),f=u(79494),G={};G.styleTagTransform=Z(),G.setAttributes=p(),G.insert=Y().bind(null,"head"),G.domAPI=O(),G.insertStyleElement=U(),S()(f.A,G),f.A&&f.A.locals&&f.A.locals;const B=(0,L.A)(h,(function(){var M=this,t=M._self._c;return t("div",{attrs:{id:"weather-status-menu-item"}},[t("NcActions",{staticClass:"weather-status-menu-item__subheader",attrs:{"default-icon":M.weatherIcon,"aria-hidden":!0,"aria-label":M.currentWeatherMessage,"menu-name":M.currentWeatherMessage}},[M.gotWeather?t("NcActionText",{attrs:{"aria-hidden":!0,icon:M.futureWeatherIcon}},[M._v("\n\t\t\t"+M._s(M.forecastMessage)+"\n\t\t")]):M._e(),M._v(" "),M.gotWeather?t("NcActionLink",{attrs:{icon:"icon-address",target:"_blank","aria-hidden":!0,href:M.weatherLinkTarget,"close-after-click":!0}},[M._v("\n\t\t\t"+M._s(M.locationText)+"\n\t\t")]):M._e(),M._v(" "),M.gotWeather?t("NcActionButton",{attrs:{"aria-hidden":!0},on:{click:M.onAddRemoveFavoriteClick},scopedSlots:M._u([{key:"icon",fn:function(){return[t(M.addRemoveFavoriteIcon,{tag:"component",staticClass:"favorite-color",attrs:{size:20}})]},proxy:!0}],null,!1,1785206719)},[M._v("\n\t\t\t"+M._s(M.addRemoveFavoriteText)+"\n\t\t")]):M._e(),M._v(" "),M.address&&!M.errorMessage?t("NcActionSeparator"):M._e(),M._v(" "),t("NcActionButton",{attrs:{icon:"icon-crosshair","close-after-click":!0,"aria-hidden":!0},on:{click:M.onBrowserLocationClick}},[M._v("\n\t\t\t"+M._s(M.t("weather_status","Detect location"))+"\n\t\t")]),M._v(" "),t("NcActionInput",{ref:"addressInput",attrs:{label:M.t("weather_status","Set custom address"),disabled:!1,icon:"icon-rename","aria-hidden":!0,type:"text",value:""},on:{submit:M.onAddressSubmit}}),M._v(" "),M.favorites.length>0?[t("NcActionCaption",{attrs:{name:M.t("weather_status","Favorites")}}),M._v(" "),M._l(M.favorites,(function(N){return t("NcActionButton",{key:N,attrs:{"aria-hidden":!0},on:{click:function(t){return M.onFavoriteClick(t,N)}},scopedSlots:M._u([{key:"icon",fn:function(){return[t("IconStar",{class:{"favorite-color":M.address===N},attrs:{size:20}})]},proxy:!0}],null,!0)},[M._v("\n\t\t\t\t"+M._s(N)+"\n\t\t\t")])}))]:M._e()],2)],1)}),[],!1,null,null,null).exports;u.nc=btoa((0,A.do)()),D.Ay.prototype.t=t,document.addEventListener("DOMContentLoaded",(function(){OCA.Dashboard&&OCA.Dashboard.registerStatus("weather",(M=>(new(D.Ay.extend(B))).$mount(M)))}))},79494:(M,t,N)=>{N.d(t,{A:()=>V});var u=N(71354),D=N.n(u),A=N(76314),g=N.n(A),e=N(4417),i=N.n(e),I=new URL(N(6315),N.b),L=new URL(N(62537),N.b),j=new URL(N(83454),N.b),y=new URL(N(78228),N.b),a=new URL(N(26727),N.b),r=new URL(N(70384),N.b),n=new URL(N(77301),N.b),T=new URL(N(80386),N.b),c=new URL(N(94231),N.b),s=new URL(N(50898),N.b),o=new URL(N(50443),N.b),w=new URL(N(51957),N.b),C=new URL(N(82313),N.b),z=new URL(N(13360),N.b),l=new URL(N(1956),N.b),d=new URL(N(46485),N.b),E=new URL(N(88082),N.b),h=new URL(N(61675),N.b),x=new URL(N(35059),N.b),S=g()(D()),Q=i()(I),O=i()(L),m=i()(j),Y=i()(y),k=i()(a),p=i()(r),v=i()(n),U=i()(T),b=i()(c),Z=i()(s),f=i()(o),G=i()(w),B=i()(C),W=i()(z),P=i()(l),_=i()(d),R=i()(E),H=i()(h),J=i()(x);S.push([M.id,`.icon-weather{background-size:16px}.icon-weather-status{background-image:url(${Q})}.icon-clearsky-day{background-image:url(${O})}.icon-clearsky-night{background-image:url(${m})}.icon-cloudy{background-image:url(${Y})}.icon-fair-day{background-image:url(${k})}.icon-fair-night{background-image:url(${p})}.icon-partlycloudy-day{background-image:url(${v})}.icon-partlycloudy-night{background-image:url(${U})}.icon-fog{background-image:url(${b})}.icon-lightrain{background-image:url(${Z})}.icon-rain{background-image:url(${f})}.icon-heavyrain{background-image:url(${G})}.icon-light-rainshowers-day{background-image:url(${B})}.icon-light-rainshowers-night{background-image:url(${W})}.icon-rainshowers-day{background-image:url(${P})}.icon-rainshowers-night{background-image:url(${_})}.icon-heavy-rainshowers-day{background-image:url(${R})}.icon-heavy-rainshowers-night{background-image:url(${H})}.icon-crosshair{background-color:var(--color-main-text);padding:0 !important;mask:url(${J}) no-repeat;mask-size:18px 18px;mask-position:center;-webkit-mask:url(${J}) no-repeat;-webkit-mask-size:18px 18px;-webkit-mask-position:center;min-width:44px !important;min-height:44px !important}.favorite-color{color:var(--color-favorite)}.weather-status-menu-item__subheader{width:100%}.weather-status-menu-item__subheader .trigger>.icon{background-size:16px;border:0;border-radius:var(--border-radius-pill);font-weight:normal;padding-left:40px}.weather-status-menu-item__subheader .trigger>.icon.icon-loading-small::after{left:21px}`,"",{version:3,sources:["webpack://./apps/weather_status/src/App.vue"],names:[],mappings:"AACA,cACC,oBAAA,CAED,qBACC,wDAAA,CAED,mBACC,wDAAA,CAED,qBACC,wDAAA,CAED,aACC,wDAAA,CAED,eACC,wDAAA,CAED,iBACC,wDAAA,CAED,uBACC,wDAAA,CAED,yBACC,wDAAA,CAED,UACC,wDAAA,CAED,gBACC,wDAAA,CAED,WACC,yDAAA,CAED,gBACC,yDAAA,CAED,4BACC,yDAAA,CAED,8BACC,yDAAA,CAED,sBACC,yDAAA,CAED,wBACC,yDAAA,CAED,4BACC,yDAAA,CAED,8BACC,yDAAA,CAED,gBACI,uCAAA,CACA,oBAAA,CACA,uDAAA,CACA,mBAAA,CACA,oBAAA,CACA,+DAAA,CACA,2BAAA,CACA,4BAAA,CACA,yBAAA,CACA,0BAAA,CAIJ,gBACC,2BAAA,CAGD,qCACC,UAAA,CAEA,oDACC,oBAAA,CACA,QAAA,CACA,uCAAA,CACA,kBAAA,CACA,iBAAA,CAGC,8EACC,SAAA",sourcesContent:["\n.icon-weather {\n\tbackground-size: 16px;\n}\n.icon-weather-status {\n\tbackground-image: url('./../img/app-dark.svg');\n}\n.icon-clearsky-day {\n\tbackground-image: url('./../img/sun.svg');\n}\n.icon-clearsky-night {\n\tbackground-image: url('./../img/moon.svg');\n}\n.icon-cloudy {\n\tbackground-image: url('./../img/cloud-cloud.svg');\n}\n.icon-fair-day {\n\tbackground-image: url('./../img/sun-small-cloud.svg');\n}\n.icon-fair-night {\n\tbackground-image: url('./../img/moon-small-cloud.svg');\n}\n.icon-partlycloudy-day {\n\tbackground-image: url('./../img/sun-cloud.svg');\n}\n.icon-partlycloudy-night {\n\tbackground-image: url('./../img/moon-cloud.svg');\n}\n.icon-fog {\n\tbackground-image: url('./../img/fog.svg');\n}\n.icon-lightrain {\n\tbackground-image: url('./../img/light-rain.svg');\n}\n.icon-rain {\n\tbackground-image: url('./../img/rain.svg');\n}\n.icon-heavyrain {\n\tbackground-image: url('./../img/heavy-rain.svg');\n}\n.icon-light-rainshowers-day {\n\tbackground-image: url('./../img/sun-cloud-light-rain.svg');\n}\n.icon-light-rainshowers-night {\n\tbackground-image: url('./../img/moon-cloud-light-rain.svg');\n}\n.icon-rainshowers-day {\n\tbackground-image: url('./../img/sun-cloud-rain.svg');\n}\n.icon-rainshowers-night {\n\tbackground-image: url('./../img/moon-cloud-rain.svg');\n}\n.icon-heavy-rainshowers-day {\n\tbackground-image: url('./../img/sun-cloud-heavy-rain.svg');\n}\n.icon-heavy-rainshowers-night {\n\tbackground-image: url('./../img/moon-cloud-heavy-rain.svg');\n}\n.icon-crosshair {\n background-color: var(--color-main-text);\n padding: 0 !important;\n mask: url(./../img/cross.svg) no-repeat;\n mask-size: 18px 18px;\n mask-position: center;\n -webkit-mask: url(./../img/cross.svg) no-repeat;\n -webkit-mask-size: 18px 18px;\n -webkit-mask-position: center;\n min-width: 44px !important;\n min-height: 44px !important;\n}\n\n// Set color to primary element for current / active favorite address\n.favorite-color {\n\tcolor: var(--color-favorite);\n}\n\n.weather-status-menu-item__subheader {\n\twidth: 100%;\n\n\t.trigger > .icon {\n\t\tbackground-size: 16px;\n\t\tborder: 0;\n\t\tborder-radius: var(--border-radius-pill);\n\t\tfont-weight: normal;\n\t\tpadding-left: 40px;\n\n\t\t&.icon-loading-small {\n\t\t\t&::after {\n\t\t\t\tleft: 21px;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const V=S},6315:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyMHB4Ij48cGF0aCBkPSJNNDQ0LTc2OHYtMTQ0aDcydjE0NGgtNzJabTI2NSAxMTItNTQtNTIgMTA0LTEwMiA1MiA1MC0xMDIgMTA0Wm01OSAyMTJ2LTcyaDE0NHY3Mkg3NjhaTTQ0NC00OHYtMTQ0aDcydjE0NGgtNzJaTTI1MS02NTggMTQ3LTc2MGw1NC01MCAxMDEgMTAxLTUxIDUxWm01MDkgNTExTDY1OS0yNTJsNTAtNTAgMTA0IDEwMC01MyA1NVpNNDgtNDQ0di03MmgxNDR2NzJINDhabTE1MiAyOTctNTEtNTMgMTAyLTEwMCAyNSAyNCAyNCAyNS0xMDAgMTA0Wm0yODAtOTNxLTEwMCAwLTE3MC03MHQtNzAtMTcwcTAtMTAwIDcwLTE3MHQxNzAtNzBxMTAwIDAgMTcwIDcwdDcwIDE3MHEwIDEwMC03MCAxNzB0LTE3MCA3MFoiLz48L3N2Zz4="},78228:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjk0LjcxIiBoZWlnaHQ9IjE4OS4xNiIgdmlld0JveD0iMCAwIDI5NSAxOTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEwOS4wMyAxMTkuMmMwLTI5LjE5IDI2LjQtNTIuOTQgNTguODYtNTIuOTQgNy4wMiAwIDEzLjgxIDEuMDggMjAuMjkgMy4yMmE1NC4zNiA1NC4zNiAwIDAxMjUuMDQtMTQuMzZBNTEuOTUgNTEuOTUgMCAwMDE2Ni45IDI2LjNjLTQuMjEgMC04LjQxLjUyLTEyLjQ4IDEuNTItMyAuNzQtNi4xNS0uNDQtNy45LTIuOTlhNTcuMTMgNTcuMTMgMCAwMC04NS41OC05Ljg0IDU2Ljk1IDU2Ljk1IDAgMDAtMTguMzMgMzYuNjUgNy40MiA3LjQyIDAgMDEtNC4yIDZjLS42OS4zNC0xLjM4LjY4LTIuMDUgMS4wNi0uNjIuMzQtMS4yOS42LTEuOTguNzZBNDQuMyA0NC4zIDAgMDA5LjggNzQuNjZhNDMuMiA0My4yIDAgMDAtOS44IDI3LjU4YzAgMjQuMTkgMTkuNzggNDMuODYgNDQuMSA0My44Nmg1Mi45NmE0OC4wNCA0OC4wNCAwIDAxMTIuMDMtMjQuNjNjLS4wMy0uNzYtLjA1LTEuNTEtLjA1LTIuMjciIGZpbGw9IiM2MWM5ZTciLz48cGF0aCBkPSJNMjY5LjI1IDEyMC40YTcuNDMgNy40MyAwIDAxLTQuNDYtOS41IDI4Ljg1IDI4Ljg1IDAgMDAxLjcyLTkuODJjMC0xNC4xLTEwLjI3LTI2LjE2LTI0LjctMzAuOWE0My42MyA0My42MyAwIDAwLTIxLjA4LTEuNTVjLTkuOSAxLjY4LTE4Ljc0IDYuNy0yNC41IDE0LjEyYTcuNDMgNy40MyAwIDAxLTguOCAyLjI2IDQ5LjEyIDQ5LjEyIDAgMDAtMTkuNTMtMy45NmMtMjQuMjcgMC00NC4wMiAxNy4xLTQ0LjAyIDM4LjEgMCAxLjM0LjA5IDIuNzMuMjYgNC4xYTcuMzkgNy4zOSAwIDAxLTIuMjMgNi4yNiAzNC4zIDM0LjMgMCAwMC05LjcxIDE2LjUzIDMxLjAzIDMxLjAzIDAgMDAuMDIgMTQuODVjNCAxNi4xMyAyMC42MiAyOC4yNyA0MC40NiAyOC4yN2gxMDAuNjNjMjIuODIgMCA0MS4zOC0xNi4wNCA0MS4zOC0zNS43NiAwLTE0LjQ1LTkuOTktMjcuNDEtMjUuNDQtMzMiIGZpbGw9IiM0NDkyYTgiLz48L3N2Zz4K"},35059:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIvPjxwYXRoIGQ9Ik0yMiAxMmgtNE02IDEySDJNMTIgNlYyTTEyIDIydi00Ii8+PC9zdmc+Cg=="},94231:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjU0LjQ0IiBoZWlnaHQ9IjI1Ni4zOCIgdmlld0JveD0iMCAwIDI1NSAyNTciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzYxYzllNyI+PHBhdGggZD0iTTIzMy4zIDcxLjU4YTcuNDIgNy40MiAwIDAxLTIuNjMtMy44NCA1NS41IDU1LjUgMCAwMC01My4wOC0zOS44N2MtNC41IDAtOSAuNTUtMTMuMzUgMS42My0zIC43NC02LjE1LS40NS03LjktM0E2MS4xIDYxLjEgMCAwMDEwNiAuMDEgNjAuODkgNjAuODkgMCAwMDY0LjgzIDE2YTYwLjg3IDYwLjg3IDAgMDAtMTkuNiAzOS4yIDcuNDIgNy40MiAwIDAxLTQuMiA2Yy0uNzMuMzQtMS40Ny43Mi0yLjIgMS4xMi0uNjEuMzUtMS4yOC42LTEuOTcuNzVBNDcuNDggNDcuNDggMCAwMDEwLjUgNzkuMzcgNDYuMyA0Ni4zIDAgMDAwIDEwOC45MmMwIDI1LjkxIDIxLjIgNDcgNDcuMjYgNDdIMjA0LjZjMjYuMDYgMCA0Ny4yNy0yMS4wOSA0Ny4yNy00N2E0Ni42IDQ2LjYgMCAwMC0xOC41Ni0zNy4zNE0yMzEuMzIgMTg3LjkxYzAtNC4xLTMuMzMtNy40My03LjQzLTcuNDNIMjguODdhNy40MiA3LjQyIDAgMTAwIDE0Ljg2aDE5NS4wMmM0LjEgMCA3LjQzLTMuMzQgNy40My03LjQzTTIxMy4xNCAyNDEuNTRIMTguMTJhNy40MyA3LjQzIDAgMDAwIDE0Ljg1aDE5NS4wMmE3LjQyIDcuNDIgMCAxMDAtMTQuODVNNjIuMjggMjExLjQzYTcuNDIgNy40MiAwIDEwMCAxNC44NWg3MS40N2E3LjQzIDcuNDMgMCAwMDAtMTQuODVINjIuMjhNMjQ3IDIxMS40M2gtNzEuNDhhNy40MiA3LjQyIDAgMTAwIDE0Ljg1SDI0N2E3LjQzIDcuNDMgMCAwMDAtMTQuODUiLz48L2c+PC9zdmc+Cg=="},51957:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUxLjg4IiBoZWlnaHQ9IjI1OC42NCIgdmlld0JveD0iMCAwIDI1MSAyNTkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTI1MS44NSAxMDguOWE0Ni42IDQ2LjYgMCAwMC0xOC41Ni0zNy4zNCA3LjQzIDcuNDMgMCAwMS0yLjYzLTMuODUgNTUuNSA1NS41IDAgMDAtNTMuMDgtMzkuODZjLTQuNSAwLTkgLjU0LTEzLjM1IDEuNjItMyAuNzQtNi4xNS0uNDUtNy45LTNBNjEuMSA2MS4xIDAgMDAxMDYgMGE2MC44OSA2MC44OSAwIDAwLTQxLjE4IDE1Ljk3IDYwLjg3IDYwLjg3IDAgMDAtMTkuNiAzOS4yIDcuNDMgNy40MyAwIDAxLTQuMiA2Yy0uNzMuMzUtMS40Ny43My0yLjIgMS4xMy0uNjEuMzQtMS4yOC42LTEuOTcuNzVhNDcuNDggNDcuNDggMCAwMC0yNi4zNSAxNi4zQTQ2LjMgNDYuMyAwIDAwLS4wMSAxMDguOWMwIDI1LjkyIDIxLjIgNDcgNDcuMjYgNDdIMjA0LjZjMjYuMDcgMCA0Ny4yNy0yMS4wOCA0Ny4yNy00NyIgZmlsbD0iIzQ0OTJhOCIvPjxnIGZpbGw9IiM2MWM5ZTciPjxwYXRoIGQ9Ik02Ni42NiAyMjMuNDRhNy40MiA3LjQyIDAgMDA3LjEtOS42bC04Ljk0LTI5LjE4YTcuNDIgNy40MiAwIDEwLTE0LjIgNC4zNWw4Ljk0IDI5LjE3YTcuNDMgNy40MyAwIDAwNy4xIDUuMjZNMTA3LjQgMjU4LjYyYTcuNDMgNy40MyAwIDAwNy4xLTkuNmwtOC45My0yOS4xOGE3LjQyIDcuNDIgMCAxMC0xNC4yIDQuMzVsOC45NCAyOS4xOGE3LjQzIDcuNDMgMCAwMDcuMSA1LjI1TTE1OS4yMiAyMTMuMDZhNy40MyA3LjQzIDAgMDAtNC45MyA5LjI4bDguOTQgMjkuMTdhNy40MyA3LjQzIDAgMTAxNC4yLTQuMzVMMTY4LjUgMjE4YTcuNDMgNy40MyAwIDAwLTkuMjctNC45M00xMjguODQgMjIzLjQ0YTcuNDEgNy40MSAwIDAwNy4xLTkuNmwtOC45My0yOS4xOGE3LjQzIDcuNDMgMCAxMC0xNC4yIDQuMzVsOC45NCAyOS4xN2E3LjQzIDcuNDMgMCAwMDcuMSA1LjI2TTE5MS4wMyAyMjMuNDRhNy40MSA3LjQxIDAgMDA3LjEtOS42bC04Ljk0LTI5LjE4QTcuNDIgNy40MiAwIDEwMTc1IDE4OWw4Ljk0IDI5LjE3YTcuNDMgNy40MyAwIDAwNy4xIDUuMjYiLz48L2c+PC9zdmc+Cg=="},50898:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjk0LjcxIiBoZWlnaHQ9IjI1OC41NyIgdmlld0JveD0iMCAwIDI5NSAyNTkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzYxYzllNyI+PHBhdGggZD0iTTEwOS4wNCAxMTkuMThjMC0yOS4yIDI2LjQtNTIuOTUgNTguODctNTIuOTUgNyAwIDEzLjggMS4wOCAyMC4yOCAzLjIyYTU0LjMyIDU0LjMyIDAgMDEyNS4wNC0xNC4zNSA1MS45MyA1MS45MyAwIDAwLTQ2LjMyLTI4LjgzYy00LjIxIDAtOC40MS41MS0xMi40NyAxLjUyLTMgLjc1LTYuMTYtLjQ1LTcuOTEtM0E1Ny4xNSA1Ny4xNSAwIDAwOTkuNDYuMDJjLTE0LjMgMC0yNy45NyA1LjMxLTM4LjUxIDE0Ljk1YTU2LjkzIDU2LjkzIDAgMDAtMTguMzMgMzYuNjUgNy40MyA3LjQzIDAgMDEtNC4yIDZjLS42OC4zMi0xLjM3LjY4LTIuMDUgMS4wNS0uNjIuMzUtMS4yOS42LTEuOTguNzVBNDQuMyA0NC4zIDAgMDA5LjggNzQuNjQgNDMuMiA0My4yIDAgMDAwIDEwMi4yYzAgMjQuMTggMTkuNzggNDMuODYgNDQuMSA0My44Nmg1Mi45NmE0OC4wNCA0OC4wNCAwIDAxMTIuMDMtMjQuNjNjLS4wMy0uNzYtLjA1LTEuNTEtLjA1LTIuMjZNNjQuOTkgMjU4LjU5YTcuNDQgNy40NCAwIDAwNy4xLTkuNmwtOC45NC0yOS4xOGE3LjQzIDcuNDMgMCAwMC0xNC4yIDQuMzVsOC45NCAyOS4xN2E3LjQzIDcuNDMgMCAwMDcuMSA1LjI2TTEyNy4xNyAyNTguNTlhNy40MyA3LjQzIDAgMDA3LjEtOS42bC04Ljk0LTI5LjE4YTcuNDMgNy40MyAwIDAwLTE0LjIgNC4zNWw4Ljk0IDI5LjE3YTcuNDMgNy40MyAwIDAwNy4xIDUuMjZNMTg5LjM2IDI1OC41OWE3LjQzIDcuNDMgMCAwMDcuMS05LjZsLTguOTQtMjkuMThhNy40MyA3LjQzIDAgMDAtMTQuMiA0LjM1bDguOTQgMjkuMTdhNy40MyA3LjQzIDAgMDA3LjEgNS4yNiIvPjwvZz48cGF0aCBkPSJNMjY5LjI2IDEyMC40MmE3LjQzIDcuNDMgMCAwMS00LjQ2LTkuNSAyOC44NiAyOC44NiAwIDAwMS43My05LjgyYzAtMTQuMS0xMC4yOC0yNi4xNS0yNC43LTMwLjkxYTQzLjU3IDQzLjU3IDAgMDAtMjEuMDktMS41NWMtOS45IDEuNjktMTguNzQgNi43LTI0LjQ5IDE0LjEyYTcuNDMgNy40MyAwIDAxLTguOCAyLjI4IDQ5LjEyIDQ5LjEyIDAgMDAtMTkuNTQtMy45NmMtMjQuMjcgMC00NC4wMiAxNy4wOS00NC4wMiAzOC4wOSAwIDEuMzUuMDkgMi43My4yNiA0LjFhNy40MyA3LjQzIDAgMDEtMi4yMyA2LjI2IDM0LjIxIDM0LjIxIDAgMDAtOS43MSAxNi41MyAzMS4wMyAzMS4wMyAwIDAwLjAzIDE0Ljg1YzQgMTYuMTMgMjAuNjEgMjguMjcgNDAuNDUgMjguMjdoMTAwLjYzYzIyLjgyIDAgNDEuMzgtMTYuMDUgNDEuMzgtMzUuNzYgMC0xNC40Ni05Ljk4LTI3LjQxLTI1LjQ0LTMzIiBmaWxsPSIjNDQ5MmE4Ii8+PC9zdmc+Cg=="},61675:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzE4Ljk0IiBoZWlnaHQ9IjI4OS42MiIgdmlld0JveD0iMCAwIDMxOSAyOTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzYxYzllNyI+PHBhdGggZD0iTTI4NS4wNCAxMjcuNmE3LjQyIDcuNDIgMCAwMS0yLjY0LTMuODUgNTUuNSA1NS41IDAgMDAtNTMuMDgtMzkuODZjLTQuNSAwLTkgLjU0LTEzLjM0IDEuNjItMyAuNzUtNi4xNS0uNDUtNy45LTNhNjEuMSA2MS4xIDAgMDAtNTAuMzMtMjYuNDggNjAuODkgNjAuODkgMCAwMC00MS4xOCAxNS45OCA2MC44OCA2MC44OCAwIDAwLTE5LjYgMzkuMTkgNy40MiA3LjQyIDAgMDEtNC4yIDZjLS43My4zNS0xLjQ3LjczLTIuMiAxLjEzLS42Mi4zNC0xLjI5LjYtMS45OC43NWE0Ny40OCA0Ny40OCAwIDAwLTI2LjM1IDE2LjMgNDYuMjkgNDYuMjkgMCAwMC0xMC41MSAyOS41NWMwIDI1LjkyIDIxLjIgNDcgNDcuMjcgNDdoMTU3LjM0YzI2LjA2IDAgNDcuMjYtMjEuMDggNDcuMjYtNDdhNDYuNiA0Ni42IDAgMDAtMTguNTYtMzcuMzMiIHBhaW50LW9yZGVyPSJzdHJva2UgZmlsbCBtYXJrZXJzIi8+PHBhdGggZD0iTTkxLjk4IDI4Ny4xYTcuNDEgNy40MSAwIDAwNy4xLTkuNmwtOC45NC0yOS4xOGE3LjQzIDcuNDMgMCAwMC0xNC4yIDQuMzVsOC45NCAyOS4xOGE3LjQzIDcuNDMgMCAwMDcuMSA1LjI1TTE1NC4xNiAyODcuMWE3LjQzIDcuNDMgMCAwMDcuMS05LjZsLTguOTQtMjkuMThhNy40MyA3LjQzIDAgMDAtMTQuMiA0LjM1bDguOTQgMjkuMThhNy40MyA3LjQzIDAgMDA3LjEgNS4yNU0yMTYuMzUgMjg3LjFhNy40MyA3LjQzIDAgMDA3LjEtOS42bC04Ljk0LTI5LjE4YTcuNDMgNy40MyAwIDEwLTE0LjIgNC4zNWw4Ljk0IDI5LjE4YTcuNDMgNy40MyAwIDAwNy4xIDUuMjVNMTE2LjU4IDI1OS45N2E3LjQzIDcuNDMgMCAwMDcuMS05LjZsLTguOTQtMjkuMThhNy40MyA3LjQzIDAgMDAtMTQuMiA0LjM1bDguOTQgMjkuMTdhNy40MyA3LjQzIDAgMDA3LjEgNS4yNk0xNzguNzYgMjU5Ljk3YTcuNDMgNy40MyAwIDAwNy4xLTkuNmwtOC45NC0yOS4xOGE3LjQzIDcuNDMgMCAxMC0xNC4yIDQuMzVsOC45NCAyOS4xN2E3LjQzIDcuNDMgMCAwMDcuMSA1LjI2TTI3OC4zMyAyODcuMDlhNy40MyA3LjQzIDAgMDA3LjEtOS42bC04Ljk0LTI5LjE4YTcuNDMgNy40MyAwIDEwLTE0LjIgNC4zNWw4Ljk0IDI5LjE3YTcuNDMgNy40MyAwIDAwNy4xIDUuMjZNMjQwLjczIDI1OS45NWE3LjQzIDcuNDMgMCAwMDcuMS05LjZsLTguOTQtMjkuMThhNy40MyA3LjQzIDAgMTAtMTQuMiA0LjM1bDguOTQgMjkuMThhNy40MyA3LjQzIDAgMDA3LjEgNS4yNSIvPjwvZz48cGF0aCBkPSJNNzkuODItLjA1Yy0zLjM3IDEuMDItNi42OSAyLjItOS45NiAzLjU0LTU3LjU1IDIzLjU3LTg1LjIgODkuNTYtNjEuNjMgMTQ3LjEyIDguMTkgMjAgMjEuNjEgMzYuODQgMzguOCA0OS4wN2E2MS42IDYxLjYgMCAwMS0xMC44LTM0LjgzYzAtMTQuMyA0LjkzLTI4LjEzIDEzLjk2LTM5LjIyYTYyLjY2IDYyLjY2IDAgMDE1Ljk5LTYuMzYgMTI1LjgyIDEyNS44MiAwIDAxLTEuNjktNzAuMDlBMTI4LjQzIDEyOC40MyAwIDAxNzkuODItLjA1eiIgZmlsbD0iI2UxYzAxNCIvPjwvc3ZnPgo="},13360:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzE4Ljk0IiBoZWlnaHQ9IjI4OS42MiIgdmlld0JveD0iMCAwIDMxOSAyOTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzYxYzllNyI+PHBhdGggZD0iTTI4NS4wNCAxMjcuNmE3LjQyIDcuNDIgMCAwMS0yLjY0LTMuODUgNTUuNSA1NS41IDAgMDAtNTMuMDgtMzkuODZjLTQuNSAwLTkgLjU0LTEzLjM0IDEuNjItMyAuNzUtNi4xNS0uNDUtNy45LTNhNjEuMSA2MS4xIDAgMDAtNTAuMzMtMjYuNDggNjAuODkgNjAuODkgMCAwMC00MS4xOCAxNS45OCA2MC44OCA2MC44OCAwIDAwLTE5LjYgMzkuMTkgNy40MiA3LjQyIDAgMDEtNC4yIDZjLS43My4zNS0xLjQ3LjczLTIuMiAxLjEzLS42Mi4zNC0xLjI5LjYtMS45OC43NWE0Ny40OCA0Ny40OCAwIDAwLTI2LjM1IDE2LjMgNDYuMjkgNDYuMjkgMCAwMC0xMC41MSAyOS41NWMwIDI1LjkyIDIxLjIgNDcgNDcuMjcgNDdoMTU3LjM0YzI2LjA2IDAgNDcuMjYtMjEuMDggNDcuMjYtNDdhNDYuNiA0Ni42IDAgMDAtMTguNTYtMzcuMzMiIHBhaW50LW9yZGVyPSJzdHJva2UgZmlsbCBtYXJrZXJzIi8+PHBhdGggZD0iTTExOS45NSAyODkuNjNhNy40MSA3LjQxIDAgMDA3LjEtOS42bC04Ljk0LTI5LjE4YTcuNDMgNy40MyAwIDAwLTE0LjIgNC4zNWw4Ljk0IDI5LjE4YTcuNDMgNy40MyAwIDAwNy4xIDUuMjVNMTgyLjEzIDI4OS42M2E3LjQzIDcuNDMgMCAwMDcuMS05LjZsLTguOTMtMjkuMThhNy40MyA3LjQzIDAgMDAtMTQuMiA0LjM1bDguOTQgMjkuMThhNy40MyA3LjQzIDAgMDA3LjEgNS4yNU0yNDQuMzIgMjg5LjYzYTcuNDMgNy40MyAwIDAwNy4xLTkuNmwtOC45NC0yOS4xOGE3LjQzIDcuNDMgMCAxMC0xNC4yIDQuMzVsOC45NCAyOS4xOGE3LjQzIDcuNDMgMCAwMDcuMSA1LjI1Ii8+PC9nPjxwYXRoIGQ9Ik04MC42Ni0uOUM3Ny4yOS4xNCA3My45NyAxLjMyIDcwLjcgMi42NiAxMy4xNSAyNi4yMi0xNC41IDkyLjIxIDkuMDcgMTQ5Ljc3YzguMTkgMjAgMjEuNjEgMzYuODQgMzguOCA0OS4wN0E2MS42IDYxLjYgMCAwMTM3LjA3IDE2NGMwLTE0LjMgNC45My0yOC4xMyAxMy45Ni0zOS4yMmE2Mi42NiA2Mi42NiAwIDAxNS45OS02LjM2IDEyNS44MiAxMjUuODIgMCAwMS0xLjY5LTcwLjA5QTEyOC40MyAxMjguNDMgMCAwMTgwLjY2LS44OXoiIGZpbGw9IiNlMWMwMTQiLz48L3N2Zz4K"},46485:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzE4Ljk0IiBoZWlnaHQ9IjI4OS42MiIgdmlld0JveD0iMCAwIDMxOSAyOTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzYxYzllNyI+PHBhdGggZD0iTTI4NS4wNCAxMjcuNmE3LjQyIDcuNDIgMCAwMS0yLjY0LTMuODUgNTUuNSA1NS41IDAgMDAtNTMuMDgtMzkuODZjLTQuNSAwLTkgLjU0LTEzLjM0IDEuNjItMyAuNzUtNi4xNS0uNDUtNy45LTNhNjEuMSA2MS4xIDAgMDAtNTAuMzMtMjYuNDggNjAuODkgNjAuODkgMCAwMC00MS4xOCAxNS45OCA2MC44OCA2MC44OCAwIDAwLTE5LjYgMzkuMTkgNy40MiA3LjQyIDAgMDEtNC4yIDZjLS43My4zNS0xLjQ3LjczLTIuMiAxLjEzLS42Mi4zNC0xLjI5LjYtMS45OC43NWE0Ny40OCA0Ny40OCAwIDAwLTI2LjM1IDE2LjMgNDYuMjkgNDYuMjkgMCAwMC0xMC41MSAyOS41NWMwIDI1LjkyIDIxLjIgNDcgNDcuMjcgNDdoMTU3LjM0YzI2LjA2IDAgNDcuMjYtMjEuMDggNDcuMjYtNDdhNDYuNiA0Ni42IDAgMDAtMTguNTYtMzcuMzMiIHBhaW50LW9yZGVyPSJzdHJva2UgZmlsbCBtYXJrZXJzIi8+PHBhdGggZD0iTTEyNS4wMyAyODcuOTRhNy40MSA3LjQxIDAgMDA3LjEtOS42bC04Ljk0LTI5LjE4YTcuNDMgNy40MyAwIDAwLTE0LjIgNC4zNWw4Ljk0IDI5LjE4YTcuNDMgNy40MyAwIDAwNy4xIDUuMjVNMTg3LjIxIDI4Ny45NGE3LjQzIDcuNDMgMCAwMDcuMS05LjZsLTguOTMtMjkuMThhNy40MyA3LjQzIDAgMDAtMTQuMiA0LjM1bDguOTQgMjkuMThhNy40MyA3LjQzIDAgMDA3LjEgNS4yNU0yNDkuNCAyODcuOTRhNy40MyA3LjQzIDAgMDA3LjEtOS42bC04Ljk0LTI5LjE4YTcuNDMgNy40MyAwIDEwLTE0LjIgNC4zNWw4Ljk0IDI5LjE4YTcuNDMgNy40MyAwIDAwNy4xIDUuMjVNMTQ5LjYzIDI2MC44YTcuNDMgNy40MyAwIDAwNy4xLTkuNmwtOC45NC0yOS4xN2E3LjQzIDcuNDMgMCAwMC0xNC4yIDQuMzVsOC45NCAyOS4xN2E3LjQzIDcuNDMgMCAwMDcuMSA1LjI2TTIxMS44MSAyNjAuOGE3LjQzIDcuNDMgMCAwMDcuMS05LjZsLTguOTQtMjkuMTdhNy40MyA3LjQzIDAgMTAtMTQuMiA0LjM1bDguOTUgMjkuMTdhNy40MyA3LjQzIDAgMDA3LjEgNS4yNiIvPjwvZz48cGF0aCBkPSJNNzkuODItLjA1Yy0zLjM3IDEuMDItNi42OSAyLjItOS45NiAzLjU0LTU3LjU1IDIzLjU3LTg1LjIgODkuNTYtNjEuNjMgMTQ3LjEyIDguMTkgMjAgMjEuNjEgMzYuODQgMzguOCA0OS4wN2E2MS42IDYxLjYgMCAwMS0xMC44LTM0LjgzYzAtMTQuMyA0LjkzLTI4LjEzIDEzLjk2LTM5LjIyYTYyLjY2IDYyLjY2IDAgMDE1Ljk5LTYuMzYgMTI1LjgyIDEyNS44MiAwIDAxLTEuNjktNzAuMDlBMTI4LjQzIDEyOC40MyAwIDAxNzkuODItLjA1eiIgZmlsbD0iI2UxYzAxNCIvPjwvc3ZnPgo="},80386:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjM4LjMiIGhlaWdodD0iMjI4LjU3IiB2aWV3Qm94PSIwIDAgMjM5IDIyOSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjNjFjOWU3Ij48cGF0aCBkPSJNOTEuNjQgNjYuNTRMODYuNDYgODUuOWwxOC41Mi03LjY2IDE2LjggMTAuOTEtMS41NS0xOS45NyAxNS41Ny0xMi42Mi0xOS40OC00LjY5LTcuMTktMTguNy0xMC40OCAxNy4wNy0yMC4wMSAxLjA0IDEzIDE1LjI2TTE3Ni43OSA0NS40NmwtNy42Ny0xMC4zLTMuNTEgMTIuMzUtMTIuMTcgNC4xIDEwLjY2IDcuMTYuMTQgMTIuODQgMTAuMS03LjkyIDEyLjI3IDMuODMtNC40Mi0xMi4wNiA3LjQzLTEwLjQ4LTEyLjgzLjQ4Ii8+PHBhdGggZD0iTTIxMi4xNyAxNTUuNjRhNS4yNSA1LjI1IDAgMDEtMS44Ny0yLjczIDM5LjUyIDM5LjUyIDAgMDAtMzcuNzktMjguMzhjLTMuMiAwLTYuNC4zOS05LjUgMS4xNmE1LjI5IDUuMjkgMCAwMS01LjYzLTIuMTQgNDMuNSA0My41IDAgMDAtNjUuMTQtNy40OCA0My4zNSA0My4zNSAwIDAwLTEzLjk1IDI3LjkgNS4zIDUuMyAwIDAxLTMgNC4yOGMtLjUyLjI0LTEuMDQuNTEtMS41Ni44LS40NC4yNC0uOTEuNDItMS40LjUzYTMzLjg0IDMzLjg0IDAgMDAtMTguNzcgMTEuNiAzMi45OSAzMi45OSAwIDAwLTcuNDggMjEuMDVjMCAxOC40NCAxNS4xIDMzLjQ1IDMzLjY1IDMzLjQ1aDExMmMxOC41NiAwIDMzLjY2LTE1IDMzLjY2LTMzLjQ1YTMzLjIgMzMuMiAwIDAwLTEzLjIyLTI2LjU5IiBwYWludC1vcmRlcj0ic3Ryb2tlIGZpbGwgbWFya2VycyIvPjwvZz48cGF0aCBkPSJNODIuOS0uMzNhMTE3LjYyIDExNy42MiAwIDAwLTEwLjMgMy42N0MxMy4wNiAyNy43My0xNS41NSA5NiA4Ljg0IDE1NS41NGExMTYuNDMgMTE2LjQzIDAgMDAyNi4zNiAzOS4yNCA0NS42MiA0NS42MiAwIDAxLTEuODctMTIuOUE0Ni4zIDQ2LjMgMCAwMTQzLjcgMTUyLjdsLjAxLS4wMWE0Ni41OSA0Ni41OSAwIDAxMjAuNTItMTQuNDdBMTMwLjQgMTMwLjQgMCAwMTU2LjcgNTAuNiAxMzIuODggMTMyLjg4IDAgMDE4Mi45LS4zMnoiIGZpbGw9IiNlMWMwMTQiLz48L3N2Zz4K"},70384:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjM4LjMiIGhlaWdodD0iMjI4LjU3IiB2aWV3Qm94PSIwIDAgMjM5IDIyOSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjNjFjOWU3Ij48cGF0aCBkPSJNOTguNDMgMTAyLjEybC01LjE5IDE5LjM2IDE4LjUzLTcuNjUgMTYuOCAxMC45LTEuNTYtMTkuOTcgMTUuNTgtMTIuNjEtMTkuNDktNC43LTcuMTgtMTguNy0xMC40OCAxNy4wOC0yMC4wMiAxLjA0IDEzLjAxIDE1LjI1TTE3Ni43OSA0NS40NmwtNy42Ny0xMC4zLTMuNTEgMTIuMzUtMTIuMTcgNC4xIDEwLjY2IDcuMTYuMTQgMTIuODQgMTAuMS03LjkyIDEyLjI3IDMuODMtNC40Mi0xMi4wNiA3LjQzLTEwLjQ4LTEyLjgzLjQ4Ii8+PHBhdGggZD0iTTIyMC43NiAxNzkuNTlhMy41MyAzLjUzIDAgMDEtMS4yNi0xLjg0IDI2LjU0IDI2LjU0IDAgMDAtMzEuNzYtMTguMjggMy41NSAzLjU1IDAgMDEtMy43OC0xLjQ0IDI5LjIxIDI5LjIxIDAgMDAtNTMuMTIgMTMuNzIgMy41NiAzLjU2IDAgMDEtMiAyLjg3Yy0uMzYuMTctLjcxLjM1LTEuMDYuNTQtLjMuMTYtLjYxLjI4LS45NS4zNWEyMi43MyAyMi43MyAwIDAwLTEyLjYgNy44IDIyLjE1IDIyLjE1IDAgMDAtNS4wMiAxNC4xMyAyMi41NiAyMi41NiAwIDAwMjIuNiAyMi40N2g3NS4yM2EyMi41NiAyMi41NiAwIDAwMjIuNi0yMi40NyAyMi4zIDIyLjMgMCAwMC04Ljg4LTE3Ljg1IiBwYWludC1vcmRlcj0ic3Ryb2tlIGZpbGwgbWFya2VycyIvPjwvZz48cGF0aCBkPSJNODIuNDctLjAyYTExNy42MiAxMTcuNjIgMCAwMC0xMC4zIDMuNjdDMTIuNjMgMjguMDMtMTUuOTcgOTYuMyA4LjQxIDE1NS44NWExMTUuOTEgMTE1LjkxIDAgMDA2Mi45IDYzLjQgMTE2LjE4IDExNi4xOCAwIDAwNTQuMzkgOC43M2MtMTQuNC0yLjc0LTI1LjQ1LTE1LjQ0LTI1LjQ1LTMwLjU3IDAtMy40Ni41OS02Ljg2IDEuNy0xMC4wOWExMzAuNDIgMTMwLjQyIDAgMDEtNDAuMTItNTMuMzUgMTMwLjQgMTMwLjQgMCAwMS01LjU2LTgzLjA2QTEzMi44OCAxMzIuODggMCAwMTgyLjQ3LS4wMnoiIGZpbGw9IiNlMWMwMTQiLz48L3N2Zz4K"},83454:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTg5LjYzIiBoZWlnaHQ9IjIyOC40IiB2aWV3Qm94PSIwIDAgMTg5IDIyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNjIuMTEgMTM0YTEzMC40IDEzMC40IDAgMDEtNS41NS04My4wNUExMzIuODkgMTMyLjg5IDAgMDE4Mi43NiAwYTExNy42NCAxMTcuNjQgMCAwMC0xMC4zIDMuNjdDMTIuOTIgMjguMDctMTUuNyA5Ni4zNCA4LjcgMTU1Ljg4YTExNS45MSAxMTUuOTEgMCAwMDYyLjg5IDYzLjQgMTE1LjkzIDExNS45MyAwIDAwODkuMy4zNmMzLjM5LTEuMzkgNi43LTIuOTIgOS45Mi00LjYyYTEzMi42NiAxMzIuNjYgMCAwMS01NC40LTE3LjkyIDEzMC40NSAxMzAuNDUgMCAwMS01NC4zLTYzLjEiIGZpbGw9IiNlMWMwMTQiLz48cGF0aCBkPSJNMTIyLjE1IDEyMy4zbC01LjE5IDE5LjM3IDE4LjUyLTcuNjUgMTYuODEgMTAuOS0xLjU2LTE5Ljk3IDE1LjU4LTEyLjYxLTE5LjQ5LTQuNy03LjE4LTE4LjctMTAuNDggMTcuMDgtMjAuMDIgMS4wNCAxMy4wMSAxNS4yNU0xNzYuNzkgNDUuNDZsLTcuNjctMTAuMy0zLjUxIDEyLjM1LTEyLjE3IDQuMSAxMC42NiA3LjE2LjE0IDEyLjg0IDEwLjEtNy45MiAxMi4yNyAzLjgzLTQuNDItMTIuMDYgNy40My0xMC40OC0xMi44My40OCIgZmlsbD0iIzYxYzllNyIvPjwvc3ZnPgo="},50443:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUxLjg3IiBoZWlnaHQ9IjIyMy40NSIgdmlld0JveD0iMCAwIDI1MiAyMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQ3LjI2IDE1NS45SDIwNC42YzI2LjA2IDAgNDcuMjctMjEuMSA0Ny4yNy00N2E0Ni42IDQ2LjYgMCAwMC0xOC41Ni0zNy4zNCA3LjQzIDcuNDMgMCAwMS0yLjY0LTMuODUgNTUuNSA1NS41IDAgMDAtNTMuMDgtMzkuODZjLTQuNSAwLTkgLjU0LTEzLjM0IDEuNjItMyAuNzQtNi4xNS0uNDUtNy45LTNBNjEuMSA2MS4xIDAgMDAxMDYuMDEgMGE2MC44OSA2MC44OSAwIDAwLTQxLjE4IDE1Ljk4IDYwLjg4IDYwLjg4IDAgMDAtMTkuNiAzOS4xOSA3LjQyIDcuNDIgMCAwMS00LjIgNmMtLjc0LjM1LTEuNDguNzMtMi4yIDEuMTMtLjYyLjM0LTEuMjkuNi0xLjk4Ljc1YTQ3LjQ3IDQ3LjQ3IDAgMDAtMjYuMzUgMTYuM0E0Ni4zIDQ2LjMgMCAwMDAgMTA4LjljMCAyNS45MiAyMS4yIDQ3IDQ3LjI2IDQ3IiBmaWxsPSIjNDQ5MmE4Ii8+PGcgZmlsbD0iIzYxYzllNyI+PHBhdGggZD0ibTU1LjU1IDE3OS43NGE3LjQyIDcuNDIgMCAwIDAtNC45MiA5LjI4bDguOTQgMjkuMTdhNy40MyA3LjQzIDAgMSAwIDE0LjItNC4zNWwtOC45NC0yOS4xN2E3LjQyIDcuNDIgMCAwIDAtOS4yOC00LjkzbTYyLjE5IDBhNy40MyA3LjQzIDAgMCAwLTQuOTMgOS4yOGw4Ljk0IDI5LjE3YTcuNDMgNy40MyAwIDAgMCAxNC4yLTQuMzVsLTguOTQtMjkuMTdhNy40MyA3LjQzIDAgMCAwLTkuMjctNC45M202Mi4xOCAwYTcuNDMgNy40MyAwIDAgMC00LjkyIDkuMjhsOC45NCAyOS4xN2E3LjQzIDcuNDMgMCAwIDAgMTQuMi00LjM1bC04Ljk0LTI5LjE3YTcuNDMgNy40MyAwIDAgMC05LjI4LTQuOTMiLz48L2c+PC9zdmc+Cg=="},88082:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzA3LjE5IiBoZWlnaHQ9IjI5MS4zMyIgdmlld0JveD0iMCAwIDMwNyAyOTEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTU1LjU3IDkyLjU0YzAgOS4yNyAzLjQzIDE4LjAyIDkuNTQgMjQuNzZhNjIuMzYgNjIuMzYgMCAwMTIxLjIyLTEwLjM4IDc1LjcyIDc1LjcyIDAgMDEyNS42MS00NS44IDM2Ljk3IDM2Ljk3IDAgMDAtNTYuMzcgMzEuNCIgZmlsbD0iI2RlYzYwZiIvPjxnIGZpbGw9IiM2MWM5ZTciPjxwYXRoIGQ9Ik0yODguNiAxMjkuM2E3LjQyIDcuNDIgMCAwMS0yLjYzLTMuODVBNTUuNSA1NS41IDAgMDAyMzIuOSA4NS42Yy00LjUgMC05IC41NC0xMy4zNCAxLjYyLTMgLjc1LTYuMTUtLjQ1LTcuOS0zYTYxLjEgNjEuMSAwIDAwLTUwLjMzLTI2LjQ4IDYwLjg5IDYwLjg5IDAgMDAtNDEuMTggMTUuOTggNjAuODggNjAuODggMCAwMC0xOS42IDM5LjE5IDcuNDIgNy40MiAwIDAxLTQuMiA2Yy0uNzMuMzUtMS40Ny43My0yLjIgMS4xMy0uNjIuMzQtMS4yOS42LTEuOTguNzVhNDcuNDggNDcuNDggMCAwMC0yNi4zNSAxNi4zIDQ2LjI5IDQ2LjI5IDAgMDAtMTAuNTEgMjkuNTVjMCAyNS45MiAyMS4yIDQ3IDQ3LjI3IDQ3SDI1OS45YzI2LjA2IDAgNDcuMjYtMjEuMDggNDcuMjYtNDdhNDYuNiA0Ni42IDAgMDAtMTguNTYtMzcuMzNNOTUuMzUgMjYzLjc3YTcuNDEgNy40MSAwIDAwNy4xLTkuNmwtOC45NC0yOS4xOGE3LjQzIDcuNDMgMCAwMC0xNC4yIDQuMzVsOC45NCAyOS4xOGE3LjQzIDcuNDMgMCAwMDcuMSA1LjI1TTE1Ny41MyAyNjMuNzdhNy40MyA3LjQzIDAgMDA3LjEtOS42bC04Ljk0LTI5LjE4YTcuNDMgNy40MyAwIDAwLTE0LjIgNC4zNWw4Ljk0IDI5LjE4YTcuNDMgNy40MyAwIDAwNy4xIDUuMjVNMjE5LjcyIDI2My43N2E3LjQzIDcuNDMgMCAwMDcuMS05LjZsLTguOTQtMjkuMThhNy40MyA3LjQzIDAgMTAtMTQuMiA0LjM1bDguOTQgMjkuMThhNy40MyA3LjQzIDAgMDA3LjEgNS4yNSIvPjwvZz48ZyBmaWxsPSIjZGVjNjBmIj48cGF0aCBkPSJNODUuMDggNy40NXYyMC44OWE3LjQzIDcuNDMgMCAwMDE0Ljg1IDBWNy40NGE3LjQzIDcuNDMgMCAxMC0xNC44NSAwTTYwLjQxIDQ0LjM2YTcuNDMgNy40MyAwIDAwNi40Mi0xMS4xNEw1Ni40IDE1LjEyYTcuNDMgNy40MyAwIDAwLTEyLjg2IDcuNDRsMTAuNDUgMTguMDlhNy40MiA3LjQyIDAgMDA2LjQzIDMuNzFNNDAuNjEgNTRMMjIuNTIgNDMuNTZhNy40MyA3LjQzIDAgMTAtNy40MyAxMi44NmwxOC4xIDEwLjQ1QTcuNDMgNy40MyAwIDAwNDAuNjIgNTRNMzUuNzMgOTIuNTRjMC00LjEtMy4zMi03LjQzLTcuNDItNy40M0g3LjRhNy40MyA3LjQzIDAgMDAwIDE0Ljg1aDIwLjljNC4xIDAgNy40Mi0zLjMyIDcuNDItNy40Mk00MC42MSAxMzEuMDdhNy40MyA3LjQzIDAgMTAtNy40Mi0xMi44NmwtMTguMSAxMC40NGE3LjQzIDcuNDMgMCAxMDcuNDMgMTIuODdsMTguMS0xMC40NU0xMjAuOSA0My4zNmE3LjQyIDcuNDIgMCAwMDEwLjE1LTIuNzJsMTAuNDMtMTguMDlhNy40MyA3LjQzIDAgMDAtMTIuODYtNy40MmwtMTAuNDUgMTguMWE3LjQzIDcuNDMgMCAwMDIuNzIgMTAuMTMiLz48L2c+PGcgZmlsbD0iIzYxYzllNyI+PHBhdGggZD0iTTE5NC40MSAyOTAuNTlhNy40MSA3LjQxIDAgMDA3LjEtOS42bC04Ljk0LTI5LjE4YTcuNDMgNy40MyAwIDAwLTE0LjIgNC4zNWw4Ljk0IDI5LjE3YTcuNDMgNy40MyAwIDAwNy4xIDUuMjZNMTMyLjcgMjg5LjM5YTcuNDEgNy40MSAwIDAwNy4xLTkuNmwtOC45NS0yOS4xOGE3LjQzIDcuNDMgMCAwMC0xNC4yIDQuMzVsOC45NCAyOS4xN2E3LjQzIDcuNDMgMCAwMDcuMSA1LjI2TTI4MC4xNyAyNjEuNmE3LjQzIDcuNDMgMCAwMDcuMS05LjZsLTguOTQtMjkuMThhNy40MyA3LjQzIDAgMTAtMTQuMiA0LjM1bDguOTQgMjkuMThhNy40MyA3LjQzIDAgMDA3LjEgNS4yNU0yNTQuODYgMjg4LjQxYTcuNDEgNy40MSAwIDAwNy4xLTkuNmwtOC45NC0yOS4xOGE3LjQzIDcuNDMgMCAwMC0xNC4yIDQuMzVsOC45NCAyOS4xOGE3LjQzIDcuNDMgMCAwMDcuMSA1LjI1Ii8+PC9nPjwvc3ZnPgo="},82313:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzA3LjE5IiBoZWlnaHQ9IjI5MS4zMyIgdmlld0JveD0iMCAwIDMwNyAyOTEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTU1LjU3IDkyLjU0YzAgOS4yNyAzLjQzIDE4LjAyIDkuNTQgMjQuNzZhNjIuMzYgNjIuMzYgMCAwMTIxLjIyLTEwLjM4IDc1LjcyIDc1LjcyIDAgMDEyNS42MS00NS44IDM2Ljk3IDM2Ljk3IDAgMDAtNTYuMzcgMzEuNCIgZmlsbD0iI2RlYzYwZiIvPjxnIGZpbGw9IiM2MWM5ZTciPjxwYXRoIGQ9Ik0yODguNiAxMjkuM2E3LjQyIDcuNDIgMCAwMS0yLjYzLTMuODVBNTUuNSA1NS41IDAgMDAyMzIuOSA4NS42Yy00LjUgMC05IC41NC0xMy4zNCAxLjYyLTMgLjc1LTYuMTUtLjQ1LTcuOS0zYTYxLjEgNjEuMSAwIDAwLTUwLjMzLTI2LjQ4IDYwLjg5IDYwLjg5IDAgMDAtNDEuMTggMTUuOTggNjAuODggNjAuODggMCAwMC0xOS42IDM5LjE5IDcuNDIgNy40MiAwIDAxLTQuMiA2Yy0uNzMuMzUtMS40Ny43My0yLjIgMS4xMy0uNjIuMzQtMS4yOS42LTEuOTguNzVhNDcuNDggNDcuNDggMCAwMC0yNi4zNSAxNi4zIDQ2LjI5IDQ2LjI5IDAgMDAtMTAuNTEgMjkuNTVjMCAyNS45MiAyMS4yIDQ3IDQ3LjI3IDQ3SDI1OS45YzI2LjA2IDAgNDcuMjYtMjEuMDggNDcuMjYtNDdhNDYuNiA0Ni42IDAgMDAtMTguNTYtMzcuMzNNMTIzLjUyIDI5MS4zM2E3LjQxIDcuNDEgMCAwMDcuMS05LjZsLTguOTQtMjkuMThhNy40MyA3LjQzIDAgMDAtMTQuMiA0LjM1bDguOTQgMjkuMThhNy40MyA3LjQzIDAgMDA3LjEgNS4yNU0xODUuNyAyOTEuMzNhNy40MyA3LjQzIDAgMDA3LjEtOS42bC04LjkzLTI5LjE4YTcuNDMgNy40MyAwIDAwLTE0LjIgNC4zNWw4Ljk0IDI5LjE4YTcuNDMgNy40MyAwIDAwNy4xIDUuMjVNMjQ3Ljg5IDI5MS4zM2E3LjQzIDcuNDMgMCAwMDcuMS05LjZsLTguOTQtMjkuMThhNy40MyA3LjQzIDAgMTAtMTQuMiA0LjM1bDguOTQgMjkuMThhNy40MyA3LjQzIDAgMDA3LjEgNS4yNSIvPjwvZz48ZyBmaWxsPSIjZGVjNjBmIj48cGF0aCBkPSJNODUuMDggNy40NXYyMC44OWE3LjQzIDcuNDMgMCAwMDE0Ljg1IDBWNy40NGE3LjQzIDcuNDMgMCAxMC0xNC44NSAwTTYwLjQxIDQ0LjM2YTcuNDMgNy40MyAwIDAwNi40Mi0xMS4xNEw1Ni40IDE1LjEyYTcuNDMgNy40MyAwIDAwLTEyLjg2IDcuNDRsMTAuNDUgMTguMDlhNy40MiA3LjQyIDAgMDA2LjQzIDMuNzFNNDAuNjEgNTRMMjIuNTIgNDMuNTZhNy40MyA3LjQzIDAgMTAtNy40MyAxMi44NmwxOC4xIDEwLjQ1QTcuNDMgNy40MyAwIDAwNDAuNjIgNTRNMzUuNzMgOTIuNTRjMC00LjEtMy4zMi03LjQzLTcuNDItNy40M0g3LjRhNy40MyA3LjQzIDAgMDAwIDE0Ljg1aDIwLjljNC4xIDAgNy40Mi0zLjMyIDcuNDItNy40Mk00MC42MSAxMzEuMDdhNy40MyA3LjQzIDAgMTAtNy40Mi0xMi44NmwtMTguMSAxMC40NGE3LjQzIDcuNDMgMCAxMDcuNDMgMTIuODdsMTguMS0xMC40NU0xMjAuOSA0My4zNmE3LjQyIDcuNDIgMCAwMDEwLjE1LTIuNzJsMTAuNDMtMTguMDlhNy40MyA3LjQzIDAgMDAtMTIuODYtNy40MmwtMTAuNDUgMTguMWE3LjQzIDcuNDMgMCAwMDIuNzIgMTAuMTMiLz48L2c+PC9zdmc+Cg=="},1956:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzA3LjE5IiBoZWlnaHQ9IjI5MS4zMyIgdmlld0JveD0iMCAwIDMwNyAyOTEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTU1LjU3IDkyLjU0YzAgOS4yNyAzLjQzIDE4LjAyIDkuNTQgMjQuNzZhNjIuMzYgNjIuMzYgMCAwMTIxLjIyLTEwLjM4IDc1LjcyIDc1LjcyIDAgMDEyNS42MS00NS44IDM2Ljk3IDM2Ljk3IDAgMDAtNTYuMzcgMzEuNCIgZmlsbD0iI2RlYzYwZiIvPjxnIGZpbGw9IiM2MWM5ZTciPjxwYXRoIGQ9Ik0yODguNiAxMjkuM2E3LjQyIDcuNDIgMCAwMS0yLjYzLTMuODVBNTUuNSA1NS41IDAgMDAyMzIuOSA4NS42Yy00LjUgMC05IC41NC0xMy4zNCAxLjYyLTMgLjc1LTYuMTUtLjQ1LTcuOS0zYTYxLjEgNjEuMSAwIDAwLTUwLjMzLTI2LjQ4IDYwLjg5IDYwLjg5IDAgMDAtNDEuMTggMTUuOTggNjAuODggNjAuODggMCAwMC0xOS42IDM5LjE5IDcuNDIgNy40MiAwIDAxLTQuMiA2Yy0uNzMuMzUtMS40Ny43My0yLjIgMS4xMy0uNjIuMzQtMS4yOS42LTEuOTguNzVhNDcuNDggNDcuNDggMCAwMC0yNi4zNSAxNi4zIDQ2LjI5IDQ2LjI5IDAgMDAtMTAuNTEgMjkuNTVjMCAyNS45MiAyMS4yIDQ3IDQ3LjI3IDQ3SDI1OS45YzI2LjA2IDAgNDcuMjYtMjEuMDggNDcuMjYtNDdhNDYuNiA0Ni42IDAgMDAtMTguNTYtMzcuMzNNMTE2LjkyIDI2NC45N2E3LjQxIDcuNDEgMCAwMDcuMS05LjZsLTguOTQtMjkuMThhNy40MyA3LjQzIDAgMDAtMTQuMiA0LjM1bDguOTQgMjkuMThhNy40MyA3LjQzIDAgMDA3LjEgNS4yNU0xNzkuMSAyNjQuOTdhNy40MyA3LjQzIDAgMDA3LjEtOS42bC04LjkzLTI5LjE4YTcuNDMgNy40MyAwIDAwLTE0LjIgNC4zNWw4Ljk0IDI5LjE4YTcuNDMgNy40MyAwIDAwNy4xIDUuMjVNMjQxLjI5IDI2NC45N2E3LjQzIDcuNDMgMCAwMDcuMS05LjZsLTguOTQtMjkuMThhNy40MyA3LjQzIDAgMTAtMTQuMiA0LjM1bDguOTQgMjkuMThhNy40MyA3LjQzIDAgMDA3LjEgNS4yNSIvPjwvZz48ZyBmaWxsPSIjZGVjNjBmIj48cGF0aCBkPSJNODUuMDggNy40NXYyMC44OWE3LjQzIDcuNDMgMCAwMDE0Ljg1IDBWNy40NGE3LjQzIDcuNDMgMCAxMC0xNC44NSAwTTYwLjQxIDQ0LjM2YTcuNDMgNy40MyAwIDAwNi40Mi0xMS4xNEw1Ni40IDE1LjEyYTcuNDMgNy40MyAwIDAwLTEyLjg2IDcuNDRsMTAuNDUgMTguMDlhNy40MiA3LjQyIDAgMDA2LjQzIDMuNzFNNDAuNjEgNTRMMjIuNTIgNDMuNTZhNy40MyA3LjQzIDAgMTAtNy40MyAxMi44NmwxOC4xIDEwLjQ1QTcuNDMgNy40MyAwIDAwNDAuNjIgNTRNMzUuNzMgOTIuNTRjMC00LjEtMy4zMi03LjQzLTcuNDItNy40M0g3LjRhNy40MyA3LjQzIDAgMDAwIDE0Ljg1aDIwLjljNC4xIDAgNy40Mi0zLjMyIDcuNDItNy40Mk00MC42MSAxMzEuMDdhNy40MyA3LjQzIDAgMTAtNy40Mi0xMi44NmwtMTguMSAxMC40NGE3LjQzIDcuNDMgMCAxMDcuNDMgMTIuODdsMTguMS0xMC40NU0xMjAuOSA0My4zNmE3LjQyIDcuNDIgMCAwMDEwLjE1LTIuNzJsMTAuNDMtMTguMDlhNy40MyA3LjQzIDAgMDAtMTIuODYtNy40MmwtMTAuNDUgMTguMWE3LjQzIDcuNDMgMCAwMDIuNzIgMTAuMTMiLz48L2c+PHBhdGggZD0iTTIxNS45OCAyOTEuNzlhNy40MSA3LjQxIDAgMDA3LjEtOS42TDIxNC4xNSAyNTNhNy40MyA3LjQzIDAgMDAtMTQuMiA0LjM1bDguOTUgMjkuMTdhNy40MyA3LjQzIDAgMDA3LjEgNS4yNk0xNTQuMjcgMjkwLjU5YTcuNDEgNy40MSAwIDAwNy4xLTkuNmwtOC45NC0yOS4xOGE3LjQzIDcuNDMgMCAwMC0xNC4yIDQuMzVsOC45NCAyOS4xN2E3LjQzIDcuNDMgMCAwMDcuMSA1LjI2IiBmaWxsPSIjNjFjOWU3Ii8+PC9zdmc+Cg=="},77301:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzA3LjE5IiBoZWlnaHQ9IjIxMy42MSIgdmlld0JveD0iMCAwIDMwNyAyMTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTI4OC42IDEyOS4zN2E3LjM4IDcuMzggMCAwMS0yLjYzLTMuODQgNTUuNTEgNTUuNTEgMCAwMC01My4wOC0zOS44N2MtNC41IDAtOSAuNTUtMTMuMzQgMS42My0zIC43NS02LjE1LS40NS03LjktM2E2MS4xIDYxLjEgMCAwMC05MS41MS0xMC41IDYwLjg5IDYwLjg5IDAgMDAtMTkuNiAzOS4yIDcuNDQgNy40NCAwIDAxLTQuMiA2Yy0uNzMuMzQtMS40Ny43MS0yLjIgMS4xMS0uNjIuMzUtMS4yOS42LTEuOTguNzVhNDcuNTQgNDcuNTQgMCAwMC0yNi4zNSAxNi4zIDQ2LjMzIDQ2LjMzIDAgMDAtMTAuNTEgMjkuNTZjMCAyNS45MiAyMS4yIDQ3IDQ3LjI3IDQ3SDI1OS45YzI2LjA2IDAgNDcuMjYtMjEuMDggNDcuMjYtNDdhNDYuNjMgNDYuNjMgMCAwMC0xOC41Ni0zNy4zNCIgZmlsbD0iIzYxYzllNyIvPjxnIGZpbGw9IiNkZWM2MGYiPjxwYXRoIGQ9Ik01NS41NyA5Mi41N2EzNi43IDM2LjcgMCAwMDkuNTQgMjQuNzYgNjIuMzYgNjIuMzYgMCAwMTIxLjIyLTEwLjM5IDc1LjY4IDc1LjY4IDAgMDEyNS42MS00NS43OCAzNi45NyAzNi45NyAwIDAwLTU2LjM3IDMxLjQxTTkyLjUgMzUuNzdjNC4xIDAgNy40My0zLjMzIDcuNDMtNy40M1Y3LjQ1YTcuNDIgNy40MiAwIDEwLTE0Ljg1IDB2MjAuOWMwIDQuMDkgMy4zMyA3LjQyIDcuNDMgNy40Mk01My45NyA0MC43YTcuNDIgNy40MiAwIDEwMTIuODctNy40MmwtMTAuNDUtMTguMWE3LjQzIDcuNDMgMCAwMC0xMi44NiA3LjQzbDEwLjQ0IDE4LjFNMTUuMSA1Ni40NGwxOC4wOSAxMC40NWE3LjQ3IDcuNDcgMCAwMDEwLjE0LTIuNzIgNy40MyA3LjQzIDAgMDAtMi43MS0xMC4xNWwtMTguMS0xMC40NWE3LjQzIDcuNDMgMCAwMC03LjQzIDEyLjg3TTcuNDIgMTAwLjA0SDI4LjNhNy40MyA3LjQzIDAgMDAwLTE0Ljg2SDcuNDFhNy40MiA3LjQyIDAgMTAwIDE0Ljg2TTQzLjMzIDEyMC45N2E3LjQyIDcuNDIgMCAwMC0xMC4xNC0yLjcybC0xOC4xIDEwLjQ0YTcuNDMgNy40MyAwIDAwNy40MyAxMi44NmwxOC4xLTEwLjQ0YTcuNDMgNy40MyAwIDAwMi43MS0xMC4xNE0xMjAuOSA0My4zN2E3LjQyIDcuNDIgMCAwMDEwLjE1LTIuNzJsMTAuNDMtMTguMWE3LjQzIDcuNDMgMCAwMC0xMi44Ni03LjQybC0xMC40NSAxOC4xYTcuNDMgNy40MyAwIDAwMi43MiAxMC4xNCIvPjwvZz48L3N2Zz4K"},26727:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgwLjUiIGhlaWdodD0iMjgwLjUiIHZpZXdCb3g9IjAgMCAyODAgMjgwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0yNTcgMjE5Ljc0YTQuMyA0LjMgMCAwMS0xLjUzLTIuMjQgMzIuMzggMzIuMzggMCAwMC0zMC45Ni0yMy4yNmMtMi42MyAwLTUuMjUuMzItNy43OC45NWE0LjMzIDQuMzMgMCAwMS00LjYxLTEuNzUgMzUuNjMgMzUuNjMgMCAwMC01My4zOC02LjEzIDM1LjUyIDM1LjUyIDAgMDAtMTEuNDMgMjIuODcgNC4zNCA0LjM0IDAgMDEtMi40NSAzLjVjLS40Mi4yLS44Ni40Mi0xLjI4LjY1LS4zNi4yLS43NS4zNS0xLjE1LjQ0YTI3LjczIDI3LjczIDAgMDAtMTUuMzcgOS41IDI3LjAzIDI3LjAzIDAgMDAtNi4xMyAxNy4yNSAyNy41MiAyNy41MiAwIDAwMjcuNTYgMjcuNGg5MS43N2MxNS4yIDAgMjcuNTctMTIuMjkgMjcuNTctMjcuNGEyNy4yIDI3LjIgMCAwMC0xMC44Mi0yMS43OCIgZmlsbD0iIzYxYzllNyIgcGFpbnQtb3JkZXI9InN0cm9rZSBmaWxsIG1hcmtlcnMiLz48ZyBmaWxsPSIjZGVjNjBmIj48cGF0aCBkPSJNMTQwLjIgNzAuNzNBNjkuODYgNjkuODYgMCAwMDcwLjQgMTQwLjVjMCAzMy4zMyAyMy41IDYxLjI3IDU0LjggNjguMTRhNDAuNiA0MC42IDAgMDExMC4wMy01LjEgNDguNjEgNDguNjEgMCAwMTE0LjctMjUuNThoLjAxYTQ4LjU5IDQ4LjU5IDAgMDE1My41LTguMDUgNjkuMzUgNjkuMzUgMCAwMDYuNTItMjkuNDEgNjkuODYgNjkuODYgMCAwMC02OS43OC02OS43OHptLS45IDEzMS40NGwtLjEuMDQtLjA0LjAzLjEzLS4wN3pNMTMyLjggMzguOWE3LjQzIDcuNDMgMCAwMDE0Ljg1IDBWNy40NGE3LjQzIDcuNDMgMCAwMC0xNC44NSAwVjM4LjlNODkuNTQgNTkuOTFhNy40MyA3LjQzIDAgMDA2LjQzLTExLjE0TDgwLjI0IDIxLjUzYTcuNDMgNy40MyAwIDAwLTEyLjg2IDcuNDNMODMuMSA1Ni4yYTcuNDIgNy40MiAwIDAwNi40MyAzLjcxTTE4Ljc2IDcwLjE0YTcuNDMgNy40MyAwIDAwMi43MiAxMC4xNUw0OC43MiA5NmE3LjQyIDcuNDIgMCAxMDcuNDMtMTIuODZMMjguOSA2Ny40MmE3LjQzIDcuNDMgMCAwMC0xMC4xNCAyLjcyTTQ2LjI4IDE0MC4yN2MwLTQuMS0zLjMzLTcuNDItNy40My03LjQySDcuNGE3LjQzIDcuNDMgMCAwMDAgMTQuODVoMzEuNDZjNC4xIDAgNy40My0zLjMzIDcuNDMtNy40M00yNzMuMDUgMTMyLjg1aC0zMS40NmE3LjQzIDcuNDMgMCAwMDAgMTQuODVoMzEuNDZhNy40MyA3LjQzIDAgMDAwLTE0Ljg1TTQ4LjczIDE4NC41MUwyMS41IDIwMC4yNGE3LjQzIDcuNDMgMCAxMDcuNDIgMTIuODZsMjcuMjUtMTUuNzNhNy40MyA3LjQzIDAgMDAtNy40My0xMi44Nk0yNTEuNTQgNjcuNDJMMjI0LjMgODMuMTVBNy40MyA3LjQzIDAgMDAyMzEuNzIgOTZsMjcuMjQtMTUuNzNhNy40MyA3LjQzIDAgMDAtNy40Mi0xMi44Nk04My4xIDIyNC4zNGwtMTUuNzMgMjcuMjRhNy40MyA3LjQzIDAgMDAxMi44NyA3LjQzbDE1LjczLTI3LjI1YTcuNDMgNy40MyAwIDAwLTEyLjg3LTcuNDJNMTg3LjIgNTguOTFhNy40IDcuNCAwIDAwMTAuMTQtMi43MWwxNS43My0yNy4yNWE3LjQzIDcuNDMgMCAxMC0xMi44Ni03LjQybC0xNS43MyAyNy4yNGE3LjQzIDcuNDMgMCAwMDIuNzEgMTAuMTQiLz48L2c+PC9zdmc+Cg=="},62537:M=>{M.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgwLjUiIGhlaWdodD0iMjgwLjUiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDI4MCAyODAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iI2RlYzYwZiI+PHBhdGggZD0iTTE0MC4yMiAyMTAuMDRjMzguNDggMCA2OS43OC0zMS4zIDY5Ljc4LTY5Ljc4cy0zMS4zLTY5Ljc4LTY5Ljc4LTY5Ljc4Yy0zOC40NyAwLTY5Ljc4IDMxLjMtNjkuNzggNjkuNzhzMzEuMyA2OS43OCA2OS43OCA2OS43OE0xMzIuOCAzOC45YTcuNDMgNy40MyAwIDAwMTQuODUgMFY3LjQ0YTcuNDMgNy40MyAwIDAwLTE0Ljg1IDBWMzguOU0xMzIuOCAyNDEuNjN2MzEuNDZhNy40MyA3LjQzIDAgMDAxNC44NSAwdi0zMS40NmE3LjQzIDcuNDMgMCAwMC0xNC44NSAwTTg5LjU0IDU5LjkxYTcuNDMgNy40MyAwIDAwNi40My0xMS4xNEw4MC4yNCAyMS41M2E3LjQzIDcuNDMgMCAwMC0xMi44NiA3LjQzTDgzLjEgNTYuMmE3LjQyIDcuNDIgMCAwMDYuNDMgMy43MU0xODcuMiAyMjEuNjJhNy40MyA3LjQzIDAgMDAtMi43MiAxMC4xNEwyMDAuMiAyNTlhNy40MiA3LjQyIDAgMTAxMi44Ni03LjQybC0xNS43My0yNy4yNWE3LjQzIDcuNDMgMCAwMC0xMC4xNS0yLjcxTTE4Ljc2IDcwLjE0YTcuNDMgNy40MyAwIDAwMi43MiAxMC4xNUw0OC43MiA5NmE3LjQyIDcuNDIgMCAxMDcuNDMtMTIuODZMMjguOSA2Ny40MmE3LjQzIDcuNDMgMCAwMC0xMC4xNCAyLjcyTTI1OC45NyAyMDAuMjRsLTI3LjI1LTE1LjczYTcuNDMgNy40MyAwIDAwLTcuNDIgMTIuODdsMjcuMjQgMTUuNzNhNy40IDcuNCAwIDAwMTAuMTQtMi43MiA3LjQzIDcuNDMgMCAwMC0yLjcxLTEwLjE1TTQ2LjI4IDE0MC4yN2MwLTQuMS0zLjMzLTcuNDItNy40My03LjQySDcuNGE3LjQzIDcuNDMgMCAwMDAgMTQuODVoMzEuNDZjNC4xIDAgNy40My0zLjMzIDcuNDMtNy40M00yNzMuMDUgMTMyLjg1aC0zMS40NmE3LjQzIDcuNDMgMCAwMDAgMTQuODVoMzEuNDZhNy40MyA3LjQzIDAgMDAwLTE0Ljg1TTQ4LjczIDE4NC41MUwyMS41IDIwMC4yNGE3LjQzIDcuNDMgMCAxMDcuNDIgMTIuODZsMjcuMjUtMTUuNzNhNy40MyA3LjQzIDAgMDAtNy40My0xMi44Nk0yNTEuNTQgNjcuNDJMMjI0LjMgODMuMTVBNy40MyA3LjQzIDAgMDAyMzEuNzIgOTZsMjcuMjQtMTUuNzNhNy40MyA3LjQzIDAgMDAtNy40Mi0xMi44Nk04My4xIDIyNC4zNGwtMTUuNzMgMjcuMjRhNy40MyA3LjQzIDAgMDAxMi44NyA3LjQzbDE1LjczLTI3LjI1YTcuNDMgNy40MyAwIDAwLTEyLjg3LTcuNDJNMTg3LjIgNTguOTFhNy40IDcuNCAwIDAwMTAuMTQtMi43MWwxNS43My0yNy4yNWE3LjQzIDcuNDMgMCAxMC0xMi44Ni03LjQybC0xNS43MyAyNy4yNGE3LjQzIDcuNDMgMCAwMDIuNzEgMTAuMTQiIGZpbGw9IiNkZWM2MGYiLz48L2c+PC9zdmc+Cg=="},27518:M=>{M.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M15.4%2016.6L10.8%2012l4.6-4.6L14%206l-6%206%206%206%201.4-1.4z%27/%3e%3c/svg%3e"},27514:M=>{M.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M18.4%207.4L17%206l-6%206%206%206%201.4-1.4-4.6-4.6%204.6-4.6m-6%200L11%206l-6%206%206%206%201.4-1.4L7.8%2012l4.6-4.6z%27/%3e%3c/svg%3e"},79722:M=>{M.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M5.6%207.4L7%206l6%206-6%206-1.4-1.4%204.6-4.6-4.6-4.6m6%200L13%206l6%206-6%206-1.4-1.4%204.6-4.6-4.6-4.6z%27/%3e%3c/svg%3e"},86886:M=>{M.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M8.6%2016.6l4.6-4.6-4.6-4.6L10%206l6%206-6%206-1.4-1.4z%27/%3e%3c/svg%3e"}},A={};function g(M){var t=A[M];if(void 0!==t)return t.exports;var N=A[M]={id:M,loaded:!1,exports:{}};return D[M].call(N.exports,N,N.exports,g),N.loaded=!0,N.exports}g.m=D,M=[],g.O=(t,N,u,D)=>{if(!N){var A=1/0;for(L=0;L=D)&&Object.keys(g.O).every((M=>g.O[M](N[i])))?N.splice(i--,1):(e=!1,D0&&M[L-1][2]>D;L--)M[L]=M[L-1];M[L]=[N,u,D]},g.n=M=>{var t=M&&M.__esModule?()=>M.default:()=>M;return g.d(t,{a:t}),t},g.d=(M,t)=>{for(var N in t)g.o(t,N)&&!g.o(M,N)&&Object.defineProperty(M,N,{enumerable:!0,get:t[N]})},g.f={},g.e=M=>Promise.all(Object.keys(g.f).reduce(((t,N)=>(g.f[N](M,t),t)),[])),g.u=M=>M+"-"+M+".js?v="+{4254:"5c2324570f66dff0c8a1",9480:"2fb23485ae3a8860e96b"}[M],g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(M){if("object"==typeof window)return window}}(),g.o=(M,t)=>Object.prototype.hasOwnProperty.call(M,t),N={},u="nextcloud:",g.l=(M,t,D,A)=>{if(N[M])N[M].push(t);else{var e,i;if(void 0!==D)for(var I=document.getElementsByTagName("script"),L=0;L{e.onerror=e.onload=null,clearTimeout(a);var D=N[M];if(delete N[M],e.parentNode&&e.parentNode.removeChild(e),D&&D.forEach((M=>M(u))),t)return t(u)},a=setTimeout(y.bind(null,void 0,{type:"timeout",target:e}),12e4);e.onerror=y.bind(null,e.onerror),e.onload=y.bind(null,e.onload),i&&document.head.appendChild(e)}},g.r=M=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(M,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(M,"__esModule",{value:!0})},g.nmd=M=>(M.paths=[],M.children||(M.children=[]),M),g.j=1848,(()=>{var M;g.g.importScripts&&(M=g.g.location+"");var t=g.g.document;if(!M&&t&&(t.currentScript&&(M=t.currentScript.src),!M)){var N=t.getElementsByTagName("script");if(N.length)for(var u=N.length-1;u>-1&&(!M||!/^http(s?):/.test(M));)M=N[u--].src}if(!M)throw new Error("Automatic publicPath is not supported in this browser");M=M.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),g.p=M})(),(()=>{g.b=document.baseURI||self.location.href;var M={1848:0};g.f.j=(t,N)=>{var u=g.o(M,t)?M[t]:void 0;if(0!==u)if(u)N.push(u[2]);else{var D=new Promise(((N,D)=>u=M[t]=[N,D]));N.push(u[2]=D);var A=g.p+g.u(t),e=new Error;g.l(A,(N=>{if(g.o(M,t)&&(0!==(u=M[t])&&(M[t]=void 0),u)){var D=N&&("load"===N.type?"missing":N.type),A=N&&N.target&&N.target.src;e.message="Loading chunk "+t+" failed.\n("+D+": "+A+")",e.name="ChunkLoadError",e.type=D,e.request=A,u[1](e)}}),"chunk-"+t,t)}},g.O.j=t=>0===M[t];var t=(t,N)=>{var u,D,A=N[0],e=N[1],i=N[2],I=0;if(A.some((t=>0!==M[t]))){for(u in e)g.o(e,u)&&(g.m[u]=e[u]);if(i)var L=i(g)}for(t&&t(N);Ig(55924)));e=g.O(e)})(); +//# sourceMappingURL=weather_status-weather-status.js.map?v=a03d5929bfdbd9a78d2f \ No newline at end of file diff --git a/dist/weather_status-weather-status.js.map b/dist/weather_status-weather-status.js.map index 61e2a921160c9..2d8060207864d 100644 --- a/dist/weather_status-weather-status.js.map +++ b/dist/weather_status-weather-status.js.map @@ -1 +1 @@ -{"version":3,"file":"weather_status-weather-status.js?v=0dd80573efc9d20e4643","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/node_modules/vue-material-design-icons/Star.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Star.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/Star.vue?35ed","webpack:///nextcloud/node_modules/vue-material-design-icons/Star.vue?vue&type=template&id=d5ace39e","webpack:///nextcloud/node_modules/vue-material-design-icons/StarOutline.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/StarOutline.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/StarOutline.vue?9e0e","webpack:///nextcloud/node_modules/vue-material-design-icons/StarOutline.vue?vue&type=template&id=b66aa068","webpack:///nextcloud/apps/weather_status/src/services/weatherStatusService.js","webpack:///nextcloud/apps/weather_status/src/App.vue","webpack:///nextcloud/apps/weather_status/src/App.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/weather_status/src/App.vue?98fa","webpack://nextcloud/./apps/weather_status/src/App.vue?02d4","webpack://nextcloud/./apps/weather_status/src/App.vue?2990","webpack:///nextcloud/apps/weather_status/src/weather-status.js","webpack:///nextcloud/apps/weather_status/src/App.vue?vue&type=style&index=0&id=f18181c4&prod&lang=scss","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Star.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Star.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Star.vue?vue&type=template&id=d5ace39e\"\nimport script from \"./Star.vue?vue&type=script&lang=js\"\nexport * from \"./Star.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-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./StarOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./StarOutline.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./StarOutline.vue?vue&type=template&id=b66aa068\"\nimport script from \"./StarOutline.vue?vue&type=script&lang=js\"\nexport * from \"./StarOutline.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-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport HttpClient from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\n/**\n *\n *\n * @param {string} lat the latitude\n * @param {string} lon the longitude\n * @return {Promise}\n */\nconst setLocation = async (lat, lon) => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/location')\n\tconst response = await HttpClient.put(url, {\n\t\taddress: '',\n\t\tlat,\n\t\tlon,\n\t})\n\n\treturn response.data.ocs.data\n}\n\n/**\n *\n * @param {string} address The location\n * @return {Promise}\n */\nconst setAddress = async (address) => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/location')\n\tconst response = await HttpClient.put(url, {\n\t\taddress,\n\t\tlat: null,\n\t\tlon: null,\n\t})\n\n\treturn response.data.ocs.data\n}\n\n/**\n *\n * @param {string} mode can be 1 browser or 2 custom\n * @return {Promise}\n */\nconst setMode = async (mode) => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/mode')\n\tconst response = await HttpClient.put(url, {\n\t\tmode,\n\t})\n\n\treturn response.data.ocs.data\n}\n\n/**\n *\n * @return {Promise}\n */\nconst usePersonalAddress = async () => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/use-personal')\n\tconst response = await HttpClient.put(url)\n\n\treturn response.data.ocs.data\n}\n\n/**\n * Fetches the location information for current user\n *\n * @return {Promise}\n */\nconst getLocation = async () => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/location')\n\tconst response = await HttpClient.get(url)\n\n\treturn response.data.ocs.data\n}\n\n/**\n * Fetches the weather forecast\n *\n * @return {Promise}\n */\nconst fetchForecast = async () => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/forecast')\n\tconst response = await HttpClient.get(url)\n\n\treturn response.data.ocs.data\n}\n\n/**\n * Fetches the location favorites\n *\n * @return {Promise}\n */\nconst getFavorites = async () => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/favorites')\n\tconst response = await HttpClient.get(url)\n\n\treturn response.data.ocs.data\n}\n\n/**\n *\n * @param {Array} favorites List of favorite addresses\n * @return {Promise}\n */\nconst saveFavorites = async (favorites) => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/favorites')\n\tconst response = await HttpClient.put(url, {\n\t\tfavorites,\n\t})\n\n\treturn response.data.ocs.data\n}\n\nexport {\n\tusePersonalAddress,\n\tsetMode,\n\tgetLocation,\n\tsetLocation,\n\tsetAddress,\n\tfetchForecast,\n\tgetFavorites,\n\tsaveFavorites,\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!./App.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!./App.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!./App.vue?vue&type=style&index=0&id=f18181c4&prod&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=f18181c4&prod&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=f18181c4\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=f18181c4&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"weather-status-menu-item\"}},[_c('NcActions',{staticClass:\"weather-status-menu-item__subheader\",attrs:{\"default-icon\":_vm.weatherIcon,\"aria-hidden\":true,\"aria-label\":_vm.currentWeatherMessage,\"menu-name\":_vm.currentWeatherMessage}},[(_vm.gotWeather)?_c('NcActionText',{attrs:{\"aria-hidden\":true,\"icon\":_vm.futureWeatherIcon}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.forecastMessage)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.gotWeather)?_c('NcActionLink',{attrs:{\"icon\":\"icon-address\",\"target\":\"_blank\",\"aria-hidden\":true,\"href\":_vm.weatherLinkTarget,\"close-after-click\":true}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.locationText)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.gotWeather)?_c('NcActionButton',{attrs:{\"aria-hidden\":true},on:{\"click\":_vm.onAddRemoveFavoriteClick},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_vm.addRemoveFavoriteIcon,{tag:\"component\",staticClass:\"favorite-color\",attrs:{\"size\":20}})]},proxy:true}],null,false,1785206719)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.addRemoveFavoriteText)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.address && !_vm.errorMessage)?_c('NcActionSeparator'):_vm._e(),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"icon\":\"icon-crosshair\",\"close-after-click\":true,\"aria-hidden\":true},on:{\"click\":_vm.onBrowserLocationClick}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('weather_status', 'Detect location'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcActionInput',{ref:\"addressInput\",attrs:{\"label\":_vm.t('weather_status', 'Set custom address'),\"disabled\":false,\"icon\":\"icon-rename\",\"aria-hidden\":true,\"type\":\"text\",\"value\":\"\"},on:{\"submit\":_vm.onAddressSubmit}}),_vm._v(\" \"),(_vm.favorites.length > 0)?[_c('NcActionCaption',{attrs:{\"name\":_vm.t('weather_status', 'Favorites')}}),_vm._v(\" \"),_vm._l((_vm.favorites),function(favorite){return _c('NcActionButton',{key:favorite,attrs:{\"aria-hidden\":true},on:{\"click\":function($event){return _vm.onFavoriteClick($event, favorite)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconStar',{class:{'favorite-color': _vm.address === favorite},attrs:{\"size\":20}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(favorite)+\"\\n\\t\\t\\t\")])})]:_vm._e()],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Vue from 'vue'\nimport { getRequestToken } from '@nextcloud/auth'\nimport App from './App.vue'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\nVue.prototype.t = t\n\ndocument.addEventListener('DOMContentLoaded', function() {\n\tif (!OCA.Dashboard) {\n\t\treturn\n\t}\n\n\tOCA.Dashboard.registerStatus('weather', (el) => {\n\t\tconst Dashboard = Vue.extend(App)\n\t\treturn new Dashboard().$mount(el)\n\t})\n})\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"./../img/app-dark.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"./../img/sun.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_2___ = new URL(\"./../img/moon.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_3___ = new URL(\"./../img/cloud-cloud.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_4___ = new URL(\"./../img/sun-small-cloud.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_5___ = new URL(\"./../img/moon-small-cloud.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_6___ = new URL(\"./../img/sun-cloud.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_7___ = new URL(\"./../img/moon-cloud.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_8___ = new URL(\"./../img/fog.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_9___ = new URL(\"./../img/light-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_10___ = new URL(\"./../img/rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_11___ = new URL(\"./../img/heavy-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_12___ = new URL(\"./../img/sun-cloud-light-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_13___ = new URL(\"./../img/moon-cloud-light-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_14___ = new URL(\"./../img/sun-cloud-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_15___ = new URL(\"./../img/moon-cloud-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_16___ = new URL(\"./../img/sun-cloud-heavy-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_17___ = new URL(\"./../img/moon-cloud-heavy-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_18___ = new URL(\"./../img/cross.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___);\nvar ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___);\nvar ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___);\nvar ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___);\nvar ___CSS_LOADER_URL_REPLACEMENT_8___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___);\nvar ___CSS_LOADER_URL_REPLACEMENT_9___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___);\nvar ___CSS_LOADER_URL_REPLACEMENT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___);\nvar ___CSS_LOADER_URL_REPLACEMENT_11___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___);\nvar ___CSS_LOADER_URL_REPLACEMENT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___);\nvar ___CSS_LOADER_URL_REPLACEMENT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___);\nvar ___CSS_LOADER_URL_REPLACEMENT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___);\nvar ___CSS_LOADER_URL_REPLACEMENT_15___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___);\nvar ___CSS_LOADER_URL_REPLACEMENT_16___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_16___);\nvar ___CSS_LOADER_URL_REPLACEMENT_17___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_17___);\nvar ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_18___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.icon-weather{background-size:16px}.icon-weather-status{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___})}.icon-clearsky-day{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_1___})}.icon-clearsky-night{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_2___})}.icon-cloudy{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_3___})}.icon-fair-day{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_4___})}.icon-fair-night{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_5___})}.icon-partlycloudy-day{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_6___})}.icon-partlycloudy-night{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_7___})}.icon-fog{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_8___})}.icon-lightrain{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_9___})}.icon-rain{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_10___})}.icon-heavyrain{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_11___})}.icon-light-rainshowers-day{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_12___})}.icon-light-rainshowers-night{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_13___})}.icon-rainshowers-day{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_14___})}.icon-rainshowers-night{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_15___})}.icon-heavy-rainshowers-day{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_16___})}.icon-heavy-rainshowers-night{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_17___})}.icon-crosshair{background-color:var(--color-main-text);padding:0 !important;mask:url(${___CSS_LOADER_URL_REPLACEMENT_18___}) no-repeat;mask-size:18px 18px;mask-position:center;-webkit-mask:url(${___CSS_LOADER_URL_REPLACEMENT_18___}) no-repeat;-webkit-mask-size:18px 18px;-webkit-mask-position:center;min-width:44px !important;min-height:44px !important}.favorite-color{color:var(--color-favorite)}.weather-status-menu-item__subheader{width:100%}.weather-status-menu-item__subheader .trigger>.icon{background-size:16px;border:0;border-radius:var(--border-radius-pill);font-weight:normal;padding-left:40px}.weather-status-menu-item__subheader .trigger>.icon.icon-loading-small::after{left:21px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/weather_status/src/App.vue\"],\"names\":[],\"mappings\":\"AACA,cACC,oBAAA,CAED,qBACC,wDAAA,CAED,mBACC,wDAAA,CAED,qBACC,wDAAA,CAED,aACC,wDAAA,CAED,eACC,wDAAA,CAED,iBACC,wDAAA,CAED,uBACC,wDAAA,CAED,yBACC,wDAAA,CAED,UACC,wDAAA,CAED,gBACC,wDAAA,CAED,WACC,yDAAA,CAED,gBACC,yDAAA,CAED,4BACC,yDAAA,CAED,8BACC,yDAAA,CAED,sBACC,yDAAA,CAED,wBACC,yDAAA,CAED,4BACC,yDAAA,CAED,8BACC,yDAAA,CAED,gBACI,uCAAA,CACA,oBAAA,CACA,uDAAA,CACA,mBAAA,CACA,oBAAA,CACA,+DAAA,CACA,2BAAA,CACA,4BAAA,CACA,yBAAA,CACA,0BAAA,CAIJ,gBACC,2BAAA,CAGD,qCACC,UAAA,CAEA,oDACC,oBAAA,CACA,QAAA,CACA,uCAAA,CACA,kBAAA,CACA,iBAAA,CAGC,8EACC,SAAA\",\"sourcesContent\":[\"\\n.icon-weather {\\n\\tbackground-size: 16px;\\n}\\n.icon-weather-status {\\n\\tbackground-image: url('./../img/app-dark.svg');\\n}\\n.icon-clearsky-day {\\n\\tbackground-image: url('./../img/sun.svg');\\n}\\n.icon-clearsky-night {\\n\\tbackground-image: url('./../img/moon.svg');\\n}\\n.icon-cloudy {\\n\\tbackground-image: url('./../img/cloud-cloud.svg');\\n}\\n.icon-fair-day {\\n\\tbackground-image: url('./../img/sun-small-cloud.svg');\\n}\\n.icon-fair-night {\\n\\tbackground-image: url('./../img/moon-small-cloud.svg');\\n}\\n.icon-partlycloudy-day {\\n\\tbackground-image: url('./../img/sun-cloud.svg');\\n}\\n.icon-partlycloudy-night {\\n\\tbackground-image: url('./../img/moon-cloud.svg');\\n}\\n.icon-fog {\\n\\tbackground-image: url('./../img/fog.svg');\\n}\\n.icon-lightrain {\\n\\tbackground-image: url('./../img/light-rain.svg');\\n}\\n.icon-rain {\\n\\tbackground-image: url('./../img/rain.svg');\\n}\\n.icon-heavyrain {\\n\\tbackground-image: url('./../img/heavy-rain.svg');\\n}\\n.icon-light-rainshowers-day {\\n\\tbackground-image: url('./../img/sun-cloud-light-rain.svg');\\n}\\n.icon-light-rainshowers-night {\\n\\tbackground-image: url('./../img/moon-cloud-light-rain.svg');\\n}\\n.icon-rainshowers-day {\\n\\tbackground-image: url('./../img/sun-cloud-rain.svg');\\n}\\n.icon-rainshowers-night {\\n\\tbackground-image: url('./../img/moon-cloud-rain.svg');\\n}\\n.icon-heavy-rainshowers-day {\\n\\tbackground-image: url('./../img/sun-cloud-heavy-rain.svg');\\n}\\n.icon-heavy-rainshowers-night {\\n\\tbackground-image: url('./../img/moon-cloud-heavy-rain.svg');\\n}\\n.icon-crosshair {\\n background-color: var(--color-main-text);\\n padding: 0 !important;\\n mask: url(./../img/cross.svg) no-repeat;\\n mask-size: 18px 18px;\\n mask-position: center;\\n -webkit-mask: url(./../img/cross.svg) no-repeat;\\n -webkit-mask-size: 18px 18px;\\n -webkit-mask-position: center;\\n min-width: 44px !important;\\n min-height: 44px !important;\\n}\\n\\n// Set color to primary element for current / active favorite address\\n.favorite-color {\\n\\tcolor: var(--color-favorite);\\n}\\n\\n.weather-status-menu-item__subheader {\\n\\twidth: 100%;\\n\\n\\t.trigger > .icon {\\n\\t\\tbackground-size: 16px;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: var(--border-radius-pill);\\n\\t\\tfont-weight: normal;\\n\\t\\tpadding-left: 40px;\\n\\n\\t\\t&.icon-loading-small {\\n\\t\\t\\t&::after {\\n\\t\\t\\t\\tleft: 21px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"4254\":\"5c2324570f66dff0c8a1\",\"9480\":\"2fb23485ae3a8860e96b\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 1848;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t1848: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(55924)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","name","emits","props","title","type","String","fillColor","default","size","Number","_vm","this","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","saveFavorites","async","url","generateOcsUrl","HttpClient","put","favorites","data","ocs","weatherOptions","clearsky_day","icon","text","temperature","unit","arguments","length","undefined","t","clearsky_night","cloudy","fair_day","fair_night","partlycloudy_day","partlycloudy_night","fog","lightrain","rain","heavyrain","rainshowers_day","rainshowers_night","lightrainshowers_day","lightrainshowers_night","heavyrainshowers_day","heavyrainshowers_night","components","IconStar","NcActions","NcActionButton","NcActionCaption","NcActionInput","NcActionLink","NcActionSeparator","NcActionText","locale","getLocale","loading","errorMessage","mode","address","lat","lon","offset","forecasts","loop","computed","useFahrenheitLocale","includes","temperatureUnit","locationText","adr","getTemperature","futureTemperature","weatherCode","getWeatherCode","futureWeatherCode","weatherIcon","getWeatherIcon","futureWeatherIcon","currentWeatherMessage","getWeatherMessage","forecastMessage","weatherLinkTarget","gotWeather","addRemoveFavoriteIcon","currentAddressIsFavorite","IconStarOutline","addRemoveFavoriteText","find","f","mounted","initWeatherStatus","methods","loc","get","network","askBrowserLocation","startLoop","favs","err","code","console","info","response","status","showError","error","clearInterval","setInterval","getForecast","navigator","geolocation","window","isSecureContext","getCurrentPosition","position","debug","coords","latitude","longitude","saveMode","saveLocation","usePersonalAddress","setAddress","success","onBrowserLocationClick","onAddressSubmit","newAddress","$refs","addressInput","$el","querySelector","value","getLocalizedTemperature","celcius","onAddRemoveFavoriteClick","currentIsFavorite","i","indexOf","splice","push","onFavoriteClick","e","favAddress","target","classList","contains","formatTime","time","moment","format","instant","details","air_temperature","next_1_hours","summary","symbol_code","later","Math","round","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","scopedSlots","_u","key","fn","tag","proxy","ref","_l","favorite","class","__webpack_nonce__","btoa","getRequestToken","Vue","prototype","document","addEventListener","OCA","Dashboard","registerStatus","el","extend","App","$mount","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_URL_IMPORT_2___","___CSS_LOADER_URL_IMPORT_3___","___CSS_LOADER_URL_IMPORT_4___","___CSS_LOADER_URL_IMPORT_5___","___CSS_LOADER_URL_IMPORT_6___","___CSS_LOADER_URL_IMPORT_7___","___CSS_LOADER_URL_IMPORT_8___","___CSS_LOADER_URL_IMPORT_9___","___CSS_LOADER_URL_IMPORT_10___","___CSS_LOADER_URL_IMPORT_11___","___CSS_LOADER_URL_IMPORT_12___","___CSS_LOADER_URL_IMPORT_13___","___CSS_LOADER_URL_IMPORT_14___","___CSS_LOADER_URL_IMPORT_15___","___CSS_LOADER_URL_IMPORT_16___","___CSS_LOADER_URL_IMPORT_17___","___CSS_LOADER_URL_IMPORT_18___","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_REPLACEMENT_1___","___CSS_LOADER_URL_REPLACEMENT_2___","___CSS_LOADER_URL_REPLACEMENT_3___","___CSS_LOADER_URL_REPLACEMENT_4___","___CSS_LOADER_URL_REPLACEMENT_5___","___CSS_LOADER_URL_REPLACEMENT_6___","___CSS_LOADER_URL_REPLACEMENT_7___","___CSS_LOADER_URL_REPLACEMENT_8___","___CSS_LOADER_URL_REPLACEMENT_9___","___CSS_LOADER_URL_REPLACEMENT_10___","___CSS_LOADER_URL_REPLACEMENT_11___","___CSS_LOADER_URL_REPLACEMENT_12___","___CSS_LOADER_URL_REPLACEMENT_13___","___CSS_LOADER_URL_REPLACEMENT_14___","___CSS_LOADER_URL_REPLACEMENT_15___","___CSS_LOADER_URL_REPLACEMENT_16___","___CSS_LOADER_URL_REPLACEMENT_17___","___CSS_LOADER_URL_REPLACEMENT_18___","module","id","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","loaded","__webpack_modules__","call","m","O","result","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","Object","keys","every","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","chunkId","Promise","all","reduce","promises","u","g","globalThis","Function","obj","prop","hasOwnProperty","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","head","appendChild","Symbol","toStringTag","nmd","paths","children","scriptUrl","importScripts","location","currentScript","test","Error","replace","p","b","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"weather_status-weather-status.js?v=a03d5929bfdbd9a78d2f","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/node_modules/vue-material-design-icons/Star.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Star.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/Star.vue?35ed","webpack:///nextcloud/node_modules/vue-material-design-icons/Star.vue?vue&type=template&id=d5ace39e","webpack:///nextcloud/node_modules/vue-material-design-icons/StarOutline.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/StarOutline.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/StarOutline.vue?9e0e","webpack:///nextcloud/node_modules/vue-material-design-icons/StarOutline.vue?vue&type=template&id=b66aa068","webpack:///nextcloud/apps/weather_status/src/services/weatherStatusService.js","webpack:///nextcloud/apps/weather_status/src/App.vue","webpack:///nextcloud/apps/weather_status/src/App.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/weather_status/src/App.vue?98fa","webpack://nextcloud/./apps/weather_status/src/App.vue?02d4","webpack://nextcloud/./apps/weather_status/src/App.vue?2990","webpack:///nextcloud/apps/weather_status/src/weather-status.js","webpack:///nextcloud/apps/weather_status/src/App.vue?vue&type=style&index=0&id=f18181c4&prod&lang=scss","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Star.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Star.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Star.vue?vue&type=template&id=d5ace39e\"\nimport script from \"./Star.vue?vue&type=script&lang=js\"\nexport * from \"./Star.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-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./StarOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./StarOutline.vue?vue&type=script&lang=js\"","\n\n","import { render, staticRenderFns } from \"./StarOutline.vue?vue&type=template&id=b66aa068\"\nimport script from \"./StarOutline.vue?vue&type=script&lang=js\"\nexport * from \"./StarOutline.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-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport HttpClient from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\n/**\n *\n *\n * @param {string} lat the latitude\n * @param {string} lon the longitude\n * @return {Promise}\n */\nconst setLocation = async (lat, lon) => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/location')\n\tconst response = await HttpClient.put(url, {\n\t\taddress: '',\n\t\tlat,\n\t\tlon,\n\t})\n\n\treturn response.data.ocs.data\n}\n\n/**\n *\n * @param {string} address The location\n * @return {Promise}\n */\nconst setAddress = async (address) => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/location')\n\tconst response = await HttpClient.put(url, {\n\t\taddress,\n\t\tlat: null,\n\t\tlon: null,\n\t})\n\n\treturn response.data.ocs.data\n}\n\n/**\n *\n * @param {string} mode can be 1 browser or 2 custom\n * @return {Promise}\n */\nconst setMode = async (mode) => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/mode')\n\tconst response = await HttpClient.put(url, {\n\t\tmode,\n\t})\n\n\treturn response.data.ocs.data\n}\n\n/**\n *\n * @return {Promise}\n */\nconst usePersonalAddress = async () => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/use-personal')\n\tconst response = await HttpClient.put(url)\n\n\treturn response.data.ocs.data\n}\n\n/**\n * Fetches the location information for current user\n *\n * @return {Promise}\n */\nconst getLocation = async () => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/location')\n\tconst response = await HttpClient.get(url)\n\n\treturn response.data.ocs.data\n}\n\n/**\n * Fetches the weather forecast\n *\n * @return {Promise}\n */\nconst fetchForecast = async () => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/forecast')\n\tconst response = await HttpClient.get(url)\n\n\treturn response.data.ocs.data\n}\n\n/**\n * Fetches the location favorites\n *\n * @return {Promise}\n */\nconst getFavorites = async () => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/favorites')\n\tconst response = await HttpClient.get(url)\n\n\treturn response.data.ocs.data\n}\n\n/**\n *\n * @param {Array} favorites List of favorite addresses\n * @return {Promise}\n */\nconst saveFavorites = async (favorites) => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/favorites')\n\tconst response = await HttpClient.put(url, {\n\t\tfavorites,\n\t})\n\n\treturn response.data.ocs.data\n}\n\nexport {\n\tusePersonalAddress,\n\tsetMode,\n\tgetLocation,\n\tsetLocation,\n\tsetAddress,\n\tfetchForecast,\n\tgetFavorites,\n\tsaveFavorites,\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!./App.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!./App.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!./App.vue?vue&type=style&index=0&id=f18181c4&prod&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=f18181c4&prod&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=f18181c4\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=f18181c4&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"weather-status-menu-item\"}},[_c('NcActions',{staticClass:\"weather-status-menu-item__subheader\",attrs:{\"default-icon\":_vm.weatherIcon,\"aria-hidden\":true,\"aria-label\":_vm.currentWeatherMessage,\"menu-name\":_vm.currentWeatherMessage}},[(_vm.gotWeather)?_c('NcActionText',{attrs:{\"aria-hidden\":true,\"icon\":_vm.futureWeatherIcon}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.forecastMessage)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.gotWeather)?_c('NcActionLink',{attrs:{\"icon\":\"icon-address\",\"target\":\"_blank\",\"aria-hidden\":true,\"href\":_vm.weatherLinkTarget,\"close-after-click\":true}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.locationText)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.gotWeather)?_c('NcActionButton',{attrs:{\"aria-hidden\":true},on:{\"click\":_vm.onAddRemoveFavoriteClick},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_vm.addRemoveFavoriteIcon,{tag:\"component\",staticClass:\"favorite-color\",attrs:{\"size\":20}})]},proxy:true}],null,false,1785206719)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.addRemoveFavoriteText)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.address && !_vm.errorMessage)?_c('NcActionSeparator'):_vm._e(),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"icon\":\"icon-crosshair\",\"close-after-click\":true,\"aria-hidden\":true},on:{\"click\":_vm.onBrowserLocationClick}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('weather_status', 'Detect location'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcActionInput',{ref:\"addressInput\",attrs:{\"label\":_vm.t('weather_status', 'Set custom address'),\"disabled\":false,\"icon\":\"icon-rename\",\"aria-hidden\":true,\"type\":\"text\",\"value\":\"\"},on:{\"submit\":_vm.onAddressSubmit}}),_vm._v(\" \"),(_vm.favorites.length > 0)?[_c('NcActionCaption',{attrs:{\"name\":_vm.t('weather_status', 'Favorites')}}),_vm._v(\" \"),_vm._l((_vm.favorites),function(favorite){return _c('NcActionButton',{key:favorite,attrs:{\"aria-hidden\":true},on:{\"click\":function($event){return _vm.onFavoriteClick($event, favorite)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconStar',{class:{'favorite-color': _vm.address === favorite},attrs:{\"size\":20}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(favorite)+\"\\n\\t\\t\\t\")])})]:_vm._e()],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Vue from 'vue'\nimport { getRequestToken } from '@nextcloud/auth'\nimport App from './App.vue'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\nVue.prototype.t = t\n\ndocument.addEventListener('DOMContentLoaded', function() {\n\tif (!OCA.Dashboard) {\n\t\treturn\n\t}\n\n\tOCA.Dashboard.registerStatus('weather', (el) => {\n\t\tconst Dashboard = Vue.extend(App)\n\t\treturn new Dashboard().$mount(el)\n\t})\n})\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"./../img/app-dark.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"./../img/sun.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_2___ = new URL(\"./../img/moon.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_3___ = new URL(\"./../img/cloud-cloud.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_4___ = new URL(\"./../img/sun-small-cloud.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_5___ = new URL(\"./../img/moon-small-cloud.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_6___ = new URL(\"./../img/sun-cloud.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_7___ = new URL(\"./../img/moon-cloud.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_8___ = new URL(\"./../img/fog.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_9___ = new URL(\"./../img/light-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_10___ = new URL(\"./../img/rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_11___ = new URL(\"./../img/heavy-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_12___ = new URL(\"./../img/sun-cloud-light-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_13___ = new URL(\"./../img/moon-cloud-light-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_14___ = new URL(\"./../img/sun-cloud-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_15___ = new URL(\"./../img/moon-cloud-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_16___ = new URL(\"./../img/sun-cloud-heavy-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_17___ = new URL(\"./../img/moon-cloud-heavy-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_18___ = new URL(\"./../img/cross.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___);\nvar ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___);\nvar ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___);\nvar ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___);\nvar ___CSS_LOADER_URL_REPLACEMENT_8___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___);\nvar ___CSS_LOADER_URL_REPLACEMENT_9___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___);\nvar ___CSS_LOADER_URL_REPLACEMENT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___);\nvar ___CSS_LOADER_URL_REPLACEMENT_11___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___);\nvar ___CSS_LOADER_URL_REPLACEMENT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___);\nvar ___CSS_LOADER_URL_REPLACEMENT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___);\nvar ___CSS_LOADER_URL_REPLACEMENT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___);\nvar ___CSS_LOADER_URL_REPLACEMENT_15___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___);\nvar ___CSS_LOADER_URL_REPLACEMENT_16___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_16___);\nvar ___CSS_LOADER_URL_REPLACEMENT_17___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_17___);\nvar ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_18___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.icon-weather{background-size:16px}.icon-weather-status{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___})}.icon-clearsky-day{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_1___})}.icon-clearsky-night{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_2___})}.icon-cloudy{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_3___})}.icon-fair-day{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_4___})}.icon-fair-night{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_5___})}.icon-partlycloudy-day{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_6___})}.icon-partlycloudy-night{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_7___})}.icon-fog{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_8___})}.icon-lightrain{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_9___})}.icon-rain{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_10___})}.icon-heavyrain{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_11___})}.icon-light-rainshowers-day{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_12___})}.icon-light-rainshowers-night{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_13___})}.icon-rainshowers-day{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_14___})}.icon-rainshowers-night{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_15___})}.icon-heavy-rainshowers-day{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_16___})}.icon-heavy-rainshowers-night{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_17___})}.icon-crosshair{background-color:var(--color-main-text);padding:0 !important;mask:url(${___CSS_LOADER_URL_REPLACEMENT_18___}) no-repeat;mask-size:18px 18px;mask-position:center;-webkit-mask:url(${___CSS_LOADER_URL_REPLACEMENT_18___}) no-repeat;-webkit-mask-size:18px 18px;-webkit-mask-position:center;min-width:44px !important;min-height:44px !important}.favorite-color{color:var(--color-favorite)}.weather-status-menu-item__subheader{width:100%}.weather-status-menu-item__subheader .trigger>.icon{background-size:16px;border:0;border-radius:var(--border-radius-pill);font-weight:normal;padding-left:40px}.weather-status-menu-item__subheader .trigger>.icon.icon-loading-small::after{left:21px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/weather_status/src/App.vue\"],\"names\":[],\"mappings\":\"AACA,cACC,oBAAA,CAED,qBACC,wDAAA,CAED,mBACC,wDAAA,CAED,qBACC,wDAAA,CAED,aACC,wDAAA,CAED,eACC,wDAAA,CAED,iBACC,wDAAA,CAED,uBACC,wDAAA,CAED,yBACC,wDAAA,CAED,UACC,wDAAA,CAED,gBACC,wDAAA,CAED,WACC,yDAAA,CAED,gBACC,yDAAA,CAED,4BACC,yDAAA,CAED,8BACC,yDAAA,CAED,sBACC,yDAAA,CAED,wBACC,yDAAA,CAED,4BACC,yDAAA,CAED,8BACC,yDAAA,CAED,gBACI,uCAAA,CACA,oBAAA,CACA,uDAAA,CACA,mBAAA,CACA,oBAAA,CACA,+DAAA,CACA,2BAAA,CACA,4BAAA,CACA,yBAAA,CACA,0BAAA,CAIJ,gBACC,2BAAA,CAGD,qCACC,UAAA,CAEA,oDACC,oBAAA,CACA,QAAA,CACA,uCAAA,CACA,kBAAA,CACA,iBAAA,CAGC,8EACC,SAAA\",\"sourcesContent\":[\"\\n.icon-weather {\\n\\tbackground-size: 16px;\\n}\\n.icon-weather-status {\\n\\tbackground-image: url('./../img/app-dark.svg');\\n}\\n.icon-clearsky-day {\\n\\tbackground-image: url('./../img/sun.svg');\\n}\\n.icon-clearsky-night {\\n\\tbackground-image: url('./../img/moon.svg');\\n}\\n.icon-cloudy {\\n\\tbackground-image: url('./../img/cloud-cloud.svg');\\n}\\n.icon-fair-day {\\n\\tbackground-image: url('./../img/sun-small-cloud.svg');\\n}\\n.icon-fair-night {\\n\\tbackground-image: url('./../img/moon-small-cloud.svg');\\n}\\n.icon-partlycloudy-day {\\n\\tbackground-image: url('./../img/sun-cloud.svg');\\n}\\n.icon-partlycloudy-night {\\n\\tbackground-image: url('./../img/moon-cloud.svg');\\n}\\n.icon-fog {\\n\\tbackground-image: url('./../img/fog.svg');\\n}\\n.icon-lightrain {\\n\\tbackground-image: url('./../img/light-rain.svg');\\n}\\n.icon-rain {\\n\\tbackground-image: url('./../img/rain.svg');\\n}\\n.icon-heavyrain {\\n\\tbackground-image: url('./../img/heavy-rain.svg');\\n}\\n.icon-light-rainshowers-day {\\n\\tbackground-image: url('./../img/sun-cloud-light-rain.svg');\\n}\\n.icon-light-rainshowers-night {\\n\\tbackground-image: url('./../img/moon-cloud-light-rain.svg');\\n}\\n.icon-rainshowers-day {\\n\\tbackground-image: url('./../img/sun-cloud-rain.svg');\\n}\\n.icon-rainshowers-night {\\n\\tbackground-image: url('./../img/moon-cloud-rain.svg');\\n}\\n.icon-heavy-rainshowers-day {\\n\\tbackground-image: url('./../img/sun-cloud-heavy-rain.svg');\\n}\\n.icon-heavy-rainshowers-night {\\n\\tbackground-image: url('./../img/moon-cloud-heavy-rain.svg');\\n}\\n.icon-crosshair {\\n background-color: var(--color-main-text);\\n padding: 0 !important;\\n mask: url(./../img/cross.svg) no-repeat;\\n mask-size: 18px 18px;\\n mask-position: center;\\n -webkit-mask: url(./../img/cross.svg) no-repeat;\\n -webkit-mask-size: 18px 18px;\\n -webkit-mask-position: center;\\n min-width: 44px !important;\\n min-height: 44px !important;\\n}\\n\\n// Set color to primary element for current / active favorite address\\n.favorite-color {\\n\\tcolor: var(--color-favorite);\\n}\\n\\n.weather-status-menu-item__subheader {\\n\\twidth: 100%;\\n\\n\\t.trigger > .icon {\\n\\t\\tbackground-size: 16px;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: var(--border-radius-pill);\\n\\t\\tfont-weight: normal;\\n\\t\\tpadding-left: 40px;\\n\\n\\t\\t&.icon-loading-small {\\n\\t\\t\\t&::after {\\n\\t\\t\\t\\tleft: 21px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"4254\":\"5c2324570f66dff0c8a1\",\"9480\":\"2fb23485ae3a8860e96b\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 1848;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t1848: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(55924)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","name","emits","props","title","type","String","fillColor","default","size","Number","_vm","this","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","saveFavorites","async","url","generateOcsUrl","HttpClient","put","favorites","data","ocs","weatherOptions","clearsky_day","icon","text","temperature","unit","arguments","length","undefined","t","clearsky_night","cloudy","fair_day","fair_night","partlycloudy_day","partlycloudy_night","fog","lightrain","rain","heavyrain","rainshowers_day","rainshowers_night","lightrainshowers_day","lightrainshowers_night","heavyrainshowers_day","heavyrainshowers_night","components","IconStar","NcActions","NcActionButton","NcActionCaption","NcActionInput","NcActionLink","NcActionSeparator","NcActionText","locale","getLocale","loading","errorMessage","mode","address","lat","lon","offset","forecasts","loop","computed","useFahrenheitLocale","includes","temperatureUnit","locationText","adr","getTemperature","futureTemperature","weatherCode","getWeatherCode","futureWeatherCode","weatherIcon","getWeatherIcon","futureWeatherIcon","currentWeatherMessage","getWeatherMessage","forecastMessage","weatherLinkTarget","gotWeather","addRemoveFavoriteIcon","currentAddressIsFavorite","IconStarOutline","addRemoveFavoriteText","find","f","mounted","initWeatherStatus","methods","loc","get","network","askBrowserLocation","startLoop","favs","err","code","console","info","response","status","showError","error","clearInterval","setInterval","getForecast","navigator","geolocation","window","isSecureContext","getCurrentPosition","position","debug","coords","latitude","longitude","saveMode","saveLocation","usePersonalAddress","setAddress","success","onBrowserLocationClick","onAddressSubmit","newAddress","$refs","addressInput","$el","querySelector","value","getLocalizedTemperature","celcius","onAddRemoveFavoriteClick","currentIsFavorite","i","indexOf","splice","push","onFavoriteClick","e","favAddress","target","classList","contains","formatTime","time","moment","format","instant","details","air_temperature","next_1_hours","summary","symbol_code","later","Math","round","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","scopedSlots","_u","key","fn","tag","proxy","ref","_l","favorite","class","__webpack_nonce__","btoa","getRequestToken","Vue","prototype","document","addEventListener","OCA","Dashboard","registerStatus","el","extend","App","$mount","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_URL_IMPORT_2___","___CSS_LOADER_URL_IMPORT_3___","___CSS_LOADER_URL_IMPORT_4___","___CSS_LOADER_URL_IMPORT_5___","___CSS_LOADER_URL_IMPORT_6___","___CSS_LOADER_URL_IMPORT_7___","___CSS_LOADER_URL_IMPORT_8___","___CSS_LOADER_URL_IMPORT_9___","___CSS_LOADER_URL_IMPORT_10___","___CSS_LOADER_URL_IMPORT_11___","___CSS_LOADER_URL_IMPORT_12___","___CSS_LOADER_URL_IMPORT_13___","___CSS_LOADER_URL_IMPORT_14___","___CSS_LOADER_URL_IMPORT_15___","___CSS_LOADER_URL_IMPORT_16___","___CSS_LOADER_URL_IMPORT_17___","___CSS_LOADER_URL_IMPORT_18___","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_REPLACEMENT_1___","___CSS_LOADER_URL_REPLACEMENT_2___","___CSS_LOADER_URL_REPLACEMENT_3___","___CSS_LOADER_URL_REPLACEMENT_4___","___CSS_LOADER_URL_REPLACEMENT_5___","___CSS_LOADER_URL_REPLACEMENT_6___","___CSS_LOADER_URL_REPLACEMENT_7___","___CSS_LOADER_URL_REPLACEMENT_8___","___CSS_LOADER_URL_REPLACEMENT_9___","___CSS_LOADER_URL_REPLACEMENT_10___","___CSS_LOADER_URL_REPLACEMENT_11___","___CSS_LOADER_URL_REPLACEMENT_12___","___CSS_LOADER_URL_REPLACEMENT_13___","___CSS_LOADER_URL_REPLACEMENT_14___","___CSS_LOADER_URL_REPLACEMENT_15___","___CSS_LOADER_URL_REPLACEMENT_16___","___CSS_LOADER_URL_REPLACEMENT_17___","___CSS_LOADER_URL_REPLACEMENT_18___","module","id","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","loaded","__webpack_modules__","call","m","O","result","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","Object","keys","every","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","chunkId","Promise","all","reduce","promises","u","g","globalThis","Function","obj","prop","hasOwnProperty","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","head","appendChild","Symbol","toStringTag","nmd","paths","children","scriptUrl","importScripts","location","currentScript","test","Error","replace","p","b","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file