diff options
19 files changed, 36 insertions, 39 deletions
diff --git a/apps/settings/src/components/PasswordSection.vue b/apps/settings/src/components/PasswordSection.vue index aa0c46ec131..931a0f007fe 100644 --- a/apps/settings/src/components/PasswordSection.vue +++ b/apps/settings/src/components/PasswordSection.vue @@ -25,7 +25,7 @@ :value.sync="oldPass" autocomplete="current-password" autocapitalize="none" - autocorrect="off" /> + spellcheck="false" /> <NcPasswordField id="new-pass" :label="t('settings', 'New password')" @@ -33,7 +33,7 @@ :maxlength="469" autocomplete="new-password" autocapitalize="none" - autocorrect="off" + spellcheck="false" :check-password-strength="true" /> <NcButton type="primary" diff --git a/apps/settings/src/components/PersonalInfo/EmailSection/Email.vue b/apps/settings/src/components/PersonalInfo/EmailSection/Email.vue index 65214707ca3..7b5d4c11028 100644 --- a/apps/settings/src/components/PersonalInfo/EmailSection/Email.vue +++ b/apps/settings/src/components/PersonalInfo/EmailSection/Email.vue @@ -31,7 +31,7 @@ :value="email" :aria-describedby="helperText ? `${inputId}-helper-text` : ''" autocapitalize="none" - autocorrect="off" + spellcheck="false" @input="onEmailChange"> <div class="email__actions-container"> diff --git a/apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue b/apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue index 59cccc54714..8cf92fe32ed 100644 --- a/apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue +++ b/apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue @@ -35,7 +35,7 @@ rows="8" autocapitalize="none" autocomplete="off" - autocorrect="off" + spellcheck="false" @input="onPropertyChange" /> <input v-else :id="inputId" @@ -45,7 +45,7 @@ :value="value" :aria-describedby="helperText ? `${name}-helper-text` : ''" autocapitalize="none" - autocorrect="off" + spellcheck="false" :autocomplete="autocomplete" @input="onPropertyChange"> diff --git a/apps/settings/src/components/Users/NewUserModal.vue b/apps/settings/src/components/Users/NewUserModal.vue index a93d3fc329b..ca80ae6d7ec 100644 --- a/apps/settings/src/components/Users/NewUserModal.vue +++ b/apps/settings/src/components/Users/NewUserModal.vue @@ -37,7 +37,7 @@ :label="usernameLabel" autocapitalize="none" autocomplete="off" - autocorrect="off" + spellcheck="false" pattern="[a-zA-Z0-9 _\.@\-']+" required /> <NcTextField class="modal__item" @@ -46,7 +46,7 @@ :label="t('settings', 'Display name')" autocapitalize="none" autocomplete="off" - autocorrect="off" /> + spellcheck="false" /> <span v-if="!settings.newUserRequireEmail" id="password-email-hint" class="modal__hint"> @@ -62,7 +62,7 @@ :label="newUser.mailAddress === '' ? t('settings', 'Password (required)') : t('settings', 'Password')" autocapitalize="none" autocomplete="new-password" - autocorrect="off" + spellcheck="false" :required="newUser.mailAddress === ''" /> <NcTextField class="modal__item" data-test="email" @@ -72,7 +72,7 @@ :label="newUser.password === '' || settings.newUserRequireEmail ? t('settings', 'Email (required)') : t('settings', 'Email')" autocapitalize="none" autocomplete="off" - autocorrect="off" + spellcheck="false" :required="newUser.password === '' || settings.newUserRequireEmail" /> <div class="modal__item"> <!-- hidden input trick for vanilla html5 form validation --> diff --git a/apps/settings/src/components/Users/UserRow.vue b/apps/settings/src/components/Users/UserRow.vue index 2e25c3e384c..d62780d2b61 100644 --- a/apps/settings/src/components/Users/UserRow.vue +++ b/apps/settings/src/components/Users/UserRow.vue @@ -51,7 +51,6 @@ :value.sync="editedDisplayName" autocapitalize="off" autocomplete="off" - autocorrect="off" spellcheck="false" @trailing-button-click="updateDisplayName" /> </template> @@ -82,7 +81,6 @@ :value.sync="editedPassword" autocapitalize="off" autocomplete="new-password" - autocorrect="off" required spellcheck="false" type="password" @@ -105,7 +103,6 @@ :value.sync="editedMail" autocapitalize="off" autocomplete="email" - autocorrect="off" spellcheck="false" type="email" @trailing-button-click="updateEmail" /> diff --git a/apps/user_ldap/templates/renewpassword.php b/apps/user_ldap/templates/renewpassword.php index 51cf898e133..5b51c5fc6d8 100644 --- a/apps/user_ldap/templates/renewpassword.php +++ b/apps/user_ldap/templates/renewpassword.php @@ -30,7 +30,7 @@ style('user_ldap', 'renewPassword'); <p class="grouptop"> <input type="password" id="oldPassword" name="oldPassword" placeholder="<?php echo $l->t('Current password');?>" - autofocus autocomplete="off" autocapitalize="off" autocorrect="off" required/> + autofocus autocomplete="off" autocapitalize="off" spellcheck="false" required/> <label for="oldPassword" class="infield"><?php p($l->t('Current password')); ?></label> </p> @@ -39,7 +39,7 @@ style('user_ldap', 'renewPassword'); <label id="newPassword-label" for="newPassword" class="infield"><?php p($l->t('New password')); ?></label> <input type="password" id="newPassword" name="newPassword" placeholder="<?php echo $l->t('New password');?>" - data-typetoggle="#personal-show" autofocus autocomplete="off" autocapitalize="off" autocorrect="off" required/> + data-typetoggle="#personal-show" autofocus autocomplete="off" autocapitalize="off" spellcheck="false" required/> </p> <input type="submit" id="submit" class="login primary icon-confirm-white" value="<?php p($l->t('Renew password')); ?>"/> diff --git a/core/src/components/login/UpdatePassword.vue b/core/src/components/login/UpdatePassword.vue index 36a63a6254a..e281ad7ffc7 100644 --- a/core/src/components/login/UpdatePassword.vue +++ b/core/src/components/login/UpdatePassword.vue @@ -31,7 +31,7 @@ name="password" autocomplete="new-password" autocapitalize="none" - autocorrect="off" + spellcheck="false" required :placeholder="t('core', 'New password')"> </p> diff --git a/core/templates/installation.php b/core/templates/installation.php index 2affefebead..b5487d7b985 100644 --- a/core/templates/installation.php +++ b/core/templates/installation.php @@ -38,13 +38,13 @@ script('core', 'install'); <label for="adminlogin"><?php p($l->t('Username')); ?></label> <input type="text" name="adminlogin" id="adminlogin" value="<?php p($_['adminlogin']); ?>" - autocomplete="off" autocapitalize="none" autocorrect="off" autofocus required> + autocomplete="off" autocapitalize="none" spellcheck="false" autofocus required> </p> <p class="groupbottom"> <label for="adminpass"><?php p($l->t('Password')); ?></label> <input type="password" name="adminpass" data-typetoggle="#show" id="adminpass" value="<?php p($_['adminpass']); ?>" - autocomplete="off" autocapitalize="none" autocorrect="off" required> + autocomplete="off" autocapitalize="none" spellcheck="false" required> <button id="show" class="toggle-password" aria-label="<?php p($l->t('Show password')); ?>"> <img src="<?php print_unescaped(image_path('', 'actions/toggle.svg')); ?>" alt="<?php p($l->t('Toggle password visibility')); ?>"> </button> @@ -64,7 +64,7 @@ script('core', 'install'); <input type="text" name="directory" id="directory" placeholder="<?php p(OC::$SERVERROOT.'/data'); ?>" value="<?php p($_['directory']); ?>" - autocomplete="off" autocapitalize="none" autocorrect="off"> + autocomplete="off" autocapitalize="none" spellcheck="false"> </div> </fieldset> <?php endif; ?> @@ -103,13 +103,13 @@ script('core', 'install'); <label for="dbuser"><?php p($l->t('Database user')); ?></label> <input type="text" name="dbuser" id="dbuser" value="<?php p($_['dbuser']); ?>" - autocomplete="off" autocapitalize="none" autocorrect="off"> + autocomplete="off" autocapitalize="none" spellcheck="false"> </p> <p class="groupmiddle"> <label for="dbpass"><?php p($l->t('Database password')); ?></label> <input type="password" name="dbpass" id="dbpass" value="<?php p($_['dbpass']); ?>" - autocomplete="off" autocapitalize="none" autocorrect="off"> + autocomplete="off" autocapitalize="none" spellcheck="false"> <button id="show" class="toggle-password" aria-label="<?php p($l->t('Show password')); ?>"> <img src="<?php print_unescaped(image_path('', 'actions/toggle.svg')); ?>" alt="<?php p($l->t('Toggle password visibility')); ?>"> </button> @@ -118,7 +118,7 @@ script('core', 'install'); <label for="dbname"><?php p($l->t('Database name')); ?></label> <input type="text" name="dbname" id="dbname" value="<?php p($_['dbname']); ?>" - autocomplete="off" autocapitalize="none" autocorrect="off" + autocomplete="off" autocapitalize="none" spellcheck="false" pattern="[0-9a-zA-Z$_-]+"> </p> <?php if ($_['hasOracle']): ?> @@ -127,7 +127,7 @@ script('core', 'install'); <label for="dbtablespace" class="infield"><?php p($l->t('Database tablespace')); ?></label> <input type="text" name="dbtablespace" id="dbtablespace" value="<?php p($_['dbtablespace']); ?>" - autocomplete="off" autocapitalize="none" autocorrect="off"> + autocomplete="off" autocapitalize="none" spellcheck="false"> </p> </div> <?php endif; ?> @@ -135,7 +135,7 @@ script('core', 'install'); <label for="dbhost"><?php p($l->t('Database host')); ?></label> <input type="text" name="dbhost" id="dbhost" value="<?php p($_['dbhost']); ?>" - autocomplete="off" autocapitalize="none" autocorrect="off"> + autocomplete="off" autocapitalize="none" spellcheck="false"> </p> <p class="info"> <?php p($l->t('Please specify the port number along with the host name (e.g., localhost:5432).')); ?> diff --git a/core/templates/publicshareauth.php b/core/templates/publicshareauth.php index 516795852b2..c3089a2e143 100644 --- a/core/templates/publicshareauth.php +++ b/core/templates/publicshareauth.php @@ -25,7 +25,7 @@ <input type="hidden" name="requesttoken" value="<?php p($_['requesttoken']) ?>" /> <input type="password" name="password" id="password" placeholder="<?php p($l->t('Password')); ?>" value="" - autocomplete="new-password" autocapitalize="off" autocorrect="off" + autocomplete="new-password" autocapitalize="off" spellcheck="false" autofocus /> <input type="hidden" name="sharingToken" value="<?php p($_['share']->getToken()) ?>" id="sharingToken"> <input type="hidden" name="sharingType" value="<?php p($_['share']->getShareType()) ?>" id="sharingType"> diff --git a/dist/core-login.js b/dist/core-login.js index 9af49d2ee2f..f05d5f0603f 100644 --- a/dist/core-login.js +++ b/dist/core-login.js @@ -1,3 +1,3 @@ /*! For license information please see core-login.js.LICENSE.txt */ -!function(){var e,r,i,o={2060:function(e,r,i){"use strict";var o={};i.r(o),i.d(o,{exclude:function(){return Vt},extract:function(){return Mt},parse:function(){return Dt},parseUrl:function(){return zt},pick:function(){return Ht},stringify:function(){return $t},stringifyUrl:function(){return qt}});var s=i(20144),a=i(69183),u=i(59050),c=i(19755),l=i.n(c),f=i(64024),d=i(25108),h={updatableNotification:null,getDefaultNotificationFunction:null,setDefault:function(t){this.getDefaultNotificationFunction=t},hide:function(t,e){u.default.isFunction(t)&&(e=t,t=void 0),t?(t.each((function(){l()(this)[0].toastify?l()(this)[0].toastify.hideToast():d.error("cannot hide toast because object is not set"),this===this.updatableNotification&&(this.updatableNotification=null)})),e&&e.call(),this.getDefaultNotificationFunction&&this.getDefaultNotificationFunction()):d.error("Missing argument $row in OC.Notification.hide() call, caller needs to be adjusted to only dismiss its own notification")},showHtml:function(t,e){(e=e||{}).isHTML=!0,e.timeout=e.timeout?e.timeout:f.Rl;var n=(0,f.PV)(t,e);return n.toastElement.toastify=n,l()(n.toastElement)},show:function(t,e){(e=e||{}).timeout=e.timeout?e.timeout:f.Rl;var n=(0,f.PV)(function(t){return t.toString().split("&").join("&").split("<").join("<").split(">").join(">").split('"').join(""").split("'").join("'")}(t),e);return n.toastElement.toastify=n,l()(n.toastElement)},showUpdate:function(t){return this.updatableNotification&&this.updatableNotification.hideToast(),this.updatableNotification=(0,f.PV)(t,{timeout:f.Rl}),this.updatableNotification.toastElement.toastify=this.updatableNotification,l()(this.updatableNotification.toastElement)},showTemporary:function(t,e){(e=e||{}).timeout=e.timeout||f.TN;var n=(0,f.PV)(t,e);return n.toastElement.toastify=n,l()(n.toastElement)},isHidden:function(){return!l()("#content").find(".toastify").length}},p=u.default.throttle((function(){h.showTemporary(t("core","Connection to server lost"))}),7e3,{trailing:!1}),m={enableDynamicSlideToggle:function(){},showAppSidebar:function(t){(t||l()("#app-sidebar")).removeClass("disappear").show(),l()("#app-content").trigger(new(l().Event)("appresized"))},hideAppSidebar:function(t){(t||l()("#app-sidebar")).hide().addClass("disappear"),l()("#app-content").trigger(new(l().Event)("appresized"))}},g=i(79753);function v(t,e,n){"post"!==t&&"delete"!==t||!xt.PasswordConfirmation.requiresPasswordConfirmation()?(n=n||{},l().ajax({type:t.toUpperCase(),url:(0,g.generateOcsUrl)("apps/provisioning_api/api/v1/config/apps")+e,data:n.data||{},success:n.success,error:n.error})):xt.PasswordConfirmation.requirePasswordConfirmation(_.bind(v,this,t,e,n))}var y=window.oc_appconfig||{},b={getValue:function(t,e,n,r){!function(t,e,n,r){(r=r||{}).data={defaultValue:n},v("get","/"+t+"/"+e,r)}(t,e,n,{success:r})},setValue:function(t,e,n){!function(t,e,n,r){(r=r||{}).data={value:n},v("post","/"+t+"/"+e,r)}(t,e,n)},getApps:function(t){!function(t){v("get","",t)}({success:t})},getKeys:function(t,e){!function(t,e){v("get","/"+t,e)}(t,{success:e})},deleteKey:function(t,e){!function(t,e,n){v("delete","/"+t+"/"+e,void 0)}(t,e)}},w=void 0!==window._oc_appswebroots&&window._oc_appswebroots,x=i(72316),A=i.n(x),C=i(76591),E=i(25108),j={create:"POST",update:"PROPPATCH",patch:"PROPPATCH",delete:"DELETE",read:"PROPFIND"};function N(t,e){if(u.default.isArray(t))return u.default.map(t,(function(t){return N(t,e)}));var n={href:t.href};return u.default.each(t.propStat,(function(t){if("HTTP/1.1 200 OK"===t.status)for(var r in t.properties){var i=r;r in e&&(i=e[r]),n[i]=t.properties[r]}})),n.id||(n.id=P(n.href)),n}function P(t){var e=t.indexOf("?");e>0&&(t=t.substr(0,e));var n,r=t.split("/");do{n=r[r.length-1],r.pop()}while(!n&&r.length>0);return n}function k(t){return t>=200&&t<=299}function O(t,e,n,r){return t.propPatch(e.url,function(t,e){var n,r={};for(n in t){var i=e[n],o=t[n];i||(E.warn('No matching DAV property for property "'+n),i=n),(u.default.isBoolean(o)||u.default.isNumber(o))&&(o=""+o),r[i]=o}return r}(n.changed,e.davProperties),r).then((function(t){k(t.status)?u.default.isFunction(e.success)&&e.success(n.toJSON()):u.default.isFunction(e.error)&&e.error(t)}))}var S=A().noConflict();Object.assign(S,{davCall:function(t,e){var n=new C.dav.Client({baseUrl:t.url,xmlNamespaces:u.default.extend({"DAV:":"d","http://owncloud.org/ns":"oc"},t.xmlNamespaces||{})});n.resolveUrl=function(){return t.url};var r=u.default.extend({"X-Requested-With":"XMLHttpRequest",requesttoken:OC.requestToken},t.headers);return"PROPFIND"===t.type?function(t,e,n,r){return t.propFind(e.url,u.default.values(e.davProperties)||[],e.depth,r).then((function(t){if(k(t.status)){if(u.default.isFunction(e.success)){var n=u.default.invert(e.davProperties),r=N(t.body,n);e.depth>0&&r.shift(),e.success(r)}}else u.default.isFunction(e.error)&&e.error(t)}))}(n,t,0,r):"PROPPATCH"===t.type?O(n,t,e,r):"MKCOL"===t.type?function(t,e,n,r){return t.request(e.type,e.url,r,null).then((function(i){k(i.status)?O(t,e,n,r):u.default.isFunction(e.error)&&e.error(i)}))}(n,t,e,r):function(t,e,n,r){return r["Content-Type"]="application/json",t.request(e.type,e.url,r,e.data).then((function(t){if(k(t.status)){if(u.default.isFunction(e.success)){if("PUT"===e.type||"POST"===e.type||"MKCOL"===e.type){var r=t.body||n.toJSON(),i=t.xhr.getResponseHeader("Content-Location");return"POST"===e.type&&i&&(r.id=P(i)),void e.success(r)}if(207===t.status){var o=u.default.invert(e.davProperties);e.success(N(t.body,o))}else e.success(t.body)}}else u.default.isFunction(e.error)&&e.error(t)}))}(n,t,e,r)},davSync:function(t){return function(e,n,r){var i={type:j[e]||e},o=n instanceof t.Collection;if("update"===e&&(n.hasInnerCollection?i.type="MKCOL":(n.usePUT||n.collection&&n.collection.usePUT)&&(i.type="PUT")),r.url||(i.url=u.default.result(n,"url")||function(){throw new Error('A "url" property or function must be specified')}()),null!=r.data||!n||"create"!==e&&"update"!==e&&"patch"!==e||(i.data=JSON.stringify(r.attrs||n.toJSON(r))),"PROPFIND"!==i.type&&(i.processData=!1),"PROPFIND"===i.type||"PROPPATCH"===i.type){var s=n.davProperties;!s&&n.model&&(s=n.model.prototype.davProperties),s&&(u.default.isFunction(s)?i.davProperties=s.call(n):i.davProperties=s),i.davProperties=u.default.extend(i.davProperties||{},r.davProperties),u.default.isUndefined(r.depth)&&(r.depth=o?1:0)}var a=r.error;r.error=function(t,e,n){r.textStatus=e,r.errorThrown=n,a&&a.call(r.context,t,e,n)};var c=r.xhr=t.davCall(u.default.extend(i,r),n);return n.trigger("request",n,c,r),c}}(S)});var T=S,L=i(65358),I=window._oc_config||{},R=document.getElementsByTagName("head")[0].getAttribute("data-user"),F=document.getElementsByTagName("head")[0].getAttribute("data-user-displayname"),B=void 0!==R&&R,U=i(96384),M=i(59546),D=i(62520);function $(t){return $="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$(t)}var z={YES_NO_BUTTONS:70,OK_BUTTONS:71,FILEPICKER_TYPE_CHOOSE:1,FILEPICKER_TYPE_MOVE:2,FILEPICKER_TYPE_COPY:3,FILEPICKER_TYPE_COPY_MOVE:4,FILEPICKER_TYPE_CUSTOM:5,dialogsCounter:0,alert:function(t,e,n,r){this.message(t,e,"alert",z.OK_BUTTON,n,r)},info:function(t,e,n,r){this.message(t,e,"info",z.OK_BUTTON,n,r)},confirm:function(t,e,n,r){return this.message(t,e,"notice",z.YES_NO_BUTTONS,n,r)},confirmDestructive:function(t,e,n,r,i){return this.message(t,e,"none",n,r,void 0===i||i)},confirmHtml:function(t,e,n,r){return this.message(t,e,"notice",z.YES_NO_BUTTONS,n,r,!0)},prompt:function(e,n,r,i,o,s){return l().when(this._getMessageTemplate()).then((function(a){var c="oc-dialog-"+z.dialogsCounter+"-content",f="#"+c,d=a.octemplate({dialog_name:c,title:n,message:e,type:"notice"}),h=l()("<input/>");h.attr("type",s?"password":"text").attr("id",c+"-input").attr("placeholder",o);var p=l()("<label/>").attr("for",c+"-input").text(o+": ");d.append(p),d.append(h),void 0===i&&(i=!1),l()("body").append(d),void 0!==r&&(r=u.default.once(r));var m=[{text:t("core","No"),click:function(){void 0!==r&&r(!1,h.val()),l()(f).ocdialog("close")}},{text:t("core","Yes"),click:function(){void 0!==r&&r(!0,h.val()),l()(f).ocdialog("close")},defaultButton:!0}];l()(f).ocdialog({closeOnEscape:!0,modal:i,buttons:m,close:function(){void 0!==r&&r(!1,h.val())}}),h.focus(),z.dialogsCounter++}))},filepicker:function(e,n){var r=this,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:f.K9.Choose,a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:void 0,u=arguments.length>7&&void 0!==arguments[7]?arguments[7]:void 0,c=function(t,e){var n=function(t){var e=(null==t?void 0:t.root)||"",n=(null==t?void 0:t.path)||"";return n.startsWith(e)&&(n=n.slice(e.length)||"/"),n};return i?function(r){return t(r.map(n),e)}:function(r){return t(n(r[0]),e)}},l=(0,f.fn)(e);s===this.FILEPICKER_TYPE_CUSTOM?(u.buttons||[]).forEach((function(t){l.addButton({callback:c(n,t.type),label:t.text,type:t.defaultButton?"primary":"secondary"})})):l.setButtonFactory((function(e,i){var o,a,u=[],l=(null==e||null===(o=e[0])||void 0===o||null===(o=o.attributes)||void 0===o?void 0:o.displayName)||(null==e||null===(a=e[0])||void 0===a?void 0:a.basename),d=l||(0,D.basename)(i);return s===f.K9.Choose&&u.push({callback:c(n,f.K9.Choose),label:l&&!r.multiSelect?t("core","Choose {file}",{file:l}):t("core","Choose"),type:"primary"}),s!==f.K9.CopyMove&&s!==f.K9.Copy||u.push({callback:c(n,f.K9.Copy),label:d?t("core","Copy to {target}",{target:d}):t("core","Copy"),type:"primary",icon:M}),s!==f.K9.Move&&s!==f.K9.CopyMove||u.push({callback:c(n,f.K9.Move),label:d?t("core","Move to {target}",{target:d}):t("core","Move"),type:s===f.K9.Move?"primary":"secondary",icon:U}),u})),o&&l.setMimeTypeFilter("string"==typeof o?[o]:o||[]),"function"==typeof(null==u?void 0:u.filter)&&l.setFilter((function(t){return u.filter(function(t){var e,n,r,i,o,s;return{id:t.fileid||null,path:t.path,mimetype:t.mime||null,mtime:(null===(e=t.mtime)||void 0===e?void 0:e.getTime())||null,permissions:t.permissions,name:(null===(n=t.attributes)||void 0===n?void 0:n.displayName)||t.basename,etag:(null===(r=t.attributes)||void 0===r?void 0:r.etag)||null,hasPreview:(null===(i=t.attributes)||void 0===i?void 0:i.hasPreview)||null,mountType:(null===(o=t.attributes)||void 0===o?void 0:o.mountType)||null,quotaAvailableBytes:(null===(s=t.attributes)||void 0===s?void 0:s.quotaAvailableBytes)||null,icon:null,sharePermissions:null}}(t))})),l.allowDirectories(!0===(null==u?void 0:u.allowDirectoryChooser)||(null==o?void 0:o.includes("httpd/unix-directory"))||!1).setMultiSelect(i).startAt(a).build().pick()},message:function(e,n,r,i,o,s,a){return l().when(this._getMessageTemplate()).then((function(u){var c="oc-dialog-"+z.dialogsCounter+"-content",f="#"+c,d=u.octemplate({dialog_name:c,title:n,message:e,type:r},a?{escapeFunction:""}:{});void 0===s&&(s=!1),l()("body").append(d);var h=[];switch(i){case z.YES_NO_BUTTONS:h=[{text:t("core","No"),click:function(){void 0!==o&&o(!1),l()(f).ocdialog("close")}},{text:t("core","Yes"),click:function(){void 0!==o&&o(!0),l()(f).ocdialog("close")},defaultButton:!0}];break;case z.OK_BUTTON:h[0]={text:t("core","OK"),click:function(){l()(f).ocdialog("close"),void 0!==o&&o()},defaultButton:!0};break;default:"object"===$(i)&&i.type===z.YES_NO_BUTTONS&&(h=[{text:i.cancel||t("core","No"),click:function(){void 0!==o&&o(!1),l()(f).ocdialog("close")}},{text:i.confirm||t("core","Yes"),click:function(){void 0!==o&&o(!0),l()(f).ocdialog("close")},defaultButton:!0,classes:i.confirmClasses}])}l()(f).ocdialog({closeOnEscape:!0,closeCallback:function(){o&&o(!1)},modal:s,buttons:h}),z.dialogsCounter++})).fail((function(r,i){0===r?alert(n+": "+e):alert(t("core","Error loading message template: {error}",{error:i}))}))},_fileexistsshown:!1,fileexists:function(e,r,i,o){var s=this,a=new(l().Deferred),u=function(t,e,n,r,i){r=Math.round(r),i=Math.round(i);for(var o=t.getContext("2d").getImageData(0,0,e,n),s=t.getContext("2d").getImageData(0,0,r,i),a=o.data,u=s.data,c=e/r,l=n/i,f=Math.ceil(c/2),d=Math.ceil(l/2),h=0;h<i;h++)for(var p=0;p<r;p++){for(var m=4*(p+h*r),g=0,v=0,y=0,b=0,w=0,x=0,_=0,A=(h+.5)*l,C=Math.floor(h*l);C<(h+1)*l;C++)for(var E=Math.abs(A-(C+.5))/d,j=(p+.5)*c,N=E*E,P=Math.floor(p*c);P<(p+1)*c;P++){var k=Math.abs(j-(P+.5))/f,O=Math.sqrt(N+k*k);O>=-1&&O<=1&&(g=2*O*O*O-3*O*O+1)>0&&(_+=g*a[3+(k=4*(P+C*e))],y+=g,a[k+3]<255&&(g=g*a[k+3]/250),b+=g*a[k],w+=g*a[k+1],x+=g*a[k+2],v+=g)}u[m]=b/v,u[m+1]=w/v,u[m+2]=x/v,u[m+3]=_/y}t.getContext("2d").clearRect(0,0,Math.max(e,r),Math.max(n,i)),t.width=r,t.height=i,t.getContext("2d").putImageData(s,0,0)},c=function(n,r,i){var o=n.find(".template").clone().removeClass("template").addClass("conflict"),s=o.find(".original"),a=o.find(".replacement");o.data("data",e),o.find(".filename").text(r.name),s.find(".size").text(xt.Util.humanFileSize(r.size)),s.find(".mtime").text(xt.Util.formatDate(r.mtime)),i.size&&i.lastModified&&(a.find(".size").text(xt.Util.humanFileSize(i.size)),a.find(".mtime").text(xt.Util.formatDate(i.lastModified)));var c=r.directory+"/"+r.name,f={file:c,x:96,y:96,c:r.etag,forceIcon:0},d=Files.generatePreviewUrl(f);d=d.replace(/'/g,"%27"),s.find(".icon").css({"background-image":"url('"+d+"')"}),function(t){var e=new(l().Deferred),n=t.type&&t.type.split("/").shift();if(window.FileReader&&"image"===n){var r=new FileReader;r.onload=function(t){var n=new Blob([t.target.result]);window.URL=window.URL||window.webkitURL;var r=window.URL.createObjectURL(n),i=new Image;i.src=r,i.onload=function(){var t,n,r,o,s,a,c,l=(t=i,s=document.createElement("canvas"),a=t.width,c=t.height,a>c?(r=0,n=(a-c)/2):(r=(c-a)/2,n=0),o=Math.min(a,c),s.width=o,s.height=o,s.getContext("2d").drawImage(t,n,r,o,o,0,0,o,o),u(s,o,o,96,96),s.toDataURL("image/png",.7));e.resolve(l)}},r.readAsArrayBuffer(t)}else e.reject();return e}(i).then((function(t){a.find(".icon").css("background-image","url("+t+")")}),(function(){c=xt.MimeType.getIconUrl(i.type),a.find(".icon").css("background-image","url("+c+")")}));var h=n.find(".conflict").length;s.find("input:checkbox").attr("id","checkbox_original_"+h),a.find("input:checkbox").attr("id","checkbox_replacement_"+h),n.append(o),i.lastModified>r.mtime?a.find(".mtime").css("font-weight","bold"):i.lastModified<r.mtime&&s.find(".mtime").css("font-weight","bold"),i.size&&i.size>r.size?a.find(".size").css("font-weight","bold"):i.size&&i.size<r.size&&s.find(".size").css("font-weight","bold"),"readonly"===r.status&&(s.addClass("readonly").find('input[type="checkbox"]').prop("checked",!0).prop("disabled",!0),s.find(".message").text(t("core","read-only")))},f="oc-dialog-fileexists-content",d="#"+f;if(this._fileexistsshown){var h=l()(d+" .conflicts");c(h,r,i);var p=l()(d+" .conflict").length,m=n("core","{count} file conflict","{count} file conflicts",p,{count:p});l()(d).parent().children(".oc-dialog-title").text(m),l()(window).trigger("resize"),a.resolve()}else this._fileexistsshown=!0,l().when(this._getFileExistsTemplate()).then((function(n){var u=t("core","One file conflict"),h=n.octemplate({dialog_name:f,title:u,type:"fileexists",allnewfiles:t("core","New Files"),allexistingfiles:t("core","Already existing files"),why:t("core","Which files do you want to keep?"),what:t("core","If you select both versions, the copied file will have a number added to its name.")});if(l()("body").append(h),r&&i){var p=h.find(".conflicts");c(p,r,i)}var m=[{text:t("core","Cancel"),classes:"cancel",click:function(){void 0!==o.onCancel&&o.onCancel(e),l()(d).ocdialog("close")}},{text:t("core","Continue"),classes:"continue",click:function(){void 0!==o.onContinue&&o.onContinue(l()(d+" .conflict")),l()(d).ocdialog("close")}}];l()(d).ocdialog({width:500,closeOnEscape:!0,modal:!0,buttons:m,closeButton:null,close:function(){s._fileexistsshown=!1;try{l()(this).ocdialog("destroy").remove()}catch(t){}}}),l()(d).css("height","auto");var g=h.closest(".oc-dialog").find("button.continue");function v(){var t=h.find(".conflicts .checkbox:checked").length;g.prop("disabled",0===t)}g.prop("disabled",!0),l()(d).find(".allnewfiles").on("click",(function(){l()(d).find('.conflict .replacement input[type="checkbox"]').prop("checked",l()(this).prop("checked"))})),l()(d).find(".allexistingfiles").on("click",(function(){l()(d).find('.conflict .original:not(.readonly) input[type="checkbox"]').prop("checked",l()(this).prop("checked"))})),l()(d).find(".conflicts").on("click",".replacement,.original:not(.readonly)",(function(){var t=l()(this).find('input[type="checkbox"]');t.prop("checked",!t.prop("checked"))})),l()(d).find(".conflicts").on("click",'.replacement input[type="checkbox"],.original:not(.readonly) input[type="checkbox"]',(function(){var t=l()(this);t.prop("checked",!t.prop("checked"))})),l()(d).on("click",".replacement,.allnewfiles",(function(){var e=l()(d).find('.conflict .replacement input[type="checkbox"]:checked').length;e===l()(d+" .conflict").length?(l()(d).find(".allnewfiles").prop("checked",!0),l()(d).find(".allnewfiles + .count").text(t("core","(all selected)"))):e>0?(l()(d).find(".allnewfiles").prop("checked",!1),l()(d).find(".allnewfiles + .count").text(t("core","({count} selected)",{count:e}))):(l()(d).find(".allnewfiles").prop("checked",!1),l()(d).find(".allnewfiles + .count").text("")),v()})),l()(d).on("click",".original,.allexistingfiles",(function(){var e=l()(d).find('.conflict .original input[type="checkbox"]:checked').length;e===l()(d+" .conflict").length?(l()(d).find(".allexistingfiles").prop("checked",!0),l()(d).find(".allexistingfiles + .count").text(t("core","(all selected)"))):e>0?(l()(d).find(".allexistingfiles").prop("checked",!1),l()(d).find(".allexistingfiles + .count").text(t("core","({count} selected)",{count:e}))):(l()(d).find(".allexistingfiles").prop("checked",!1),l()(d).find(".allexistingfiles + .count").text("")),v()})),a.resolve()})).fail((function(){a.reject(),alert(t("core","Error loading file exists template"))}));return a.promise()},_getMessageTemplate:function(){var t=l().Deferred();if(this.$messageTemplate)t.resolve(this.$messageTemplate);else{var e=this;l().get(xt.filePath("core","templates","message.html"),(function(n){e.$messageTemplate=l()(n),t.resolve(e.$messageTemplate)})).fail((function(e,n,r){t.reject(e.status,r)}))}return t.promise()},_getFileExistsTemplate:function(){var t=l().Deferred();if(this.$fileexistsTemplate)t.resolve(this.$fileexistsTemplate);else{var e=this;l().get(xt.filePath("files","templates","fileexists.html"),(function(n){e.$fileexistsTemplate=l()(n),t.resolve(e.$fileexistsTemplate)})).fail((function(){t.reject()}))}return t.promise()}},q=z,H=function(t,e){var n=t.getElementsByTagName("head")[0].getAttribute("data-requesttoken");return{getToken:function(){return n},setToken:function(t){e("csrf-token-update",{token:n=t})}}}(document,a.j8),V=H.getToken,Z=(H.setToken,function t(e,n){var r,i,o="";if(this.typelessListeners=[],this.closed=!1,this.listeners={},n)for(r in n)o+=r+"="+encodeURIComponent(n[r])+"&";if(o+="requesttoken="+encodeURIComponent(V()),this.useFallBack||"undefined"==typeof EventSource){var s="oc_eventsource_iframe_"+t.iframeCount;t.fallBackSources[t.iframeCount]=this,this.iframe=l()("<iframe></iframe>"),this.iframe.attr("id",s),this.iframe.hide(),i="&",-1===e.indexOf("?")&&(i="?"),this.iframe.attr("src",e+i+"fallback=true&fallback_id="+t.iframeCount+"&"+o),l()("body").append(this.iframe),this.useFallBack=!0,t.iframeCount++}else i="&",-1===e.indexOf("?")&&(i="?"),this.source=new EventSource(e+i+o),this.source.onmessage=function(t){for(var e=0;e<this.typelessListeners.length;e++)this.typelessListeners[e](JSON.parse(t.data))}.bind(this);this.listen("__internal__",function(t){"close"===t&&this.close()}.bind(this))});Z.fallBackSources=[],Z.iframeCount=0,Z.fallBackCallBack=function(t,e,n){Z.fallBackSources[t].fallBackCallBack(e,n)},Z.prototype={typelessListeners:[],iframe:null,listeners:{},useFallBack:!1,fallBackCallBack:function(t,e){var n;if(!this.closed)if(t){if(void 0!==this.listeners.done)for(n=0;n<this.listeners[t].length;n++)this.listeners[t][n](e)}else for(n=0;n<this.typelessListeners.length;n++)this.typelessListeners[n](e)},lastLength:0,listen:function(t,e){e&&e.call&&(t?this.useFallBack?(this.listeners[t]||(this.listeners[t]=[]),this.listeners[t].push(e)):this.source.addEventListener(t,(function(t){void 0!==t.data?e(JSON.parse(t.data)):e("")}),!1):this.typelessListeners.push(e))},close:function(){this.closed=!0,void 0!==this.source&&this.source.close()}};var K=Z,Y=i(42515),G=i(25108),W=null,J=null,X=function(t){if(W){var e=W;W.trigger(new(l().Event)("beforeHide")),W.slideUp(50,(function(){e.trigger(new(l().Event)("afterHide")),t&&t.apply(this,arguments)}))}l()(".menutoggle").attr("aria-expanded",!1),J&&J.attr("aria-expanded",!1),l()(".openedMenu").removeClass("openedMenu"),W=null,J=null},Q=!!window._oc_isadmin,tt=i(40202),et=i.n(tt),nt=i(31352),rt={load:nt.XJ,register:nt.z2,_unregister:nt.ET,translate:nt.Iu,translatePlural:nt.uN};et().registerHelper("t",(function(t,e){return(0,nt.Iu)(t,e)}));var it={startSaving:function(e){this.startAction(e,t("core","Saving …"))},startAction:function(t,e){l()(t).text(e).removeClass("success").removeClass("error").stop(!0,!0).show()},finishedSaving:function(t,e){this.finishedAction(t,e)},finishedAction:function(t,e){"success"===e.status?this.finishedSuccess(t,e.data.message):this.finishedError(t,e.data.message)},finishedSuccess:function(t,e){l()(t).text(e).addClass("success").removeClass("error").stop(!0,!0).delay(3e3).fadeOut(900).show()},finishedError:function(t,e){l()(t).text(e).addClass("error").removeClass("success").show()}},ot=i(7820),st=(i(65509),{requiresPasswordConfirmation:function(){return(0,ot.q)()},requirePasswordConfirmation:function(t,e,n){(0,ot.Z)().then(t,n)}}),at=window._theme||{},ut=i(30381),ct=i.n(ut),lt={_handlers:[],_pushState:function(t,e,n){var r;if(r="string"==typeof t?t:xt.buildQueryString(t),window.history.pushState){if(e=e||location.pathname+"?"+r,navigator.userAgent.toLowerCase().indexOf("firefox")>-1&&parseInt(navigator.userAgent.split("/").pop())<51)for(var i,o=document.querySelectorAll('[fill^="url(#"], [stroke^="url(#"], [filter^="url(#invert"]'),s=0,a=o.length;s<a;s++)(i=o[s]).style.fill=i.style.fill,i.style.stroke=i.style.stroke,i.removeAttribute("filter"),i.setAttribute("filter","url(#invert)");n?window.history.replaceState(t,"",e):window.history.pushState(t,"",e)}else window.location.hash="?"+r,this._cancelPop=!0},pushState:function(t,e){this._pushState(t,e,!1)},replaceState:function(t,e){this._pushState(t,e,!0)},addOnPopStateHandler:function(t){this._handlers.push(t)},_parseHashQuery:function(){var t=window.location.hash,e=t.indexOf("?");return e>=0?t.substr(e+1):t.length?t.substr(1):""},_decodeQuery:function(t){return t.replace(/\+/g," ")},parseUrlQuery:function(){var t,e=this._parseHashQuery();return e&&(t=xt.parseQueryString(this._decodeQuery(e))),(t=u.default.extend(t||{},xt.parseQueryString(this._decodeQuery(location.search))))||{}},_onPopState:function(t){var e;if(this._cancelPop)this._cancelPop=!1;else if(this._handlers.length){e=t&&t.state,u.default.isString(e)?e=xt.parseQueryString(e):e||(e=this.parseUrlQuery()||{});for(var n=0;n<this._handlers.length;n++)this._handlers[n](e)}}},ft=i(5656),dt=i(25108);function ht(t){for(var e,n=[],r=0,i=-1,o=0;r<t.length;){e=t.charAt(r);var s=!o&&"."===e||e>="0"&&e<="9";s!==o&&(n[++i]="",o=s),n[i]+=e,r++}return n}var pt={History:lt,humanFileSize:ft.sS,computerFileSize:function(t){if("string"!=typeof t)return null;var e=t.toLowerCase().trim(),n=null,r=e.match(/^[\s+]?([0-9]*)(\.([0-9]+))?( +)?([kmgtp]?b?)$/i);return null===r?null:(n=parseFloat(e),isFinite(n)?(r[5]&&(n*={b:1,k:1024,kb:1024,mb:1048576,m:1048576,gb:1073741824,g:1073741824,tb:1099511627776,t:1099511627776,pb:0x4000000000000,p:0x4000000000000}[r[5]]),n=Math.round(n)):null)},formatDate:function(t,e){return void 0===window.TESTING&&xt.debug&&dt.warn("OC.Util.formatDate is deprecated and will be removed in Nextcloud 21. See @nextcloud/moment"),e=e||"LLL",ct()(t).format(e)},relativeModifiedDate:function(e){void 0===window.TESTING&&xt.debug&&dt.warn("OC.Util.relativeModifiedDate is deprecated and will be removed in Nextcloud 21. See @nextcloud/moment");var n=ct()().diff(ct()(e));return n>=0&&n<45e3?t("core","seconds ago"):ct()(e).fromNow()},getScrollBarWidth:function(){if(this._scrollBarWidth)return this._scrollBarWidth;var t=document.createElement("p");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(t),document.body.appendChild(e);var n=t.offsetWidth;e.style.overflow="scroll";var r=t.offsetWidth;return n===r&&(r=e.clientWidth),document.body.removeChild(e),this._scrollBarWidth=n-r,this._scrollBarWidth},stripTime:function(t){return new Date(t.getFullYear(),t.getMonth(),t.getDate())},naturalSortCompare:function(t,e){var n,r=ht(t),i=ht(e);for(n=0;r[n]&&i[n];n++)if(r[n]!==i[n]){var o=Number(r[n]),s=Number(i[n]);return o==r[n]&&s==i[n]?o-s:r[n].localeCompare(i[n],xt.getLanguage())}return r.length-i.length},waitFor:function(t,e){!function n(){!0!==t()&&setTimeout(n,e)}()},isCookieSetToValue:function(t,e){for(var n=document.cookie.split(";"),r=0;r<n.length;r++){var i=n[r].split("=");if(i[0].trim()===t&&i[1].trim()===e)return!0}return!1}},mt=window._oc_debug,gt=window._oc_webroot;if(void 0===gt){var vt=(gt=location.pathname).indexOf("/index.php/");gt=-1!==vt?gt.substr(0,vt):gt.substr(0,gt.lastIndexOf("/"))}var yt,bt=gt,wt=i(25108),xt={coreApps:["","admin","log","core/search","core","3rdparty"],menuSpeed:50,PERMISSION_ALL:31,PERMISSION_CREATE:4,PERMISSION_DELETE:8,PERMISSION_NONE:0,PERMISSION_READ:1,PERMISSION_SHARE:16,PERMISSION_UPDATE:2,TAG_FAVORITE:"_$!<Favorite>!$_",fileIsBlacklisted:function(t){return!!t.match(I.blacklist_files_regex)},Apps:m,AppConfig:b,appConfig:y,appswebroots:w,Backbone:T,config:I,currentUser:B,dialogs:q,EventSource:K,getCurrentUser:function(){return{uid:B,displayName:F}},isUserAdmin:function(){return Q},L10N:rt,_ajaxConnectionLostHandler:p,_processAjaxError:function(t){(0!==t.status||"abort"!==t.statusText&&"timeout"!==t.statusText&&!xt._reloadCalled)&&(u.default.contains([302,303,307,401],t.status)&&xt.currentUser?setTimeout((function(){if(!xt._userIsNavigatingAway&&!xt._reloadCalled){var t=0,e=setInterval((function(){h.showUpdate(n("core","Problem loading page, reloading in %n second","Problem loading page, reloading in %n seconds",5-t)),t>=5&&(clearInterval(e),xt.reload()),t++}),1e3);xt._reloadCalled=!0}}),100):0===t.status&&setTimeout((function(){xt._userIsNavigatingAway||xt._reloadCalled||xt._ajaxConnectionLostHandler()}),100))},registerXHRForErrorProcessing:function(t){t.addEventListener&&(t.addEventListener("load",(function(){4===t.readyState&&(t.status>=200&&t.status<300||304===t.status||l()(document).trigger(new(l().Event)("ajaxError"),t))})),t.addEventListener("error",(function(){l()(document).trigger(new(l().Event)("ajaxError"),t)})))},getCapabilities:function(){return OC.debug&&G.warn("OC.getCapabilities is deprecated and will be removed in Nextcloud 21. See @nextcloud/capabilities"),(0,Y.getCapabilities)()},hideMenus:X,registerMenu:function(t,e,n,r){e.addClass("menu");var i="A"===t.prop("tagName")||"BUTTON"===t.prop("tagName");t.on(i?"click.menu":"click.menu keyup.menu",(function(i){i.preventDefault(),i.key&&"Enter"!==i.key||(e.is(W)?X():(W&&X(),!0===r&&e.parent().addClass("openedMenu"),t.attr("aria-expanded",!0),e.slideToggle(50,n),W=e,J=t))}))},showMenu:function(t,e,n){e.is(W)||(X(),W=e,J=t,e.trigger(new(l().Event)("beforeShow")),e.show(),e.trigger(new(l().Event)("afterShow")),u.default.isFunction(n)&&n())},unregisterMenu:function(t,e){e.is(W)&&X(),t.off("click.menu").removeClass("menutoggle"),e.removeClass("menu")},basename:L.EZ,encodePath:L.Ec,dirname:L.XX,isSamePath:L.Mg,joinPaths:L.RQ,getHost:function(){return window.location.host},getHostName:function(){return window.location.hostname},getPort:function(){return window.location.port},getProtocol:function(){return window.location.protocol.split(":")[0]},getCanonicalLocale:nt.aj,getLocale:nt.Kd,getLanguage:nt.G3,buildQueryString:function(t){return t?l().map(t,(function(t,e){var n=encodeURIComponent(e);return null!=t&&(n+="="+encodeURIComponent(t)),n})).join("&"):""},parseQueryString:function(t){var e,n,r,i={};if(!t)return null;(e=t.indexOf("?"))>=0&&(t=t.substr(e+1));for(var o=t.replace(/\+/g,"%20").split("&"),s=0;s<o.length;s++){var a=o[s];(n=(e=a.indexOf("="))>=0?[a.substr(0,e),a.substr(e+1)]:[a]).length&&(r=decodeURIComponent(n[0]))&&(i[r]=n.length>1?decodeURIComponent(n[1]):null)}return i},msg:it,Notification:h,PasswordConfirmation:st,Plugins:{_plugins:{},register:function(t,e){var n=this._plugins[t];n||(n=this._plugins[t]=[]),n.push(e)},getPlugins:function(t){return this._plugins[t]||[]},attach:function(t,e,n){for(var r=this.getPlugins(t),i=0;i<r.length;i++)r[i].attach&&r[i].attach(e,n)},detach:function(t,e,n){for(var r=this.getPlugins(t),i=0;i<r.length;i++)r[i].detach&&r[i].detach(e,n)}},theme:at,Util:pt,debug:mt,filePath:g.generateFilePath,generateUrl:g.generateUrl,get:(yt=window,function(t){for(var e=t.split("."),n=e.pop(),r=0;r<e.length;r++)if(!(yt=yt[e[r]]))return!1;return yt[n]}),set:function(t){return function(e,n){for(var r=e.split("."),i=r.pop(),o=0;o<r.length;o++)t[r[o]]||(t[r[o]]={}),t=t[r[o]];return t[i]=n,n}}(window),getRootPath:g.getRootUrl,imagePath:g.imagePath,redirect:function(t){window.location=t},reload:function(){window.location.reload()},requestToken:V(),linkTo:g.linkTo,linkToOCS:function(t,e){return(0,g.generateOcsUrl)(t,{},{ocsVersion:e||1})+"/"},linkToRemote:g.generateRemoteUrl,linkToRemoteBase:function(t){return(0,g.getRootUrl)()+"/remote.php/"+t},webroot:bt};(0,a.Ld)("csrf-token-update",(function(t){OC.requestToken=t.token,wt.info("OC.requestToken changed",t.token)}));var _t=i(43554);const At="%[a-f0-9]{2}",Ct=new RegExp("("+At+")|([^%]+?)","gi"),Et=new RegExp("("+At+")+","gi");function jt(t,e){try{return[decodeURIComponent(t.join(""))]}catch{}if(1===t.length)return t;e=e||1;const n=t.slice(0,e),r=t.slice(e);return Array.prototype.concat.call([],jt(n),jt(r))}function Nt(t){try{return decodeURIComponent(t)}catch{let e=t.match(Ct)||[];for(let n=1;n<e.length;n++)e=(t=jt(e,n).join("")).match(Ct)||[];return t}}function Pt(t,e){if("string"!=typeof t||"string"!=typeof e)throw new TypeError("Expected the arguments to be of type `string`");if(""===t||""===e)return[];const n=t.indexOf(e);return-1===n?[]:[t.slice(0,n),t.slice(n+e.length)]}function kt(t,e){const n={};if(Array.isArray(e))for(const r of e){const e=Object.getOwnPropertyDescriptor(t,r);e?.enumerable&&Object.defineProperty(n,r,e)}else for(const r of Reflect.ownKeys(t)){const i=Object.getOwnPropertyDescriptor(t,r);i.enumerable&&e(r,t[r],t)&&Object.defineProperty(n,r,i)}return n}const Ot=t=>null==t,St=t=>encodeURIComponent(t).replace(/[!'()*]/g,(t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`)),Tt=Symbol("encodeFragmentIdentifier");function Lt(t){if("string"!=typeof t||1!==t.length)throw new TypeError("arrayFormatSeparator must be single character string")}function It(t,e){return e.encode?e.strict?St(t):encodeURIComponent(t):t}function Rt(t,e){return e.decode?function(t){if("string"!=typeof t)throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof t+"`");try{return decodeURIComponent(t)}catch{return function(t){const e={"%FE%FF":"��","%FF%FE":"��"};let n=Et.exec(t);for(;n;){try{e[n[0]]=decodeURIComponent(n[0])}catch{const t=Nt(n[0]);t!==n[0]&&(e[n[0]]=t)}n=Et.exec(t)}e["%C2"]="�";const r=Object.keys(e);for(const n of r)t=t.replace(new RegExp(n,"g"),e[n]);return t}(t)}}(t):t}function Ft(t){return Array.isArray(t)?t.sort():"object"==typeof t?Ft(Object.keys(t)).sort(((t,e)=>Number(t)-Number(e))).map((e=>t[e])):t}function Bt(t){const e=t.indexOf("#");return-1!==e&&(t=t.slice(0,e)),t}function Ut(t,e){return e.parseNumbers&&!Number.isNaN(Number(t))&&"string"==typeof t&&""!==t.trim()?t=Number(t):!e.parseBooleans||null===t||"true"!==t.toLowerCase()&&"false"!==t.toLowerCase()||(t="true"===t.toLowerCase()),t}function Mt(t){const e=(t=Bt(t)).indexOf("?");return-1===e?"":t.slice(e+1)}function Dt(t,e){Lt((e={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...e}).arrayFormatSeparator);const n=function(t){let e;switch(t.arrayFormat){case"index":return(t,n,r)=>{e=/\[(\d*)]$/.exec(t),t=t.replace(/\[\d*]$/,""),e?(void 0===r[t]&&(r[t]={}),r[t][e[1]]=n):r[t]=n};case"bracket":return(t,n,r)=>{e=/(\[])$/.exec(t),t=t.replace(/\[]$/,""),e?void 0!==r[t]?r[t]=[...r[t],n]:r[t]=[n]:r[t]=n};case"colon-list-separator":return(t,n,r)=>{e=/(:list)$/.exec(t),t=t.replace(/:list$/,""),e?void 0!==r[t]?r[t]=[...r[t],n]:r[t]=[n]:r[t]=n};case"comma":case"separator":return(e,n,r)=>{const i="string"==typeof n&&n.includes(t.arrayFormatSeparator),o="string"==typeof n&&!i&&Rt(n,t).includes(t.arrayFormatSeparator);n=o?Rt(n,t):n;const s=i||o?n.split(t.arrayFormatSeparator).map((e=>Rt(e,t))):null===n?n:Rt(n,t);r[e]=s};case"bracket-separator":return(e,n,r)=>{const i=/(\[])$/.test(e);if(e=e.replace(/\[]$/,""),!i)return void(r[e]=n?Rt(n,t):n);const o=null===n?[]:n.split(t.arrayFormatSeparator).map((e=>Rt(e,t)));void 0!==r[e]?r[e]=[...r[e],...o]:r[e]=o};default:return(t,e,n)=>{void 0!==n[t]?n[t]=[...[n[t]].flat(),e]:n[t]=e}}}(e),r=Object.create(null);if("string"!=typeof t)return r;if(!(t=t.trim().replace(/^[?#&]/,"")))return r;for(const i of t.split("&")){if(""===i)continue;const t=e.decode?i.replace(/\+/g," "):i;let[o,s]=Pt(t,"=");void 0===o&&(o=t),s=void 0===s?null:["comma","separator","bracket-separator"].includes(e.arrayFormat)?s:Rt(s,e),n(Rt(o,e),s,r)}for(const[t,n]of Object.entries(r))if("object"==typeof n&&null!==n)for(const[t,r]of Object.entries(n))n[t]=Ut(r,e);else r[t]=Ut(n,e);return!1===e.sort?r:(!0===e.sort?Object.keys(r).sort():Object.keys(r).sort(e.sort)).reduce(((t,e)=>{const n=r[e];return Boolean(n)&&"object"==typeof n&&!Array.isArray(n)?t[e]=Ft(n):t[e]=n,t}),Object.create(null))}function $t(t,e){if(!t)return"";Lt((e={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...e}).arrayFormatSeparator);const n=n=>e.skipNull&&Ot(t[n])||e.skipEmptyString&&""===t[n],r=function(t){switch(t.arrayFormat){case"index":return e=>(n,r)=>{const i=n.length;return void 0===r||t.skipNull&&null===r||t.skipEmptyString&&""===r?n:null===r?[...n,[It(e,t),"[",i,"]"].join("")]:[...n,[It(e,t),"[",It(i,t),"]=",It(r,t)].join("")]};case"bracket":return e=>(n,r)=>void 0===r||t.skipNull&&null===r||t.skipEmptyString&&""===r?n:null===r?[...n,[It(e,t),"[]"].join("")]:[...n,[It(e,t),"[]=",It(r,t)].join("")];case"colon-list-separator":return e=>(n,r)=>void 0===r||t.skipNull&&null===r||t.skipEmptyString&&""===r?n:null===r?[...n,[It(e,t),":list="].join("")]:[...n,[It(e,t),":list=",It(r,t)].join("")];case"comma":case"separator":case"bracket-separator":{const e="bracket-separator"===t.arrayFormat?"[]=":"=";return n=>(r,i)=>void 0===i||t.skipNull&&null===i||t.skipEmptyString&&""===i?r:(i=null===i?"":i,0===r.length?[[It(n,t),e,It(i,t)].join("")]:[[r,It(i,t)].join(t.arrayFormatSeparator)])}default:return e=>(n,r)=>void 0===r||t.skipNull&&null===r||t.skipEmptyString&&""===r?n:null===r?[...n,It(e,t)]:[...n,[It(e,t),"=",It(r,t)].join("")]}}(e),i={};for(const[e,r]of Object.entries(t))n(e)||(i[e]=r);const o=Object.keys(i);return!1!==e.sort&&o.sort(e.sort),o.map((n=>{const i=t[n];return void 0===i?"":null===i?It(n,e):Array.isArray(i)?0===i.length&&"bracket-separator"===e.arrayFormat?It(n,e)+"[]":i.reduce(r(n),[]).join("&"):It(n,e)+"="+It(i,e)})).filter((t=>t.length>0)).join("&")}function zt(t,e){e={decode:!0,...e};let[n,r]=Pt(t,"#");return void 0===n&&(n=t),{url:n?.split("?")?.[0]??"",query:Dt(Mt(t),e),...e&&e.parseFragmentIdentifier&&r?{fragmentIdentifier:Rt(r,e)}:{}}}function qt(t,e){e={encode:!0,strict:!0,[Tt]:!0,...e};const n=Bt(t.url).split("?")[0]||"";let r=$t({...Dt(Mt(t.url),{sort:!1}),...t.query},e);r&&(r=`?${r}`);let i=function(t){let e="";const n=t.indexOf("#");return-1!==n&&(e=t.slice(n)),e}(t.url);if(t.fragmentIdentifier){const r=new URL(n);r.hash=t.fragmentIdentifier,i=e[Tt]?r.hash:`#${t.fragmentIdentifier}`}return`${n}${r}${i}`}function Ht(t,e,n){n={parseFragmentIdentifier:!0,[Tt]:!1,...n};const{url:r,query:i,fragmentIdentifier:o}=zt(t,n);return qt({url:r,query:kt(i,e),fragmentIdentifier:o},n)}function Vt(t,e,n){return Ht(t,Array.isArray(e)?t=>!e.includes(t):(t,n)=>!e(t,n),n)}var Zt=o,Kt=i(16972),Yt=i(49368),Gt=i(80774),Wt=i(57274),Jt={name:"LoginButton",components:{ArrowRight:i(39429).default,NcButton:Wt.Z},props:{value:{type:String,default:t("core","Log in")},valueLoading:{type:String,default:t("core","Logging in …")},loading:{type:Boolean,required:!0},invertedColors:{type:Boolean,default:!1}}},Xt=i(93379),Qt=i.n(Xt),te=i(7795),ee=i.n(te),ne=i(90569),re=i.n(ne),ie=i(3565),oe=i.n(ie),se=i(19216),ae=i.n(se),ue=i(44589),ce=i.n(ue),le=i(76515),fe={};fe.styleTagTransform=ce(),fe.setAttributes=oe(),fe.insert=re().bind(null,"head"),fe.domAPI=ee(),fe.insertStyleElement=ae(),Qt()(le.Z,fe),le.Z&&le.Z.locals&&le.Z.locals;var de=i(51900),he=(0,de.Z)(Jt,(function(){var t=this,e=t._self._c;return e("NcButton",{attrs:{type:"primary","native-type":"submit",wide:!0},on:{click:function(e){return t.$emit("click")}},scopedSlots:t._u([{key:"icon",fn:function(){return[t.loading?e("div",{staticClass:"submit-wrapper__icon icon-loading-small-dark"}):e("ArrowRight",{staticClass:"submit-wrapper__icon"})]},proxy:!0}])},[t._v("\n\t"+t._s(t.loading?t.valueLoading:t.value)+"\n\t")])}),[],!1,null,"3fa8511b",null).exports,pe={name:"LoginForm",components:{LoginButton:he,NcPasswordField:Kt.Z,NcTextField:Yt.Z,NcNoteCard:Gt.Z},props:{username:{type:String,default:""},redirectUrl:{type:[String,Boolean],default:!1},errors:{type:Array,default:function(){return[]}},messages:{type:Array,default:function(){return[]}},throttleDelay:{type:Number,default:0},autoCompleteAllowed:{type:Boolean,default:!0},directLogin:{type:Boolean,default:!1}},data:function(){var e;return{loading:!1,timezone:null===(e=new Intl.DateTimeFormat)||void 0===e||null===(e=e.resolvedOptions())||void 0===e?void 0:e.timeZone,timezoneOffset:-(new Date).getTimezoneOffset()/60,headline:t("core","Log in to {productName}",{productName:OC.theme.name}),user:"",password:""}},computed:{isError:function(){return this.invalidPassword||this.userDisabled||this.throttleDelay>5e3},errorLabel:function(){return this.invalidPassword?t("core","Wrong username or password."):this.userDisabled?t("core","User disabled"):this.throttleDelay>5e3?t("core","We have detected multiple invalid login attempts from your IP. Therefore your next login is throttled up to 30 seconds."):void 0},apacheAuthFailed:function(){return-1!==this.errors.indexOf("apacheAuthFailed")},internalException:function(){return-1!==this.errors.indexOf("internalexception")},invalidPassword:function(){return-1!==this.errors.indexOf("invalidpassword")},userDisabled:function(){return-1!==this.errors.indexOf("userdisabled")},loadingIcon:function(){return(0,g.imagePath)("core","loading-dark.gif")},loginActionUrl:function(){return(0,g.generateUrl)("login")}},mounted:function(){""===this.username?this.$refs.user.$refs.inputField.$refs.input.focus():(this.user=this.username,this.$refs.password.$refs.inputField.$refs.input.focus())},methods:{updateUsername:function(){this.$emit("update:username",this.user)},submit:function(){this.loading=!0,this.$emit("submit")}}},me=i(62977),ge={};ge.styleTagTransform=ce(),ge.setAttributes=oe(),ge.insert=re().bind(null,"head"),ge.domAPI=ee(),ge.insertStyleElement=ae(),Qt()(me.Z,ge),me.Z&&me.Z.locals&&me.Z.locals;var ve=(0,de.Z)(pe,(function(){var t=this,e=t._self._c;return e("form",{ref:"loginForm",staticClass:"login-form",attrs:{method:"post",name:"login",action:t.loginActionUrl},on:{submit:t.submit}},[e("fieldset",{staticClass:"login-form__fieldset",attrs:{"data-login-form":""}},[t.apacheAuthFailed?e("NcNoteCard",{attrs:{title:t.t("core","Server side authentication failed!"),type:"warning"}},[t._v("\n\t\t\t"+t._s(t.t("core","Please contact your administrator."))+"\n\t\t")]):t._e(),t._v(" "),t.messages.length>0?e("NcNoteCard",t._l(t.messages,(function(n,r){return e("div",{key:r},[t._v("\n\t\t\t\t"+t._s(n)),e("br")])})),0):t._e(),t._v(" "),t.internalException?e("NcNoteCard",{class:t.t("core","An internal error occurred."),attrs:{type:"warning"}},[t._v("\n\t\t\t"+t._s(t.t("core","Please try again or contact your administrator."))+"\n\t\t")]):t._e(),t._v(" "),e("div",{staticClass:"hidden",attrs:{id:"message"}},[e("img",{staticClass:"float-spinner",attrs:{alt:"",src:t.loadingIcon}}),t._v(" "),e("span",{attrs:{id:"messageText"}}),t._v(" "),e("div",{staticStyle:{clear:"both"}})]),t._v(" "),e("h2",{staticClass:"login-form__headline",attrs:{"data-login-form-headline":""},domProps:{innerHTML:t._s(t.headline)}}),t._v(" "),e("NcTextField",{ref:"user",class:{shake:t.invalidPassword},attrs:{id:"user",label:t.t("core","Account name or email"),name:"user",value:t.user,autocapitalize:"none",spellchecking:!1,autocomplete:t.autoCompleteAllowed?"username":"off",required:"","data-login-form-input-user":""},on:{"update:value":function(e){t.user=e},change:t.updateUsername}}),t._v(" "),e("NcPasswordField",{ref:"password",class:{shake:t.invalidPassword},attrs:{id:"password",name:"password",value:t.password,spellchecking:!1,autocapitalize:"none",autocomplete:t.autoCompleteAllowed?"current-password":"off",label:t.t("core","Password"),"helper-text":t.errorLabel,error:t.isError,"data-login-form-input-password":"",required:""},on:{"update:value":function(e){t.password=e}}}),t._v(" "),e("LoginButton",{attrs:{"data-login-form-submit":"",loading:t.loading}}),t._v(" "),t.redirectUrl?e("input",{attrs:{type:"hidden",name:"redirect_url"},domProps:{value:t.redirectUrl}}):t._e(),t._v(" "),e("input",{attrs:{type:"hidden",name:"timezone"},domProps:{value:t.timezone}}),t._v(" "),e("input",{attrs:{type:"hidden",name:"timezone_offset"},domProps:{value:t.timezoneOffset}}),t._v(" "),e("input",{attrs:{type:"hidden",name:"requesttoken"},domProps:{value:t.OC.requestToken}}),t._v(" "),t.directLogin?e("input",{attrs:{type:"hidden",name:"direct",value:"1"}}):t._e()],1)])}),[],!1,null,"0fbfcc31",null).exports,ye=i(93664),be=i(37838),we={name:"LockOpenIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},xe=(0,de.Z)(we,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon lock-open-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V10A2,2 0 0,1 6,8H15V6A3,3 0 0,0 12,3A3,3 0 0,0 9,6H7A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,17A2,2 0 0,0 14,15A2,2 0 0,0 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,_e=i(25108);function Ae(t){return Ae="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ae(t)}function Ce(t){return function(t){if(Array.isArray(t))return Ee(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return Ee(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ee(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ee(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function je(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Ne(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?je(Object(n),!0).forEach((function(e){Pe(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):je(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function Pe(t,e,n){return(e=ke(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function ke(t){var e=function(t,e){if("object"!==Ae(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Ae(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===Ae(e)?e:String(e)}function Oe(t){var e="function"==typeof Map?new Map:void 0;return Oe=function(t){if(null===t||(n=t,-1===Function.toString.call(n).indexOf("[native code]")))return t;var n;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,r)}function r(){return Se(t,arguments,Ie(this).constructor)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),Le(r,t)},Oe(t)}function Se(t,e,n){return Se=Te()?Reflect.construct.bind():function(t,e,n){var r=[null];r.push.apply(r,e);var i=new(Function.bind.apply(t,r));return n&&Le(i,n.prototype),i},Se.apply(null,arguments)}function Te(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}function Le(t,e){return Le=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Le(t,e)}function Ie(t){return Ie=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Ie(t)}var Re=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Le(t,e)}(o,t);var e,n,r,i=(n=o,r=Te(),function(){var t,e=Ie(n);if(r){var i=Ie(this).constructor;t=Reflect.construct(e,arguments,i)}else t=e.apply(this,arguments);return function(t,e){if(e&&("object"===Ae(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(this,t)});function o(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,o),i.apply(this,arguments)}return e=o,Object.defineProperty(e,"prototype",{writable:!1}),e}(Oe(Error)),Fe={name:"PasswordLessLoginForm",components:{LoginButton:he,InformationIcon:be.Z,LockOpenIcon:xe,NcTextField:Yt.Z},props:{username:{type:String,default:""},redirectUrl:{type:[String,Boolean],default:!1},autoCompleteAllowed:{type:Boolean,default:!0},isHttps:{type:Boolean,default:!1},isLocalhost:{type:Boolean,default:!1},hasPublicKeyCredential:{type:Boolean,default:!1}},data:function(){return{user:this.username,loading:!1,validCredentials:!0}},methods:{authenticate:function(){var t=this;this.$refs.loginForm.checkValidity()&&(_e.debug("passwordless login initiated"),this.getAuthenticationData(this.user).then((function(t){return _e.debug(t),t})).then(this.sign).then(this.completeAuthentication).catch((function(e){e instanceof Re?t.validCredentials=!1:_e.debug(e)})))},changeUsername:function(t){this.user=t,this.$emit("update:username",this.user)},getAuthenticationData:function(t){var e,n,r=function(t){var e=(t=t.replace(/-/g,"+").replace(/_/g,"/")).length%4;if(e){if(1===e)throw new Error("InvalidLengthError: Input base64url string is the wrong length to determine padding");t+=new Array(5-e).join("=")}return window.atob(t)};return(e=t,n=(0,g.generateUrl)("/login/webauthn/start"),ye.Z.post(n,{loginName:e}).then((function(t){return t.data}))).then((function(t){if(_e.debug("Obtained PublicKeyCredentialRequestOptions"),_e.debug(t),!Object.prototype.hasOwnProperty.call(t,"allowCredentials"))throw _e.debug("No credentials found."),new Re;return t.challenge=Uint8Array.from(r(t.challenge),(function(t){return t.charCodeAt(0)})),t.allowCredentials=t.allowCredentials.map((function(t){return Ne(Ne({},t),{},{id:Uint8Array.from(r(t.id),(function(t){return t.charCodeAt(0)}))})})),_e.debug("Converted PublicKeyCredentialRequestOptions"),_e.debug(t),t})).catch((function(t){throw _e.debug("Error while obtaining data"),t}))},sign:function(t){var e=function(t){return window.btoa(String.fromCharCode.apply(String,Ce(t)))};return navigator.credentials.get({publicKey:t}).then((function(t){return _e.debug(t),_e.debug(new Uint8Array(t.rawId)),_e.debug(e(new Uint8Array(t.rawId))),{id:t.id,type:t.type,rawId:e(new Uint8Array(t.rawId)),response:{authenticatorData:e(new Uint8Array(t.response.authenticatorData)),clientDataJSON:e(new Uint8Array(t.response.clientDataJSON)),signature:e(new Uint8Array(t.response.signature)),userHandle:t.response.userHandle?(n=new Uint8Array(t.response.userHandle),String.fromCharCode.apply(String,Ce(n))):null}};var n})).then((function(t){return _e.debug(t),t})).catch((function(t){_e.debug("GOT AN ERROR!"),_e.debug(t)}))},completeAuthentication:function(t){_e.debug("TIME TO COMPLETE");var e,n,r=this.redirectUrl;return(e=JSON.stringify(t),n=(0,g.generateUrl)("/login/webauthn/finish"),ye.Z.post(n,{data:e}).then((function(t){return t.data}))).then((function(t){var e=t.defaultRedirectUrl;_e.debug("Logged in redirecting"),window.location.href=r||e})).catch((function(t){_e.debug("GOT AN ERROR WHILE SUBMITTING CHALLENGE!"),_e.debug(t)}))},submit:function(){}}},Be=i(36188),Ue={};Ue.styleTagTransform=ce(),Ue.setAttributes=oe(),Ue.insert=re().bind(null,"head"),Ue.domAPI=ee(),Ue.insertStyleElement=ae(),Qt()(Be.Z,Ue),Be.Z&&Be.Z.locals&&Be.Z.locals;var Me=(0,de.Z)(Fe,(function(){var t=this,e=t._self._c;return(t.isHttps||t.isLocalhost)&&t.hasPublicKeyCredential?e("form",{ref:"loginForm",attrs:{method:"post",name:"login"},on:{submit:function(e){return e.preventDefault(),t.submit.apply(null,arguments)}}},[e("h2",[t._v(t._s(t.t("core","Log in with a device")))]),t._v(" "),e("fieldset",[e("NcTextField",{attrs:{required:"",value:t.user,autocomplete:t.autoCompleteAllowed?"on":"off",error:!t.validCredentials,label:t.t("core","Username or email"),placeholder:t.t("core","Username or email"),"helper-text":t.validCredentials?"":t.t("core","Your account is not setup for passwordless login.")},on:{"update:value":t.changeUsername}}),t._v(" "),t.validCredentials?e("LoginButton",{attrs:{loading:t.loading},on:{click:t.authenticate}}):t._e()],1)]):t.hasPublicKeyCredential?t.isHttps||t.isLocalhost?t._e():e("div",{staticClass:"update"},[e("LockOpenIcon",{attrs:{size:"70"}}),t._v(" "),e("h2",[t._v(t._s(t.t("core","Your connection is not secure")))]),t._v(" "),e("p",{staticClass:"infogroup"},[t._v("\n\t\t"+t._s(t.t("core","Passwordless authentication is only available over a secure connection."))+"\n\t")])],1):e("div",{staticClass:"update"},[e("InformationIcon",{attrs:{size:"70"}}),t._v(" "),e("h2",[t._v(t._s(t.t("core","Browser not supported")))]),t._v(" "),e("p",{staticClass:"infogroup"},[t._v("\n\t\t"+t._s(t.t("core","Passwordless authentication is not supported in your browser."))+"\n\t")])],1)}),[],!1,null,"3ea2fa78",null),De=Me.exports,$e=i(25108),ze={name:"ResetPassword",components:{LoginButton:he,NcNoteCard:Gt.Z,NcTextField:Yt.Z},props:{username:{type:String,required:!0},resetPasswordLink:{type:String,required:!0}},data:function(){return{error:!1,loading:!1,message:void 0,user:this.username}},watch:{username:function(t){this.user=t}},methods:{updateUsername:function(){this.$emit("update:username",this.user)},submit:function(){var t=this;this.loading=!0,this.error=!1,this.message="";var e=(0,g.generateUrl)("/lostpassword/email"),n={user:this.user};return ye.Z.post(e,n).then((function(t){return t.data})).then((function(e){if("success"!==e.status)throw new Error("got status ".concat(e.status));t.message="send-success"})).catch((function(e){$e.error("could not send reset email request",e),t.error=!0,t.message="send-error"})).then((function(){t.loading=!1}))}}},qe=i(25425),He={};He.styleTagTransform=ce(),He.setAttributes=oe(),He.insert=re().bind(null,"head"),He.domAPI=ee(),He.insertStyleElement=ae(),Qt()(qe.Z,He),qe.Z&&qe.Z.locals&&qe.Z.locals;var Ve=(0,de.Z)(ze,(function(){var t=this,e=t._self._c;return e("form",{staticClass:"login-form",on:{submit:function(e){return e.preventDefault(),t.submit.apply(null,arguments)}}},[e("fieldset",{staticClass:"login-form__fieldset"},[e("NcTextField",{attrs:{id:"user",value:t.user,name:"user",autocapitalize:"off",label:t.t("core","Account name or email"),required:""},on:{"update:value":function(e){t.user=e},change:t.updateUsername}}),t._v(" "),e("LoginButton",{attrs:{value:t.t("core","Reset password")}}),t._v(" "),"send-success"===t.message?e("NcNoteCard",{attrs:{type:"success"}},[t._v("\n\t\t\t"+t._s(t.t("core","If this account exists, a password reset message has been sent to its email address. If you do not receive it, verify your email address and/or account name, check your spam/junk folders or ask your local administration for help."))+"\n\t\t")]):"send-error"===t.message?e("NcNoteCard",{attrs:{type:"error"}},[t._v("\n\t\t\t"+t._s(t.t("core","Couldn't send reset email. Please contact your administrator."))+"\n\t\t")]):"reset-error"===t.message?e("NcNoteCard",{attrs:{type:"error"}},[t._v("\n\t\t\t"+t._s(t.t("core","Password cannot be changed. Please contact your administrator."))+"\n\t\t")]):t._e(),t._v(" "),e("a",{staticClass:"login-form__link",attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.$emit("abort")}}},[t._v("\n\t\t\t"+t._s(t.t("core","Back to login"))+"\n\t\t")])],1)])}),[],!1,null,"179b3658",null),Ze=Ve.exports;function Ke(t){return Ke="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ke(t)}function Ye(){Ye=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",a=i.toStringTag||"@@toStringTag";function u(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,n){return t[e]=n}}function c(t,e,n,i){var o=e&&e.prototype instanceof d?e:d,s=Object.create(o.prototype),a=new E(i||[]);return r(s,"_invoke",{value:x(t,n,a)}),s}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var f={};function d(){}function h(){}function p(){}var m={};u(m,o,(function(){return this}));var g=Object.getPrototypeOf,v=g&&g(g(j([])));v&&v!==e&&n.call(v,o)&&(m=v);var y=p.prototype=d.prototype=Object.create(m);function b(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function i(r,o,s,a){var u=l(t[r],t,o);if("throw"!==u.type){var c=u.arg,f=c.value;return f&&"object"==Ke(f)&&n.call(f,"__await")?e.resolve(f.__await).then((function(t){i("next",t,s,a)}),(function(t){i("throw",t,s,a)})):e.resolve(f).then((function(t){c.value=t,s(c)}),(function(t){return i("throw",t,s,a)}))}a(u.arg)}var o;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){i(t,n,e,r)}))}return o=o?o.then(r,r):r()}})}function x(t,e,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return{value:void 0,done:!0}}for(n.method=i,n.arg=o;;){var s=n.delegate;if(s){var a=_(s,n);if(a){if(a===f)continue;return a}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var u=l(t,e,n);if("normal"===u.type){if(r=n.done?"completed":"suspendedYield",u.arg===f)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r="completed",n.method="throw",n.arg=u.arg)}}}function _(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,_(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),f;var i=l(r,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,f;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function A(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function C(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(A,this),this.reset(!0)}function j(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:N}}function N(){return{value:void 0,done:!0}}return h.prototype=p,r(y,"constructor",{value:p,configurable:!0}),r(p,"constructor",{value:h,configurable:!0}),h.displayName=u(p,a,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===h||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,p):(t.__proto__=p,u(t,a,"GeneratorFunction")),t.prototype=Object.create(y),t},t.awrap=function(t){return{__await:t}},b(w.prototype),u(w.prototype,s,(function(){return this})),t.AsyncIterator=w,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var s=new w(c(e,n,r,i),o);return t.isGeneratorFunction(n)?s:s.next().then((function(t){return t.done?t.value:s.next()}))},b(y),u(y,a,"Generator"),u(y,o,(function(){return this})),u(y,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=j,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(C),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return s.type="throw",s.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],s=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var a=n.call(o,"catchLoc"),u=n.call(o,"finallyLoc");if(a&&u){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(a){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var s=o?o.completion:{};return s.type=t,s.arg=e,o?(this.method="next",this.next=o.finallyLoc,f):this.complete(s)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),f},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),C(n),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;C(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:j(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),f}},t}function Ge(t,e,n,r,i,o,s){try{var a=t[o](s),u=a.value}catch(t){return void n(t)}a.done?e(u):Promise.resolve(u).then(r,i)}var We={name:"UpdatePassword",components:{LoginButton:he},props:{username:{type:String,required:!0},resetPasswordTarget:{type:String,required:!0}},data:function(){return{error:!1,loading:!1,message:void 0,user:this.username,password:"",encrypted:!1,proceed:!1}},watch:{username:function(t){this.user=t}},methods:{submit:function(){var e,n=this;return(e=Ye().mark((function e(){var r,i;return Ye().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.loading=!0,n.error=!1,n.message="",e.prev=3,e.next=6,ye.Z.post(n.resetPasswordTarget,{password:n.password,proceed:n.proceed});case 6:if(r=e.sent,!(i=r.data)||"success"!==i.status){e.next=14;break}n.message="send-success",n.$emit("update:username",n.user),n.$emit("done"),e.next=23;break;case 14:if(!i||!i.encryption){e.next=18;break}n.encrypted=!0,e.next=23;break;case 18:if(!i||!i.msg){e.next=22;break}throw new Error(i.msg);case 22:throw new Error;case 23:e.next=29;break;case 25:e.prev=25,e.t0=e.catch(3),n.error=!0,n.message=e.t0.message?e.t0.message:t("core","Password cannot be changed. Please contact your administrator.");case 29:return e.prev=29,n.loading=!1,e.finish(29);case 32:case"end":return e.stop()}}),e,null,[[3,25,29,32]])})),function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function s(t){Ge(o,r,i,s,a,"next",t)}function a(t){Ge(o,r,i,s,a,"throw",t)}s(void 0)}))})()}}},Je=We,Xe=i(74778),Qe={};Qe.styleTagTransform=ce(),Qe.setAttributes=oe(),Qe.insert=re().bind(null,"head"),Qe.domAPI=ee(),Qe.insertStyleElement=ae(),Qt()(Xe.Z,Qe),Xe.Z&&Xe.Z.locals&&Xe.Z.locals;var tn=(0,de.Z)(Je,(function(){var t=this,e=t._self._c;return e("form",{on:{submit:function(e){return e.preventDefault(),t.submit.apply(null,arguments)}}},[e("fieldset",[e("p",[e("label",{staticClass:"infield",attrs:{for:"password"}},[t._v(t._s(t.t("core","New password")))]),t._v(" "),e("input",{directives:[{name:"model",rawName:"v-model",value:t.password,expression:"password"}],attrs:{id:"password",type:"password",name:"password",autocomplete:"new-password",autocapitalize:"none",autocorrect:"off",required:"",placeholder:t.t("core","New password")},domProps:{value:t.password},on:{input:function(e){e.target.composing||(t.password=e.target.value)}}})]),t._v(" "),t.encrypted?e("div",{staticClass:"update"},[e("p",[t._v("\n\t\t\t\t"+t._s(t.t("core","Your files are encrypted. There will be no way to get your data back after your password is reset. If you are not sure what to do, please contact your administrator before you continue. Do you really want to continue?"))+"\n\t\t\t")]),t._v(" "),e("input",{directives:[{name:"model",rawName:"v-model",value:t.proceed,expression:"proceed"}],staticClass:"checkbox",attrs:{id:"encrypted-continue",type:"checkbox"},domProps:{checked:Array.isArray(t.proceed)?t._i(t.proceed,null)>-1:t.proceed},on:{change:function(e){var n=t.proceed,r=e.target,i=!!r.checked;if(Array.isArray(n)){var o=t._i(n,null);r.checked?o<0&&(t.proceed=n.concat([null])):o>-1&&(t.proceed=n.slice(0,o).concat(n.slice(o+1)))}else t.proceed=i}}}),t._v(" "),e("label",{attrs:{for:"encrypted-continue"}},[t._v("\n\t\t\t\t"+t._s(t.t("core","I know what I'm doing"))+"\n\t\t\t")])]):t._e(),t._v(" "),e("LoginButton",{attrs:{loading:t.loading,value:t.t("core","Reset password"),"value-loading":t.t("core","Resetting password")}}),t._v(" "),t.error&&t.message?e("p",{class:{warning:t.error}},[t._v("\n\t\t\t"+t._s(t.message)+"\n\t\t")]):t._e()],1)])}),[],!1,null,"4dc21d74",null),en=tn.exports,nn=i(25108),rn=Zt.parse(location.search);if("1"===rn.clear)try{window.localStorage.clear(),window.sessionStorage.clear(),nn.debug("Browser storage cleared")}catch(t){nn.error("Could not clear browser storage",t)}var on={name:"Login",components:{LoginForm:ve,PasswordLessLoginForm:De,ResetPassword:Ze,UpdatePassword:en,NcButton:Wt.Z,NcNoteCard:Gt.Z},data:function(){return{loading:!1,user:(0,_t.j)("core","loginUsername",""),passwordlessLogin:!1,resetPassword:!1,errors:(0,_t.j)("core","loginErrors",[]),messages:(0,_t.j)("core","loginMessages",[]),redirectUrl:(0,_t.j)("core","loginRedirectUrl",!1),throttleDelay:(0,_t.j)("core","loginThrottleDelay",0),canResetPassword:(0,_t.j)("core","loginCanResetPassword",!1),resetPasswordLink:(0,_t.j)("core","loginResetPasswordLink",""),autoCompleteAllowed:(0,_t.j)("core","loginAutocomplete",!0),resetPasswordTarget:(0,_t.j)("core","resetPasswordTarget",""),resetPasswordUser:(0,_t.j)("core","resetPasswordUser",""),directLogin:"1"===rn.direct,hasPasswordless:(0,_t.j)("core","webauthn-available",!1),countAlternativeLogins:(0,_t.j)("core","countAlternativeLogins",!1),alternativeLogins:(0,_t.j)("core","alternativeLogins",[]),isHttps:"https:"===window.location.protocol,isLocalhost:"localhost"===window.location.hostname,hasPublicKeyCredential:void 0!==window.PublicKeyCredential,hideLoginForm:(0,_t.j)("core","hideLoginForm",!1)}},methods:{passwordResetFinished:function(){this.resetPasswordTarget="",this.directLogin=!0}}},sn=i(59385),an={};an.styleTagTransform=ce(),an.setAttributes=oe(),an.insert=re().bind(null,"head"),an.domAPI=ee(),an.insertStyleElement=ae(),Qt()(sn.Z,an),sn.Z&&sn.Z.locals&&sn.Z.locals;var un=(0,de.Z)(on,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"guest-box login-box"},[!t.hideLoginForm||t.directLogin?[e("transition",{attrs:{name:"fade",mode:"out-in"}},[t.passwordlessLogin||t.resetPassword||""!==t.resetPasswordTarget?!t.loading&&t.passwordlessLogin?e("div",{key:"reset",staticClass:"login-additional login-passwordless"},[e("PasswordLessLoginForm",{attrs:{username:t.user,"redirect-url":t.redirectUrl,"auto-complete-allowed":t.autoCompleteAllowed,"is-https":t.isHttps,"is-localhost":t.isLocalhost,"has-public-key-credential":t.hasPublicKeyCredential},on:{"update:username":function(e){t.user=e},submit:function(e){t.loading=!0}}}),t._v(" "),e("NcButton",{attrs:{type:"tertiary","aria-label":t.t("core","Back to login form"),wide:!0},on:{click:function(e){t.passwordlessLogin=!1}}},[t._v("\n\t\t\t\t\t"+t._s(t.t("core","Back"))+"\n\t\t\t\t")])],1):!t.loading&&t.canResetPassword?e("div",{key:"reset",staticClass:"login-additional"},[e("div",{staticClass:"lost-password-container"},[t.resetPassword?e("ResetPassword",{attrs:{username:t.user,"reset-password-link":t.resetPasswordLink},on:{"update:username":function(e){t.user=e},abort:function(e){t.resetPassword=!1}}}):t._e()],1)]):""!==t.resetPasswordTarget?e("div",[e("UpdatePassword",{attrs:{username:t.user,"reset-password-target":t.resetPasswordTarget},on:{"update:username":function(e){t.user=e},done:t.passwordResetFinished}})],1):t._e():e("div",[e("LoginForm",{attrs:{username:t.user,"redirect-url":t.redirectUrl,"direct-login":t.directLogin,messages:t.messages,errors:t.errors,"throttle-delay":t.throttleDelay,"auto-complete-allowed":t.autoCompleteAllowed},on:{"update:username":function(e){t.user=e},submit:function(e){t.loading=!0}}}),t._v(" "),t.canResetPassword&&""!==t.resetPasswordLink?e("a",{staticClass:"login-box__link",attrs:{id:"lost-password",href:t.resetPasswordLink}},[t._v("\n\t\t\t\t\t"+t._s(t.t("core","Forgot password?"))+"\n\t\t\t\t")]):t.canResetPassword&&!t.resetPassword?e("a",{staticClass:"login-box__link",attrs:{id:"lost-password",href:t.resetPasswordLink},on:{click:function(e){e.preventDefault(),t.resetPassword=!0}}},[t._v("\n\t\t\t\t\t"+t._s(t.t("core","Forgot password?"))+"\n\t\t\t\t")]):t._e(),t._v(" "),t.hasPasswordless?[t.countAlternativeLogins?e("div",{staticClass:"alternative-logins"},[t.hasPasswordless?e("a",{staticClass:"button",class:{"single-alt-login-option":t.countAlternativeLogins},attrs:{href:"#"},on:{click:function(e){e.preventDefault(),t.passwordlessLogin=!0}}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.t("core","Log in with a device"))+"\n\t\t\t\t\t\t")]):t._e()]):e("a",{attrs:{href:"#"},on:{click:function(e){e.preventDefault(),t.passwordlessLogin=!0}}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("core","Log in with a device"))+"\n\t\t\t\t\t")])]:t._e()],2)])]:[e("transition",{attrs:{name:"fade",mode:"out-in"}},[e("NcNoteCard",{attrs:{type:"warning",title:t.t("core","Login form is disabled.")}},[t._v("\n\t\t\t\t"+t._s(t.t("core","Please contact your administrator."))+"\n\t\t\t")])],1)],t._v(" "),e("div",{staticClass:"alternative-logins",attrs:{id:"alternative-logins"}},t._l(t.alternativeLogins,(function(n,r){return e("NcButton",{key:r,class:[n.class],attrs:{type:"secondary",wide:!0,role:"link",href:n.href}},[t._v("\n\t\t\t"+t._s(n.name)+"\n\t\t")])})),1)],2)}),[],!1,null,null,null).exports,cn={data:function(){return{OC:xt}},methods:{t:rt.translate.bind(rt),n:rt.translatePlural.bind(rt)}};s.default.mixin(cn),(new(s.default.extend(un))).$mount("#login")},72316:function(t,e,n){var r,i,o;o="object"==typeof self&&self.self===self&&self||"object"==typeof n.g&&n.g.global===n.g&&n.g,r=[n(59050),n(19755),e],i=function(t,e,n){o.Backbone=function(t,e,n,r){var i=t.Backbone,o=Array.prototype.slice;e.VERSION="1.5.0",e.$=r,e.noConflict=function(){return t.Backbone=i,this},e.emulateHTTP=!1,e.emulateJSON=!1;var s,a=e.Events={},u=/\s+/,c=function(t,e,r,i,o){var s,a=0;if(r&&"object"==typeof r){void 0!==i&&"context"in o&&void 0===o.context&&(o.context=i);for(s=n.keys(r);a<s.length;a++)e=c(t,e,s[a],r[s[a]],o)}else if(r&&u.test(r))for(s=r.split(u);a<s.length;a++)e=t(e,s[a],i,o);else e=t(e,r,i,o);return e};a.on=function(t,e,n){return this._events=c(l,this._events||{},t,e,{context:n,ctx:this,listening:s}),s&&((this._listeners||(this._listeners={}))[s.id]=s,s.interop=!1),this},a.listenTo=function(t,e,r){if(!t)return this;var i=t._listenId||(t._listenId=n.uniqueId("l")),o=this._listeningTo||(this._listeningTo={}),a=s=o[i];a||(this._listenId||(this._listenId=n.uniqueId("l")),a=s=o[i]=new g(this,t));var u=f(t,e,r,this);if(s=void 0,u)throw u;return a.interop&&a.on(e,r),this};var l=function(t,e,n,r){if(n){var i=t[e]||(t[e]=[]),o=r.context,s=r.ctx,a=r.listening;a&&a.count++,i.push({callback:n,context:o,ctx:o||s,listening:a})}return t},f=function(t,e,n,r){try{t.on(e,n,r)}catch(t){return t}};a.off=function(t,e,n){return this._events?(this._events=c(d,this._events,t,e,{context:n,listeners:this._listeners}),this):this},a.stopListening=function(t,e,r){var i=this._listeningTo;if(!i)return this;for(var o=t?[t._listenId]:n.keys(i),s=0;s<o.length;s++){var a=i[o[s]];if(!a)break;a.obj.off(e,r,this),a.interop&&a.off(e,r)}return n.isEmpty(i)&&(this._listeningTo=void 0),this};var d=function(t,e,r,i){if(t){var o,s=i.context,a=i.listeners,u=0;if(e||s||r){for(o=e?[e]:n.keys(t);u<o.length;u++){var c=t[e=o[u]];if(!c)break;for(var l=[],f=0;f<c.length;f++){var d=c[f];if(r&&r!==d.callback&&r!==d.callback._callback||s&&s!==d.context)l.push(d);else{var h=d.listening;h&&h.off(e,r)}}l.length?t[e]=l:delete t[e]}return t}for(o=n.keys(a);u<o.length;u++)a[o[u]].cleanup()}};a.once=function(t,e,n){var r=c(h,{},t,e,this.off.bind(this));return"string"==typeof t&&null==n&&(e=void 0),this.on(r,e,n)},a.listenToOnce=function(t,e,n){var r=c(h,{},e,n,this.stopListening.bind(this,t));return this.listenTo(t,r)};var h=function(t,e,r,i){if(r){var o=t[e]=n.once((function(){i(e,o),r.apply(this,arguments)}));o._callback=r}return t};a.trigger=function(t){if(!this._events)return this;for(var e=Math.max(0,arguments.length-1),n=Array(e),r=0;r<e;r++)n[r]=arguments[r+1];return c(p,this._events,t,void 0,n),this};var p=function(t,e,n,r){if(t){var i=t[e],o=t.all;i&&o&&(o=o.slice()),i&&m(i,r),o&&m(o,[e].concat(r))}return t},m=function(t,e){var n,r=-1,i=t.length,o=e[0],s=e[1],a=e[2];switch(e.length){case 0:for(;++r<i;)(n=t[r]).callback.call(n.ctx);return;case 1:for(;++r<i;)(n=t[r]).callback.call(n.ctx,o);return;case 2:for(;++r<i;)(n=t[r]).callback.call(n.ctx,o,s);return;case 3:for(;++r<i;)(n=t[r]).callback.call(n.ctx,o,s,a);return;default:for(;++r<i;)(n=t[r]).callback.apply(n.ctx,e);return}},g=function(t,e){this.id=t._listenId,this.listener=t,this.obj=e,this.interop=!0,this.count=0,this._events=void 0};g.prototype.on=a.on,g.prototype.off=function(t,e){var n;this.interop?(this._events=c(d,this._events,t,e,{context:void 0,listeners:void 0}),n=!this._events):(this.count--,n=0===this.count),n&&this.cleanup()},g.prototype.cleanup=function(){delete this.listener._listeningTo[this.obj._listenId],this.interop||delete this.obj._listeners[this.id]},a.bind=a.on,a.unbind=a.off,n.extend(e,a);var v=e.Model=function(t,e){var r=t||{};e||(e={}),this.preinitialize.apply(this,arguments),this.cid=n.uniqueId(this.cidPrefix),this.attributes={},e.collection&&(this.collection=e.collection),e.parse&&(r=this.parse(r,e)||{});var i=n.result(this,"defaults");r=n.defaults(n.extend({},i,r),i),this.set(r,e),this.changed={},this.initialize.apply(this,arguments)};n.extend(v.prototype,a,{changed:null,validationError:null,idAttribute:"id",cidPrefix:"c",preinitialize:function(){},initialize:function(){},toJSON:function(t){return n.clone(this.attributes)},sync:function(){return e.sync.apply(this,arguments)},get:function(t){return this.attributes[t]},escape:function(t){return n.escape(this.get(t))},has:function(t){return null!=this.get(t)},matches:function(t){return!!n.iteratee(t,this)(this.attributes)},set:function(t,e,r){if(null==t)return this;var i;if("object"==typeof t?(i=t,r=e):(i={})[t]=e,r||(r={}),!this._validate(i,r))return!1;var o=r.unset,s=r.silent,a=[],u=this._changing;this._changing=!0,u||(this._previousAttributes=n.clone(this.attributes),this.changed={});var c=this.attributes,l=this.changed,f=this._previousAttributes;for(var d in i)e=i[d],n.isEqual(c[d],e)||a.push(d),n.isEqual(f[d],e)?delete l[d]:l[d]=e,o?delete c[d]:c[d]=e;if(this.idAttribute in i){var h=this.id;this.id=this.get(this.idAttribute),this.trigger("changeId",this,h,r)}if(!s){a.length&&(this._pending=r);for(var p=0;p<a.length;p++)this.trigger("change:"+a[p],this,c[a[p]],r)}if(u)return this;if(!s)for(;this._pending;)r=this._pending,this._pending=!1,this.trigger("change",this,r);return this._pending=!1,this._changing=!1,this},unset:function(t,e){return this.set(t,void 0,n.extend({},e,{unset:!0}))},clear:function(t){var e={};for(var r in this.attributes)e[r]=void 0;return this.set(e,n.extend({},t,{unset:!0}))},hasChanged:function(t){return null==t?!n.isEmpty(this.changed):n.has(this.changed,t)},changedAttributes:function(t){if(!t)return!!this.hasChanged()&&n.clone(this.changed);var e,r=this._changing?this._previousAttributes:this.attributes,i={};for(var o in t){var s=t[o];n.isEqual(r[o],s)||(i[o]=s,e=!0)}return!!e&&i},previous:function(t){return null!=t&&this._previousAttributes?this._previousAttributes[t]:null},previousAttributes:function(){return n.clone(this._previousAttributes)},fetch:function(t){t=n.extend({parse:!0},t);var e=this,r=t.success;return t.success=function(n){var i=t.parse?e.parse(n,t):n;if(!e.set(i,t))return!1;r&&r.call(t.context,e,n,t),e.trigger("sync",e,n,t)},H(this,t),this.sync("read",this,t)},save:function(t,e,r){var i;null==t||"object"==typeof t?(i=t,r=e):(i={})[t]=e;var o=(r=n.extend({validate:!0,parse:!0},r)).wait;if(i&&!o){if(!this.set(i,r))return!1}else if(!this._validate(i,r))return!1;var s=this,a=r.success,u=this.attributes;r.success=function(t){s.attributes=u;var e=r.parse?s.parse(t,r):t;if(o&&(e=n.extend({},i,e)),e&&!s.set(e,r))return!1;a&&a.call(r.context,s,t,r),s.trigger("sync",s,t,r)},H(this,r),i&&o&&(this.attributes=n.extend({},u,i));var c=this.isNew()?"create":r.patch?"patch":"update";"patch"!==c||r.attrs||(r.attrs=i);var l=this.sync(c,this,r);return this.attributes=u,l},destroy:function(t){t=t?n.clone(t):{};var e=this,r=t.success,i=t.wait,o=function(){e.stopListening(),e.trigger("destroy",e,e.collection,t)};t.success=function(n){i&&o(),r&&r.call(t.context,e,n,t),e.isNew()||e.trigger("sync",e,n,t)};var s=!1;return this.isNew()?n.defer(t.success):(H(this,t),s=this.sync("delete",this,t)),i||o(),s},url:function(){var t=n.result(this,"urlRoot")||n.result(this.collection,"url")||q();if(this.isNew())return t;var e=this.get(this.idAttribute);return t.replace(/[^\/]$/,"$&/")+encodeURIComponent(e)},parse:function(t,e){return t},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(t){return this._validate({},n.extend({},t,{validate:!0}))},_validate:function(t,e){if(!e.validate||!this.validate)return!0;t=n.extend({},this.attributes,t);var r=this.validationError=this.validate(t,e)||null;return!r||(this.trigger("invalid",this,r,n.extend(e,{validationError:r})),!1)}});var y=e.Collection=function(t,e){e||(e={}),this.preinitialize.apply(this,arguments),e.model&&(this.model=e.model),void 0!==e.comparator&&(this.comparator=e.comparator),this._reset(),this.initialize.apply(this,arguments),t&&this.reset(t,n.extend({silent:!0},e))},b={add:!0,remove:!0,merge:!0},w={add:!0,remove:!1},x=function(t,e,n){n=Math.min(Math.max(n,0),t.length);var r,i=Array(t.length-n),o=e.length;for(r=0;r<i.length;r++)i[r]=t[r+n];for(r=0;r<o;r++)t[r+n]=e[r];for(r=0;r<i.length;r++)t[r+o+n]=i[r]};n.extend(y.prototype,a,{model:v,preinitialize:function(){},initialize:function(){},toJSON:function(t){return this.map((function(e){return e.toJSON(t)}))},sync:function(){return e.sync.apply(this,arguments)},add:function(t,e){return this.set(t,n.extend({merge:!1},e,w))},remove:function(t,e){e=n.extend({},e);var r=!n.isArray(t);t=r?[t]:t.slice();var i=this._removeModels(t,e);return!e.silent&&i.length&&(e.changes={added:[],merged:[],removed:i},this.trigger("update",this,e)),r?i[0]:i},set:function(t,e){if(null!=t){(e=n.extend({},b,e)).parse&&!this._isModel(t)&&(t=this.parse(t,e)||[]);var r=!n.isArray(t);t=r?[t]:t.slice();var i=e.at;null!=i&&(i=+i),i>this.length&&(i=this.length),i<0&&(i+=this.length+1);var o,s,a=[],u=[],c=[],l=[],f={},d=e.add,h=e.merge,p=e.remove,m=!1,g=this.comparator&&null==i&&!1!==e.sort,v=n.isString(this.comparator)?this.comparator:null;for(s=0;s<t.length;s++){o=t[s];var y=this.get(o);if(y){if(h&&o!==y){var w=this._isModel(o)?o.attributes:o;e.parse&&(w=y.parse(w,e)),y.set(w,e),c.push(y),g&&!m&&(m=y.hasChanged(v))}f[y.cid]||(f[y.cid]=!0,a.push(y)),t[s]=y}else d&&(o=t[s]=this._prepareModel(o,e))&&(u.push(o),this._addReference(o,e),f[o.cid]=!0,a.push(o))}if(p){for(s=0;s<this.length;s++)f[(o=this.models[s]).cid]||l.push(o);l.length&&this._removeModels(l,e)}var _=!1,A=!g&&d&&p;if(a.length&&A?(_=this.length!==a.length||n.some(this.models,(function(t,e){return t!==a[e]})),this.models.length=0,x(this.models,a,0),this.length=this.models.length):u.length&&(g&&(m=!0),x(this.models,u,null==i?this.length:i),this.length=this.models.length),m&&this.sort({silent:!0}),!e.silent){for(s=0;s<u.length;s++)null!=i&&(e.index=i+s),(o=u[s]).trigger("add",o,this,e);(m||_)&&this.trigger("sort",this,e),(u.length||l.length||c.length)&&(e.changes={added:u,removed:l,merged:c},this.trigger("update",this,e))}return r?t[0]:t}},reset:function(t,e){e=e?n.clone(e):{};for(var r=0;r<this.models.length;r++)this._removeReference(this.models[r],e);return e.previousModels=this.models,this._reset(),t=this.add(t,n.extend({silent:!0},e)),e.silent||this.trigger("reset",this,e),t},push:function(t,e){return this.add(t,n.extend({at:this.length},e))},pop:function(t){var e=this.at(this.length-1);return this.remove(e,t)},unshift:function(t,e){return this.add(t,n.extend({at:0},e))},shift:function(t){var e=this.at(0);return this.remove(e,t)},slice:function(){return o.apply(this.models,arguments)},get:function(t){if(null!=t)return this._byId[t]||this._byId[this.modelId(this._isModel(t)?t.attributes:t,t.idAttribute)]||t.cid&&this._byId[t.cid]},has:function(t){return null!=this.get(t)},at:function(t){return t<0&&(t+=this.length),this.models[t]},where:function(t,e){return this[e?"find":"filter"](t)},findWhere:function(t){return this.where(t,!0)},sort:function(t){var e=this.comparator;if(!e)throw new Error("Cannot sort a set without a comparator");t||(t={});var r=e.length;return n.isFunction(e)&&(e=e.bind(this)),1===r||n.isString(e)?this.models=this.sortBy(e):this.models.sort(e),t.silent||this.trigger("sort",this,t),this},pluck:function(t){return this.map(t+"")},fetch:function(t){var e=(t=n.extend({parse:!0},t)).success,r=this;return t.success=function(n){var i=t.reset?"reset":"set";r[i](n,t),e&&e.call(t.context,r,n,t),r.trigger("sync",r,n,t)},H(this,t),this.sync("read",this,t)},create:function(t,e){var r=(e=e?n.clone(e):{}).wait;if(!(t=this._prepareModel(t,e)))return!1;r||this.add(t,e);var i=this,o=e.success;return e.success=function(t,e,n){r&&(t.off("error",this._forwardPristineError,this),i.add(t,n)),o&&o.call(n.context,t,e,n)},r&&t.once("error",this._forwardPristineError,this),t.save(null,e),t},parse:function(t,e){return t},clone:function(){return new this.constructor(this.models,{model:this.model,comparator:this.comparator})},modelId:function(t,e){return t[e||this.model.prototype.idAttribute||"id"]},values:function(){return new A(this,C)},keys:function(){return new A(this,E)},entries:function(){return new A(this,j)},_reset:function(){this.length=0,this.models=[],this._byId={}},_prepareModel:function(t,e){return this._isModel(t)?(t.collection||(t.collection=this),t):((e=e?n.clone(e):{}).collection=this,(r=this.model.prototype?new this.model(t,e):this.model(t,e)).validationError?(this.trigger("invalid",this,r.validationError,e),!1):r);var r},_removeModels:function(t,e){for(var n=[],r=0;r<t.length;r++){var i=this.get(t[r]);if(i){var o=this.indexOf(i);this.models.splice(o,1),this.length--,delete this._byId[i.cid];var s=this.modelId(i.attributes,i.idAttribute);null!=s&&delete this._byId[s],e.silent||(e.index=o,i.trigger("remove",i,this,e)),n.push(i),this._removeReference(i,e)}}return t.length>0&&!e.silent&&delete e.index,n},_isModel:function(t){return t instanceof v},_addReference:function(t,e){this._byId[t.cid]=t;var n=this.modelId(t.attributes,t.idAttribute);null!=n&&(this._byId[n]=t),t.on("all",this._onModelEvent,this)},_removeReference:function(t,e){delete this._byId[t.cid];var n=this.modelId(t.attributes,t.idAttribute);null!=n&&delete this._byId[n],this===t.collection&&delete t.collection,t.off("all",this._onModelEvent,this)},_onModelEvent:function(t,e,n,r){if(e){if(("add"===t||"remove"===t)&&n!==this)return;if("destroy"===t&&this.remove(e,r),"changeId"===t){var i=this.modelId(e.previousAttributes(),e.idAttribute),o=this.modelId(e.attributes,e.idAttribute);null!=i&&delete this._byId[i],null!=o&&(this._byId[o]=e)}}this.trigger.apply(this,arguments)},_forwardPristineError:function(t,e,n){this.has(t)||this._onModelEvent("error",t,e,n)}});var _="function"==typeof Symbol&&Symbol.iterator;_&&(y.prototype[_]=y.prototype.values);var A=function(t,e){this._collection=t,this._kind=e,this._index=0},C=1,E=2,j=3;_&&(A.prototype[_]=function(){return this}),A.prototype.next=function(){if(this._collection){if(this._index<this._collection.length){var t,e=this._collection.at(this._index);if(this._index++,this._kind===C)t=e;else{var n=this._collection.modelId(e.attributes,e.idAttribute);t=this._kind===E?n:[n,e]}return{value:t,done:!1}}this._collection=void 0}return{value:void 0,done:!0}};var N=e.View=function(t){this.cid=n.uniqueId("view"),this.preinitialize.apply(this,arguments),n.extend(this,n.pick(t,k)),this._ensureElement(),this.initialize.apply(this,arguments)},P=/^(\S+)\s*(.*)$/,k=["model","collection","el","id","attributes","className","tagName","events"];n.extend(N.prototype,a,{tagName:"div",$:function(t){return this.$el.find(t)},preinitialize:function(){},initialize:function(){},render:function(){return this},remove:function(){return this._removeElement(),this.stopListening(),this},_removeElement:function(){this.$el.remove()},setElement:function(t){return this.undelegateEvents(),this._setElement(t),this.delegateEvents(),this},_setElement:function(t){this.$el=t instanceof e.$?t:e.$(t),this.el=this.$el[0]},delegateEvents:function(t){if(t||(t=n.result(this,"events")),!t)return this;for(var e in this.undelegateEvents(),t){var r=t[e];if(n.isFunction(r)||(r=this[r]),r){var i=e.match(P);this.delegate(i[1],i[2],r.bind(this))}}return this},delegate:function(t,e,n){return this.$el.on(t+".delegateEvents"+this.cid,e,n),this},undelegateEvents:function(){return this.$el&&this.$el.off(".delegateEvents"+this.cid),this},undelegate:function(t,e,n){return this.$el.off(t+".delegateEvents"+this.cid,e,n),this},_createElement:function(t){return document.createElement(t)},_ensureElement:function(){if(this.el)this.setElement(n.result(this,"el"));else{var t=n.extend({},n.result(this,"attributes"));this.id&&(t.id=n.result(this,"id")),this.className&&(t.class=n.result(this,"className")),this.setElement(this._createElement(n.result(this,"tagName"))),this._setAttributes(t)}},_setAttributes:function(t){this.$el.attr(t)}});var O=function(t,e,r,i){n.each(r,(function(n,r){e[r]&&(t.prototype[r]=function(t,e,n,r){switch(e){case 1:return function(){return t[n](this[r])};case 2:return function(e){return t[n](this[r],e)};case 3:return function(e,i){return t[n](this[r],S(e,this),i)};case 4:return function(e,i,o){return t[n](this[r],S(e,this),i,o)};default:return function(){var e=o.call(arguments);return e.unshift(this[r]),t[n].apply(t,e)}}}(e,n,r,i))}))},S=function(t,e){return n.isFunction(t)?t:n.isObject(t)&&!e._isModel(t)?T(t):n.isString(t)?function(e){return e.get(t)}:t},T=function(t){var e=n.matches(t);return function(t){return e(t.attributes)}};n.each([[y,{forEach:3,each:3,map:3,collect:3,reduce:0,foldl:0,inject:0,reduceRight:0,foldr:0,find:3,detect:3,filter:3,select:3,reject:3,every:3,all:3,some:3,any:3,include:3,includes:3,contains:3,invoke:0,max:3,min:3,toArray:1,size:1,first:3,head:3,take:3,initial:3,rest:3,tail:3,drop:3,last:3,without:0,difference:0,indexOf:3,shuffle:1,lastIndexOf:3,isEmpty:1,chain:1,sample:3,partition:3,groupBy:3,countBy:3,sortBy:3,indexBy:3,findIndex:3,findLastIndex:3},"models"],[v,{keys:1,values:1,pairs:1,invert:1,pick:0,omit:0,chain:1,isEmpty:1},"attributes"]],(function(t){var e=t[0],r=t[1],i=t[2];e.mixin=function(t){var r=n.reduce(n.functions(t),(function(t,e){return t[e]=0,t}),{});O(e,t,r,i)},O(e,n,r,i)})),e.sync=function(t,r,i){var o=L[t];n.defaults(i||(i={}),{emulateHTTP:e.emulateHTTP,emulateJSON:e.emulateJSON});var s={type:o,dataType:"json"};if(i.url||(s.url=n.result(r,"url")||q()),null!=i.data||!r||"create"!==t&&"update"!==t&&"patch"!==t||(s.contentType="application/json",s.data=JSON.stringify(i.attrs||r.toJSON(i))),i.emulateJSON&&(s.contentType="application/x-www-form-urlencoded",s.data=s.data?{model:s.data}:{}),i.emulateHTTP&&("PUT"===o||"DELETE"===o||"PATCH"===o)){s.type="POST",i.emulateJSON&&(s.data._method=o);var a=i.beforeSend;i.beforeSend=function(t){if(t.setRequestHeader("X-HTTP-Method-Override",o),a)return a.apply(this,arguments)}}"GET"===s.type||i.emulateJSON||(s.processData=!1);var u=i.error;i.error=function(t,e,n){i.textStatus=e,i.errorThrown=n,u&&u.call(i.context,t,e,n)};var c=i.xhr=e.ajax(n.extend(s,i));return r.trigger("request",r,c,i),c};var L={create:"POST",update:"PUT",patch:"PATCH",delete:"DELETE",read:"GET"};e.ajax=function(){return e.$.ajax.apply(e.$,arguments)};var I=e.Router=function(t){t||(t={}),this.preinitialize.apply(this,arguments),t.routes&&(this.routes=t.routes),this._bindRoutes(),this.initialize.apply(this,arguments)},R=/\((.*?)\)/g,F=/(\(\?)?:\w+/g,B=/\*\w+/g,U=/[\-{}\[\]+?.,\\\^$|#\s]/g;n.extend(I.prototype,a,{preinitialize:function(){},initialize:function(){},route:function(t,r,i){n.isRegExp(t)||(t=this._routeToRegExp(t)),n.isFunction(r)&&(i=r,r=""),i||(i=this[r]);var o=this;return e.history.route(t,(function(n){var s=o._extractParameters(t,n);!1!==o.execute(i,s,r)&&(o.trigger.apply(o,["route:"+r].concat(s)),o.trigger("route",r,s),e.history.trigger("route",o,r,s))})),this},execute:function(t,e,n){t&&t.apply(this,e)},navigate:function(t,n){return e.history.navigate(t,n),this},_bindRoutes:function(){if(this.routes){this.routes=n.result(this,"routes");for(var t,e=n.keys(this.routes);null!=(t=e.pop());)this.route(t,this.routes[t])}},_routeToRegExp:function(t){return t=t.replace(U,"\\$&").replace(R,"(?:$1)?").replace(F,(function(t,e){return e?t:"([^/?]+)"})).replace(B,"([^?]*?)"),new RegExp("^"+t+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(t,e){var r=t.exec(e).slice(1);return n.map(r,(function(t,e){return e===r.length-1?t||null:t?decodeURIComponent(t):null}))}});var M=e.History=function(){this.handlers=[],this.checkUrl=this.checkUrl.bind(this),"undefined"!=typeof window&&(this.location=window.location,this.history=window.history)},D=/^[#\/]|\s+$/g,$=/^\/+|\/+$/g,z=/#.*$/;M.started=!1,n.extend(M.prototype,a,{interval:50,atRoot:function(){return this.location.pathname.replace(/[^\/]$/,"$&/")===this.root&&!this.getSearch()},matchRoot:function(){return this.decodeFragment(this.location.pathname).slice(0,this.root.length-1)+"/"===this.root},decodeFragment:function(t){return decodeURI(t.replace(/%25/g,"%2525"))},getSearch:function(){var t=this.location.href.replace(/#.*/,"").match(/\?.+/);return t?t[0]:""},getHash:function(t){var e=(t||this).location.href.match(/#(.*)$/);return e?e[1]:""},getPath:function(){var t=this.decodeFragment(this.location.pathname+this.getSearch()).slice(this.root.length-1);return"/"===t.charAt(0)?t.slice(1):t},getFragment:function(t){return null==t&&(t=this._usePushState||!this._wantsHashChange?this.getPath():this.getHash()),t.replace(D,"")},start:function(t){if(M.started)throw new Error("Backbone.history has already been started");if(M.started=!0,this.options=n.extend({root:"/"},this.options,t),this.root=this.options.root,this._trailingSlash=this.options.trailingSlash,this._wantsHashChange=!1!==this.options.hashChange,this._hasHashChange="onhashchange"in window&&(void 0===document.documentMode||document.documentMode>7),this._useHashChange=this._wantsHashChange&&this._hasHashChange,this._wantsPushState=!!this.options.pushState,this._hasPushState=!(!this.history||!this.history.pushState),this._usePushState=this._wantsPushState&&this._hasPushState,this.fragment=this.getFragment(),this.root=("/"+this.root+"/").replace($,"/"),this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||"/";return this.location.replace(e+"#"+this.getPath()),!0}this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0})}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe"),this.iframe.src="javascript:0",this.iframe.style.display="none",this.iframe.tabIndex=-1;var r=document.body,i=r.insertBefore(this.iframe,r.firstChild).contentWindow;i.document.open(),i.document.close(),i.location.hash="#"+this.fragment}var o=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState?o("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe?o("hashchange",this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};this._usePushState?t("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe&&t("hashchange",this.checkUrl,!1),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),M.started=!1},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe&&(e=this.getHash(this.iframe.contentWindow)),e===this.fragment)return!1;this.iframe&&this.navigate(e),this.loadUrl()},loadUrl:function(t){return!!this.matchRoot()&&(t=this.fragment=this.getFragment(t),n.some(this.handlers,(function(e){if(e.route.test(t))return e.callback(t),!0})))},navigate:function(t,e){if(!M.started)return!1;e&&!0!==e||(e={trigger:!!e}),t=this.getFragment(t||"");var n=this.root;this._trailingSlash||""!==t&&"?"!==t.charAt(0)||(n=n.slice(0,-1)||"/");var r=n+t;t=t.replace(z,"");var i=this.decodeFragment(t);if(this.fragment!==i){if(this.fragment=i,this._usePushState)this.history[e.replace?"replaceState":"pushState"]({},document.title,r);else{if(!this._wantsHashChange)return this.location.assign(r);if(this._updateHash(this.location,t,e.replace),this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var o=this.iframe.contentWindow;e.replace||(o.document.open(),o.document.close()),this._updateHash(o.location,t,e.replace)}}return e.trigger?this.loadUrl(t):void 0}},_updateHash:function(t,e,n){if(n){var r=t.href.replace(/(javascript:|#).*$/,"");t.replace(r+"#"+e)}else t.hash="#"+e}}),e.history=new M;v.extend=y.extend=I.extend=N.extend=M.extend=function(t,e){var r,i=this;return r=t&&n.has(t,"constructor")?t.constructor:function(){return i.apply(this,arguments)},n.extend(r,i,e),r.prototype=n.create(i.prototype,t),r.prototype.constructor=r,r.__super__=i.prototype,r};var q=function(){throw new Error('A "url" property or function must be specified')},H=function(t,e){var n=e.error;e.error=function(r){n&&n.call(e.context,t,r,e),t.trigger("error",t,r,e)}};return e}(o,n,t,e)}.apply(e,r),void 0===i||(t.exports=i)},76515:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),s=n.n(o)()(i());s.push([t.id,".button-vue[data-v-3fa8511b]{margin-top:.5rem}","",{version:3,sources:["webpack://./core/src/components/login/LoginButton.vue"],names:[],mappings:"AACA,6BACC,gBAAA",sourcesContent:["\n.button-vue {\n\tmargin-top: .5rem;\n}\n"],sourceRoot:""}]),e.Z=s},62977:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),s=n.n(o)()(i());s.push([t.id,".login-form[data-v-0fbfcc31]{text-align:left;font-size:1rem}.login-form__fieldset[data-v-0fbfcc31]{width:100%;display:flex;flex-direction:column;gap:.5rem}.login-form__headline[data-v-0fbfcc31]{text-align:center;overflow-wrap:anywhere}","",{version:3,sources:["webpack://./core/src/components/login/LoginForm.vue"],names:[],mappings:"AACA,6BACC,eAAA,CACA,cAAA,CAEA,uCACC,UAAA,CACA,YAAA,CACA,qBAAA,CACA,SAAA,CAGD,uCACC,iBAAA,CACA,sBAAA",sourcesContent:["\n.login-form {\n\ttext-align: left;\n\tfont-size: 1rem;\n\n\t&__fieldset {\n\t\twidth: 100%;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: .5rem;\n\t}\n\n\t&__headline {\n\t\ttext-align: center;\n\t\toverflow-wrap: anywhere;\n\t}\n}\n"],sourceRoot:""}]),e.Z=s},36188:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),s=n.n(o)()(i());s.push([t.id,"fieldset[data-v-3ea2fa78]{display:flex;flex-direction:column;gap:.5rem}fieldset[data-v-3ea2fa78] label{text-align:initial}.update[data-v-3ea2fa78]{margin:0 auto}","",{version:3,sources:["webpack://./core/src/components/login/PasswordLessLoginForm.vue"],names:[],mappings:"AACA,0BACC,YAAA,CACA,qBAAA,CACA,SAAA,CAEA,gCACC,kBAAA,CAIF,yBACC,aAAA",sourcesContent:["\nfieldset {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 0.5rem;\n\n\t:deep(label) {\n\t\ttext-align: initial;\n\t}\n}\n\n.update {\n\tmargin: 0 auto;\n}\n"],sourceRoot:""}]),e.Z=s},25425:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),s=n.n(o)()(i());s.push([t.id,".login-form[data-v-179b3658]{text-align:left;font-size:1rem}.login-form__fieldset[data-v-179b3658]{width:100%;display:flex;flex-direction:column;gap:.5rem}.login-form__link[data-v-179b3658]{display:block;font-weight:normal !important;padding-bottom:1rem;cursor:pointer;font-size:var(--default-font-size);text-align:center;padding:.5rem 1rem 1rem 1rem}","",{version:3,sources:["webpack://./core/src/components/login/ResetPassword.vue"],names:[],mappings:"AACA,6BACC,eAAA,CACA,cAAA,CAEA,uCACC,UAAA,CACA,YAAA,CACA,qBAAA,CACA,SAAA,CAGD,mCACC,aAAA,CACA,6BAAA,CACA,mBAAA,CACA,cAAA,CACA,kCAAA,CACA,iBAAA,CACA,4BAAA",sourcesContent:["\n.login-form {\n\ttext-align: left;\n\tfont-size: 1rem;\n\n\t&__fieldset {\n\t\twidth: 100%;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: .5rem;\n\t}\n\n\t&__link {\n\t\tdisplay: block;\n\t\tfont-weight: normal !important;\n\t\tpadding-bottom: 1rem;\n\t\tcursor: pointer;\n\t\tfont-size: var(--default-font-size);\n\t\ttext-align: center;\n\t\tpadding: .5rem 1rem 1rem 1rem;\n\t}\n}\n"],sourceRoot:""}]),e.Z=s},59385:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),s=n.n(o)()(i());s.push([t.id,"body{font-size:var(--default-font-size)}.login-box{width:320px;box-sizing:border-box}.login-box__link{display:block;padding:1rem;font-size:var(--default-font-size);text-align:center;font-weight:normal !important}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter,.fade-leave-to{opacity:0}.alternative-logins{display:flex;flex-direction:column;gap:.75rem}.alternative-logins .button-vue{box-sizing:border-box}.login-passwordless .button-vue{margin-top:.5rem}","",{version:3,sources:["webpack://./core/src/views/Login.vue"],names:[],mappings:"AACA,KACC,kCAAA,CAGD,WAEC,WAAA,CACA,qBAAA,CAEA,iBACC,aAAA,CACA,YAAA,CACA,kCAAA,CACA,iBAAA,CACA,6BAAA,CAIF,sCACC,sBAAA,CAED,2BACC,SAAA,CAGD,oBACC,YAAA,CACA,qBAAA,CACA,UAAA,CAEA,gCACC,qBAAA,CAKD,gCACC,gBAAA",sourcesContent:["\nbody {\n\tfont-size: var(--default-font-size);\n}\n\n.login-box {\n\t// Same size as dashboard panels\n\twidth: 320px;\n\tbox-sizing: border-box;\n\n\t&__link {\n\t\tdisplay: block;\n\t\tpadding: 1rem;\n\t\tfont-size: var(--default-font-size);\n\t\ttext-align: center;\n\t\tfont-weight: normal !important;\n\t}\n}\n\n.fade-enter-active, .fade-leave-active {\n\ttransition: opacity .3s;\n}\n.fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ {\n\topacity: 0;\n}\n\n.alternative-logins {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 0.75rem;\n\n\t.button-vue {\n\t\tbox-sizing: border-box;\n\t}\n}\n\n.login-passwordless {\n\t.button-vue {\n\t\tmargin-top: 0.5rem;\n\t}\n}\n"],sourceRoot:""}]),e.Z=s},74778:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),s=n.n(o)()(i());s.push([t.id,"\nfieldset[data-v-4dc21d74] {\n\ttext-align: center;\n}\ninput[type=submit][data-v-4dc21d74] {\n\tmargin-top: 20px;\n}\n","",{version:3,sources:["webpack://./core/src/components/login/UpdatePassword.vue"],names:[],mappings:";AA4IA;CACA,kBAAA;AACA;AAEA;CACA,gBAAA;AACA",sourcesContent:["\x3c!--\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n --\x3e\n\n<template>\n\t<form @submit.prevent=\"submit\">\n\t\t<fieldset>\n\t\t\t<p>\n\t\t\t\t<label for=\"password\" class=\"infield\">{{ t('core', 'New password') }}</label>\n\t\t\t\t<input id=\"password\"\n\t\t\t\t\tv-model=\"password\"\n\t\t\t\t\ttype=\"password\"\n\t\t\t\t\tname=\"password\"\n\t\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\t\tautocapitalize=\"none\"\n\t\t\t\t\tautocorrect=\"off\"\n\t\t\t\t\trequired\n\t\t\t\t\t:placeholder=\"t('core', 'New password')\">\n\t\t\t</p>\n\n\t\t\t<div v-if=\"encrypted\" class=\"update\">\n\t\t\t\t<p>\n\t\t\t\t\t{{ t('core', 'Your files are encrypted. There will be no way to get your data back after your password is reset. If you are not sure what to do, please contact your administrator before you continue. Do you really want to continue?') }}\n\t\t\t\t</p>\n\t\t\t\t<input id=\"encrypted-continue\"\n\t\t\t\t\tv-model=\"proceed\"\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tclass=\"checkbox\">\n\t\t\t\t<label for=\"encrypted-continue\">\n\t\t\t\t\t{{ t('core', 'I know what I\\'m doing') }}\n\t\t\t\t</label>\n\t\t\t</div>\n\n\t\t\t<LoginButton :loading=\"loading\"\n\t\t\t\t:value=\"t('core', 'Reset password')\"\n\t\t\t\t:value-loading=\"t('core', 'Resetting password')\" />\n\n\t\t\t<p v-if=\"error && message\" :class=\"{warning: error}\">\n\t\t\t\t{{ message }}\n\t\t\t</p>\n\t\t</fieldset>\n\t</form>\n</template>\n\n<script>\nimport Axios from '@nextcloud/axios'\nimport LoginButton from './LoginButton.vue'\n\nexport default {\n\tname: 'UpdatePassword',\n\tcomponents: {\n\t\tLoginButton,\n\t},\n\tprops: {\n\t\tusername: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tresetPasswordTarget: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\terror: false,\n\t\t\tloading: false,\n\t\t\tmessage: undefined,\n\t\t\tuser: this.username,\n\t\t\tpassword: '',\n\t\t\tencrypted: false,\n\t\t\tproceed: false,\n\t\t}\n\t},\n\twatch: {\n\t\tusername(value) {\n\t\t\tthis.user = value\n\t\t},\n\t},\n\tmethods: {\n\t\tasync submit() {\n\t\t\tthis.loading = true\n\t\t\tthis.error = false\n\t\t\tthis.message = ''\n\n\t\t\ttry {\n\t\t\t\tconst { data } = await Axios.post(this.resetPasswordTarget, {\n\t\t\t\t\tpassword: this.password,\n\t\t\t\t\tproceed: this.proceed,\n\t\t\t\t})\n\t\t\t\tif (data && data.status === 'success') {\n\t\t\t\t\tthis.message = 'send-success'\n\t\t\t\t\tthis.$emit('update:username', this.user)\n\t\t\t\t\tthis.$emit('done')\n\t\t\t\t} else if (data && data.encryption) {\n\t\t\t\t\tthis.encrypted = true\n\t\t\t\t} else if (data && data.msg) {\n\t\t\t\t\tthrow new Error(data.msg)\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error()\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tthis.error = true\n\t\t\t\tthis.message = e.message ? e.message : t('core', 'Password cannot be changed. Please contact your administrator.')\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n<\/script>\n\n<style scoped>\n\tfieldset {\n\t\ttext-align: center;\n\t}\n\n\tinput[type=submit] {\n\t\tmargin-top: 20px;\n\t}\n</style>\n"],sourceRoot:""}]),e.Z=s},76591:function(t){"undefined"==typeof dav&&(dav={}),dav._XML_CHAR_MAP={"<":"<",">":">","&":"&",'"':""","'":"'"},dav._escapeXml=function(t){return t.replace(/[<>&"']/g,(function(t){return dav._XML_CHAR_MAP[t]}))},dav.Client=function(t){var e;for(e in t)this[e]=t[e]},dav.Client.prototype={baseUrl:null,userName:null,password:null,xmlNamespaces:{"DAV:":"d"},propFind:function(t,e,n,r){void 0===n&&(n="0"),n=""+n,(r=r||{}).Depth=n,r["Content-Type"]="application/xml; charset=utf-8";var i,o='<?xml version="1.0"?>\n<d:propfind ';for(i in this.xmlNamespaces)o+=" xmlns:"+this.xmlNamespaces[i]+'="'+i+'"';for(var s in o+=">\n <d:prop>\n",e)if(e.hasOwnProperty(s)){var a=this.parseClarkNotation(e[s]);this.xmlNamespaces[a.namespace]?o+=" <"+this.xmlNamespaces[a.namespace]+":"+a.name+" />\n":o+=" <x:"+a.name+' xmlns:x="'+a.namespace+'" />\n'}return o+=" </d:prop>\n",o+="</d:propfind>",this.request("PROPFIND",t,r,o).then(function(t){return"0"===n?{status:t.status,body:t.body[0],xhr:t.xhr}:{status:t.status,body:t.body,xhr:t.xhr}}.bind(this))},_renderPropSet:function(t){var e=" <d:set>\n <d:prop>\n";for(var n in t)if(t.hasOwnProperty(n)){var r,i=this.parseClarkNotation(n),o=t[n];"d:resourcetype"!=(r=this.xmlNamespaces[i.namespace]?this.xmlNamespaces[i.namespace]+":"+i.name:"x:"+i.name+' xmlns:x="'+i.namespace+'"')&&(o=dav._escapeXml(o)),e+=" <"+r+">"+o+"</"+r+">\n"}return(e+=" </d:prop>\n")+" </d:set>\n"},propPatch:function(t,e,n){(n=n||{})["Content-Type"]="application/xml; charset=utf-8";var r,i='<?xml version="1.0"?>\n<d:propertyupdate ';for(r in this.xmlNamespaces)i+=" xmlns:"+this.xmlNamespaces[r]+'="'+r+'"';return i+=">\n"+this._renderPropSet(e),i+="</d:propertyupdate>",this.request("PROPPATCH",t,n,i).then(function(t){return{status:t.status,body:t.body,xhr:t.xhr}}.bind(this))},mkcol:function(t,e,n){var r="";if((n=n||{})["Content-Type"]="application/xml; charset=utf-8",e){var i;for(i in r='<?xml version="1.0"?>\n<d:mkcol',this.xmlNamespaces)r+=" xmlns:"+this.xmlNamespaces[i]+'="'+i+'"';r+=">\n"+this._renderPropSet(e),r+="</d:mkcol>"}return this.request("MKCOL",t,n,r).then(function(t){return{status:t.status,body:t.body,xhr:t.xhr}}.bind(this))},request:function(t,e,n,r,i,o){var s,a=this,u=this.xhrProvider();for(s in n=n||{},i=i||"",this.userName&&(n.Authorization="Basic "+btoa(this.userName+":"+this.password)),u.open(t,this.resolveUrl(e),!0),n)u.setRequestHeader(s,n[s]);return u.responseType=i,o&&"function"==typeof o.onProgress&&("PUT"===t||"POST"===t?u.upload.addEventListener("progress",(function(t){o.onProgress(t)}),!1):u.addEventListener("progress",(function(t){o.onProgress(t)}),!1)),void 0===r?u.send():u.send(r),new Promise((function(t,e){u.onreadystatechange=function(){if(4===u.readyState){var e=u.response;207===u.status&&(e=a.parseMultiStatus(u.response)),t({body:e,status:u.status,xhr:u})}},u.ontimeout=function(){e(new Error("Timeout exceeded"))}}))},xhrProvider:function(){return new XMLHttpRequest},_parsePropNode:function(t){var e=null;if(t.childNodes&&t.childNodes.length>0){for(var n=[],r=0;r<t.childNodes.length;r++){var i=t.childNodes[r];1===i.nodeType&&n.push(i)}n.length&&(e=n)}return e||t.textContent||t.text||""},parseMultiStatus:function(t){for(var e=(new DOMParser).parseFromString(t,"application/xml"),n=function(t){var e;for(e in this.xmlNamespaces)if(this.xmlNamespaces[e]===t)return e}.bind(this),r=e.evaluate("/d:multistatus/d:response",e,n,XPathResult.ANY_TYPE,null),i=[],o=r.iterateNext();o;){var s={href:null,propStat:[]};s.href=e.evaluate("string(d:href)",o,n,XPathResult.ANY_TYPE,null).stringValue;for(var a=e.evaluate("d:propstat",o,n,XPathResult.ANY_TYPE,null),u=a.iterateNext();u;){for(var c={status:e.evaluate("string(d:status)",u,n,XPathResult.ANY_TYPE,null).stringValue,properties:{}},l=e.evaluate("d:prop/*",u,n,XPathResult.ANY_TYPE,null),f=l.iterateNext();f;){var d=this._parsePropNode(f);c.properties["{"+f.namespaceURI+"}"+f.localName]=d,f=l.iterateNext()}s.propStat.push(c),u=a.iterateNext()}i.push(s),o=r.iterateNext()}return i},resolveUrl:function(t){if(/^https?:\/\//i.test(t))return t;var e=this.parseUrl(this.baseUrl);return t.charAt("/")?e.root+t:(e.root,-1!==e.path.lastIndexOf("/")&&e.path.subString(0,e.path.lastIndexOf("/")),t)},parseUrl:function(t){var e=t.match(/^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/),n={url:e[0],scheme:e[1],host:e[3],port:e[4],path:e[5],query:e[6],fragment:e[7]};return n.root=n.scheme+"://"+n.host+(n.port?":"+n.port:""),n},parseClarkNotation:function(t){var e=t.match(/^{([^}]+)}(.*)$/);if(e)return{name:e[2],namespace:e[1]}}},void 0!==t.exports&&(t.exports.Client=dav.Client),t.exports={dav:dav}},46700:function(t,e,n){var r={"./af":42786,"./af.js":42786,"./ar":30867,"./ar-dz":14130,"./ar-dz.js":14130,"./ar-kw":96135,"./ar-kw.js":96135,"./ar-ly":56440,"./ar-ly.js":56440,"./ar-ma":47702,"./ar-ma.js":47702,"./ar-sa":16040,"./ar-sa.js":16040,"./ar-tn":37100,"./ar-tn.js":37100,"./ar.js":30867,"./az":31083,"./az.js":31083,"./be":9808,"./be.js":9808,"./bg":68338,"./bg.js":68338,"./bm":67438,"./bm.js":67438,"./bn":8905,"./bn-bd":76225,"./bn-bd.js":76225,"./bn.js":8905,"./bo":11560,"./bo.js":11560,"./br":1278,"./br.js":1278,"./bs":80622,"./bs.js":80622,"./ca":2468,"./ca.js":2468,"./cs":5822,"./cs.js":5822,"./cv":50877,"./cv.js":50877,"./cy":47373,"./cy.js":47373,"./da":24780,"./da.js":24780,"./de":59740,"./de-at":60217,"./de-at.js":60217,"./de-ch":60894,"./de-ch.js":60894,"./de.js":59740,"./dv":5300,"./dv.js":5300,"./el":50837,"./el.js":50837,"./en-au":78348,"./en-au.js":78348,"./en-ca":77925,"./en-ca.js":77925,"./en-gb":22243,"./en-gb.js":22243,"./en-ie":46436,"./en-ie.js":46436,"./en-il":47207,"./en-il.js":47207,"./en-in":44175,"./en-in.js":44175,"./en-nz":76319,"./en-nz.js":76319,"./en-sg":31662,"./en-sg.js":31662,"./eo":92915,"./eo.js":92915,"./es":55655,"./es-do":55251,"./es-do.js":55251,"./es-mx":96112,"./es-mx.js":96112,"./es-us":71146,"./es-us.js":71146,"./es.js":55655,"./et":5603,"./et.js":5603,"./eu":77763,"./eu.js":77763,"./fa":76959,"./fa.js":76959,"./fi":11897,"./fi.js":11897,"./fil":42549,"./fil.js":42549,"./fo":94694,"./fo.js":94694,"./fr":94470,"./fr-ca":63049,"./fr-ca.js":63049,"./fr-ch":52330,"./fr-ch.js":52330,"./fr.js":94470,"./fy":5044,"./fy.js":5044,"./ga":29295,"./ga.js":29295,"./gd":2101,"./gd.js":2101,"./gl":38794,"./gl.js":38794,"./gom-deva":27884,"./gom-deva.js":27884,"./gom-latn":23168,"./gom-latn.js":23168,"./gu":95349,"./gu.js":95349,"./he":24206,"./he.js":24206,"./hi":30094,"./hi.js":30094,"./hr":30316,"./hr.js":30316,"./hu":22138,"./hu.js":22138,"./hy-am":11423,"./hy-am.js":11423,"./id":29218,"./id.js":29218,"./is":90135,"./is.js":90135,"./it":90626,"./it-ch":10150,"./it-ch.js":10150,"./it.js":90626,"./ja":39183,"./ja.js":39183,"./jv":24286,"./jv.js":24286,"./ka":12105,"./ka.js":12105,"./kk":47772,"./kk.js":47772,"./km":18758,"./km.js":18758,"./kn":79282,"./kn.js":79282,"./ko":33730,"./ko.js":33730,"./ku":1408,"./ku.js":1408,"./ky":33291,"./ky.js":33291,"./lb":36841,"./lb.js":36841,"./lo":55466,"./lo.js":55466,"./lt":57010,"./lt.js":57010,"./lv":37595,"./lv.js":37595,"./me":39861,"./me.js":39861,"./mi":35493,"./mi.js":35493,"./mk":95966,"./mk.js":95966,"./ml":87341,"./ml.js":87341,"./mn":5115,"./mn.js":5115,"./mr":10370,"./mr.js":10370,"./ms":9847,"./ms-my":41237,"./ms-my.js":41237,"./ms.js":9847,"./mt":72126,"./mt.js":72126,"./my":56165,"./my.js":56165,"./nb":64924,"./nb.js":64924,"./ne":16744,"./ne.js":16744,"./nl":93901,"./nl-be":59814,"./nl-be.js":59814,"./nl.js":93901,"./nn":83877,"./nn.js":83877,"./oc-lnc":92135,"./oc-lnc.js":92135,"./pa-in":15858,"./pa-in.js":15858,"./pl":64495,"./pl.js":64495,"./pt":89520,"./pt-br":57971,"./pt-br.js":57971,"./pt.js":89520,"./ro":96459,"./ro.js":96459,"./ru":21793,"./ru.js":21793,"./sd":40950,"./sd.js":40950,"./se":10490,"./se.js":10490,"./si":90124,"./si.js":90124,"./sk":64249,"./sk.js":64249,"./sl":14985,"./sl.js":14985,"./sq":51104,"./sq.js":51104,"./sr":49131,"./sr-cyrl":79915,"./sr-cyrl.js":79915,"./sr.js":49131,"./ss":85893,"./ss.js":85893,"./sv":98760,"./sv.js":98760,"./sw":91172,"./sw.js":91172,"./ta":27333,"./ta.js":27333,"./te":23110,"./te.js":23110,"./tet":52095,"./tet.js":52095,"./tg":27321,"./tg.js":27321,"./th":9041,"./th.js":9041,"./tk":19005,"./tk.js":19005,"./tl-ph":75768,"./tl-ph.js":75768,"./tlh":89444,"./tlh.js":89444,"./tr":72397,"./tr.js":72397,"./tzl":28254,"./tzl.js":28254,"./tzm":51106,"./tzm-latn":30699,"./tzm-latn.js":30699,"./tzm.js":51106,"./ug-cn":9288,"./ug-cn.js":9288,"./uk":67691,"./uk.js":67691,"./ur":13795,"./ur.js":13795,"./uz":6791,"./uz-latn":60588,"./uz-latn.js":60588,"./uz.js":6791,"./vi":65666,"./vi.js":65666,"./x-pseudo":14378,"./x-pseudo.js":14378,"./yo":75805,"./yo.js":75805,"./zh-cn":83839,"./zh-cn.js":83839,"./zh-hk":55726,"./zh-hk.js":55726,"./zh-mo":99807,"./zh-mo.js":99807,"./zh-tw":74152,"./zh-tw.js":74152};function i(t){var e=o(t);return n(e)}function o(t){if(!n.o(r,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return r[t]}i.keys=function(){return Object.keys(r)},i.resolve=o,t.exports=i,i.id=46700},24654:function(){},52361:function(){},94616:function(){},5656:function(t,e,n){"use strict";n.d(e,{RL:function(){return L},Tv:function(){return _},_o:function(){return k},h7:function(){return w},pC:function(){return T},rp:function(){return S},sS:function(){return p},tB:function(){return x}});var r,i=n(77958),o=n(17499),s=n(31352),a=n(62520),u=n(65358),c=n(79753),l=n(14596),f=n(26721);null===(r=(0,i.ts)())?(0,o.IY)().setApp("files").build():(0,o.IY)().setApp("files").setUid(r.uid).build();const d=["B","KB","MB","GB","TB","PB"],h=["B","KiB","MiB","GiB","TiB","PiB"];function p(t,e=!1,n=!0){"string"==typeof t&&(t=Number(t));let r=t>0?Math.floor(Math.log(t)/Math.log(n?1024:1e3)):0;r=Math.min((n?h.length:d.length)-1,r);const i=n?h[r]:d[r];let o=(t/Math.pow(n?1024:1e3,r)).toFixed(1);return!0===e&&0===r?("0.0"!==o?"< 1 ":"0 ")+(n?h[1]:d[1]):(o=r<2?parseFloat(o).toFixed(0):parseFloat(o).toLocaleString((0,s.aj)()),o+" "+i)}var m=(t=>(t[t.NONE=0]="NONE",t[t.CREATE=4]="CREATE",t[t.READ=1]="READ",t[t.UPDATE=2]="UPDATE",t[t.DELETE=8]="DELETE",t[t.SHARE=16]="SHARE",t[t.ALL=31]="ALL",t))(m||{});const g=["d:getcontentlength","d:getcontenttype","d:getetag","d:getlastmodified","d:quota-available-bytes","d:resourcetype","nc:has-preview","nc:is-encrypted","nc:mount-type","nc:share-attributes","oc:comments-unread","oc:favorite","oc:fileid","oc:owner-display-name","oc:owner-id","oc:permissions","oc:share-types","oc:size","ocs:share-permissions"],v={d:"DAV:",nc:"http://nextcloud.org/ns",oc:"http://owncloud.org/ns",ocs:"http://open-collaboration-services.org/ns"},y=function(){return typeof window._nc_dav_properties>"u"&&(window._nc_dav_properties=[...g]),window._nc_dav_properties.map((t=>`<${t} />`)).join(" ")},b=function(){return typeof window._nc_dav_namespaces>"u"&&(window._nc_dav_namespaces={...v}),Object.keys(window._nc_dav_namespaces).map((t=>`xmlns:${t}="${window._nc_dav_namespaces?.[t]}"`)).join(" ")},w=function(){return`<?xml version="1.0"?>\n\t\t<d:propfind ${b()}>\n\t\t\t<d:prop>\n\t\t\t\t${y()}\n\t\t\t</d:prop>\n\t\t</d:propfind>`},x=function(t){return`<?xml version="1.0" encoding="UTF-8"?>\n<d:searchrequest ${b()}\n\txmlns:ns="https://github.com/icewind1991/SearchDAV/ns">\n\t<d:basicsearch>\n\t\t<d:select>\n\t\t\t<d:prop>\n\t\t\t\t${y()}\n\t\t\t</d:prop>\n\t\t</d:select>\n\t\t<d:from>\n\t\t\t<d:scope>\n\t\t\t\t<d:href>/files/${(0,i.ts)()?.uid}/</d:href>\n\t\t\t\t<d:depth>infinity</d:depth>\n\t\t\t</d:scope>\n\t\t</d:from>\n\t\t<d:where>\n\t\t\t<d:and>\n\t\t\t\t<d:or>\n\t\t\t\t\t<d:not>\n\t\t\t\t\t\t<d:eq>\n\t\t\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t\t\t<d:getcontenttype/>\n\t\t\t\t\t\t\t</d:prop>\n\t\t\t\t\t\t\t<d:literal>httpd/unix-directory</d:literal>\n\t\t\t\t\t\t</d:eq>\n\t\t\t\t\t</d:not>\n\t\t\t\t\t<d:eq>\n\t\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t\t<oc:size/>\n\t\t\t\t\t\t</d:prop>\n\t\t\t\t\t\t<d:literal>0</d:literal>\n\t\t\t\t\t</d:eq>\n\t\t\t\t</d:or>\n\t\t\t\t<d:gt>\n\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t<d:getlastmodified/>\n\t\t\t\t\t</d:prop>\n\t\t\t\t\t<d:literal>${t}</d:literal>\n\t\t\t\t</d:gt>\n\t\t\t</d:and>\n\t\t</d:where>\n\t\t<d:orderby>\n\t\t\t<d:order>\n\t\t\t\t<d:prop>\n\t\t\t\t\t<d:getlastmodified/>\n\t\t\t\t</d:prop>\n\t\t\t\t<d:descending/>\n\t\t\t</d:order>\n\t\t</d:orderby>\n\t\t<d:limit>\n\t\t\t<d:nresults>100</d:nresults>\n\t\t\t<ns:firstresult>0</ns:firstresult>\n\t\t</d:limit>\n\t</d:basicsearch>\n</d:searchrequest>`};var _=(t=>(t.Folder="folder",t.File="file",t))(_||{});const A=function(t,e){return null!==t.match(e)},C=(t,e)=>{if(t.id&&"number"!=typeof t.id)throw new Error("Invalid id type of value");if(!t.source)throw new Error("Missing mandatory source");try{new URL(t.source)}catch{throw new Error("Invalid source format, source must be a valid URL")}if(!t.source.startsWith("http"))throw new Error("Invalid source format, only http(s) is supported");if(t.mtime&&!(t.mtime instanceof Date))throw new Error("Invalid mtime type");if(t.crtime&&!(t.crtime instanceof Date))throw new Error("Invalid crtime type");if(!t.mime||"string"!=typeof t.mime||!t.mime.match(/^[-\w.]+\/[-+\w.]+$/gi))throw new Error("Missing or invalid mandatory mime");if("size"in t&&"number"!=typeof t.size&&void 0!==t.size)throw new Error("Invalid size type");if("permissions"in t&&void 0!==t.permissions&&!("number"==typeof t.permissions&&t.permissions>=m.NONE&&t.permissions<=m.ALL))throw new Error("Invalid permissions");if(t.owner&&null!==t.owner&&"string"!=typeof t.owner)throw new Error("Invalid owner type");if(t.attributes&&"object"!=typeof t.attributes)throw new Error("Invalid attributes type");if(t.root&&"string"!=typeof t.root)throw new Error("Invalid root type");if(t.root&&!t.root.startsWith("/"))throw new Error("Root must start with a leading slash");if(t.root&&!t.source.includes(t.root))throw new Error("Root must be part of the source");if(t.root&&A(t.source,e)){const n=t.source.match(e)[0];if(!t.source.includes((0,a.join)(n,t.root)))throw new Error("The root must be relative to the service. e.g /files/emma")}if(t.status&&!Object.values(E).includes(t.status))throw new Error("Status must be a valid NodeStatus")};var E=(t=>(t.NEW="new",t.FAILED="failed",t.LOADING="loading",t.LOCKED="locked",t))(E||{});class j{_data;_attributes;_knownDavService=/(remote|public)\.php\/(web)?dav/i;constructor(t,e){C(t,e||this._knownDavService),this._data=t;const n={set:(t,e,n)=>(this.updateMtime(),Reflect.set(t,e,n)),deleteProperty:(t,e)=>(this.updateMtime(),Reflect.deleteProperty(t,e))};this._attributes=new Proxy(t.attributes||{},n),delete this._data.attributes,e&&(this._knownDavService=e)}get source(){return this._data.source.replace(/\/$/i,"")}get encodedSource(){const{origin:t}=new URL(this.source);return t+(0,u.Ec)(this.source.slice(t.length))}get basename(){return(0,a.basename)(this.source)}get extension(){return(0,a.extname)(this.source)}get dirname(){if(this.root){const t=this.source.indexOf(this.root);return(0,a.dirname)(this.source.slice(t+this.root.length)||"/")}const t=new URL(this.source);return(0,a.dirname)(t.pathname)}get mime(){return this._data.mime}get mtime(){return this._data.mtime}get crtime(){return this._data.crtime}get size(){return this._data.size}get attributes(){return this._attributes}get permissions(){return null!==this.owner||this.isDavRessource?void 0!==this._data.permissions?this._data.permissions:m.NONE:m.READ}get owner(){return this.isDavRessource?this._data.owner:null}get isDavRessource(){return A(this.source,this._knownDavService)}get root(){return this._data.root?this._data.root.replace(/^(.+)\/$/,"$1"):this.isDavRessource&&(0,a.dirname)(this.source).split(this._knownDavService).pop()||null}get path(){if(this.root){const t=this.source.indexOf(this.root);return this.source.slice(t+this.root.length)||"/"}return(this.dirname+"/"+this.basename).replace(/\/\//g,"/")}get fileid(){return this._data?.id||this.attributes?.fileid}get status(){return this._data?.status}set status(t){this._data.status=t}move(t){C({...this._data,source:t},this._knownDavService),this._data.source=t,this.updateMtime()}rename(t){if(t.includes("/"))throw new Error("Invalid basename");this.move((0,a.dirname)(this.source)+"/"+t)}updateMtime(){this._data.mtime&&(this._data.mtime=new Date)}}class N extends j{get type(){return _.File}}class P extends j{constructor(t){super({...t,mime:"httpd/unix-directory"})}get type(){return _.Folder}get extension(){return null}get mime(){return"httpd/unix-directory"}}const k=`/files/${(0,i.ts)()?.uid}`,O=(0,c.generateRemoteUrl)("dav"),S=function(t=O){const e=(0,l.eI)(t,{headers:{requesttoken:(0,i.IH)()||""}});return(0,l.lD)().patch("request",(t=>(t.headers?.method&&(t.method=t.headers.method,delete t.headers.method),(0,f.W)(t)))),e},T=async(t,e="/",n=k)=>(await t.getDirectoryContents(`${n}${e}`,{details:!0,data:`<?xml version="1.0"?>\n\t\t<oc:filter-files ${b()}>\n\t\t\t<d:prop>\n\t\t\t\t${y()}\n\t\t\t</d:prop>\n\t\t\t<oc:filter-rules>\n\t\t\t\t<oc:favorite>1</oc:favorite>\n\t\t\t</oc:filter-rules>\n\t\t</oc:filter-files>`,headers:{method:"REPORT"},includeSelf:!0})).data.filter((t=>t.filename!==e)).map((t=>L(t,n))),L=function(t,e=k,n=O){const r=t.props,o=function(t=""){let e=m.NONE;return t&&((t.includes("C")||t.includes("K"))&&(e|=m.CREATE),t.includes("G")&&(e|=m.READ),(t.includes("W")||t.includes("N")||t.includes("V"))&&(e|=m.UPDATE),t.includes("D")&&(e|=m.DELETE),t.includes("R")&&(e|=m.SHARE)),e}(r?.permissions),s=(0,i.ts)()?.uid,a={id:r?.fileid||0,source:`${n}${t.filename}`,mtime:new Date(Date.parse(t.lastmod)),mime:t.mime,size:r?.size||Number.parseInt(r.getcontentlength||"0"),permissions:o,owner:s,root:e,attributes:{...t,...r,hasPreview:r?.["has-preview"]}};return delete a.attributes?.props,"file"===t.type?new N(a):new P(a)};var I={};!function(t){const e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",n="["+e+"]["+e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",r=new RegExp("^"+n+"$");t.isExist=function(t){return typeof t<"u"},t.isEmptyObject=function(t){return 0===Object.keys(t).length},t.merge=function(t,e,n){if(e){const r=Object.keys(e),i=r.length;for(let o=0;o<i;o++)t[r[o]]="strict"===n?[e[r[o]]]:e[r[o]]}},t.getValue=function(e){return t.isExist(e)?e:""},t.isName=function(t){const e=r.exec(t);return!(null===e||typeof e>"u")},t.getAllMatches=function(t,e){const n=[];let r=e.exec(t);for(;r;){const i=[];i.startIndex=e.lastIndex-r[0].length;const o=r.length;for(let t=0;t<o;t++)i.push(r[t]);n.push(i),r=e.exec(t)}return n},t.nameRegexp=n}(I);new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");var R={};const F={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,n){return t}};R.buildOptions=function(t){return Object.assign({},F,t)},R.defaultOptions=F,!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);"<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,I.nameRegexp),new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");var B={};function U(t,e,n){let r;const i={};for(let o=0;o<t.length;o++){const s=t[o],a=M(s);let u="";if(u=void 0===n?a:n+"."+a,a===e.textNodeName)void 0===r?r=s[a]:r+=""+s[a];else{if(void 0===a)continue;if(s[a]){let t=U(s[a],e,u);const n=$(t,e);s[":@"]?D(t,s[":@"],u,e):1!==Object.keys(t).length||void 0===t[e.textNodeName]||e.alwaysCreateTextNode?0===Object.keys(t).length&&(e.alwaysCreateTextNode?t[e.textNodeName]="":t=""):t=t[e.textNodeName],void 0!==i[a]&&i.hasOwnProperty(a)?(Array.isArray(i[a])||(i[a]=[i[a]]),i[a].push(t)):e.isArray(a,u,n)?i[a]=[t]:i[a]=t}}}return"string"==typeof r?r.length>0&&(i[e.textNodeName]=r):void 0!==r&&(i[e.textNodeName]=r),i}function M(t){const e=Object.keys(t);for(let t=0;t<e.length;t++){const n=e[t];if(":@"!==n)return n}}function D(t,e,n,r){if(e){const i=Object.keys(e),o=i.length;for(let s=0;s<o;s++){const o=i[s];r.isArray(o,n+"."+o,!0,!0)?t[o]=[e[o]]:t[o]=e[o]}}}function $(t,e){const{textNodeName:n}=e,r=Object.keys(t).length;return!(0!==r&&(1!==r||!t[n]&&"boolean"!=typeof t[n]&&0!==t[n]))}B.prettify=function(t,e){return U(t,e)};const{buildOptions:z}=R,{prettify:q}=B;function H(t,e,n,r){let i="",o=!1;for(let s=0;s<t.length;s++){const a=t[s],u=V(a);if(void 0===u)continue;let c="";if(c=0===n.length?u:`${n}.${u}`,u===e.textNodeName){let t=a[u];K(c,e)||(t=e.tagValueProcessor(u,t),t=Y(t,e)),o&&(i+=r),i+=t,o=!1;continue}if(u===e.cdataPropName){o&&(i+=r),i+=`<![CDATA[${a[u][0][e.textNodeName]}]]>`,o=!1;continue}if(u===e.commentPropName){i+=r+`\x3c!--${a[u][0][e.textNodeName]}--\x3e`,o=!0;continue}if("?"===u[0]){const t=Z(a[":@"],e),n="?xml"===u?"":r;let s=a[u][0][e.textNodeName];s=0!==s.length?" "+s:"",i+=n+`<${u}${s}${t}?>`,o=!0;continue}let l=r;""!==l&&(l+=e.indentBy);const f=r+`<${u}${Z(a[":@"],e)}`,d=H(a[u],e,c,l);-1!==e.unpairedTags.indexOf(u)?e.suppressUnpairedNode?i+=f+">":i+=f+"/>":d&&0!==d.length||!e.suppressEmptyNode?d&&d.endsWith(">")?i+=f+`>${d}${r}</${u}>`:(i+=f+">",d&&""!==r&&(d.includes("/>")||d.includes("</"))?i+=r+e.indentBy+d+r:i+=d,i+=`</${u}>`):i+=f+"/>",o=!0}return i}function V(t){const e=Object.keys(t);for(let n=0;n<e.length;n++){const r=e[n];if(t.hasOwnProperty(r)&&":@"!==r)return r}}function Z(t,e){let n="";if(t&&!e.ignoreAttributes)for(let r in t){if(!t.hasOwnProperty(r))continue;let i=e.attributeValueProcessor(r,t[r]);i=Y(i,e),!0===i&&e.suppressBooleanAttributes?n+=` ${r.substr(e.attributeNamePrefix.length)}`:n+=` ${r.substr(e.attributeNamePrefix.length)}="${i}"`}return n}function K(t,e){let n=(t=t.substr(0,t.length-e.textNodeName.length-1)).substr(t.lastIndexOf(".")+1);for(let r in e.stopNodes)if(e.stopNodes[r]===t||e.stopNodes[r]==="*."+n)return!0;return!1}function Y(t,e){if(t&&t.length>0&&e.processEntities)for(let n=0;n<e.entities.length;n++){const r=e.entities[n];t=t.replace(r.regex,r.val)}return t}const G=function(t,e){let n="";return e.format&&e.indentBy.length>0&&(n="\n"),H(t,e,"",n)},W={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1};function J(t){this.options=Object.assign({},W,t),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=tt),this.processTextOrObjNode=X,this.options.format?(this.indentate=Q,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function X(t,e,n){const r=this.j2x(t,n+1);return void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,r.attrStr,n):this.buildObjectNode(r.val,e,r.attrStr,n)}function Q(t){return this.options.indentBy.repeat(t)}function tt(t){return!(!t.startsWith(this.options.attributeNamePrefix)||t===this.options.textNodeName)&&t.substr(this.attrPrefixLen)}J.prototype.build=function(t){return this.options.preserveOrder?G(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0).val)},J.prototype.j2x=function(t,e){let n="",r="";for(let i in t)if(Object.prototype.hasOwnProperty.call(t,i))if(typeof t[i]>"u")this.isAttribute(i)&&(r+="");else if(null===t[i])this.isAttribute(i)?r+="":"?"===i[0]?r+=this.indentate(e)+"<"+i+"?"+this.tagEndChar:r+=this.indentate(e)+"<"+i+"/"+this.tagEndChar;else if(t[i]instanceof Date)r+=this.buildTextValNode(t[i],i,"",e);else if("object"!=typeof t[i]){const o=this.isAttribute(i);if(o)n+=this.buildAttrPairStr(o,""+t[i]);else if(i===this.options.textNodeName){let e=this.options.tagValueProcessor(i,""+t[i]);r+=this.replaceEntitiesValue(e)}else r+=this.buildTextValNode(t[i],i,"",e)}else if(Array.isArray(t[i])){const n=t[i].length;let o="";for(let s=0;s<n;s++){const n=t[i][s];typeof n>"u"||(null===n?"?"===i[0]?r+=this.indentate(e)+"<"+i+"?"+this.tagEndChar:r+=this.indentate(e)+"<"+i+"/"+this.tagEndChar:"object"==typeof n?this.options.oneListGroup?o+=this.j2x(n,e+1).val:o+=this.processTextOrObjNode(n,i,e):o+=this.buildTextValNode(n,i,"",e))}this.options.oneListGroup&&(o=this.buildObjectNode(o,i,"",e)),r+=o}else if(this.options.attributesGroupName&&i===this.options.attributesGroupName){const e=Object.keys(t[i]),r=e.length;for(let o=0;o<r;o++)n+=this.buildAttrPairStr(e[o],""+t[i][e[o]])}else r+=this.processTextOrObjNode(t[i],i,e);return{attrStr:n,val:r}},J.prototype.buildAttrPairStr=function(t,e){return e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e),this.options.suppressBooleanAttributes&&"true"===e?" "+t:" "+t+'="'+e+'"'},J.prototype.buildObjectNode=function(t,e,n,r){if(""===t)return"?"===e[0]?this.indentate(r)+"<"+e+n+"?"+this.tagEndChar:this.indentate(r)+"<"+e+n+this.closeTag(e)+this.tagEndChar;{let i="</"+e+this.tagEndChar,o="";return"?"===e[0]&&(o="?",i=""),!n&&""!==n||-1!==t.indexOf("<")?!1!==this.options.commentPropName&&e===this.options.commentPropName&&0===o.length?this.indentate(r)+`\x3c!--${t}--\x3e`+this.newLine:this.indentate(r)+"<"+e+n+o+this.tagEndChar+t+this.indentate(r)+i:this.indentate(r)+"<"+e+n+o+">"+t+i}},J.prototype.closeTag=function(t){let e="";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e="/"):e=this.options.suppressEmptyNode?"/":`></${t}`,e},J.prototype.buildTextValNode=function(t,e,n,r){if(!1!==this.options.cdataPropName&&e===this.options.cdataPropName)return this.indentate(r)+`<![CDATA[${t}]]>`+this.newLine;if(!1!==this.options.commentPropName&&e===this.options.commentPropName)return this.indentate(r)+`\x3c!--${t}--\x3e`+this.newLine;if("?"===e[0])return this.indentate(r)+"<"+e+n+"?"+this.tagEndChar;{let i=this.options.tagValueProcessor(e,t);return i=this.replaceEntitiesValue(i),""===i?this.indentate(r)+"<"+e+n+this.closeTag(e)+this.tagEndChar:this.indentate(r)+"<"+e+n+">"+i+"</"+e+this.tagEndChar}},J.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(let e=0;e<this.options.entities.length;e++){const n=this.options.entities[e];t=t.replace(n.regex,n.val)}return t}},59050:function(t,e,n){"use strict";n.r(e),n.d(e,{VERSION:function(){return i},after:function(){return Ie},all:function(){return tn},allKeys:function(){return gt},any:function(){return en},assign:function(){return It},before:function(){return Re},bind:function(){return _e},bindAll:function(){return Ee},chain:function(){return ye},chunk:function(){return Un},clone:function(){return Ut},collect:function(){return Ye},compact:function(){return Nn},compose:function(){return Le},constant:function(){return X},contains:function(){return nn},countBy:function(){return vn},create:function(){return Bt},debounce:function(){return Oe},default:function(){return qn},defaults:function(){return Rt},defer:function(){return Pe},delay:function(){return Ne},detect:function(){return Ve},difference:function(){return kn},drop:function(){return En},each:function(){return Ke},escape:function(){return se},every:function(){return tn},extend:function(){return Lt},extendOwn:function(){return It},filter:function(){return Xe},find:function(){return Ve},findIndex:function(){return Me},findKey:function(){return Be},findLastIndex:function(){return De},findWhere:function(){return Ze},first:function(){return Cn},flatten:function(){return Pn},foldl:function(){return We},foldr:function(){return Je},forEach:function(){return Ke},functions:function(){return St},get:function(){return qt},groupBy:function(){return mn},has:function(){return Ht},head:function(){return Cn},identity:function(){return Vt},include:function(){return nn},includes:function(){return nn},indexBy:function(){return gn},indexOf:function(){return qe},initial:function(){return An},inject:function(){return We},intersection:function(){return Ln},invert:function(){return Ot},invoke:function(){return rn},isArguments:function(){return G},isArray:function(){return Z},isArrayBuffer:function(){return B},isBoolean:function(){return P},isDataView:function(){return V},isDate:function(){return L},isElement:function(){return k},isEmpty:function(){return ut},isEqual:function(){return mt},isError:function(){return R},isFinite:function(){return W},isFunction:function(){return D},isMap:function(){return Ct},isMatch:function(){return ct},isNaN:function(){return J},isNull:function(){return j},isNumber:function(){return T},isObject:function(){return E},isRegExp:function(){return I},isSet:function(){return jt},isString:function(){return S},isSymbol:function(){return F},isTypedArray:function(){return it},isUndefined:function(){return N},isWeakMap:function(){return Et},isWeakSet:function(){return Nt},iteratee:function(){return Wt},keys:function(){return at},last:function(){return jn},lastIndexOf:function(){return He},map:function(){return Ye},mapObject:function(){return Xt},matcher:function(){return Zt},matches:function(){return Zt},max:function(){return an},memoize:function(){return je},methods:function(){return St},min:function(){return un},mixin:function(){return Dn},negate:function(){return Te},noop:function(){return Qt},now:function(){return re},object:function(){return Fn},omit:function(){return _n},once:function(){return Fe},pairs:function(){return kt},partial:function(){return xe},partition:function(){return yn},pick:function(){return xn},pluck:function(){return on},property:function(){return Kt},propertyOf:function(){return te},random:function(){return ne},range:function(){return Bn},reduce:function(){return We},reduceRight:function(){return Je},reject:function(){return Qe},rest:function(){return En},restArguments:function(){return C},result:function(){return me},sample:function(){return fn},select:function(){return Xe},shuffle:function(){return dn},size:function(){return bn},some:function(){return en},sortBy:function(){return hn},sortedIndex:function(){return $e},tail:function(){return En},take:function(){return Cn},tap:function(){return Mt},template:function(){return pe},templateSettings:function(){return ue},throttle:function(){return ke},times:function(){return ee},toArray:function(){return ln},toPath:function(){return Dt},transpose:function(){return In},unescape:function(){return ae},union:function(){return Tn},uniq:function(){return Sn},unique:function(){return Sn},uniqueId:function(){return ve},unzip:function(){return In},values:function(){return Pt},where:function(){return sn},without:function(){return On},wrap:function(){return Se},zip:function(){return Rn}});var r={};n.r(r),n.d(r,{VERSION:function(){return i},after:function(){return Ie},all:function(){return tn},allKeys:function(){return gt},any:function(){return en},assign:function(){return It},before:function(){return Re},bind:function(){return _e},bindAll:function(){return Ee},chain:function(){return ye},chunk:function(){return Un},clone:function(){return Ut},collect:function(){return Ye},compact:function(){return Nn},compose:function(){return Le},constant:function(){return X},contains:function(){return nn},countBy:function(){return vn},create:function(){return Bt},debounce:function(){return Oe},default:function(){return $n},defaults:function(){return Rt},defer:function(){return Pe},delay:function(){return Ne},detect:function(){return Ve},difference:function(){return kn},drop:function(){return En},each:function(){return Ke},escape:function(){return se},every:function(){return tn},extend:function(){return Lt},extendOwn:function(){return It},filter:function(){return Xe},find:function(){return Ve},findIndex:function(){return Me},findKey:function(){return Be},findLastIndex:function(){return De},findWhere:function(){return Ze},first:function(){return Cn},flatten:function(){return Pn},foldl:function(){return We},foldr:function(){return Je},forEach:function(){return Ke},functions:function(){return St},get:function(){return qt},groupBy:function(){return mn},has:function(){return Ht},head:function(){return Cn},identity:function(){return Vt},include:function(){return nn},includes:function(){return nn},indexBy:function(){return gn},indexOf:function(){return qe},initial:function(){return An},inject:function(){return We},intersection:function(){return Ln},invert:function(){return Ot},invoke:function(){return rn},isArguments:function(){return G},isArray:function(){return Z},isArrayBuffer:function(){return B},isBoolean:function(){return P},isDataView:function(){return V},isDate:function(){return L},isElement:function(){return k},isEmpty:function(){return ut},isEqual:function(){return mt},isError:function(){return R},isFinite:function(){return W},isFunction:function(){return D},isMap:function(){return Ct},isMatch:function(){return ct},isNaN:function(){return J},isNull:function(){return j},isNumber:function(){return T},isObject:function(){return E},isRegExp:function(){return I},isSet:function(){return jt},isString:function(){return S},isSymbol:function(){return F},isTypedArray:function(){return it},isUndefined:function(){return N},isWeakMap:function(){return Et},isWeakSet:function(){return Nt},iteratee:function(){return Wt},keys:function(){return at},last:function(){return jn},lastIndexOf:function(){return He},map:function(){return Ye},mapObject:function(){return Xt},matcher:function(){return Zt},matches:function(){return Zt},max:function(){return an},memoize:function(){return je},methods:function(){return St},min:function(){return un},mixin:function(){return Dn},negate:function(){return Te},noop:function(){return Qt},now:function(){return re},object:function(){return Fn},omit:function(){return _n},once:function(){return Fe},pairs:function(){return kt},partial:function(){return xe},partition:function(){return yn},pick:function(){return xn},pluck:function(){return on},property:function(){return Kt},propertyOf:function(){return te},random:function(){return ne},range:function(){return Bn},reduce:function(){return We},reduceRight:function(){return Je},reject:function(){return Qe},rest:function(){return En},restArguments:function(){return C},result:function(){return me},sample:function(){return fn},select:function(){return Xe},shuffle:function(){return dn},size:function(){return bn},some:function(){return en},sortBy:function(){return hn},sortedIndex:function(){return $e},tail:function(){return En},take:function(){return Cn},tap:function(){return Mt},template:function(){return pe},templateSettings:function(){return ue},throttle:function(){return ke},times:function(){return ee},toArray:function(){return ln},toPath:function(){return Dt},transpose:function(){return In},unescape:function(){return ae},union:function(){return Tn},uniq:function(){return Sn},unique:function(){return Sn},uniqueId:function(){return ve},unzip:function(){return In},values:function(){return Pt},where:function(){return sn},without:function(){return On},wrap:function(){return Se},zip:function(){return Rn}});var i="1.13.6",o="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},s=Array.prototype,a=Object.prototype,u="undefined"!=typeof Symbol?Symbol.prototype:null,c=s.push,l=s.slice,f=a.toString,d=a.hasOwnProperty,h="undefined"!=typeof ArrayBuffer,p="undefined"!=typeof DataView,m=Array.isArray,g=Object.keys,v=Object.create,y=h&&ArrayBuffer.isView,b=isNaN,w=isFinite,x=!{toString:null}.propertyIsEnumerable("toString"),_=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],A=Math.pow(2,53)-1;function C(t,e){return e=null==e?t.length-1:+e,function(){for(var n=Math.max(arguments.length-e,0),r=Array(n),i=0;i<n;i++)r[i]=arguments[i+e];switch(e){case 0:return t.call(this,r);case 1:return t.call(this,arguments[0],r);case 2:return t.call(this,arguments[0],arguments[1],r)}var o=Array(e+1);for(i=0;i<e;i++)o[i]=arguments[i];return o[e]=r,t.apply(this,o)}}function E(t){var e=typeof t;return"function"===e||"object"===e&&!!t}function j(t){return null===t}function N(t){return void 0===t}function P(t){return!0===t||!1===t||"[object Boolean]"===f.call(t)}function k(t){return!(!t||1!==t.nodeType)}function O(t){var e="[object "+t+"]";return function(t){return f.call(t)===e}}var S=O("String"),T=O("Number"),L=O("Date"),I=O("RegExp"),R=O("Error"),F=O("Symbol"),B=O("ArrayBuffer"),U=O("Function"),M=o.document&&o.document.childNodes;"object"!=typeof Int8Array&&"function"!=typeof M&&(U=function(t){return"function"==typeof t||!1});var D=U,$=O("Object"),z=p&&$(new DataView(new ArrayBuffer(8))),q="undefined"!=typeof Map&&$(new Map),H=O("DataView"),V=z?function(t){return null!=t&&D(t.getInt8)&&B(t.buffer)}:H,Z=m||O("Array");function K(t,e){return null!=t&&d.call(t,e)}var Y=O("Arguments");!function(){Y(arguments)||(Y=function(t){return K(t,"callee")})}();var G=Y;function W(t){return!F(t)&&w(t)&&!isNaN(parseFloat(t))}function J(t){return T(t)&&b(t)}function X(t){return function(){return t}}function Q(t){return function(e){var n=t(e);return"number"==typeof n&&n>=0&&n<=A}}function tt(t){return function(e){return null==e?void 0:e[t]}}var et=tt("byteLength"),nt=Q(et),rt=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/,it=h?function(t){return y?y(t)&&!V(t):nt(t)&&rt.test(f.call(t))}:X(!1),ot=tt("length");function st(t,e){e=function(t){for(var e={},n=t.length,r=0;r<n;++r)e[t[r]]=!0;return{contains:function(t){return!0===e[t]},push:function(n){return e[n]=!0,t.push(n)}}}(e);var n=_.length,r=t.constructor,i=D(r)&&r.prototype||a,o="constructor";for(K(t,o)&&!e.contains(o)&&e.push(o);n--;)(o=_[n])in t&&t[o]!==i[o]&&!e.contains(o)&&e.push(o)}function at(t){if(!E(t))return[];if(g)return g(t);var e=[];for(var n in t)K(t,n)&&e.push(n);return x&&st(t,e),e}function ut(t){if(null==t)return!0;var e=ot(t);return"number"==typeof e&&(Z(t)||S(t)||G(t))?0===e:0===ot(at(t))}function ct(t,e){var n=at(e),r=n.length;if(null==t)return!r;for(var i=Object(t),o=0;o<r;o++){var s=n[o];if(e[s]!==i[s]||!(s in i))return!1}return!0}function lt(t){return t instanceof lt?t:this instanceof lt?void(this._wrapped=t):new lt(t)}function ft(t){return new Uint8Array(t.buffer||t,t.byteOffset||0,et(t))}lt.VERSION=i,lt.prototype.value=function(){return this._wrapped},lt.prototype.valueOf=lt.prototype.toJSON=lt.prototype.value,lt.prototype.toString=function(){return String(this._wrapped)};var dt="[object DataView]";function ht(t,e,n,r){if(t===e)return 0!==t||1/t==1/e;if(null==t||null==e)return!1;if(t!=t)return e!=e;var i=typeof t;return("function"===i||"object"===i||"object"==typeof e)&&pt(t,e,n,r)}function pt(t,e,n,r){t instanceof lt&&(t=t._wrapped),e instanceof lt&&(e=e._wrapped);var i=f.call(t);if(i!==f.call(e))return!1;if(z&&"[object Object]"==i&&V(t)){if(!V(e))return!1;i=dt}switch(i){case"[object RegExp]":case"[object String]":return""+t==""+e;case"[object Number]":return+t!=+t?+e!=+e:0==+t?1/+t==1/e:+t==+e;case"[object Date]":case"[object Boolean]":return+t==+e;case"[object Symbol]":return u.valueOf.call(t)===u.valueOf.call(e);case"[object ArrayBuffer]":case dt:return pt(ft(t),ft(e),n,r)}var o="[object Array]"===i;if(!o&&it(t)){if(et(t)!==et(e))return!1;if(t.buffer===e.buffer&&t.byteOffset===e.byteOffset)return!0;o=!0}if(!o){if("object"!=typeof t||"object"!=typeof e)return!1;var s=t.constructor,a=e.constructor;if(s!==a&&!(D(s)&&s instanceof s&&D(a)&&a instanceof a)&&"constructor"in t&&"constructor"in e)return!1}r=r||[];for(var c=(n=n||[]).length;c--;)if(n[c]===t)return r[c]===e;if(n.push(t),r.push(e),o){if((c=t.length)!==e.length)return!1;for(;c--;)if(!ht(t[c],e[c],n,r))return!1}else{var l,d=at(t);if(c=d.length,at(e).length!==c)return!1;for(;c--;)if(!K(e,l=d[c])||!ht(t[l],e[l],n,r))return!1}return n.pop(),r.pop(),!0}function mt(t,e){return ht(t,e)}function gt(t){if(!E(t))return[];var e=[];for(var n in t)e.push(n);return x&&st(t,e),e}function vt(t){var e=ot(t);return function(n){if(null==n)return!1;var r=gt(n);if(ot(r))return!1;for(var i=0;i<e;i++)if(!D(n[t[i]]))return!1;return t!==_t||!D(n[yt])}}var yt="forEach",bt=["clear","delete"],wt=["get","has","set"],xt=bt.concat(yt,wt),_t=bt.concat(wt),At=["add"].concat(bt,yt,"has"),Ct=q?vt(xt):O("Map"),Et=q?vt(_t):O("WeakMap"),jt=q?vt(At):O("Set"),Nt=O("WeakSet");function Pt(t){for(var e=at(t),n=e.length,r=Array(n),i=0;i<n;i++)r[i]=t[e[i]];return r}function kt(t){for(var e=at(t),n=e.length,r=Array(n),i=0;i<n;i++)r[i]=[e[i],t[e[i]]];return r}function Ot(t){for(var e={},n=at(t),r=0,i=n.length;r<i;r++)e[t[n[r]]]=n[r];return e}function St(t){var e=[];for(var n in t)D(t[n])&&e.push(n);return e.sort()}function Tt(t,e){return function(n){var r=arguments.length;if(e&&(n=Object(n)),r<2||null==n)return n;for(var i=1;i<r;i++)for(var o=arguments[i],s=t(o),a=s.length,u=0;u<a;u++){var c=s[u];e&&void 0!==n[c]||(n[c]=o[c])}return n}}var Lt=Tt(gt),It=Tt(at),Rt=Tt(gt,!0);function Ft(t){if(!E(t))return{};if(v)return v(t);var e=function(){};e.prototype=t;var n=new e;return e.prototype=null,n}function Bt(t,e){var n=Ft(t);return e&&It(n,e),n}function Ut(t){return E(t)?Z(t)?t.slice():Lt({},t):t}function Mt(t,e){return e(t),t}function Dt(t){return Z(t)?t:[t]}function $t(t){return lt.toPath(t)}function zt(t,e){for(var n=e.length,r=0;r<n;r++){if(null==t)return;t=t[e[r]]}return n?t:void 0}function qt(t,e,n){var r=zt(t,$t(e));return N(r)?n:r}function Ht(t,e){for(var n=(e=$t(e)).length,r=0;r<n;r++){var i=e[r];if(!K(t,i))return!1;t=t[i]}return!!n}function Vt(t){return t}function Zt(t){return t=It({},t),function(e){return ct(e,t)}}function Kt(t){return t=$t(t),function(e){return zt(e,t)}}function Yt(t,e,n){if(void 0===e)return t;switch(null==n?3:n){case 1:return function(n){return t.call(e,n)};case 3:return function(n,r,i){return t.call(e,n,r,i)};case 4:return function(n,r,i,o){return t.call(e,n,r,i,o)}}return function(){return t.apply(e,arguments)}}function Gt(t,e,n){return null==t?Vt:D(t)?Yt(t,e,n):E(t)&&!Z(t)?Zt(t):Kt(t)}function Wt(t,e){return Gt(t,e,1/0)}function Jt(t,e,n){return lt.iteratee!==Wt?lt.iteratee(t,e):Gt(t,e,n)}function Xt(t,e,n){e=Jt(e,n);for(var r=at(t),i=r.length,o={},s=0;s<i;s++){var a=r[s];o[a]=e(t[a],a,t)}return o}function Qt(){}function te(t){return null==t?Qt:function(e){return qt(t,e)}}function ee(t,e,n){var r=Array(Math.max(0,t));e=Yt(e,n,1);for(var i=0;i<t;i++)r[i]=e(i);return r}function ne(t,e){return null==e&&(e=t,t=0),t+Math.floor(Math.random()*(e-t+1))}lt.toPath=Dt,lt.iteratee=Wt;var re=Date.now||function(){return(new Date).getTime()};function ie(t){var e=function(e){return t[e]},n="(?:"+at(t).join("|")+")",r=RegExp(n),i=RegExp(n,"g");return function(t){return t=null==t?"":""+t,r.test(t)?t.replace(i,e):t}}var oe={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},se=ie(oe),ae=ie(Ot(oe)),ue=lt.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},ce=/(.)^/,le={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},fe=/\\|'|\r|\n|\u2028|\u2029/g;function de(t){return"\\"+le[t]}var he=/^\s*(\w|\$)+\s*$/;function pe(t,e,n){!e&&n&&(e=n),e=Rt({},e,lt.templateSettings);var r=RegExp([(e.escape||ce).source,(e.interpolate||ce).source,(e.evaluate||ce).source].join("|")+"|$","g"),i=0,o="__p+='";t.replace(r,(function(e,n,r,s,a){return o+=t.slice(i,a).replace(fe,de),i=a+e.length,n?o+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'":r?o+="'+\n((__t=("+r+"))==null?'':__t)+\n'":s&&(o+="';\n"+s+"\n__p+='"),e})),o+="';\n";var s,a=e.variable;if(a){if(!he.test(a))throw new Error("variable is not a bare identifier: "+a)}else o="with(obj||{}){\n"+o+"}\n",a="obj";o="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+o+"return __p;\n";try{s=new Function(a,"_",o)}catch(t){throw t.source=o,t}var u=function(t){return s.call(this,t,lt)};return u.source="function("+a+"){\n"+o+"}",u}function me(t,e,n){var r=(e=$t(e)).length;if(!r)return D(n)?n.call(t):n;for(var i=0;i<r;i++){var o=null==t?void 0:t[e[i]];void 0===o&&(o=n,i=r),t=D(o)?o.call(t):o}return t}var ge=0;function ve(t){var e=++ge+"";return t?t+e:e}function ye(t){var e=lt(t);return e._chain=!0,e}function be(t,e,n,r,i){if(!(r instanceof e))return t.apply(n,i);var o=Ft(t.prototype),s=t.apply(o,i);return E(s)?s:o}var we=C((function(t,e){var n=we.placeholder,r=function(){for(var i=0,o=e.length,s=Array(o),a=0;a<o;a++)s[a]=e[a]===n?arguments[i++]:e[a];for(;i<arguments.length;)s.push(arguments[i++]);return be(t,r,this,this,s)};return r}));we.placeholder=lt;var xe=we,_e=C((function(t,e,n){if(!D(t))throw new TypeError("Bind must be called on a function");var r=C((function(i){return be(t,r,e,this,n.concat(i))}));return r})),Ae=Q(ot);function Ce(t,e,n,r){if(r=r||[],e||0===e){if(e<=0)return r.concat(t)}else e=1/0;for(var i=r.length,o=0,s=ot(t);o<s;o++){var a=t[o];if(Ae(a)&&(Z(a)||G(a)))if(e>1)Ce(a,e-1,n,r),i=r.length;else for(var u=0,c=a.length;u<c;)r[i++]=a[u++];else n||(r[i++]=a)}return r}var Ee=C((function(t,e){var n=(e=Ce(e,!1,!1)).length;if(n<1)throw new Error("bindAll must be passed function names");for(;n--;){var r=e[n];t[r]=_e(t[r],t)}return t}));function je(t,e){var n=function(r){var i=n.cache,o=""+(e?e.apply(this,arguments):r);return K(i,o)||(i[o]=t.apply(this,arguments)),i[o]};return n.cache={},n}var Ne=C((function(t,e,n){return setTimeout((function(){return t.apply(null,n)}),e)})),Pe=xe(Ne,lt,1);function ke(t,e,n){var r,i,o,s,a=0;n||(n={});var u=function(){a=!1===n.leading?0:re(),r=null,s=t.apply(i,o),r||(i=o=null)},c=function(){var c=re();a||!1!==n.leading||(a=c);var l=e-(c-a);return i=this,o=arguments,l<=0||l>e?(r&&(clearTimeout(r),r=null),a=c,s=t.apply(i,o),r||(i=o=null)):r||!1===n.trailing||(r=setTimeout(u,l)),s};return c.cancel=function(){clearTimeout(r),a=0,r=i=o=null},c}function Oe(t,e,n){var r,i,o,s,a,u=function(){var c=re()-i;e>c?r=setTimeout(u,e-c):(r=null,n||(s=t.apply(a,o)),r||(o=a=null))},c=C((function(c){return a=this,o=c,i=re(),r||(r=setTimeout(u,e),n&&(s=t.apply(a,o))),s}));return c.cancel=function(){clearTimeout(r),r=o=a=null},c}function Se(t,e){return xe(e,t)}function Te(t){return function(){return!t.apply(this,arguments)}}function Le(){var t=arguments,e=t.length-1;return function(){for(var n=e,r=t[e].apply(this,arguments);n--;)r=t[n].call(this,r);return r}}function Ie(t,e){return function(){if(--t<1)return e.apply(this,arguments)}}function Re(t,e){var n;return function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=null),n}}var Fe=xe(Re,2);function Be(t,e,n){e=Jt(e,n);for(var r,i=at(t),o=0,s=i.length;o<s;o++)if(e(t[r=i[o]],r,t))return r}function Ue(t){return function(e,n,r){n=Jt(n,r);for(var i=ot(e),o=t>0?0:i-1;o>=0&&o<i;o+=t)if(n(e[o],o,e))return o;return-1}}var Me=Ue(1),De=Ue(-1);function $e(t,e,n,r){for(var i=(n=Jt(n,r,1))(e),o=0,s=ot(t);o<s;){var a=Math.floor((o+s)/2);n(t[a])<i?o=a+1:s=a}return o}function ze(t,e,n){return function(r,i,o){var s=0,a=ot(r);if("number"==typeof o)t>0?s=o>=0?o:Math.max(o+a,s):a=o>=0?Math.min(o+1,a):o+a+1;else if(n&&o&&a)return r[o=n(r,i)]===i?o:-1;if(i!=i)return(o=e(l.call(r,s,a),J))>=0?o+s:-1;for(o=t>0?s:a-1;o>=0&&o<a;o+=t)if(r[o]===i)return o;return-1}}var qe=ze(1,Me,$e),He=ze(-1,De);function Ve(t,e,n){var r=(Ae(t)?Me:Be)(t,e,n);if(void 0!==r&&-1!==r)return t[r]}function Ze(t,e){return Ve(t,Zt(e))}function Ke(t,e,n){var r,i;if(e=Yt(e,n),Ae(t))for(r=0,i=t.length;r<i;r++)e(t[r],r,t);else{var o=at(t);for(r=0,i=o.length;r<i;r++)e(t[o[r]],o[r],t)}return t}function Ye(t,e,n){e=Jt(e,n);for(var r=!Ae(t)&&at(t),i=(r||t).length,o=Array(i),s=0;s<i;s++){var a=r?r[s]:s;o[s]=e(t[a],a,t)}return o}function Ge(t){return function(e,n,r,i){var o=arguments.length>=3;return function(e,n,r,i){var o=!Ae(e)&&at(e),s=(o||e).length,a=t>0?0:s-1;for(i||(r=e[o?o[a]:a],a+=t);a>=0&&a<s;a+=t){var u=o?o[a]:a;r=n(r,e[u],u,e)}return r}(e,Yt(n,i,4),r,o)}}var We=Ge(1),Je=Ge(-1);function Xe(t,e,n){var r=[];return e=Jt(e,n),Ke(t,(function(t,n,i){e(t,n,i)&&r.push(t)})),r}function Qe(t,e,n){return Xe(t,Te(Jt(e)),n)}function tn(t,e,n){e=Jt(e,n);for(var r=!Ae(t)&&at(t),i=(r||t).length,o=0;o<i;o++){var s=r?r[o]:o;if(!e(t[s],s,t))return!1}return!0}function en(t,e,n){e=Jt(e,n);for(var r=!Ae(t)&&at(t),i=(r||t).length,o=0;o<i;o++){var s=r?r[o]:o;if(e(t[s],s,t))return!0}return!1}function nn(t,e,n,r){return Ae(t)||(t=Pt(t)),("number"!=typeof n||r)&&(n=0),qe(t,e,n)>=0}var rn=C((function(t,e,n){var r,i;return D(e)?i=e:(e=$t(e),r=e.slice(0,-1),e=e[e.length-1]),Ye(t,(function(t){var o=i;if(!o){if(r&&r.length&&(t=zt(t,r)),null==t)return;o=t[e]}return null==o?o:o.apply(t,n)}))}));function on(t,e){return Ye(t,Kt(e))}function sn(t,e){return Xe(t,Zt(e))}function an(t,e,n){var r,i,o=-1/0,s=-1/0;if(null==e||"number"==typeof e&&"object"!=typeof t[0]&&null!=t)for(var a=0,u=(t=Ae(t)?t:Pt(t)).length;a<u;a++)null!=(r=t[a])&&r>o&&(o=r);else e=Jt(e,n),Ke(t,(function(t,n,r){((i=e(t,n,r))>s||i===-1/0&&o===-1/0)&&(o=t,s=i)}));return o}function un(t,e,n){var r,i,o=1/0,s=1/0;if(null==e||"number"==typeof e&&"object"!=typeof t[0]&&null!=t)for(var a=0,u=(t=Ae(t)?t:Pt(t)).length;a<u;a++)null!=(r=t[a])&&r<o&&(o=r);else e=Jt(e,n),Ke(t,(function(t,n,r){((i=e(t,n,r))<s||i===1/0&&o===1/0)&&(o=t,s=i)}));return o}var cn=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function ln(t){return t?Z(t)?l.call(t):S(t)?t.match(cn):Ae(t)?Ye(t,Vt):Pt(t):[]}function fn(t,e,n){if(null==e||n)return Ae(t)||(t=Pt(t)),t[ne(t.length-1)];var r=ln(t),i=ot(r);e=Math.max(Math.min(e,i),0);for(var o=i-1,s=0;s<e;s++){var a=ne(s,o),u=r[s];r[s]=r[a],r[a]=u}return r.slice(0,e)}function dn(t){return fn(t,1/0)}function hn(t,e,n){var r=0;return e=Jt(e,n),on(Ye(t,(function(t,n,i){return{value:t,index:r++,criteria:e(t,n,i)}})).sort((function(t,e){var n=t.criteria,r=e.criteria;if(n!==r){if(n>r||void 0===n)return 1;if(n<r||void 0===r)return-1}return t.index-e.index})),"value")}function pn(t,e){return function(n,r,i){var o=e?[[],[]]:{};return r=Jt(r,i),Ke(n,(function(e,i){var s=r(e,i,n);t(o,e,s)})),o}}var mn=pn((function(t,e,n){K(t,n)?t[n].push(e):t[n]=[e]})),gn=pn((function(t,e,n){t[n]=e})),vn=pn((function(t,e,n){K(t,n)?t[n]++:t[n]=1})),yn=pn((function(t,e,n){t[n?0:1].push(e)}),!0);function bn(t){return null==t?0:Ae(t)?t.length:at(t).length}function wn(t,e,n){return e in n}var xn=C((function(t,e){var n={},r=e[0];if(null==t)return n;D(r)?(e.length>1&&(r=Yt(r,e[1])),e=gt(t)):(r=wn,e=Ce(e,!1,!1),t=Object(t));for(var i=0,o=e.length;i<o;i++){var s=e[i],a=t[s];r(a,s,t)&&(n[s]=a)}return n})),_n=C((function(t,e){var n,r=e[0];return D(r)?(r=Te(r),e.length>1&&(n=e[1])):(e=Ye(Ce(e,!1,!1),String),r=function(t,n){return!nn(e,n)}),xn(t,r,n)}));function An(t,e,n){return l.call(t,0,Math.max(0,t.length-(null==e||n?1:e)))}function Cn(t,e,n){return null==t||t.length<1?null==e||n?void 0:[]:null==e||n?t[0]:An(t,t.length-e)}function En(t,e,n){return l.call(t,null==e||n?1:e)}function jn(t,e,n){return null==t||t.length<1?null==e||n?void 0:[]:null==e||n?t[t.length-1]:En(t,Math.max(0,t.length-e))}function Nn(t){return Xe(t,Boolean)}function Pn(t,e){return Ce(t,e,!1)}var kn=C((function(t,e){return e=Ce(e,!0,!0),Xe(t,(function(t){return!nn(e,t)}))})),On=C((function(t,e){return kn(t,e)}));function Sn(t,e,n,r){P(e)||(r=n,n=e,e=!1),null!=n&&(n=Jt(n,r));for(var i=[],o=[],s=0,a=ot(t);s<a;s++){var u=t[s],c=n?n(u,s,t):u;e&&!n?(s&&o===c||i.push(u),o=c):n?nn(o,c)||(o.push(c),i.push(u)):nn(i,u)||i.push(u)}return i}var Tn=C((function(t){return Sn(Ce(t,!0,!0))}));function Ln(t){for(var e=[],n=arguments.length,r=0,i=ot(t);r<i;r++){var o=t[r];if(!nn(e,o)){var s;for(s=1;s<n&&nn(arguments[s],o);s++);s===n&&e.push(o)}}return e}function In(t){for(var e=t&&an(t,ot).length||0,n=Array(e),r=0;r<e;r++)n[r]=on(t,r);return n}var Rn=C(In);function Fn(t,e){for(var n={},r=0,i=ot(t);r<i;r++)e?n[t[r]]=e[r]:n[t[r][0]]=t[r][1];return n}function Bn(t,e,n){null==e&&(e=t||0,t=0),n||(n=e<t?-1:1);for(var r=Math.max(Math.ceil((e-t)/n),0),i=Array(r),o=0;o<r;o++,t+=n)i[o]=t;return i}function Un(t,e){if(null==e||e<1)return[];for(var n=[],r=0,i=t.length;r<i;)n.push(l.call(t,r,r+=e));return n}function Mn(t,e){return t._chain?lt(e).chain():e}function Dn(t){return Ke(St(t),(function(e){var n=lt[e]=t[e];lt.prototype[e]=function(){var t=[this._wrapped];return c.apply(t,arguments),Mn(this,n.apply(lt,t))}})),lt}Ke(["pop","push","reverse","shift","sort","splice","unshift"],(function(t){var e=s[t];lt.prototype[t]=function(){var n=this._wrapped;return null!=n&&(e.apply(n,arguments),"shift"!==t&&"splice"!==t||0!==n.length||delete n[0]),Mn(this,n)}})),Ke(["concat","join","slice"],(function(t){var e=s[t];lt.prototype[t]=function(){var t=this._wrapped;return null!=t&&(t=e.apply(t,arguments)),Mn(this,t)}}));var $n=lt,zn=Dn(r);zn._=zn;var qn=zn}},s={};function a(t){var e=s[t];if(void 0!==e)return e.exports;var n=s[t]={id:t,loaded:!1,exports:{}};return o[t].call(n.exports,n,n.exports,a),n.loaded=!0,n.exports}a.m=o,e=[],a.O=function(t,n,r,i){if(!n){var o=1/0;for(l=0;l<e.length;l++){n=e[l][0],r=e[l][1],i=e[l][2];for(var s=!0,u=0;u<n.length;u++)(!1&i||o>=i)&&Object.keys(a.O).every((function(t){return a.O[t](n[u])}))?n.splice(u--,1):(s=!1,i<o&&(o=i));if(s){e.splice(l--,1);var c=r();void 0!==c&&(t=c)}}return t}i=i||0;for(var l=e.length;l>0&&e[l-1][2]>i;l--)e[l]=e[l-1];e[l]=[n,r,i]},a.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return a.d(e,{a:e}),e},a.d=function(t,e){for(var n in e)a.o(e,n)&&!a.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},a.f={},a.e=function(t){return Promise.all(Object.keys(a.f).reduce((function(e,n){return a.f[n](t,e),e}),[]))},a.u=function(t){return t+"-"+t+".js?v="+{2250:"9c98ca37abd9ee1927b3",7996:"39e55a09e2da8534cf16"}[t]},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r={},i="nextcloud:",a.l=function(t,e,n,o){if(r[t])r[t].push(e);else{var s,u;if(void 0!==n)for(var c=document.getElementsByTagName("script"),l=0;l<c.length;l++){var f=c[l];if(f.getAttribute("src")==t||f.getAttribute("data-webpack")==i+n){s=f;break}}s||(u=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,a.nc&&s.setAttribute("nonce",a.nc),s.setAttribute("data-webpack",i+n),s.src=t),r[t]=[e];var d=function(e,n){s.onerror=s.onload=null,clearTimeout(h);var i=r[t];if(delete r[t],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((function(t){return t(n)})),e)return e(n)},h=setTimeout(d.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=d.bind(null,s.onerror),s.onload=d.bind(null,s.onload),u&&document.head.appendChild(s)}},a.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t},a.j=4577,function(){var t;a.g.importScripts&&(t=a.g.location+"");var e=a.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");if(n.length)for(var r=n.length-1;r>-1&&!t;)t=n[r--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=t}(),function(){a.b=document.baseURI||self.location.href;var t={4577:0};a.f.j=function(e,n){var r=a.o(t,e)?t[e]:void 0;if(0!==r)if(r)n.push(r[2]);else{var i=new Promise((function(n,i){r=t[e]=[n,i]}));n.push(r[2]=i);var o=a.p+a.u(e),s=new Error;a.l(o,(function(n){if(a.o(t,e)&&(0!==(r=t[e])&&(t[e]=void 0),r)){var i=n&&("load"===n.type?"missing":n.type),o=n&&n.target&&n.target.src;s.message="Loading chunk "+e+" failed.\n("+i+": "+o+")",s.name="ChunkLoadError",s.type=i,s.request=o,r[1](s)}}),"chunk-"+e,e)}},a.O.j=function(e){return 0===t[e]};var e=function(e,n){var r,i,o=n[0],s=n[1],u=n[2],c=0;if(o.some((function(e){return 0!==t[e]}))){for(r in s)a.o(s,r)&&(a.m[r]=s[r]);if(u)var l=u(a)}for(e&&e(n);c<o.length;c++)i=o[c],a.o(t,i)&&t[i]&&t[i][0](),t[i]=0;return a.O(l)},n=self.webpackChunknextcloud=self.webpackChunknextcloud||[];n.forEach(e.bind(null,0)),n.push=e.bind(null,n.push.bind(n))}(),a.nc=void 0;var u=a.O(void 0,[7874],(function(){return a(2060)}));u=a.O(u)}(); -//# sourceMappingURL=core-login.js.map?v=90fffeef972f80e7a92c
\ No newline at end of file +!function(){var e,r,i,o={2749:function(e,r,i){"use strict";var o={};i.r(o),i.d(o,{exclude:function(){return Vt},extract:function(){return Mt},parse:function(){return Dt},parseUrl:function(){return zt},pick:function(){return Ht},stringify:function(){return $t},stringifyUrl:function(){return qt}});var s=i(20144),a=i(69183),u=i(59050),c=i(19755),l=i.n(c),f=i(64024),d=i(25108),h={updatableNotification:null,getDefaultNotificationFunction:null,setDefault:function(t){this.getDefaultNotificationFunction=t},hide:function(t,e){u.default.isFunction(t)&&(e=t,t=void 0),t?(t.each((function(){l()(this)[0].toastify?l()(this)[0].toastify.hideToast():d.error("cannot hide toast because object is not set"),this===this.updatableNotification&&(this.updatableNotification=null)})),e&&e.call(),this.getDefaultNotificationFunction&&this.getDefaultNotificationFunction()):d.error("Missing argument $row in OC.Notification.hide() call, caller needs to be adjusted to only dismiss its own notification")},showHtml:function(t,e){(e=e||{}).isHTML=!0,e.timeout=e.timeout?e.timeout:f.Rl;var n=(0,f.PV)(t,e);return n.toastElement.toastify=n,l()(n.toastElement)},show:function(t,e){(e=e||{}).timeout=e.timeout?e.timeout:f.Rl;var n=(0,f.PV)(function(t){return t.toString().split("&").join("&").split("<").join("<").split(">").join(">").split('"').join(""").split("'").join("'")}(t),e);return n.toastElement.toastify=n,l()(n.toastElement)},showUpdate:function(t){return this.updatableNotification&&this.updatableNotification.hideToast(),this.updatableNotification=(0,f.PV)(t,{timeout:f.Rl}),this.updatableNotification.toastElement.toastify=this.updatableNotification,l()(this.updatableNotification.toastElement)},showTemporary:function(t,e){(e=e||{}).timeout=e.timeout||f.TN;var n=(0,f.PV)(t,e);return n.toastElement.toastify=n,l()(n.toastElement)},isHidden:function(){return!l()("#content").find(".toastify").length}},p=u.default.throttle((function(){h.showTemporary(t("core","Connection to server lost"))}),7e3,{trailing:!1}),m={enableDynamicSlideToggle:function(){},showAppSidebar:function(t){(t||l()("#app-sidebar")).removeClass("disappear").show(),l()("#app-content").trigger(new(l().Event)("appresized"))},hideAppSidebar:function(t){(t||l()("#app-sidebar")).hide().addClass("disappear"),l()("#app-content").trigger(new(l().Event)("appresized"))}},g=i(79753);function v(t,e,n){"post"!==t&&"delete"!==t||!xt.PasswordConfirmation.requiresPasswordConfirmation()?(n=n||{},l().ajax({type:t.toUpperCase(),url:(0,g.generateOcsUrl)("apps/provisioning_api/api/v1/config/apps")+e,data:n.data||{},success:n.success,error:n.error})):xt.PasswordConfirmation.requirePasswordConfirmation(_.bind(v,this,t,e,n))}var y=window.oc_appconfig||{},b={getValue:function(t,e,n,r){!function(t,e,n,r){(r=r||{}).data={defaultValue:n},v("get","/"+t+"/"+e,r)}(t,e,n,{success:r})},setValue:function(t,e,n){!function(t,e,n,r){(r=r||{}).data={value:n},v("post","/"+t+"/"+e,r)}(t,e,n)},getApps:function(t){!function(t){v("get","",t)}({success:t})},getKeys:function(t,e){!function(t,e){v("get","/"+t,e)}(t,{success:e})},deleteKey:function(t,e){!function(t,e,n){v("delete","/"+t+"/"+e,void 0)}(t,e)}},w=void 0!==window._oc_appswebroots&&window._oc_appswebroots,x=i(72316),A=i.n(x),C=i(76591),E=i(25108),j={create:"POST",update:"PROPPATCH",patch:"PROPPATCH",delete:"DELETE",read:"PROPFIND"};function N(t,e){if(u.default.isArray(t))return u.default.map(t,(function(t){return N(t,e)}));var n={href:t.href};return u.default.each(t.propStat,(function(t){if("HTTP/1.1 200 OK"===t.status)for(var r in t.properties){var i=r;r in e&&(i=e[r]),n[i]=t.properties[r]}})),n.id||(n.id=k(n.href)),n}function k(t){var e=t.indexOf("?");e>0&&(t=t.substr(0,e));var n,r=t.split("/");do{n=r[r.length-1],r.pop()}while(!n&&r.length>0);return n}function P(t){return t>=200&&t<=299}function O(t,e,n,r){return t.propPatch(e.url,function(t,e){var n,r={};for(n in t){var i=e[n],o=t[n];i||(E.warn('No matching DAV property for property "'+n),i=n),(u.default.isBoolean(o)||u.default.isNumber(o))&&(o=""+o),r[i]=o}return r}(n.changed,e.davProperties),r).then((function(t){P(t.status)?u.default.isFunction(e.success)&&e.success(n.toJSON()):u.default.isFunction(e.error)&&e.error(t)}))}var S=A().noConflict();Object.assign(S,{davCall:function(t,e){var n=new C.dav.Client({baseUrl:t.url,xmlNamespaces:u.default.extend({"DAV:":"d","http://owncloud.org/ns":"oc"},t.xmlNamespaces||{})});n.resolveUrl=function(){return t.url};var r=u.default.extend({"X-Requested-With":"XMLHttpRequest",requesttoken:OC.requestToken},t.headers);return"PROPFIND"===t.type?function(t,e,n,r){return t.propFind(e.url,u.default.values(e.davProperties)||[],e.depth,r).then((function(t){if(P(t.status)){if(u.default.isFunction(e.success)){var n=u.default.invert(e.davProperties),r=N(t.body,n);e.depth>0&&r.shift(),e.success(r)}}else u.default.isFunction(e.error)&&e.error(t)}))}(n,t,0,r):"PROPPATCH"===t.type?O(n,t,e,r):"MKCOL"===t.type?function(t,e,n,r){return t.request(e.type,e.url,r,null).then((function(i){P(i.status)?O(t,e,n,r):u.default.isFunction(e.error)&&e.error(i)}))}(n,t,e,r):function(t,e,n,r){return r["Content-Type"]="application/json",t.request(e.type,e.url,r,e.data).then((function(t){if(P(t.status)){if(u.default.isFunction(e.success)){if("PUT"===e.type||"POST"===e.type||"MKCOL"===e.type){var r=t.body||n.toJSON(),i=t.xhr.getResponseHeader("Content-Location");return"POST"===e.type&&i&&(r.id=k(i)),void e.success(r)}if(207===t.status){var o=u.default.invert(e.davProperties);e.success(N(t.body,o))}else e.success(t.body)}}else u.default.isFunction(e.error)&&e.error(t)}))}(n,t,e,r)},davSync:function(t){return function(e,n,r){var i={type:j[e]||e},o=n instanceof t.Collection;if("update"===e&&(n.hasInnerCollection?i.type="MKCOL":(n.usePUT||n.collection&&n.collection.usePUT)&&(i.type="PUT")),r.url||(i.url=u.default.result(n,"url")||function(){throw new Error('A "url" property or function must be specified')}()),null!=r.data||!n||"create"!==e&&"update"!==e&&"patch"!==e||(i.data=JSON.stringify(r.attrs||n.toJSON(r))),"PROPFIND"!==i.type&&(i.processData=!1),"PROPFIND"===i.type||"PROPPATCH"===i.type){var s=n.davProperties;!s&&n.model&&(s=n.model.prototype.davProperties),s&&(u.default.isFunction(s)?i.davProperties=s.call(n):i.davProperties=s),i.davProperties=u.default.extend(i.davProperties||{},r.davProperties),u.default.isUndefined(r.depth)&&(r.depth=o?1:0)}var a=r.error;r.error=function(t,e,n){r.textStatus=e,r.errorThrown=n,a&&a.call(r.context,t,e,n)};var c=r.xhr=t.davCall(u.default.extend(i,r),n);return n.trigger("request",n,c,r),c}}(S)});var T=S,L=i(65358),I=window._oc_config||{},R=document.getElementsByTagName("head")[0].getAttribute("data-user"),F=document.getElementsByTagName("head")[0].getAttribute("data-user-displayname"),B=void 0!==R&&R,U=i(96384),M=i(59546),D=i(62520);function $(t){return $="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$(t)}var z={YES_NO_BUTTONS:70,OK_BUTTONS:71,FILEPICKER_TYPE_CHOOSE:1,FILEPICKER_TYPE_MOVE:2,FILEPICKER_TYPE_COPY:3,FILEPICKER_TYPE_COPY_MOVE:4,FILEPICKER_TYPE_CUSTOM:5,dialogsCounter:0,alert:function(t,e,n,r){this.message(t,e,"alert",z.OK_BUTTON,n,r)},info:function(t,e,n,r){this.message(t,e,"info",z.OK_BUTTON,n,r)},confirm:function(t,e,n,r){return this.message(t,e,"notice",z.YES_NO_BUTTONS,n,r)},confirmDestructive:function(t,e,n,r,i){return this.message(t,e,"none",n,r,void 0===i||i)},confirmHtml:function(t,e,n,r){return this.message(t,e,"notice",z.YES_NO_BUTTONS,n,r,!0)},prompt:function(e,n,r,i,o,s){return l().when(this._getMessageTemplate()).then((function(a){var c="oc-dialog-"+z.dialogsCounter+"-content",f="#"+c,d=a.octemplate({dialog_name:c,title:n,message:e,type:"notice"}),h=l()("<input/>");h.attr("type",s?"password":"text").attr("id",c+"-input").attr("placeholder",o);var p=l()("<label/>").attr("for",c+"-input").text(o+": ");d.append(p),d.append(h),void 0===i&&(i=!1),l()("body").append(d),void 0!==r&&(r=u.default.once(r));var m=[{text:t("core","No"),click:function(){void 0!==r&&r(!1,h.val()),l()(f).ocdialog("close")}},{text:t("core","Yes"),click:function(){void 0!==r&&r(!0,h.val()),l()(f).ocdialog("close")},defaultButton:!0}];l()(f).ocdialog({closeOnEscape:!0,modal:i,buttons:m,close:function(){void 0!==r&&r(!1,h.val())}}),h.focus(),z.dialogsCounter++}))},filepicker:function(e,n){var r=this,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:f.K9.Choose,a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:void 0,u=arguments.length>7&&void 0!==arguments[7]?arguments[7]:void 0,c=function(t,e){var n=function(t){var e=(null==t?void 0:t.root)||"",n=(null==t?void 0:t.path)||"";return n.startsWith(e)&&(n=n.slice(e.length)||"/"),n};return i?function(r){return t(r.map(n),e)}:function(r){return t(n(r[0]),e)}},l=(0,f.fn)(e);s===this.FILEPICKER_TYPE_CUSTOM?(u.buttons||[]).forEach((function(t){l.addButton({callback:c(n,t.type),label:t.text,type:t.defaultButton?"primary":"secondary"})})):l.setButtonFactory((function(e,i){var o,a,u=[],l=(null==e||null===(o=e[0])||void 0===o||null===(o=o.attributes)||void 0===o?void 0:o.displayName)||(null==e||null===(a=e[0])||void 0===a?void 0:a.basename),d=l||(0,D.basename)(i);return s===f.K9.Choose&&u.push({callback:c(n,f.K9.Choose),label:l&&!r.multiSelect?t("core","Choose {file}",{file:l}):t("core","Choose"),type:"primary"}),s!==f.K9.CopyMove&&s!==f.K9.Copy||u.push({callback:c(n,f.K9.Copy),label:d?t("core","Copy to {target}",{target:d}):t("core","Copy"),type:"primary",icon:M}),s!==f.K9.Move&&s!==f.K9.CopyMove||u.push({callback:c(n,f.K9.Move),label:d?t("core","Move to {target}",{target:d}):t("core","Move"),type:s===f.K9.Move?"primary":"secondary",icon:U}),u})),o&&l.setMimeTypeFilter("string"==typeof o?[o]:o||[]),"function"==typeof(null==u?void 0:u.filter)&&l.setFilter((function(t){return u.filter(function(t){var e,n,r,i,o,s;return{id:t.fileid||null,path:t.path,mimetype:t.mime||null,mtime:(null===(e=t.mtime)||void 0===e?void 0:e.getTime())||null,permissions:t.permissions,name:(null===(n=t.attributes)||void 0===n?void 0:n.displayName)||t.basename,etag:(null===(r=t.attributes)||void 0===r?void 0:r.etag)||null,hasPreview:(null===(i=t.attributes)||void 0===i?void 0:i.hasPreview)||null,mountType:(null===(o=t.attributes)||void 0===o?void 0:o.mountType)||null,quotaAvailableBytes:(null===(s=t.attributes)||void 0===s?void 0:s.quotaAvailableBytes)||null,icon:null,sharePermissions:null}}(t))})),l.allowDirectories(!0===(null==u?void 0:u.allowDirectoryChooser)||(null==o?void 0:o.includes("httpd/unix-directory"))||!1).setMultiSelect(i).startAt(a).build().pick()},message:function(e,n,r,i,o,s,a){return l().when(this._getMessageTemplate()).then((function(u){var c="oc-dialog-"+z.dialogsCounter+"-content",f="#"+c,d=u.octemplate({dialog_name:c,title:n,message:e,type:r},a?{escapeFunction:""}:{});void 0===s&&(s=!1),l()("body").append(d);var h=[];switch(i){case z.YES_NO_BUTTONS:h=[{text:t("core","No"),click:function(){void 0!==o&&o(!1),l()(f).ocdialog("close")}},{text:t("core","Yes"),click:function(){void 0!==o&&o(!0),l()(f).ocdialog("close")},defaultButton:!0}];break;case z.OK_BUTTON:h[0]={text:t("core","OK"),click:function(){l()(f).ocdialog("close"),void 0!==o&&o()},defaultButton:!0};break;default:"object"===$(i)&&i.type===z.YES_NO_BUTTONS&&(h=[{text:i.cancel||t("core","No"),click:function(){void 0!==o&&o(!1),l()(f).ocdialog("close")}},{text:i.confirm||t("core","Yes"),click:function(){void 0!==o&&o(!0),l()(f).ocdialog("close")},defaultButton:!0,classes:i.confirmClasses}])}l()(f).ocdialog({closeOnEscape:!0,closeCallback:function(){o&&o(!1)},modal:s,buttons:h}),z.dialogsCounter++})).fail((function(r,i){0===r?alert(n+": "+e):alert(t("core","Error loading message template: {error}",{error:i}))}))},_fileexistsshown:!1,fileexists:function(e,r,i,o){var s=this,a=new(l().Deferred),u=function(t,e,n,r,i){r=Math.round(r),i=Math.round(i);for(var o=t.getContext("2d").getImageData(0,0,e,n),s=t.getContext("2d").getImageData(0,0,r,i),a=o.data,u=s.data,c=e/r,l=n/i,f=Math.ceil(c/2),d=Math.ceil(l/2),h=0;h<i;h++)for(var p=0;p<r;p++){for(var m=4*(p+h*r),g=0,v=0,y=0,b=0,w=0,x=0,_=0,A=(h+.5)*l,C=Math.floor(h*l);C<(h+1)*l;C++)for(var E=Math.abs(A-(C+.5))/d,j=(p+.5)*c,N=E*E,k=Math.floor(p*c);k<(p+1)*c;k++){var P=Math.abs(j-(k+.5))/f,O=Math.sqrt(N+P*P);O>=-1&&O<=1&&(g=2*O*O*O-3*O*O+1)>0&&(_+=g*a[3+(P=4*(k+C*e))],y+=g,a[P+3]<255&&(g=g*a[P+3]/250),b+=g*a[P],w+=g*a[P+1],x+=g*a[P+2],v+=g)}u[m]=b/v,u[m+1]=w/v,u[m+2]=x/v,u[m+3]=_/y}t.getContext("2d").clearRect(0,0,Math.max(e,r),Math.max(n,i)),t.width=r,t.height=i,t.getContext("2d").putImageData(s,0,0)},c=function(n,r,i){var o=n.find(".template").clone().removeClass("template").addClass("conflict"),s=o.find(".original"),a=o.find(".replacement");o.data("data",e),o.find(".filename").text(r.name),s.find(".size").text(xt.Util.humanFileSize(r.size)),s.find(".mtime").text(xt.Util.formatDate(r.mtime)),i.size&&i.lastModified&&(a.find(".size").text(xt.Util.humanFileSize(i.size)),a.find(".mtime").text(xt.Util.formatDate(i.lastModified)));var c=r.directory+"/"+r.name,f={file:c,x:96,y:96,c:r.etag,forceIcon:0},d=Files.generatePreviewUrl(f);d=d.replace(/'/g,"%27"),s.find(".icon").css({"background-image":"url('"+d+"')"}),function(t){var e=new(l().Deferred),n=t.type&&t.type.split("/").shift();if(window.FileReader&&"image"===n){var r=new FileReader;r.onload=function(t){var n=new Blob([t.target.result]);window.URL=window.URL||window.webkitURL;var r=window.URL.createObjectURL(n),i=new Image;i.src=r,i.onload=function(){var t,n,r,o,s,a,c,l=(t=i,s=document.createElement("canvas"),a=t.width,c=t.height,a>c?(r=0,n=(a-c)/2):(r=(c-a)/2,n=0),o=Math.min(a,c),s.width=o,s.height=o,s.getContext("2d").drawImage(t,n,r,o,o,0,0,o,o),u(s,o,o,96,96),s.toDataURL("image/png",.7));e.resolve(l)}},r.readAsArrayBuffer(t)}else e.reject();return e}(i).then((function(t){a.find(".icon").css("background-image","url("+t+")")}),(function(){c=xt.MimeType.getIconUrl(i.type),a.find(".icon").css("background-image","url("+c+")")}));var h=n.find(".conflict").length;s.find("input:checkbox").attr("id","checkbox_original_"+h),a.find("input:checkbox").attr("id","checkbox_replacement_"+h),n.append(o),i.lastModified>r.mtime?a.find(".mtime").css("font-weight","bold"):i.lastModified<r.mtime&&s.find(".mtime").css("font-weight","bold"),i.size&&i.size>r.size?a.find(".size").css("font-weight","bold"):i.size&&i.size<r.size&&s.find(".size").css("font-weight","bold"),"readonly"===r.status&&(s.addClass("readonly").find('input[type="checkbox"]').prop("checked",!0).prop("disabled",!0),s.find(".message").text(t("core","read-only")))},f="oc-dialog-fileexists-content",d="#"+f;if(this._fileexistsshown){var h=l()(d+" .conflicts");c(h,r,i);var p=l()(d+" .conflict").length,m=n("core","{count} file conflict","{count} file conflicts",p,{count:p});l()(d).parent().children(".oc-dialog-title").text(m),l()(window).trigger("resize"),a.resolve()}else this._fileexistsshown=!0,l().when(this._getFileExistsTemplate()).then((function(n){var u=t("core","One file conflict"),h=n.octemplate({dialog_name:f,title:u,type:"fileexists",allnewfiles:t("core","New Files"),allexistingfiles:t("core","Already existing files"),why:t("core","Which files do you want to keep?"),what:t("core","If you select both versions, the copied file will have a number added to its name.")});if(l()("body").append(h),r&&i){var p=h.find(".conflicts");c(p,r,i)}var m=[{text:t("core","Cancel"),classes:"cancel",click:function(){void 0!==o.onCancel&&o.onCancel(e),l()(d).ocdialog("close")}},{text:t("core","Continue"),classes:"continue",click:function(){void 0!==o.onContinue&&o.onContinue(l()(d+" .conflict")),l()(d).ocdialog("close")}}];l()(d).ocdialog({width:500,closeOnEscape:!0,modal:!0,buttons:m,closeButton:null,close:function(){s._fileexistsshown=!1;try{l()(this).ocdialog("destroy").remove()}catch(t){}}}),l()(d).css("height","auto");var g=h.closest(".oc-dialog").find("button.continue");function v(){var t=h.find(".conflicts .checkbox:checked").length;g.prop("disabled",0===t)}g.prop("disabled",!0),l()(d).find(".allnewfiles").on("click",(function(){l()(d).find('.conflict .replacement input[type="checkbox"]').prop("checked",l()(this).prop("checked"))})),l()(d).find(".allexistingfiles").on("click",(function(){l()(d).find('.conflict .original:not(.readonly) input[type="checkbox"]').prop("checked",l()(this).prop("checked"))})),l()(d).find(".conflicts").on("click",".replacement,.original:not(.readonly)",(function(){var t=l()(this).find('input[type="checkbox"]');t.prop("checked",!t.prop("checked"))})),l()(d).find(".conflicts").on("click",'.replacement input[type="checkbox"],.original:not(.readonly) input[type="checkbox"]',(function(){var t=l()(this);t.prop("checked",!t.prop("checked"))})),l()(d).on("click",".replacement,.allnewfiles",(function(){var e=l()(d).find('.conflict .replacement input[type="checkbox"]:checked').length;e===l()(d+" .conflict").length?(l()(d).find(".allnewfiles").prop("checked",!0),l()(d).find(".allnewfiles + .count").text(t("core","(all selected)"))):e>0?(l()(d).find(".allnewfiles").prop("checked",!1),l()(d).find(".allnewfiles + .count").text(t("core","({count} selected)",{count:e}))):(l()(d).find(".allnewfiles").prop("checked",!1),l()(d).find(".allnewfiles + .count").text("")),v()})),l()(d).on("click",".original,.allexistingfiles",(function(){var e=l()(d).find('.conflict .original input[type="checkbox"]:checked').length;e===l()(d+" .conflict").length?(l()(d).find(".allexistingfiles").prop("checked",!0),l()(d).find(".allexistingfiles + .count").text(t("core","(all selected)"))):e>0?(l()(d).find(".allexistingfiles").prop("checked",!1),l()(d).find(".allexistingfiles + .count").text(t("core","({count} selected)",{count:e}))):(l()(d).find(".allexistingfiles").prop("checked",!1),l()(d).find(".allexistingfiles + .count").text("")),v()})),a.resolve()})).fail((function(){a.reject(),alert(t("core","Error loading file exists template"))}));return a.promise()},_getMessageTemplate:function(){var t=l().Deferred();if(this.$messageTemplate)t.resolve(this.$messageTemplate);else{var e=this;l().get(xt.filePath("core","templates","message.html"),(function(n){e.$messageTemplate=l()(n),t.resolve(e.$messageTemplate)})).fail((function(e,n,r){t.reject(e.status,r)}))}return t.promise()},_getFileExistsTemplate:function(){var t=l().Deferred();if(this.$fileexistsTemplate)t.resolve(this.$fileexistsTemplate);else{var e=this;l().get(xt.filePath("files","templates","fileexists.html"),(function(n){e.$fileexistsTemplate=l()(n),t.resolve(e.$fileexistsTemplate)})).fail((function(){t.reject()}))}return t.promise()}},q=z,H=function(t,e){var n=t.getElementsByTagName("head")[0].getAttribute("data-requesttoken");return{getToken:function(){return n},setToken:function(t){e("csrf-token-update",{token:n=t})}}}(document,a.j8),V=H.getToken,Z=(H.setToken,function t(e,n){var r,i,o="";if(this.typelessListeners=[],this.closed=!1,this.listeners={},n)for(r in n)o+=r+"="+encodeURIComponent(n[r])+"&";if(o+="requesttoken="+encodeURIComponent(V()),this.useFallBack||"undefined"==typeof EventSource){var s="oc_eventsource_iframe_"+t.iframeCount;t.fallBackSources[t.iframeCount]=this,this.iframe=l()("<iframe></iframe>"),this.iframe.attr("id",s),this.iframe.hide(),i="&",-1===e.indexOf("?")&&(i="?"),this.iframe.attr("src",e+i+"fallback=true&fallback_id="+t.iframeCount+"&"+o),l()("body").append(this.iframe),this.useFallBack=!0,t.iframeCount++}else i="&",-1===e.indexOf("?")&&(i="?"),this.source=new EventSource(e+i+o),this.source.onmessage=function(t){for(var e=0;e<this.typelessListeners.length;e++)this.typelessListeners[e](JSON.parse(t.data))}.bind(this);this.listen("__internal__",function(t){"close"===t&&this.close()}.bind(this))});Z.fallBackSources=[],Z.iframeCount=0,Z.fallBackCallBack=function(t,e,n){Z.fallBackSources[t].fallBackCallBack(e,n)},Z.prototype={typelessListeners:[],iframe:null,listeners:{},useFallBack:!1,fallBackCallBack:function(t,e){var n;if(!this.closed)if(t){if(void 0!==this.listeners.done)for(n=0;n<this.listeners[t].length;n++)this.listeners[t][n](e)}else for(n=0;n<this.typelessListeners.length;n++)this.typelessListeners[n](e)},lastLength:0,listen:function(t,e){e&&e.call&&(t?this.useFallBack?(this.listeners[t]||(this.listeners[t]=[]),this.listeners[t].push(e)):this.source.addEventListener(t,(function(t){void 0!==t.data?e(JSON.parse(t.data)):e("")}),!1):this.typelessListeners.push(e))},close:function(){this.closed=!0,void 0!==this.source&&this.source.close()}};var K=Z,Y=i(42515),G=i(25108),W=null,J=null,X=function(t){if(W){var e=W;W.trigger(new(l().Event)("beforeHide")),W.slideUp(50,(function(){e.trigger(new(l().Event)("afterHide")),t&&t.apply(this,arguments)}))}l()(".menutoggle").attr("aria-expanded",!1),J&&J.attr("aria-expanded",!1),l()(".openedMenu").removeClass("openedMenu"),W=null,J=null},Q=!!window._oc_isadmin,tt=i(40202),et=i.n(tt),nt=i(31352),rt={load:nt.XJ,register:nt.z2,_unregister:nt.ET,translate:nt.Iu,translatePlural:nt.uN};et().registerHelper("t",(function(t,e){return(0,nt.Iu)(t,e)}));var it={startSaving:function(e){this.startAction(e,t("core","Saving …"))},startAction:function(t,e){l()(t).text(e).removeClass("success").removeClass("error").stop(!0,!0).show()},finishedSaving:function(t,e){this.finishedAction(t,e)},finishedAction:function(t,e){"success"===e.status?this.finishedSuccess(t,e.data.message):this.finishedError(t,e.data.message)},finishedSuccess:function(t,e){l()(t).text(e).addClass("success").removeClass("error").stop(!0,!0).delay(3e3).fadeOut(900).show()},finishedError:function(t,e){l()(t).text(e).addClass("error").removeClass("success").show()}},ot=i(7820),st=(i(65509),{requiresPasswordConfirmation:function(){return(0,ot.q)()},requirePasswordConfirmation:function(t,e,n){(0,ot.Z)().then(t,n)}}),at=window._theme||{},ut=i(30381),ct=i.n(ut),lt={_handlers:[],_pushState:function(t,e,n){var r;if(r="string"==typeof t?t:xt.buildQueryString(t),window.history.pushState){if(e=e||location.pathname+"?"+r,navigator.userAgent.toLowerCase().indexOf("firefox")>-1&&parseInt(navigator.userAgent.split("/").pop())<51)for(var i,o=document.querySelectorAll('[fill^="url(#"], [stroke^="url(#"], [filter^="url(#invert"]'),s=0,a=o.length;s<a;s++)(i=o[s]).style.fill=i.style.fill,i.style.stroke=i.style.stroke,i.removeAttribute("filter"),i.setAttribute("filter","url(#invert)");n?window.history.replaceState(t,"",e):window.history.pushState(t,"",e)}else window.location.hash="?"+r,this._cancelPop=!0},pushState:function(t,e){this._pushState(t,e,!1)},replaceState:function(t,e){this._pushState(t,e,!0)},addOnPopStateHandler:function(t){this._handlers.push(t)},_parseHashQuery:function(){var t=window.location.hash,e=t.indexOf("?");return e>=0?t.substr(e+1):t.length?t.substr(1):""},_decodeQuery:function(t){return t.replace(/\+/g," ")},parseUrlQuery:function(){var t,e=this._parseHashQuery();return e&&(t=xt.parseQueryString(this._decodeQuery(e))),(t=u.default.extend(t||{},xt.parseQueryString(this._decodeQuery(location.search))))||{}},_onPopState:function(t){var e;if(this._cancelPop)this._cancelPop=!1;else if(this._handlers.length){e=t&&t.state,u.default.isString(e)?e=xt.parseQueryString(e):e||(e=this.parseUrlQuery()||{});for(var n=0;n<this._handlers.length;n++)this._handlers[n](e)}}},ft=i(5656),dt=i(25108);function ht(t){for(var e,n=[],r=0,i=-1,o=0;r<t.length;){e=t.charAt(r);var s=!o&&"."===e||e>="0"&&e<="9";s!==o&&(n[++i]="",o=s),n[i]+=e,r++}return n}var pt={History:lt,humanFileSize:ft.sS,computerFileSize:function(t){if("string"!=typeof t)return null;var e=t.toLowerCase().trim(),n=null,r=e.match(/^[\s+]?([0-9]*)(\.([0-9]+))?( +)?([kmgtp]?b?)$/i);return null===r?null:(n=parseFloat(e),isFinite(n)?(r[5]&&(n*={b:1,k:1024,kb:1024,mb:1048576,m:1048576,gb:1073741824,g:1073741824,tb:1099511627776,t:1099511627776,pb:0x4000000000000,p:0x4000000000000}[r[5]]),n=Math.round(n)):null)},formatDate:function(t,e){return void 0===window.TESTING&&xt.debug&&dt.warn("OC.Util.formatDate is deprecated and will be removed in Nextcloud 21. See @nextcloud/moment"),e=e||"LLL",ct()(t).format(e)},relativeModifiedDate:function(e){void 0===window.TESTING&&xt.debug&&dt.warn("OC.Util.relativeModifiedDate is deprecated and will be removed in Nextcloud 21. See @nextcloud/moment");var n=ct()().diff(ct()(e));return n>=0&&n<45e3?t("core","seconds ago"):ct()(e).fromNow()},getScrollBarWidth:function(){if(this._scrollBarWidth)return this._scrollBarWidth;var t=document.createElement("p");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.style.visibility="hidden",e.style.width="200px",e.style.height="150px",e.style.overflow="hidden",e.appendChild(t),document.body.appendChild(e);var n=t.offsetWidth;e.style.overflow="scroll";var r=t.offsetWidth;return n===r&&(r=e.clientWidth),document.body.removeChild(e),this._scrollBarWidth=n-r,this._scrollBarWidth},stripTime:function(t){return new Date(t.getFullYear(),t.getMonth(),t.getDate())},naturalSortCompare:function(t,e){var n,r=ht(t),i=ht(e);for(n=0;r[n]&&i[n];n++)if(r[n]!==i[n]){var o=Number(r[n]),s=Number(i[n]);return o==r[n]&&s==i[n]?o-s:r[n].localeCompare(i[n],xt.getLanguage())}return r.length-i.length},waitFor:function(t,e){!function n(){!0!==t()&&setTimeout(n,e)}()},isCookieSetToValue:function(t,e){for(var n=document.cookie.split(";"),r=0;r<n.length;r++){var i=n[r].split("=");if(i[0].trim()===t&&i[1].trim()===e)return!0}return!1}},mt=window._oc_debug,gt=window._oc_webroot;if(void 0===gt){var vt=(gt=location.pathname).indexOf("/index.php/");gt=-1!==vt?gt.substr(0,vt):gt.substr(0,gt.lastIndexOf("/"))}var yt,bt=gt,wt=i(25108),xt={coreApps:["","admin","log","core/search","core","3rdparty"],menuSpeed:50,PERMISSION_ALL:31,PERMISSION_CREATE:4,PERMISSION_DELETE:8,PERMISSION_NONE:0,PERMISSION_READ:1,PERMISSION_SHARE:16,PERMISSION_UPDATE:2,TAG_FAVORITE:"_$!<Favorite>!$_",fileIsBlacklisted:function(t){return!!t.match(I.blacklist_files_regex)},Apps:m,AppConfig:b,appConfig:y,appswebroots:w,Backbone:T,config:I,currentUser:B,dialogs:q,EventSource:K,getCurrentUser:function(){return{uid:B,displayName:F}},isUserAdmin:function(){return Q},L10N:rt,_ajaxConnectionLostHandler:p,_processAjaxError:function(t){(0!==t.status||"abort"!==t.statusText&&"timeout"!==t.statusText&&!xt._reloadCalled)&&(u.default.contains([302,303,307,401],t.status)&&xt.currentUser?setTimeout((function(){if(!xt._userIsNavigatingAway&&!xt._reloadCalled){var t=0,e=setInterval((function(){h.showUpdate(n("core","Problem loading page, reloading in %n second","Problem loading page, reloading in %n seconds",5-t)),t>=5&&(clearInterval(e),xt.reload()),t++}),1e3);xt._reloadCalled=!0}}),100):0===t.status&&setTimeout((function(){xt._userIsNavigatingAway||xt._reloadCalled||xt._ajaxConnectionLostHandler()}),100))},registerXHRForErrorProcessing:function(t){t.addEventListener&&(t.addEventListener("load",(function(){4===t.readyState&&(t.status>=200&&t.status<300||304===t.status||l()(document).trigger(new(l().Event)("ajaxError"),t))})),t.addEventListener("error",(function(){l()(document).trigger(new(l().Event)("ajaxError"),t)})))},getCapabilities:function(){return OC.debug&&G.warn("OC.getCapabilities is deprecated and will be removed in Nextcloud 21. See @nextcloud/capabilities"),(0,Y.getCapabilities)()},hideMenus:X,registerMenu:function(t,e,n,r){e.addClass("menu");var i="A"===t.prop("tagName")||"BUTTON"===t.prop("tagName");t.on(i?"click.menu":"click.menu keyup.menu",(function(i){i.preventDefault(),i.key&&"Enter"!==i.key||(e.is(W)?X():(W&&X(),!0===r&&e.parent().addClass("openedMenu"),t.attr("aria-expanded",!0),e.slideToggle(50,n),W=e,J=t))}))},showMenu:function(t,e,n){e.is(W)||(X(),W=e,J=t,e.trigger(new(l().Event)("beforeShow")),e.show(),e.trigger(new(l().Event)("afterShow")),u.default.isFunction(n)&&n())},unregisterMenu:function(t,e){e.is(W)&&X(),t.off("click.menu").removeClass("menutoggle"),e.removeClass("menu")},basename:L.EZ,encodePath:L.Ec,dirname:L.XX,isSamePath:L.Mg,joinPaths:L.RQ,getHost:function(){return window.location.host},getHostName:function(){return window.location.hostname},getPort:function(){return window.location.port},getProtocol:function(){return window.location.protocol.split(":")[0]},getCanonicalLocale:nt.aj,getLocale:nt.Kd,getLanguage:nt.G3,buildQueryString:function(t){return t?l().map(t,(function(t,e){var n=encodeURIComponent(e);return null!=t&&(n+="="+encodeURIComponent(t)),n})).join("&"):""},parseQueryString:function(t){var e,n,r,i={};if(!t)return null;(e=t.indexOf("?"))>=0&&(t=t.substr(e+1));for(var o=t.replace(/\+/g,"%20").split("&"),s=0;s<o.length;s++){var a=o[s];(n=(e=a.indexOf("="))>=0?[a.substr(0,e),a.substr(e+1)]:[a]).length&&(r=decodeURIComponent(n[0]))&&(i[r]=n.length>1?decodeURIComponent(n[1]):null)}return i},msg:it,Notification:h,PasswordConfirmation:st,Plugins:{_plugins:{},register:function(t,e){var n=this._plugins[t];n||(n=this._plugins[t]=[]),n.push(e)},getPlugins:function(t){return this._plugins[t]||[]},attach:function(t,e,n){for(var r=this.getPlugins(t),i=0;i<r.length;i++)r[i].attach&&r[i].attach(e,n)},detach:function(t,e,n){for(var r=this.getPlugins(t),i=0;i<r.length;i++)r[i].detach&&r[i].detach(e,n)}},theme:at,Util:pt,debug:mt,filePath:g.generateFilePath,generateUrl:g.generateUrl,get:(yt=window,function(t){for(var e=t.split("."),n=e.pop(),r=0;r<e.length;r++)if(!(yt=yt[e[r]]))return!1;return yt[n]}),set:function(t){return function(e,n){for(var r=e.split("."),i=r.pop(),o=0;o<r.length;o++)t[r[o]]||(t[r[o]]={}),t=t[r[o]];return t[i]=n,n}}(window),getRootPath:g.getRootUrl,imagePath:g.imagePath,redirect:function(t){window.location=t},reload:function(){window.location.reload()},requestToken:V(),linkTo:g.linkTo,linkToOCS:function(t,e){return(0,g.generateOcsUrl)(t,{},{ocsVersion:e||1})+"/"},linkToRemote:g.generateRemoteUrl,linkToRemoteBase:function(t){return(0,g.getRootUrl)()+"/remote.php/"+t},webroot:bt};(0,a.Ld)("csrf-token-update",(function(t){OC.requestToken=t.token,wt.info("OC.requestToken changed",t.token)}));var _t=i(43554);const At="%[a-f0-9]{2}",Ct=new RegExp("("+At+")|([^%]+?)","gi"),Et=new RegExp("("+At+")+","gi");function jt(t,e){try{return[decodeURIComponent(t.join(""))]}catch{}if(1===t.length)return t;e=e||1;const n=t.slice(0,e),r=t.slice(e);return Array.prototype.concat.call([],jt(n),jt(r))}function Nt(t){try{return decodeURIComponent(t)}catch{let e=t.match(Ct)||[];for(let n=1;n<e.length;n++)e=(t=jt(e,n).join("")).match(Ct)||[];return t}}function kt(t,e){if("string"!=typeof t||"string"!=typeof e)throw new TypeError("Expected the arguments to be of type `string`");if(""===t||""===e)return[];const n=t.indexOf(e);return-1===n?[]:[t.slice(0,n),t.slice(n+e.length)]}function Pt(t,e){const n={};if(Array.isArray(e))for(const r of e){const e=Object.getOwnPropertyDescriptor(t,r);e?.enumerable&&Object.defineProperty(n,r,e)}else for(const r of Reflect.ownKeys(t)){const i=Object.getOwnPropertyDescriptor(t,r);i.enumerable&&e(r,t[r],t)&&Object.defineProperty(n,r,i)}return n}const Ot=t=>null==t,St=t=>encodeURIComponent(t).replace(/[!'()*]/g,(t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`)),Tt=Symbol("encodeFragmentIdentifier");function Lt(t){if("string"!=typeof t||1!==t.length)throw new TypeError("arrayFormatSeparator must be single character string")}function It(t,e){return e.encode?e.strict?St(t):encodeURIComponent(t):t}function Rt(t,e){return e.decode?function(t){if("string"!=typeof t)throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof t+"`");try{return decodeURIComponent(t)}catch{return function(t){const e={"%FE%FF":"��","%FF%FE":"��"};let n=Et.exec(t);for(;n;){try{e[n[0]]=decodeURIComponent(n[0])}catch{const t=Nt(n[0]);t!==n[0]&&(e[n[0]]=t)}n=Et.exec(t)}e["%C2"]="�";const r=Object.keys(e);for(const n of r)t=t.replace(new RegExp(n,"g"),e[n]);return t}(t)}}(t):t}function Ft(t){return Array.isArray(t)?t.sort():"object"==typeof t?Ft(Object.keys(t)).sort(((t,e)=>Number(t)-Number(e))).map((e=>t[e])):t}function Bt(t){const e=t.indexOf("#");return-1!==e&&(t=t.slice(0,e)),t}function Ut(t,e){return e.parseNumbers&&!Number.isNaN(Number(t))&&"string"==typeof t&&""!==t.trim()?t=Number(t):!e.parseBooleans||null===t||"true"!==t.toLowerCase()&&"false"!==t.toLowerCase()||(t="true"===t.toLowerCase()),t}function Mt(t){const e=(t=Bt(t)).indexOf("?");return-1===e?"":t.slice(e+1)}function Dt(t,e){Lt((e={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...e}).arrayFormatSeparator);const n=function(t){let e;switch(t.arrayFormat){case"index":return(t,n,r)=>{e=/\[(\d*)]$/.exec(t),t=t.replace(/\[\d*]$/,""),e?(void 0===r[t]&&(r[t]={}),r[t][e[1]]=n):r[t]=n};case"bracket":return(t,n,r)=>{e=/(\[])$/.exec(t),t=t.replace(/\[]$/,""),e?void 0!==r[t]?r[t]=[...r[t],n]:r[t]=[n]:r[t]=n};case"colon-list-separator":return(t,n,r)=>{e=/(:list)$/.exec(t),t=t.replace(/:list$/,""),e?void 0!==r[t]?r[t]=[...r[t],n]:r[t]=[n]:r[t]=n};case"comma":case"separator":return(e,n,r)=>{const i="string"==typeof n&&n.includes(t.arrayFormatSeparator),o="string"==typeof n&&!i&&Rt(n,t).includes(t.arrayFormatSeparator);n=o?Rt(n,t):n;const s=i||o?n.split(t.arrayFormatSeparator).map((e=>Rt(e,t))):null===n?n:Rt(n,t);r[e]=s};case"bracket-separator":return(e,n,r)=>{const i=/(\[])$/.test(e);if(e=e.replace(/\[]$/,""),!i)return void(r[e]=n?Rt(n,t):n);const o=null===n?[]:n.split(t.arrayFormatSeparator).map((e=>Rt(e,t)));void 0!==r[e]?r[e]=[...r[e],...o]:r[e]=o};default:return(t,e,n)=>{void 0!==n[t]?n[t]=[...[n[t]].flat(),e]:n[t]=e}}}(e),r=Object.create(null);if("string"!=typeof t)return r;if(!(t=t.trim().replace(/^[?#&]/,"")))return r;for(const i of t.split("&")){if(""===i)continue;const t=e.decode?i.replace(/\+/g," "):i;let[o,s]=kt(t,"=");void 0===o&&(o=t),s=void 0===s?null:["comma","separator","bracket-separator"].includes(e.arrayFormat)?s:Rt(s,e),n(Rt(o,e),s,r)}for(const[t,n]of Object.entries(r))if("object"==typeof n&&null!==n)for(const[t,r]of Object.entries(n))n[t]=Ut(r,e);else r[t]=Ut(n,e);return!1===e.sort?r:(!0===e.sort?Object.keys(r).sort():Object.keys(r).sort(e.sort)).reduce(((t,e)=>{const n=r[e];return Boolean(n)&&"object"==typeof n&&!Array.isArray(n)?t[e]=Ft(n):t[e]=n,t}),Object.create(null))}function $t(t,e){if(!t)return"";Lt((e={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...e}).arrayFormatSeparator);const n=n=>e.skipNull&&Ot(t[n])||e.skipEmptyString&&""===t[n],r=function(t){switch(t.arrayFormat){case"index":return e=>(n,r)=>{const i=n.length;return void 0===r||t.skipNull&&null===r||t.skipEmptyString&&""===r?n:null===r?[...n,[It(e,t),"[",i,"]"].join("")]:[...n,[It(e,t),"[",It(i,t),"]=",It(r,t)].join("")]};case"bracket":return e=>(n,r)=>void 0===r||t.skipNull&&null===r||t.skipEmptyString&&""===r?n:null===r?[...n,[It(e,t),"[]"].join("")]:[...n,[It(e,t),"[]=",It(r,t)].join("")];case"colon-list-separator":return e=>(n,r)=>void 0===r||t.skipNull&&null===r||t.skipEmptyString&&""===r?n:null===r?[...n,[It(e,t),":list="].join("")]:[...n,[It(e,t),":list=",It(r,t)].join("")];case"comma":case"separator":case"bracket-separator":{const e="bracket-separator"===t.arrayFormat?"[]=":"=";return n=>(r,i)=>void 0===i||t.skipNull&&null===i||t.skipEmptyString&&""===i?r:(i=null===i?"":i,0===r.length?[[It(n,t),e,It(i,t)].join("")]:[[r,It(i,t)].join(t.arrayFormatSeparator)])}default:return e=>(n,r)=>void 0===r||t.skipNull&&null===r||t.skipEmptyString&&""===r?n:null===r?[...n,It(e,t)]:[...n,[It(e,t),"=",It(r,t)].join("")]}}(e),i={};for(const[e,r]of Object.entries(t))n(e)||(i[e]=r);const o=Object.keys(i);return!1!==e.sort&&o.sort(e.sort),o.map((n=>{const i=t[n];return void 0===i?"":null===i?It(n,e):Array.isArray(i)?0===i.length&&"bracket-separator"===e.arrayFormat?It(n,e)+"[]":i.reduce(r(n),[]).join("&"):It(n,e)+"="+It(i,e)})).filter((t=>t.length>0)).join("&")}function zt(t,e){e={decode:!0,...e};let[n,r]=kt(t,"#");return void 0===n&&(n=t),{url:n?.split("?")?.[0]??"",query:Dt(Mt(t),e),...e&&e.parseFragmentIdentifier&&r?{fragmentIdentifier:Rt(r,e)}:{}}}function qt(t,e){e={encode:!0,strict:!0,[Tt]:!0,...e};const n=Bt(t.url).split("?")[0]||"";let r=$t({...Dt(Mt(t.url),{sort:!1}),...t.query},e);r&&(r=`?${r}`);let i=function(t){let e="";const n=t.indexOf("#");return-1!==n&&(e=t.slice(n)),e}(t.url);if(t.fragmentIdentifier){const r=new URL(n);r.hash=t.fragmentIdentifier,i=e[Tt]?r.hash:`#${t.fragmentIdentifier}`}return`${n}${r}${i}`}function Ht(t,e,n){n={parseFragmentIdentifier:!0,[Tt]:!1,...n};const{url:r,query:i,fragmentIdentifier:o}=zt(t,n);return qt({url:r,query:Pt(i,e),fragmentIdentifier:o},n)}function Vt(t,e,n){return Ht(t,Array.isArray(e)?t=>!e.includes(t):(t,n)=>!e(t,n),n)}var Zt=o,Kt=i(16972),Yt=i(49368),Gt=i(80774),Wt=i(57274),Jt={name:"LoginButton",components:{ArrowRight:i(39429).default,NcButton:Wt.Z},props:{value:{type:String,default:t("core","Log in")},valueLoading:{type:String,default:t("core","Logging in …")},loading:{type:Boolean,required:!0},invertedColors:{type:Boolean,default:!1}}},Xt=i(93379),Qt=i.n(Xt),te=i(7795),ee=i.n(te),ne=i(90569),re=i.n(ne),ie=i(3565),oe=i.n(ie),se=i(19216),ae=i.n(se),ue=i(44589),ce=i.n(ue),le=i(76515),fe={};fe.styleTagTransform=ce(),fe.setAttributes=oe(),fe.insert=re().bind(null,"head"),fe.domAPI=ee(),fe.insertStyleElement=ae(),Qt()(le.Z,fe),le.Z&&le.Z.locals&&le.Z.locals;var de=i(51900),he=(0,de.Z)(Jt,(function(){var t=this,e=t._self._c;return e("NcButton",{attrs:{type:"primary","native-type":"submit",wide:!0},on:{click:function(e){return t.$emit("click")}},scopedSlots:t._u([{key:"icon",fn:function(){return[t.loading?e("div",{staticClass:"submit-wrapper__icon icon-loading-small-dark"}):e("ArrowRight",{staticClass:"submit-wrapper__icon"})]},proxy:!0}])},[t._v("\n\t"+t._s(t.loading?t.valueLoading:t.value)+"\n\t")])}),[],!1,null,"3fa8511b",null).exports,pe={name:"LoginForm",components:{LoginButton:he,NcPasswordField:Kt.Z,NcTextField:Yt.Z,NcNoteCard:Gt.Z},props:{username:{type:String,default:""},redirectUrl:{type:[String,Boolean],default:!1},errors:{type:Array,default:function(){return[]}},messages:{type:Array,default:function(){return[]}},throttleDelay:{type:Number,default:0},autoCompleteAllowed:{type:Boolean,default:!0},directLogin:{type:Boolean,default:!1}},data:function(){var e;return{loading:!1,timezone:null===(e=new Intl.DateTimeFormat)||void 0===e||null===(e=e.resolvedOptions())||void 0===e?void 0:e.timeZone,timezoneOffset:-(new Date).getTimezoneOffset()/60,headline:t("core","Log in to {productName}",{productName:OC.theme.name}),user:"",password:""}},computed:{isError:function(){return this.invalidPassword||this.userDisabled||this.throttleDelay>5e3},errorLabel:function(){return this.invalidPassword?t("core","Wrong username or password."):this.userDisabled?t("core","User disabled"):this.throttleDelay>5e3?t("core","We have detected multiple invalid login attempts from your IP. Therefore your next login is throttled up to 30 seconds."):void 0},apacheAuthFailed:function(){return-1!==this.errors.indexOf("apacheAuthFailed")},internalException:function(){return-1!==this.errors.indexOf("internalexception")},invalidPassword:function(){return-1!==this.errors.indexOf("invalidpassword")},userDisabled:function(){return-1!==this.errors.indexOf("userdisabled")},loadingIcon:function(){return(0,g.imagePath)("core","loading-dark.gif")},loginActionUrl:function(){return(0,g.generateUrl)("login")}},mounted:function(){""===this.username?this.$refs.user.$refs.inputField.$refs.input.focus():(this.user=this.username,this.$refs.password.$refs.inputField.$refs.input.focus())},methods:{updateUsername:function(){this.$emit("update:username",this.user)},submit:function(){this.loading=!0,this.$emit("submit")}}},me=i(62977),ge={};ge.styleTagTransform=ce(),ge.setAttributes=oe(),ge.insert=re().bind(null,"head"),ge.domAPI=ee(),ge.insertStyleElement=ae(),Qt()(me.Z,ge),me.Z&&me.Z.locals&&me.Z.locals;var ve=(0,de.Z)(pe,(function(){var t=this,e=t._self._c;return e("form",{ref:"loginForm",staticClass:"login-form",attrs:{method:"post",name:"login",action:t.loginActionUrl},on:{submit:t.submit}},[e("fieldset",{staticClass:"login-form__fieldset",attrs:{"data-login-form":""}},[t.apacheAuthFailed?e("NcNoteCard",{attrs:{title:t.t("core","Server side authentication failed!"),type:"warning"}},[t._v("\n\t\t\t"+t._s(t.t("core","Please contact your administrator."))+"\n\t\t")]):t._e(),t._v(" "),t.messages.length>0?e("NcNoteCard",t._l(t.messages,(function(n,r){return e("div",{key:r},[t._v("\n\t\t\t\t"+t._s(n)),e("br")])})),0):t._e(),t._v(" "),t.internalException?e("NcNoteCard",{class:t.t("core","An internal error occurred."),attrs:{type:"warning"}},[t._v("\n\t\t\t"+t._s(t.t("core","Please try again or contact your administrator."))+"\n\t\t")]):t._e(),t._v(" "),e("div",{staticClass:"hidden",attrs:{id:"message"}},[e("img",{staticClass:"float-spinner",attrs:{alt:"",src:t.loadingIcon}}),t._v(" "),e("span",{attrs:{id:"messageText"}}),t._v(" "),e("div",{staticStyle:{clear:"both"}})]),t._v(" "),e("h2",{staticClass:"login-form__headline",attrs:{"data-login-form-headline":""},domProps:{innerHTML:t._s(t.headline)}}),t._v(" "),e("NcTextField",{ref:"user",class:{shake:t.invalidPassword},attrs:{id:"user",label:t.t("core","Account name or email"),name:"user",value:t.user,autocapitalize:"none",spellchecking:!1,autocomplete:t.autoCompleteAllowed?"username":"off",required:"","data-login-form-input-user":""},on:{"update:value":function(e){t.user=e},change:t.updateUsername}}),t._v(" "),e("NcPasswordField",{ref:"password",class:{shake:t.invalidPassword},attrs:{id:"password",name:"password",value:t.password,spellchecking:!1,autocapitalize:"none",autocomplete:t.autoCompleteAllowed?"current-password":"off",label:t.t("core","Password"),"helper-text":t.errorLabel,error:t.isError,"data-login-form-input-password":"",required:""},on:{"update:value":function(e){t.password=e}}}),t._v(" "),e("LoginButton",{attrs:{"data-login-form-submit":"",loading:t.loading}}),t._v(" "),t.redirectUrl?e("input",{attrs:{type:"hidden",name:"redirect_url"},domProps:{value:t.redirectUrl}}):t._e(),t._v(" "),e("input",{attrs:{type:"hidden",name:"timezone"},domProps:{value:t.timezone}}),t._v(" "),e("input",{attrs:{type:"hidden",name:"timezone_offset"},domProps:{value:t.timezoneOffset}}),t._v(" "),e("input",{attrs:{type:"hidden",name:"requesttoken"},domProps:{value:t.OC.requestToken}}),t._v(" "),t.directLogin?e("input",{attrs:{type:"hidden",name:"direct",value:"1"}}):t._e()],1)])}),[],!1,null,"0fbfcc31",null).exports,ye=i(93664),be=i(37838),we={name:"LockOpenIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},xe=(0,de.Z)(we,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon lock-open-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V10A2,2 0 0,1 6,8H15V6A3,3 0 0,0 12,3A3,3 0 0,0 9,6H7A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,17A2,2 0 0,0 14,15A2,2 0 0,0 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,_e=i(25108);function Ae(t){return Ae="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ae(t)}function Ce(t){return function(t){if(Array.isArray(t))return Ee(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return Ee(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ee(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ee(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function je(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Ne(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?je(Object(n),!0).forEach((function(e){ke(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):je(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function ke(t,e,n){return(e=Pe(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Pe(t){var e=function(t,e){if("object"!==Ae(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Ae(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===Ae(e)?e:String(e)}function Oe(t){var e="function"==typeof Map?new Map:void 0;return Oe=function(t){if(null===t||(n=t,-1===Function.toString.call(n).indexOf("[native code]")))return t;var n;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,r)}function r(){return Se(t,arguments,Ie(this).constructor)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),Le(r,t)},Oe(t)}function Se(t,e,n){return Se=Te()?Reflect.construct.bind():function(t,e,n){var r=[null];r.push.apply(r,e);var i=new(Function.bind.apply(t,r));return n&&Le(i,n.prototype),i},Se.apply(null,arguments)}function Te(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}function Le(t,e){return Le=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Le(t,e)}function Ie(t){return Ie=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Ie(t)}var Re=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Le(t,e)}(o,t);var e,n,r,i=(n=o,r=Te(),function(){var t,e=Ie(n);if(r){var i=Ie(this).constructor;t=Reflect.construct(e,arguments,i)}else t=e.apply(this,arguments);return function(t,e){if(e&&("object"===Ae(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(this,t)});function o(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,o),i.apply(this,arguments)}return e=o,Object.defineProperty(e,"prototype",{writable:!1}),e}(Oe(Error)),Fe={name:"PasswordLessLoginForm",components:{LoginButton:he,InformationIcon:be.Z,LockOpenIcon:xe,NcTextField:Yt.Z},props:{username:{type:String,default:""},redirectUrl:{type:[String,Boolean],default:!1},autoCompleteAllowed:{type:Boolean,default:!0},isHttps:{type:Boolean,default:!1},isLocalhost:{type:Boolean,default:!1},hasPublicKeyCredential:{type:Boolean,default:!1}},data:function(){return{user:this.username,loading:!1,validCredentials:!0}},methods:{authenticate:function(){var t=this;this.$refs.loginForm.checkValidity()&&(_e.debug("passwordless login initiated"),this.getAuthenticationData(this.user).then((function(t){return _e.debug(t),t})).then(this.sign).then(this.completeAuthentication).catch((function(e){e instanceof Re?t.validCredentials=!1:_e.debug(e)})))},changeUsername:function(t){this.user=t,this.$emit("update:username",this.user)},getAuthenticationData:function(t){var e,n,r=function(t){var e=(t=t.replace(/-/g,"+").replace(/_/g,"/")).length%4;if(e){if(1===e)throw new Error("InvalidLengthError: Input base64url string is the wrong length to determine padding");t+=new Array(5-e).join("=")}return window.atob(t)};return(e=t,n=(0,g.generateUrl)("/login/webauthn/start"),ye.Z.post(n,{loginName:e}).then((function(t){return t.data}))).then((function(t){if(_e.debug("Obtained PublicKeyCredentialRequestOptions"),_e.debug(t),!Object.prototype.hasOwnProperty.call(t,"allowCredentials"))throw _e.debug("No credentials found."),new Re;return t.challenge=Uint8Array.from(r(t.challenge),(function(t){return t.charCodeAt(0)})),t.allowCredentials=t.allowCredentials.map((function(t){return Ne(Ne({},t),{},{id:Uint8Array.from(r(t.id),(function(t){return t.charCodeAt(0)}))})})),_e.debug("Converted PublicKeyCredentialRequestOptions"),_e.debug(t),t})).catch((function(t){throw _e.debug("Error while obtaining data"),t}))},sign:function(t){var e=function(t){return window.btoa(String.fromCharCode.apply(String,Ce(t)))};return navigator.credentials.get({publicKey:t}).then((function(t){return _e.debug(t),_e.debug(new Uint8Array(t.rawId)),_e.debug(e(new Uint8Array(t.rawId))),{id:t.id,type:t.type,rawId:e(new Uint8Array(t.rawId)),response:{authenticatorData:e(new Uint8Array(t.response.authenticatorData)),clientDataJSON:e(new Uint8Array(t.response.clientDataJSON)),signature:e(new Uint8Array(t.response.signature)),userHandle:t.response.userHandle?(n=new Uint8Array(t.response.userHandle),String.fromCharCode.apply(String,Ce(n))):null}};var n})).then((function(t){return _e.debug(t),t})).catch((function(t){_e.debug("GOT AN ERROR!"),_e.debug(t)}))},completeAuthentication:function(t){_e.debug("TIME TO COMPLETE");var e,n,r=this.redirectUrl;return(e=JSON.stringify(t),n=(0,g.generateUrl)("/login/webauthn/finish"),ye.Z.post(n,{data:e}).then((function(t){return t.data}))).then((function(t){var e=t.defaultRedirectUrl;_e.debug("Logged in redirecting"),window.location.href=r||e})).catch((function(t){_e.debug("GOT AN ERROR WHILE SUBMITTING CHALLENGE!"),_e.debug(t)}))},submit:function(){}}},Be=i(36188),Ue={};Ue.styleTagTransform=ce(),Ue.setAttributes=oe(),Ue.insert=re().bind(null,"head"),Ue.domAPI=ee(),Ue.insertStyleElement=ae(),Qt()(Be.Z,Ue),Be.Z&&Be.Z.locals&&Be.Z.locals;var Me=(0,de.Z)(Fe,(function(){var t=this,e=t._self._c;return(t.isHttps||t.isLocalhost)&&t.hasPublicKeyCredential?e("form",{ref:"loginForm",attrs:{method:"post",name:"login"},on:{submit:function(e){return e.preventDefault(),t.submit.apply(null,arguments)}}},[e("h2",[t._v(t._s(t.t("core","Log in with a device")))]),t._v(" "),e("fieldset",[e("NcTextField",{attrs:{required:"",value:t.user,autocomplete:t.autoCompleteAllowed?"on":"off",error:!t.validCredentials,label:t.t("core","Username or email"),placeholder:t.t("core","Username or email"),"helper-text":t.validCredentials?"":t.t("core","Your account is not setup for passwordless login.")},on:{"update:value":t.changeUsername}}),t._v(" "),t.validCredentials?e("LoginButton",{attrs:{loading:t.loading},on:{click:t.authenticate}}):t._e()],1)]):t.hasPublicKeyCredential?t.isHttps||t.isLocalhost?t._e():e("div",{staticClass:"update"},[e("LockOpenIcon",{attrs:{size:"70"}}),t._v(" "),e("h2",[t._v(t._s(t.t("core","Your connection is not secure")))]),t._v(" "),e("p",{staticClass:"infogroup"},[t._v("\n\t\t"+t._s(t.t("core","Passwordless authentication is only available over a secure connection."))+"\n\t")])],1):e("div",{staticClass:"update"},[e("InformationIcon",{attrs:{size:"70"}}),t._v(" "),e("h2",[t._v(t._s(t.t("core","Browser not supported")))]),t._v(" "),e("p",{staticClass:"infogroup"},[t._v("\n\t\t"+t._s(t.t("core","Passwordless authentication is not supported in your browser."))+"\n\t")])],1)}),[],!1,null,"3ea2fa78",null),De=Me.exports,$e=i(25108),ze={name:"ResetPassword",components:{LoginButton:he,NcNoteCard:Gt.Z,NcTextField:Yt.Z},props:{username:{type:String,required:!0},resetPasswordLink:{type:String,required:!0}},data:function(){return{error:!1,loading:!1,message:void 0,user:this.username}},watch:{username:function(t){this.user=t}},methods:{updateUsername:function(){this.$emit("update:username",this.user)},submit:function(){var t=this;this.loading=!0,this.error=!1,this.message="";var e=(0,g.generateUrl)("/lostpassword/email"),n={user:this.user};return ye.Z.post(e,n).then((function(t){return t.data})).then((function(e){if("success"!==e.status)throw new Error("got status ".concat(e.status));t.message="send-success"})).catch((function(e){$e.error("could not send reset email request",e),t.error=!0,t.message="send-error"})).then((function(){t.loading=!1}))}}},qe=i(25425),He={};He.styleTagTransform=ce(),He.setAttributes=oe(),He.insert=re().bind(null,"head"),He.domAPI=ee(),He.insertStyleElement=ae(),Qt()(qe.Z,He),qe.Z&&qe.Z.locals&&qe.Z.locals;var Ve=(0,de.Z)(ze,(function(){var t=this,e=t._self._c;return e("form",{staticClass:"login-form",on:{submit:function(e){return e.preventDefault(),t.submit.apply(null,arguments)}}},[e("fieldset",{staticClass:"login-form__fieldset"},[e("NcTextField",{attrs:{id:"user",value:t.user,name:"user",autocapitalize:"off",label:t.t("core","Account name or email"),required:""},on:{"update:value":function(e){t.user=e},change:t.updateUsername}}),t._v(" "),e("LoginButton",{attrs:{value:t.t("core","Reset password")}}),t._v(" "),"send-success"===t.message?e("NcNoteCard",{attrs:{type:"success"}},[t._v("\n\t\t\t"+t._s(t.t("core","If this account exists, a password reset message has been sent to its email address. If you do not receive it, verify your email address and/or account name, check your spam/junk folders or ask your local administration for help."))+"\n\t\t")]):"send-error"===t.message?e("NcNoteCard",{attrs:{type:"error"}},[t._v("\n\t\t\t"+t._s(t.t("core","Couldn't send reset email. Please contact your administrator."))+"\n\t\t")]):"reset-error"===t.message?e("NcNoteCard",{attrs:{type:"error"}},[t._v("\n\t\t\t"+t._s(t.t("core","Password cannot be changed. Please contact your administrator."))+"\n\t\t")]):t._e(),t._v(" "),e("a",{staticClass:"login-form__link",attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),t.$emit("abort")}}},[t._v("\n\t\t\t"+t._s(t.t("core","Back to login"))+"\n\t\t")])],1)])}),[],!1,null,"179b3658",null),Ze=Ve.exports;function Ke(t){return Ke="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ke(t)}function Ye(){Ye=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",a=i.toStringTag||"@@toStringTag";function u(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,n){return t[e]=n}}function c(t,e,n,i){var o=e&&e.prototype instanceof d?e:d,s=Object.create(o.prototype),a=new E(i||[]);return r(s,"_invoke",{value:x(t,n,a)}),s}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var f={};function d(){}function h(){}function p(){}var m={};u(m,o,(function(){return this}));var g=Object.getPrototypeOf,v=g&&g(g(j([])));v&&v!==e&&n.call(v,o)&&(m=v);var y=p.prototype=d.prototype=Object.create(m);function b(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function i(r,o,s,a){var u=l(t[r],t,o);if("throw"!==u.type){var c=u.arg,f=c.value;return f&&"object"==Ke(f)&&n.call(f,"__await")?e.resolve(f.__await).then((function(t){i("next",t,s,a)}),(function(t){i("throw",t,s,a)})):e.resolve(f).then((function(t){c.value=t,s(c)}),(function(t){return i("throw",t,s,a)}))}a(u.arg)}var o;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){i(t,n,e,r)}))}return o=o?o.then(r,r):r()}})}function x(t,e,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return{value:void 0,done:!0}}for(n.method=i,n.arg=o;;){var s=n.delegate;if(s){var a=_(s,n);if(a){if(a===f)continue;return a}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var u=l(t,e,n);if("normal"===u.type){if(r=n.done?"completed":"suspendedYield",u.arg===f)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r="completed",n.method="throw",n.arg=u.arg)}}}function _(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,_(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),f;var i=l(r,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,f;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function A(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function C(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(A,this),this.reset(!0)}function j(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:N}}function N(){return{value:void 0,done:!0}}return h.prototype=p,r(y,"constructor",{value:p,configurable:!0}),r(p,"constructor",{value:h,configurable:!0}),h.displayName=u(p,a,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===h||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,p):(t.__proto__=p,u(t,a,"GeneratorFunction")),t.prototype=Object.create(y),t},t.awrap=function(t){return{__await:t}},b(w.prototype),u(w.prototype,s,(function(){return this})),t.AsyncIterator=w,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var s=new w(c(e,n,r,i),o);return t.isGeneratorFunction(n)?s:s.next().then((function(t){return t.done?t.value:s.next()}))},b(y),u(y,a,"Generator"),u(y,o,(function(){return this})),u(y,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=j,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(C),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return s.type="throw",s.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],s=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var a=n.call(o,"catchLoc"),u=n.call(o,"finallyLoc");if(a&&u){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(a){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var s=o?o.completion:{};return s.type=t,s.arg=e,o?(this.method="next",this.next=o.finallyLoc,f):this.complete(s)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),f},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),C(n),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;C(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:j(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),f}},t}function Ge(t,e,n,r,i,o,s){try{var a=t[o](s),u=a.value}catch(t){return void n(t)}a.done?e(u):Promise.resolve(u).then(r,i)}var We={name:"UpdatePassword",components:{LoginButton:he},props:{username:{type:String,required:!0},resetPasswordTarget:{type:String,required:!0}},data:function(){return{error:!1,loading:!1,message:void 0,user:this.username,password:"",encrypted:!1,proceed:!1}},watch:{username:function(t){this.user=t}},methods:{submit:function(){var e,n=this;return(e=Ye().mark((function e(){var r,i;return Ye().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.loading=!0,n.error=!1,n.message="",e.prev=3,e.next=6,ye.Z.post(n.resetPasswordTarget,{password:n.password,proceed:n.proceed});case 6:if(r=e.sent,!(i=r.data)||"success"!==i.status){e.next=14;break}n.message="send-success",n.$emit("update:username",n.user),n.$emit("done"),e.next=23;break;case 14:if(!i||!i.encryption){e.next=18;break}n.encrypted=!0,e.next=23;break;case 18:if(!i||!i.msg){e.next=22;break}throw new Error(i.msg);case 22:throw new Error;case 23:e.next=29;break;case 25:e.prev=25,e.t0=e.catch(3),n.error=!0,n.message=e.t0.message?e.t0.message:t("core","Password cannot be changed. Please contact your administrator.");case 29:return e.prev=29,n.loading=!1,e.finish(29);case 32:case"end":return e.stop()}}),e,null,[[3,25,29,32]])})),function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function s(t){Ge(o,r,i,s,a,"next",t)}function a(t){Ge(o,r,i,s,a,"throw",t)}s(void 0)}))})()}}},Je=We,Xe=i(63101),Qe={};Qe.styleTagTransform=ce(),Qe.setAttributes=oe(),Qe.insert=re().bind(null,"head"),Qe.domAPI=ee(),Qe.insertStyleElement=ae(),Qt()(Xe.Z,Qe),Xe.Z&&Xe.Z.locals&&Xe.Z.locals;var tn=(0,de.Z)(Je,(function(){var t=this,e=t._self._c;return e("form",{on:{submit:function(e){return e.preventDefault(),t.submit.apply(null,arguments)}}},[e("fieldset",[e("p",[e("label",{staticClass:"infield",attrs:{for:"password"}},[t._v(t._s(t.t("core","New password")))]),t._v(" "),e("input",{directives:[{name:"model",rawName:"v-model",value:t.password,expression:"password"}],attrs:{id:"password",type:"password",name:"password",autocomplete:"new-password",autocapitalize:"none",spellcheck:"false",required:"",placeholder:t.t("core","New password")},domProps:{value:t.password},on:{input:function(e){e.target.composing||(t.password=e.target.value)}}})]),t._v(" "),t.encrypted?e("div",{staticClass:"update"},[e("p",[t._v("\n\t\t\t\t"+t._s(t.t("core","Your files are encrypted. There will be no way to get your data back after your password is reset. If you are not sure what to do, please contact your administrator before you continue. Do you really want to continue?"))+"\n\t\t\t")]),t._v(" "),e("input",{directives:[{name:"model",rawName:"v-model",value:t.proceed,expression:"proceed"}],staticClass:"checkbox",attrs:{id:"encrypted-continue",type:"checkbox"},domProps:{checked:Array.isArray(t.proceed)?t._i(t.proceed,null)>-1:t.proceed},on:{change:function(e){var n=t.proceed,r=e.target,i=!!r.checked;if(Array.isArray(n)){var o=t._i(n,null);r.checked?o<0&&(t.proceed=n.concat([null])):o>-1&&(t.proceed=n.slice(0,o).concat(n.slice(o+1)))}else t.proceed=i}}}),t._v(" "),e("label",{attrs:{for:"encrypted-continue"}},[t._v("\n\t\t\t\t"+t._s(t.t("core","I know what I'm doing"))+"\n\t\t\t")])]):t._e(),t._v(" "),e("LoginButton",{attrs:{loading:t.loading,value:t.t("core","Reset password"),"value-loading":t.t("core","Resetting password")}}),t._v(" "),t.error&&t.message?e("p",{class:{warning:t.error}},[t._v("\n\t\t\t"+t._s(t.message)+"\n\t\t")]):t._e()],1)])}),[],!1,null,"b9d4933a",null),en=tn.exports,nn=i(25108),rn=Zt.parse(location.search);if("1"===rn.clear)try{window.localStorage.clear(),window.sessionStorage.clear(),nn.debug("Browser storage cleared")}catch(t){nn.error("Could not clear browser storage",t)}var on={name:"Login",components:{LoginForm:ve,PasswordLessLoginForm:De,ResetPassword:Ze,UpdatePassword:en,NcButton:Wt.Z,NcNoteCard:Gt.Z},data:function(){return{loading:!1,user:(0,_t.j)("core","loginUsername",""),passwordlessLogin:!1,resetPassword:!1,errors:(0,_t.j)("core","loginErrors",[]),messages:(0,_t.j)("core","loginMessages",[]),redirectUrl:(0,_t.j)("core","loginRedirectUrl",!1),throttleDelay:(0,_t.j)("core","loginThrottleDelay",0),canResetPassword:(0,_t.j)("core","loginCanResetPassword",!1),resetPasswordLink:(0,_t.j)("core","loginResetPasswordLink",""),autoCompleteAllowed:(0,_t.j)("core","loginAutocomplete",!0),resetPasswordTarget:(0,_t.j)("core","resetPasswordTarget",""),resetPasswordUser:(0,_t.j)("core","resetPasswordUser",""),directLogin:"1"===rn.direct,hasPasswordless:(0,_t.j)("core","webauthn-available",!1),countAlternativeLogins:(0,_t.j)("core","countAlternativeLogins",!1),alternativeLogins:(0,_t.j)("core","alternativeLogins",[]),isHttps:"https:"===window.location.protocol,isLocalhost:"localhost"===window.location.hostname,hasPublicKeyCredential:void 0!==window.PublicKeyCredential,hideLoginForm:(0,_t.j)("core","hideLoginForm",!1)}},methods:{passwordResetFinished:function(){this.resetPasswordTarget="",this.directLogin=!0}}},sn=i(59385),an={};an.styleTagTransform=ce(),an.setAttributes=oe(),an.insert=re().bind(null,"head"),an.domAPI=ee(),an.insertStyleElement=ae(),Qt()(sn.Z,an),sn.Z&&sn.Z.locals&&sn.Z.locals;var un=(0,de.Z)(on,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"guest-box login-box"},[!t.hideLoginForm||t.directLogin?[e("transition",{attrs:{name:"fade",mode:"out-in"}},[t.passwordlessLogin||t.resetPassword||""!==t.resetPasswordTarget?!t.loading&&t.passwordlessLogin?e("div",{key:"reset",staticClass:"login-additional login-passwordless"},[e("PasswordLessLoginForm",{attrs:{username:t.user,"redirect-url":t.redirectUrl,"auto-complete-allowed":t.autoCompleteAllowed,"is-https":t.isHttps,"is-localhost":t.isLocalhost,"has-public-key-credential":t.hasPublicKeyCredential},on:{"update:username":function(e){t.user=e},submit:function(e){t.loading=!0}}}),t._v(" "),e("NcButton",{attrs:{type:"tertiary","aria-label":t.t("core","Back to login form"),wide:!0},on:{click:function(e){t.passwordlessLogin=!1}}},[t._v("\n\t\t\t\t\t"+t._s(t.t("core","Back"))+"\n\t\t\t\t")])],1):!t.loading&&t.canResetPassword?e("div",{key:"reset",staticClass:"login-additional"},[e("div",{staticClass:"lost-password-container"},[t.resetPassword?e("ResetPassword",{attrs:{username:t.user,"reset-password-link":t.resetPasswordLink},on:{"update:username":function(e){t.user=e},abort:function(e){t.resetPassword=!1}}}):t._e()],1)]):""!==t.resetPasswordTarget?e("div",[e("UpdatePassword",{attrs:{username:t.user,"reset-password-target":t.resetPasswordTarget},on:{"update:username":function(e){t.user=e},done:t.passwordResetFinished}})],1):t._e():e("div",[e("LoginForm",{attrs:{username:t.user,"redirect-url":t.redirectUrl,"direct-login":t.directLogin,messages:t.messages,errors:t.errors,"throttle-delay":t.throttleDelay,"auto-complete-allowed":t.autoCompleteAllowed},on:{"update:username":function(e){t.user=e},submit:function(e){t.loading=!0}}}),t._v(" "),t.canResetPassword&&""!==t.resetPasswordLink?e("a",{staticClass:"login-box__link",attrs:{id:"lost-password",href:t.resetPasswordLink}},[t._v("\n\t\t\t\t\t"+t._s(t.t("core","Forgot password?"))+"\n\t\t\t\t")]):t.canResetPassword&&!t.resetPassword?e("a",{staticClass:"login-box__link",attrs:{id:"lost-password",href:t.resetPasswordLink},on:{click:function(e){e.preventDefault(),t.resetPassword=!0}}},[t._v("\n\t\t\t\t\t"+t._s(t.t("core","Forgot password?"))+"\n\t\t\t\t")]):t._e(),t._v(" "),t.hasPasswordless?[t.countAlternativeLogins?e("div",{staticClass:"alternative-logins"},[t.hasPasswordless?e("a",{staticClass:"button",class:{"single-alt-login-option":t.countAlternativeLogins},attrs:{href:"#"},on:{click:function(e){e.preventDefault(),t.passwordlessLogin=!0}}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.t("core","Log in with a device"))+"\n\t\t\t\t\t\t")]):t._e()]):e("a",{attrs:{href:"#"},on:{click:function(e){e.preventDefault(),t.passwordlessLogin=!0}}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("core","Log in with a device"))+"\n\t\t\t\t\t")])]:t._e()],2)])]:[e("transition",{attrs:{name:"fade",mode:"out-in"}},[e("NcNoteCard",{attrs:{type:"warning",title:t.t("core","Login form is disabled.")}},[t._v("\n\t\t\t\t"+t._s(t.t("core","Please contact your administrator."))+"\n\t\t\t")])],1)],t._v(" "),e("div",{staticClass:"alternative-logins",attrs:{id:"alternative-logins"}},t._l(t.alternativeLogins,(function(n,r){return e("NcButton",{key:r,class:[n.class],attrs:{type:"secondary",wide:!0,role:"link",href:n.href}},[t._v("\n\t\t\t"+t._s(n.name)+"\n\t\t")])})),1)],2)}),[],!1,null,null,null).exports,cn={data:function(){return{OC:xt}},methods:{t:rt.translate.bind(rt),n:rt.translatePlural.bind(rt)}};s.default.mixin(cn),(new(s.default.extend(un))).$mount("#login")},72316:function(t,e,n){var r,i,o;o="object"==typeof self&&self.self===self&&self||"object"==typeof n.g&&n.g.global===n.g&&n.g,r=[n(59050),n(19755),e],i=function(t,e,n){o.Backbone=function(t,e,n,r){var i=t.Backbone,o=Array.prototype.slice;e.VERSION="1.5.0",e.$=r,e.noConflict=function(){return t.Backbone=i,this},e.emulateHTTP=!1,e.emulateJSON=!1;var s,a=e.Events={},u=/\s+/,c=function(t,e,r,i,o){var s,a=0;if(r&&"object"==typeof r){void 0!==i&&"context"in o&&void 0===o.context&&(o.context=i);for(s=n.keys(r);a<s.length;a++)e=c(t,e,s[a],r[s[a]],o)}else if(r&&u.test(r))for(s=r.split(u);a<s.length;a++)e=t(e,s[a],i,o);else e=t(e,r,i,o);return e};a.on=function(t,e,n){return this._events=c(l,this._events||{},t,e,{context:n,ctx:this,listening:s}),s&&((this._listeners||(this._listeners={}))[s.id]=s,s.interop=!1),this},a.listenTo=function(t,e,r){if(!t)return this;var i=t._listenId||(t._listenId=n.uniqueId("l")),o=this._listeningTo||(this._listeningTo={}),a=s=o[i];a||(this._listenId||(this._listenId=n.uniqueId("l")),a=s=o[i]=new g(this,t));var u=f(t,e,r,this);if(s=void 0,u)throw u;return a.interop&&a.on(e,r),this};var l=function(t,e,n,r){if(n){var i=t[e]||(t[e]=[]),o=r.context,s=r.ctx,a=r.listening;a&&a.count++,i.push({callback:n,context:o,ctx:o||s,listening:a})}return t},f=function(t,e,n,r){try{t.on(e,n,r)}catch(t){return t}};a.off=function(t,e,n){return this._events?(this._events=c(d,this._events,t,e,{context:n,listeners:this._listeners}),this):this},a.stopListening=function(t,e,r){var i=this._listeningTo;if(!i)return this;for(var o=t?[t._listenId]:n.keys(i),s=0;s<o.length;s++){var a=i[o[s]];if(!a)break;a.obj.off(e,r,this),a.interop&&a.off(e,r)}return n.isEmpty(i)&&(this._listeningTo=void 0),this};var d=function(t,e,r,i){if(t){var o,s=i.context,a=i.listeners,u=0;if(e||s||r){for(o=e?[e]:n.keys(t);u<o.length;u++){var c=t[e=o[u]];if(!c)break;for(var l=[],f=0;f<c.length;f++){var d=c[f];if(r&&r!==d.callback&&r!==d.callback._callback||s&&s!==d.context)l.push(d);else{var h=d.listening;h&&h.off(e,r)}}l.length?t[e]=l:delete t[e]}return t}for(o=n.keys(a);u<o.length;u++)a[o[u]].cleanup()}};a.once=function(t,e,n){var r=c(h,{},t,e,this.off.bind(this));return"string"==typeof t&&null==n&&(e=void 0),this.on(r,e,n)},a.listenToOnce=function(t,e,n){var r=c(h,{},e,n,this.stopListening.bind(this,t));return this.listenTo(t,r)};var h=function(t,e,r,i){if(r){var o=t[e]=n.once((function(){i(e,o),r.apply(this,arguments)}));o._callback=r}return t};a.trigger=function(t){if(!this._events)return this;for(var e=Math.max(0,arguments.length-1),n=Array(e),r=0;r<e;r++)n[r]=arguments[r+1];return c(p,this._events,t,void 0,n),this};var p=function(t,e,n,r){if(t){var i=t[e],o=t.all;i&&o&&(o=o.slice()),i&&m(i,r),o&&m(o,[e].concat(r))}return t},m=function(t,e){var n,r=-1,i=t.length,o=e[0],s=e[1],a=e[2];switch(e.length){case 0:for(;++r<i;)(n=t[r]).callback.call(n.ctx);return;case 1:for(;++r<i;)(n=t[r]).callback.call(n.ctx,o);return;case 2:for(;++r<i;)(n=t[r]).callback.call(n.ctx,o,s);return;case 3:for(;++r<i;)(n=t[r]).callback.call(n.ctx,o,s,a);return;default:for(;++r<i;)(n=t[r]).callback.apply(n.ctx,e);return}},g=function(t,e){this.id=t._listenId,this.listener=t,this.obj=e,this.interop=!0,this.count=0,this._events=void 0};g.prototype.on=a.on,g.prototype.off=function(t,e){var n;this.interop?(this._events=c(d,this._events,t,e,{context:void 0,listeners:void 0}),n=!this._events):(this.count--,n=0===this.count),n&&this.cleanup()},g.prototype.cleanup=function(){delete this.listener._listeningTo[this.obj._listenId],this.interop||delete this.obj._listeners[this.id]},a.bind=a.on,a.unbind=a.off,n.extend(e,a);var v=e.Model=function(t,e){var r=t||{};e||(e={}),this.preinitialize.apply(this,arguments),this.cid=n.uniqueId(this.cidPrefix),this.attributes={},e.collection&&(this.collection=e.collection),e.parse&&(r=this.parse(r,e)||{});var i=n.result(this,"defaults");r=n.defaults(n.extend({},i,r),i),this.set(r,e),this.changed={},this.initialize.apply(this,arguments)};n.extend(v.prototype,a,{changed:null,validationError:null,idAttribute:"id",cidPrefix:"c",preinitialize:function(){},initialize:function(){},toJSON:function(t){return n.clone(this.attributes)},sync:function(){return e.sync.apply(this,arguments)},get:function(t){return this.attributes[t]},escape:function(t){return n.escape(this.get(t))},has:function(t){return null!=this.get(t)},matches:function(t){return!!n.iteratee(t,this)(this.attributes)},set:function(t,e,r){if(null==t)return this;var i;if("object"==typeof t?(i=t,r=e):(i={})[t]=e,r||(r={}),!this._validate(i,r))return!1;var o=r.unset,s=r.silent,a=[],u=this._changing;this._changing=!0,u||(this._previousAttributes=n.clone(this.attributes),this.changed={});var c=this.attributes,l=this.changed,f=this._previousAttributes;for(var d in i)e=i[d],n.isEqual(c[d],e)||a.push(d),n.isEqual(f[d],e)?delete l[d]:l[d]=e,o?delete c[d]:c[d]=e;if(this.idAttribute in i){var h=this.id;this.id=this.get(this.idAttribute),this.trigger("changeId",this,h,r)}if(!s){a.length&&(this._pending=r);for(var p=0;p<a.length;p++)this.trigger("change:"+a[p],this,c[a[p]],r)}if(u)return this;if(!s)for(;this._pending;)r=this._pending,this._pending=!1,this.trigger("change",this,r);return this._pending=!1,this._changing=!1,this},unset:function(t,e){return this.set(t,void 0,n.extend({},e,{unset:!0}))},clear:function(t){var e={};for(var r in this.attributes)e[r]=void 0;return this.set(e,n.extend({},t,{unset:!0}))},hasChanged:function(t){return null==t?!n.isEmpty(this.changed):n.has(this.changed,t)},changedAttributes:function(t){if(!t)return!!this.hasChanged()&&n.clone(this.changed);var e,r=this._changing?this._previousAttributes:this.attributes,i={};for(var o in t){var s=t[o];n.isEqual(r[o],s)||(i[o]=s,e=!0)}return!!e&&i},previous:function(t){return null!=t&&this._previousAttributes?this._previousAttributes[t]:null},previousAttributes:function(){return n.clone(this._previousAttributes)},fetch:function(t){t=n.extend({parse:!0},t);var e=this,r=t.success;return t.success=function(n){var i=t.parse?e.parse(n,t):n;if(!e.set(i,t))return!1;r&&r.call(t.context,e,n,t),e.trigger("sync",e,n,t)},H(this,t),this.sync("read",this,t)},save:function(t,e,r){var i;null==t||"object"==typeof t?(i=t,r=e):(i={})[t]=e;var o=(r=n.extend({validate:!0,parse:!0},r)).wait;if(i&&!o){if(!this.set(i,r))return!1}else if(!this._validate(i,r))return!1;var s=this,a=r.success,u=this.attributes;r.success=function(t){s.attributes=u;var e=r.parse?s.parse(t,r):t;if(o&&(e=n.extend({},i,e)),e&&!s.set(e,r))return!1;a&&a.call(r.context,s,t,r),s.trigger("sync",s,t,r)},H(this,r),i&&o&&(this.attributes=n.extend({},u,i));var c=this.isNew()?"create":r.patch?"patch":"update";"patch"!==c||r.attrs||(r.attrs=i);var l=this.sync(c,this,r);return this.attributes=u,l},destroy:function(t){t=t?n.clone(t):{};var e=this,r=t.success,i=t.wait,o=function(){e.stopListening(),e.trigger("destroy",e,e.collection,t)};t.success=function(n){i&&o(),r&&r.call(t.context,e,n,t),e.isNew()||e.trigger("sync",e,n,t)};var s=!1;return this.isNew()?n.defer(t.success):(H(this,t),s=this.sync("delete",this,t)),i||o(),s},url:function(){var t=n.result(this,"urlRoot")||n.result(this.collection,"url")||q();if(this.isNew())return t;var e=this.get(this.idAttribute);return t.replace(/[^\/]$/,"$&/")+encodeURIComponent(e)},parse:function(t,e){return t},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(t){return this._validate({},n.extend({},t,{validate:!0}))},_validate:function(t,e){if(!e.validate||!this.validate)return!0;t=n.extend({},this.attributes,t);var r=this.validationError=this.validate(t,e)||null;return!r||(this.trigger("invalid",this,r,n.extend(e,{validationError:r})),!1)}});var y=e.Collection=function(t,e){e||(e={}),this.preinitialize.apply(this,arguments),e.model&&(this.model=e.model),void 0!==e.comparator&&(this.comparator=e.comparator),this._reset(),this.initialize.apply(this,arguments),t&&this.reset(t,n.extend({silent:!0},e))},b={add:!0,remove:!0,merge:!0},w={add:!0,remove:!1},x=function(t,e,n){n=Math.min(Math.max(n,0),t.length);var r,i=Array(t.length-n),o=e.length;for(r=0;r<i.length;r++)i[r]=t[r+n];for(r=0;r<o;r++)t[r+n]=e[r];for(r=0;r<i.length;r++)t[r+o+n]=i[r]};n.extend(y.prototype,a,{model:v,preinitialize:function(){},initialize:function(){},toJSON:function(t){return this.map((function(e){return e.toJSON(t)}))},sync:function(){return e.sync.apply(this,arguments)},add:function(t,e){return this.set(t,n.extend({merge:!1},e,w))},remove:function(t,e){e=n.extend({},e);var r=!n.isArray(t);t=r?[t]:t.slice();var i=this._removeModels(t,e);return!e.silent&&i.length&&(e.changes={added:[],merged:[],removed:i},this.trigger("update",this,e)),r?i[0]:i},set:function(t,e){if(null!=t){(e=n.extend({},b,e)).parse&&!this._isModel(t)&&(t=this.parse(t,e)||[]);var r=!n.isArray(t);t=r?[t]:t.slice();var i=e.at;null!=i&&(i=+i),i>this.length&&(i=this.length),i<0&&(i+=this.length+1);var o,s,a=[],u=[],c=[],l=[],f={},d=e.add,h=e.merge,p=e.remove,m=!1,g=this.comparator&&null==i&&!1!==e.sort,v=n.isString(this.comparator)?this.comparator:null;for(s=0;s<t.length;s++){o=t[s];var y=this.get(o);if(y){if(h&&o!==y){var w=this._isModel(o)?o.attributes:o;e.parse&&(w=y.parse(w,e)),y.set(w,e),c.push(y),g&&!m&&(m=y.hasChanged(v))}f[y.cid]||(f[y.cid]=!0,a.push(y)),t[s]=y}else d&&(o=t[s]=this._prepareModel(o,e))&&(u.push(o),this._addReference(o,e),f[o.cid]=!0,a.push(o))}if(p){for(s=0;s<this.length;s++)f[(o=this.models[s]).cid]||l.push(o);l.length&&this._removeModels(l,e)}var _=!1,A=!g&&d&&p;if(a.length&&A?(_=this.length!==a.length||n.some(this.models,(function(t,e){return t!==a[e]})),this.models.length=0,x(this.models,a,0),this.length=this.models.length):u.length&&(g&&(m=!0),x(this.models,u,null==i?this.length:i),this.length=this.models.length),m&&this.sort({silent:!0}),!e.silent){for(s=0;s<u.length;s++)null!=i&&(e.index=i+s),(o=u[s]).trigger("add",o,this,e);(m||_)&&this.trigger("sort",this,e),(u.length||l.length||c.length)&&(e.changes={added:u,removed:l,merged:c},this.trigger("update",this,e))}return r?t[0]:t}},reset:function(t,e){e=e?n.clone(e):{};for(var r=0;r<this.models.length;r++)this._removeReference(this.models[r],e);return e.previousModels=this.models,this._reset(),t=this.add(t,n.extend({silent:!0},e)),e.silent||this.trigger("reset",this,e),t},push:function(t,e){return this.add(t,n.extend({at:this.length},e))},pop:function(t){var e=this.at(this.length-1);return this.remove(e,t)},unshift:function(t,e){return this.add(t,n.extend({at:0},e))},shift:function(t){var e=this.at(0);return this.remove(e,t)},slice:function(){return o.apply(this.models,arguments)},get:function(t){if(null!=t)return this._byId[t]||this._byId[this.modelId(this._isModel(t)?t.attributes:t,t.idAttribute)]||t.cid&&this._byId[t.cid]},has:function(t){return null!=this.get(t)},at:function(t){return t<0&&(t+=this.length),this.models[t]},where:function(t,e){return this[e?"find":"filter"](t)},findWhere:function(t){return this.where(t,!0)},sort:function(t){var e=this.comparator;if(!e)throw new Error("Cannot sort a set without a comparator");t||(t={});var r=e.length;return n.isFunction(e)&&(e=e.bind(this)),1===r||n.isString(e)?this.models=this.sortBy(e):this.models.sort(e),t.silent||this.trigger("sort",this,t),this},pluck:function(t){return this.map(t+"")},fetch:function(t){var e=(t=n.extend({parse:!0},t)).success,r=this;return t.success=function(n){var i=t.reset?"reset":"set";r[i](n,t),e&&e.call(t.context,r,n,t),r.trigger("sync",r,n,t)},H(this,t),this.sync("read",this,t)},create:function(t,e){var r=(e=e?n.clone(e):{}).wait;if(!(t=this._prepareModel(t,e)))return!1;r||this.add(t,e);var i=this,o=e.success;return e.success=function(t,e,n){r&&(t.off("error",this._forwardPristineError,this),i.add(t,n)),o&&o.call(n.context,t,e,n)},r&&t.once("error",this._forwardPristineError,this),t.save(null,e),t},parse:function(t,e){return t},clone:function(){return new this.constructor(this.models,{model:this.model,comparator:this.comparator})},modelId:function(t,e){return t[e||this.model.prototype.idAttribute||"id"]},values:function(){return new A(this,C)},keys:function(){return new A(this,E)},entries:function(){return new A(this,j)},_reset:function(){this.length=0,this.models=[],this._byId={}},_prepareModel:function(t,e){return this._isModel(t)?(t.collection||(t.collection=this),t):((e=e?n.clone(e):{}).collection=this,(r=this.model.prototype?new this.model(t,e):this.model(t,e)).validationError?(this.trigger("invalid",this,r.validationError,e),!1):r);var r},_removeModels:function(t,e){for(var n=[],r=0;r<t.length;r++){var i=this.get(t[r]);if(i){var o=this.indexOf(i);this.models.splice(o,1),this.length--,delete this._byId[i.cid];var s=this.modelId(i.attributes,i.idAttribute);null!=s&&delete this._byId[s],e.silent||(e.index=o,i.trigger("remove",i,this,e)),n.push(i),this._removeReference(i,e)}}return t.length>0&&!e.silent&&delete e.index,n},_isModel:function(t){return t instanceof v},_addReference:function(t,e){this._byId[t.cid]=t;var n=this.modelId(t.attributes,t.idAttribute);null!=n&&(this._byId[n]=t),t.on("all",this._onModelEvent,this)},_removeReference:function(t,e){delete this._byId[t.cid];var n=this.modelId(t.attributes,t.idAttribute);null!=n&&delete this._byId[n],this===t.collection&&delete t.collection,t.off("all",this._onModelEvent,this)},_onModelEvent:function(t,e,n,r){if(e){if(("add"===t||"remove"===t)&&n!==this)return;if("destroy"===t&&this.remove(e,r),"changeId"===t){var i=this.modelId(e.previousAttributes(),e.idAttribute),o=this.modelId(e.attributes,e.idAttribute);null!=i&&delete this._byId[i],null!=o&&(this._byId[o]=e)}}this.trigger.apply(this,arguments)},_forwardPristineError:function(t,e,n){this.has(t)||this._onModelEvent("error",t,e,n)}});var _="function"==typeof Symbol&&Symbol.iterator;_&&(y.prototype[_]=y.prototype.values);var A=function(t,e){this._collection=t,this._kind=e,this._index=0},C=1,E=2,j=3;_&&(A.prototype[_]=function(){return this}),A.prototype.next=function(){if(this._collection){if(this._index<this._collection.length){var t,e=this._collection.at(this._index);if(this._index++,this._kind===C)t=e;else{var n=this._collection.modelId(e.attributes,e.idAttribute);t=this._kind===E?n:[n,e]}return{value:t,done:!1}}this._collection=void 0}return{value:void 0,done:!0}};var N=e.View=function(t){this.cid=n.uniqueId("view"),this.preinitialize.apply(this,arguments),n.extend(this,n.pick(t,P)),this._ensureElement(),this.initialize.apply(this,arguments)},k=/^(\S+)\s*(.*)$/,P=["model","collection","el","id","attributes","className","tagName","events"];n.extend(N.prototype,a,{tagName:"div",$:function(t){return this.$el.find(t)},preinitialize:function(){},initialize:function(){},render:function(){return this},remove:function(){return this._removeElement(),this.stopListening(),this},_removeElement:function(){this.$el.remove()},setElement:function(t){return this.undelegateEvents(),this._setElement(t),this.delegateEvents(),this},_setElement:function(t){this.$el=t instanceof e.$?t:e.$(t),this.el=this.$el[0]},delegateEvents:function(t){if(t||(t=n.result(this,"events")),!t)return this;for(var e in this.undelegateEvents(),t){var r=t[e];if(n.isFunction(r)||(r=this[r]),r){var i=e.match(k);this.delegate(i[1],i[2],r.bind(this))}}return this},delegate:function(t,e,n){return this.$el.on(t+".delegateEvents"+this.cid,e,n),this},undelegateEvents:function(){return this.$el&&this.$el.off(".delegateEvents"+this.cid),this},undelegate:function(t,e,n){return this.$el.off(t+".delegateEvents"+this.cid,e,n),this},_createElement:function(t){return document.createElement(t)},_ensureElement:function(){if(this.el)this.setElement(n.result(this,"el"));else{var t=n.extend({},n.result(this,"attributes"));this.id&&(t.id=n.result(this,"id")),this.className&&(t.class=n.result(this,"className")),this.setElement(this._createElement(n.result(this,"tagName"))),this._setAttributes(t)}},_setAttributes:function(t){this.$el.attr(t)}});var O=function(t,e,r,i){n.each(r,(function(n,r){e[r]&&(t.prototype[r]=function(t,e,n,r){switch(e){case 1:return function(){return t[n](this[r])};case 2:return function(e){return t[n](this[r],e)};case 3:return function(e,i){return t[n](this[r],S(e,this),i)};case 4:return function(e,i,o){return t[n](this[r],S(e,this),i,o)};default:return function(){var e=o.call(arguments);return e.unshift(this[r]),t[n].apply(t,e)}}}(e,n,r,i))}))},S=function(t,e){return n.isFunction(t)?t:n.isObject(t)&&!e._isModel(t)?T(t):n.isString(t)?function(e){return e.get(t)}:t},T=function(t){var e=n.matches(t);return function(t){return e(t.attributes)}};n.each([[y,{forEach:3,each:3,map:3,collect:3,reduce:0,foldl:0,inject:0,reduceRight:0,foldr:0,find:3,detect:3,filter:3,select:3,reject:3,every:3,all:3,some:3,any:3,include:3,includes:3,contains:3,invoke:0,max:3,min:3,toArray:1,size:1,first:3,head:3,take:3,initial:3,rest:3,tail:3,drop:3,last:3,without:0,difference:0,indexOf:3,shuffle:1,lastIndexOf:3,isEmpty:1,chain:1,sample:3,partition:3,groupBy:3,countBy:3,sortBy:3,indexBy:3,findIndex:3,findLastIndex:3},"models"],[v,{keys:1,values:1,pairs:1,invert:1,pick:0,omit:0,chain:1,isEmpty:1},"attributes"]],(function(t){var e=t[0],r=t[1],i=t[2];e.mixin=function(t){var r=n.reduce(n.functions(t),(function(t,e){return t[e]=0,t}),{});O(e,t,r,i)},O(e,n,r,i)})),e.sync=function(t,r,i){var o=L[t];n.defaults(i||(i={}),{emulateHTTP:e.emulateHTTP,emulateJSON:e.emulateJSON});var s={type:o,dataType:"json"};if(i.url||(s.url=n.result(r,"url")||q()),null!=i.data||!r||"create"!==t&&"update"!==t&&"patch"!==t||(s.contentType="application/json",s.data=JSON.stringify(i.attrs||r.toJSON(i))),i.emulateJSON&&(s.contentType="application/x-www-form-urlencoded",s.data=s.data?{model:s.data}:{}),i.emulateHTTP&&("PUT"===o||"DELETE"===o||"PATCH"===o)){s.type="POST",i.emulateJSON&&(s.data._method=o);var a=i.beforeSend;i.beforeSend=function(t){if(t.setRequestHeader("X-HTTP-Method-Override",o),a)return a.apply(this,arguments)}}"GET"===s.type||i.emulateJSON||(s.processData=!1);var u=i.error;i.error=function(t,e,n){i.textStatus=e,i.errorThrown=n,u&&u.call(i.context,t,e,n)};var c=i.xhr=e.ajax(n.extend(s,i));return r.trigger("request",r,c,i),c};var L={create:"POST",update:"PUT",patch:"PATCH",delete:"DELETE",read:"GET"};e.ajax=function(){return e.$.ajax.apply(e.$,arguments)};var I=e.Router=function(t){t||(t={}),this.preinitialize.apply(this,arguments),t.routes&&(this.routes=t.routes),this._bindRoutes(),this.initialize.apply(this,arguments)},R=/\((.*?)\)/g,F=/(\(\?)?:\w+/g,B=/\*\w+/g,U=/[\-{}\[\]+?.,\\\^$|#\s]/g;n.extend(I.prototype,a,{preinitialize:function(){},initialize:function(){},route:function(t,r,i){n.isRegExp(t)||(t=this._routeToRegExp(t)),n.isFunction(r)&&(i=r,r=""),i||(i=this[r]);var o=this;return e.history.route(t,(function(n){var s=o._extractParameters(t,n);!1!==o.execute(i,s,r)&&(o.trigger.apply(o,["route:"+r].concat(s)),o.trigger("route",r,s),e.history.trigger("route",o,r,s))})),this},execute:function(t,e,n){t&&t.apply(this,e)},navigate:function(t,n){return e.history.navigate(t,n),this},_bindRoutes:function(){if(this.routes){this.routes=n.result(this,"routes");for(var t,e=n.keys(this.routes);null!=(t=e.pop());)this.route(t,this.routes[t])}},_routeToRegExp:function(t){return t=t.replace(U,"\\$&").replace(R,"(?:$1)?").replace(F,(function(t,e){return e?t:"([^/?]+)"})).replace(B,"([^?]*?)"),new RegExp("^"+t+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(t,e){var r=t.exec(e).slice(1);return n.map(r,(function(t,e){return e===r.length-1?t||null:t?decodeURIComponent(t):null}))}});var M=e.History=function(){this.handlers=[],this.checkUrl=this.checkUrl.bind(this),"undefined"!=typeof window&&(this.location=window.location,this.history=window.history)},D=/^[#\/]|\s+$/g,$=/^\/+|\/+$/g,z=/#.*$/;M.started=!1,n.extend(M.prototype,a,{interval:50,atRoot:function(){return this.location.pathname.replace(/[^\/]$/,"$&/")===this.root&&!this.getSearch()},matchRoot:function(){return this.decodeFragment(this.location.pathname).slice(0,this.root.length-1)+"/"===this.root},decodeFragment:function(t){return decodeURI(t.replace(/%25/g,"%2525"))},getSearch:function(){var t=this.location.href.replace(/#.*/,"").match(/\?.+/);return t?t[0]:""},getHash:function(t){var e=(t||this).location.href.match(/#(.*)$/);return e?e[1]:""},getPath:function(){var t=this.decodeFragment(this.location.pathname+this.getSearch()).slice(this.root.length-1);return"/"===t.charAt(0)?t.slice(1):t},getFragment:function(t){return null==t&&(t=this._usePushState||!this._wantsHashChange?this.getPath():this.getHash()),t.replace(D,"")},start:function(t){if(M.started)throw new Error("Backbone.history has already been started");if(M.started=!0,this.options=n.extend({root:"/"},this.options,t),this.root=this.options.root,this._trailingSlash=this.options.trailingSlash,this._wantsHashChange=!1!==this.options.hashChange,this._hasHashChange="onhashchange"in window&&(void 0===document.documentMode||document.documentMode>7),this._useHashChange=this._wantsHashChange&&this._hasHashChange,this._wantsPushState=!!this.options.pushState,this._hasPushState=!(!this.history||!this.history.pushState),this._usePushState=this._wantsPushState&&this._hasPushState,this.fragment=this.getFragment(),this.root=("/"+this.root+"/").replace($,"/"),this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||"/";return this.location.replace(e+"#"+this.getPath()),!0}this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0})}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe"),this.iframe.src="javascript:0",this.iframe.style.display="none",this.iframe.tabIndex=-1;var r=document.body,i=r.insertBefore(this.iframe,r.firstChild).contentWindow;i.document.open(),i.document.close(),i.location.hash="#"+this.fragment}var o=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState?o("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe?o("hashchange",this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};this._usePushState?t("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe&&t("hashchange",this.checkUrl,!1),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),M.started=!1},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe&&(e=this.getHash(this.iframe.contentWindow)),e===this.fragment)return!1;this.iframe&&this.navigate(e),this.loadUrl()},loadUrl:function(t){return!!this.matchRoot()&&(t=this.fragment=this.getFragment(t),n.some(this.handlers,(function(e){if(e.route.test(t))return e.callback(t),!0})))},navigate:function(t,e){if(!M.started)return!1;e&&!0!==e||(e={trigger:!!e}),t=this.getFragment(t||"");var n=this.root;this._trailingSlash||""!==t&&"?"!==t.charAt(0)||(n=n.slice(0,-1)||"/");var r=n+t;t=t.replace(z,"");var i=this.decodeFragment(t);if(this.fragment!==i){if(this.fragment=i,this._usePushState)this.history[e.replace?"replaceState":"pushState"]({},document.title,r);else{if(!this._wantsHashChange)return this.location.assign(r);if(this._updateHash(this.location,t,e.replace),this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var o=this.iframe.contentWindow;e.replace||(o.document.open(),o.document.close()),this._updateHash(o.location,t,e.replace)}}return e.trigger?this.loadUrl(t):void 0}},_updateHash:function(t,e,n){if(n){var r=t.href.replace(/(javascript:|#).*$/,"");t.replace(r+"#"+e)}else t.hash="#"+e}}),e.history=new M;v.extend=y.extend=I.extend=N.extend=M.extend=function(t,e){var r,i=this;return r=t&&n.has(t,"constructor")?t.constructor:function(){return i.apply(this,arguments)},n.extend(r,i,e),r.prototype=n.create(i.prototype,t),r.prototype.constructor=r,r.__super__=i.prototype,r};var q=function(){throw new Error('A "url" property or function must be specified')},H=function(t,e){var n=e.error;e.error=function(r){n&&n.call(e.context,t,r,e),t.trigger("error",t,r,e)}};return e}(o,n,t,e)}.apply(e,r),void 0===i||(t.exports=i)},76515:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),s=n.n(o)()(i());s.push([t.id,".button-vue[data-v-3fa8511b]{margin-top:.5rem}","",{version:3,sources:["webpack://./core/src/components/login/LoginButton.vue"],names:[],mappings:"AACA,6BACC,gBAAA",sourcesContent:["\n.button-vue {\n\tmargin-top: .5rem;\n}\n"],sourceRoot:""}]),e.Z=s},62977:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),s=n.n(o)()(i());s.push([t.id,".login-form[data-v-0fbfcc31]{text-align:left;font-size:1rem}.login-form__fieldset[data-v-0fbfcc31]{width:100%;display:flex;flex-direction:column;gap:.5rem}.login-form__headline[data-v-0fbfcc31]{text-align:center;overflow-wrap:anywhere}","",{version:3,sources:["webpack://./core/src/components/login/LoginForm.vue"],names:[],mappings:"AACA,6BACC,eAAA,CACA,cAAA,CAEA,uCACC,UAAA,CACA,YAAA,CACA,qBAAA,CACA,SAAA,CAGD,uCACC,iBAAA,CACA,sBAAA",sourcesContent:["\n.login-form {\n\ttext-align: left;\n\tfont-size: 1rem;\n\n\t&__fieldset {\n\t\twidth: 100%;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: .5rem;\n\t}\n\n\t&__headline {\n\t\ttext-align: center;\n\t\toverflow-wrap: anywhere;\n\t}\n}\n"],sourceRoot:""}]),e.Z=s},36188:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),s=n.n(o)()(i());s.push([t.id,"fieldset[data-v-3ea2fa78]{display:flex;flex-direction:column;gap:.5rem}fieldset[data-v-3ea2fa78] label{text-align:initial}.update[data-v-3ea2fa78]{margin:0 auto}","",{version:3,sources:["webpack://./core/src/components/login/PasswordLessLoginForm.vue"],names:[],mappings:"AACA,0BACC,YAAA,CACA,qBAAA,CACA,SAAA,CAEA,gCACC,kBAAA,CAIF,yBACC,aAAA",sourcesContent:["\nfieldset {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 0.5rem;\n\n\t:deep(label) {\n\t\ttext-align: initial;\n\t}\n}\n\n.update {\n\tmargin: 0 auto;\n}\n"],sourceRoot:""}]),e.Z=s},25425:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),s=n.n(o)()(i());s.push([t.id,".login-form[data-v-179b3658]{text-align:left;font-size:1rem}.login-form__fieldset[data-v-179b3658]{width:100%;display:flex;flex-direction:column;gap:.5rem}.login-form__link[data-v-179b3658]{display:block;font-weight:normal !important;padding-bottom:1rem;cursor:pointer;font-size:var(--default-font-size);text-align:center;padding:.5rem 1rem 1rem 1rem}","",{version:3,sources:["webpack://./core/src/components/login/ResetPassword.vue"],names:[],mappings:"AACA,6BACC,eAAA,CACA,cAAA,CAEA,uCACC,UAAA,CACA,YAAA,CACA,qBAAA,CACA,SAAA,CAGD,mCACC,aAAA,CACA,6BAAA,CACA,mBAAA,CACA,cAAA,CACA,kCAAA,CACA,iBAAA,CACA,4BAAA",sourcesContent:["\n.login-form {\n\ttext-align: left;\n\tfont-size: 1rem;\n\n\t&__fieldset {\n\t\twidth: 100%;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: .5rem;\n\t}\n\n\t&__link {\n\t\tdisplay: block;\n\t\tfont-weight: normal !important;\n\t\tpadding-bottom: 1rem;\n\t\tcursor: pointer;\n\t\tfont-size: var(--default-font-size);\n\t\ttext-align: center;\n\t\tpadding: .5rem 1rem 1rem 1rem;\n\t}\n}\n"],sourceRoot:""}]),e.Z=s},59385:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),s=n.n(o)()(i());s.push([t.id,"body{font-size:var(--default-font-size)}.login-box{width:320px;box-sizing:border-box}.login-box__link{display:block;padding:1rem;font-size:var(--default-font-size);text-align:center;font-weight:normal !important}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter,.fade-leave-to{opacity:0}.alternative-logins{display:flex;flex-direction:column;gap:.75rem}.alternative-logins .button-vue{box-sizing:border-box}.login-passwordless .button-vue{margin-top:.5rem}","",{version:3,sources:["webpack://./core/src/views/Login.vue"],names:[],mappings:"AACA,KACC,kCAAA,CAGD,WAEC,WAAA,CACA,qBAAA,CAEA,iBACC,aAAA,CACA,YAAA,CACA,kCAAA,CACA,iBAAA,CACA,6BAAA,CAIF,sCACC,sBAAA,CAED,2BACC,SAAA,CAGD,oBACC,YAAA,CACA,qBAAA,CACA,UAAA,CAEA,gCACC,qBAAA,CAKD,gCACC,gBAAA",sourcesContent:["\nbody {\n\tfont-size: var(--default-font-size);\n}\n\n.login-box {\n\t// Same size as dashboard panels\n\twidth: 320px;\n\tbox-sizing: border-box;\n\n\t&__link {\n\t\tdisplay: block;\n\t\tpadding: 1rem;\n\t\tfont-size: var(--default-font-size);\n\t\ttext-align: center;\n\t\tfont-weight: normal !important;\n\t}\n}\n\n.fade-enter-active, .fade-leave-active {\n\ttransition: opacity .3s;\n}\n.fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ {\n\topacity: 0;\n}\n\n.alternative-logins {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 0.75rem;\n\n\t.button-vue {\n\t\tbox-sizing: border-box;\n\t}\n}\n\n.login-passwordless {\n\t.button-vue {\n\t\tmargin-top: 0.5rem;\n\t}\n}\n"],sourceRoot:""}]),e.Z=s},63101:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),s=n.n(o)()(i());s.push([t.id,"\nfieldset[data-v-b9d4933a] {\n\ttext-align: center;\n}\ninput[type=submit][data-v-b9d4933a] {\n\tmargin-top: 20px;\n}\n","",{version:3,sources:["webpack://./core/src/components/login/UpdatePassword.vue"],names:[],mappings:";AA4IA;CACA,kBAAA;AACA;AAEA;CACA,gBAAA;AACA",sourcesContent:["\x3c!--\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n --\x3e\n\n<template>\n\t<form @submit.prevent=\"submit\">\n\t\t<fieldset>\n\t\t\t<p>\n\t\t\t\t<label for=\"password\" class=\"infield\">{{ t('core', 'New password') }}</label>\n\t\t\t\t<input id=\"password\"\n\t\t\t\t\tv-model=\"password\"\n\t\t\t\t\ttype=\"password\"\n\t\t\t\t\tname=\"password\"\n\t\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\t\tautocapitalize=\"none\"\n\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\trequired\n\t\t\t\t\t:placeholder=\"t('core', 'New password')\">\n\t\t\t</p>\n\n\t\t\t<div v-if=\"encrypted\" class=\"update\">\n\t\t\t\t<p>\n\t\t\t\t\t{{ t('core', 'Your files are encrypted. There will be no way to get your data back after your password is reset. If you are not sure what to do, please contact your administrator before you continue. Do you really want to continue?') }}\n\t\t\t\t</p>\n\t\t\t\t<input id=\"encrypted-continue\"\n\t\t\t\t\tv-model=\"proceed\"\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tclass=\"checkbox\">\n\t\t\t\t<label for=\"encrypted-continue\">\n\t\t\t\t\t{{ t('core', 'I know what I\\'m doing') }}\n\t\t\t\t</label>\n\t\t\t</div>\n\n\t\t\t<LoginButton :loading=\"loading\"\n\t\t\t\t:value=\"t('core', 'Reset password')\"\n\t\t\t\t:value-loading=\"t('core', 'Resetting password')\" />\n\n\t\t\t<p v-if=\"error && message\" :class=\"{warning: error}\">\n\t\t\t\t{{ message }}\n\t\t\t</p>\n\t\t</fieldset>\n\t</form>\n</template>\n\n<script>\nimport Axios from '@nextcloud/axios'\nimport LoginButton from './LoginButton.vue'\n\nexport default {\n\tname: 'UpdatePassword',\n\tcomponents: {\n\t\tLoginButton,\n\t},\n\tprops: {\n\t\tusername: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tresetPasswordTarget: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\terror: false,\n\t\t\tloading: false,\n\t\t\tmessage: undefined,\n\t\t\tuser: this.username,\n\t\t\tpassword: '',\n\t\t\tencrypted: false,\n\t\t\tproceed: false,\n\t\t}\n\t},\n\twatch: {\n\t\tusername(value) {\n\t\t\tthis.user = value\n\t\t},\n\t},\n\tmethods: {\n\t\tasync submit() {\n\t\t\tthis.loading = true\n\t\t\tthis.error = false\n\t\t\tthis.message = ''\n\n\t\t\ttry {\n\t\t\t\tconst { data } = await Axios.post(this.resetPasswordTarget, {\n\t\t\t\t\tpassword: this.password,\n\t\t\t\t\tproceed: this.proceed,\n\t\t\t\t})\n\t\t\t\tif (data && data.status === 'success') {\n\t\t\t\t\tthis.message = 'send-success'\n\t\t\t\t\tthis.$emit('update:username', this.user)\n\t\t\t\t\tthis.$emit('done')\n\t\t\t\t} else if (data && data.encryption) {\n\t\t\t\t\tthis.encrypted = true\n\t\t\t\t} else if (data && data.msg) {\n\t\t\t\t\tthrow new Error(data.msg)\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error()\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tthis.error = true\n\t\t\t\tthis.message = e.message ? e.message : t('core', 'Password cannot be changed. Please contact your administrator.')\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n<\/script>\n\n<style scoped>\n\tfieldset {\n\t\ttext-align: center;\n\t}\n\n\tinput[type=submit] {\n\t\tmargin-top: 20px;\n\t}\n</style>\n"],sourceRoot:""}]),e.Z=s},76591:function(t){"undefined"==typeof dav&&(dav={}),dav._XML_CHAR_MAP={"<":"<",">":">","&":"&",'"':""","'":"'"},dav._escapeXml=function(t){return t.replace(/[<>&"']/g,(function(t){return dav._XML_CHAR_MAP[t]}))},dav.Client=function(t){var e;for(e in t)this[e]=t[e]},dav.Client.prototype={baseUrl:null,userName:null,password:null,xmlNamespaces:{"DAV:":"d"},propFind:function(t,e,n,r){void 0===n&&(n="0"),n=""+n,(r=r||{}).Depth=n,r["Content-Type"]="application/xml; charset=utf-8";var i,o='<?xml version="1.0"?>\n<d:propfind ';for(i in this.xmlNamespaces)o+=" xmlns:"+this.xmlNamespaces[i]+'="'+i+'"';for(var s in o+=">\n <d:prop>\n",e)if(e.hasOwnProperty(s)){var a=this.parseClarkNotation(e[s]);this.xmlNamespaces[a.namespace]?o+=" <"+this.xmlNamespaces[a.namespace]+":"+a.name+" />\n":o+=" <x:"+a.name+' xmlns:x="'+a.namespace+'" />\n'}return o+=" </d:prop>\n",o+="</d:propfind>",this.request("PROPFIND",t,r,o).then(function(t){return"0"===n?{status:t.status,body:t.body[0],xhr:t.xhr}:{status:t.status,body:t.body,xhr:t.xhr}}.bind(this))},_renderPropSet:function(t){var e=" <d:set>\n <d:prop>\n";for(var n in t)if(t.hasOwnProperty(n)){var r,i=this.parseClarkNotation(n),o=t[n];"d:resourcetype"!=(r=this.xmlNamespaces[i.namespace]?this.xmlNamespaces[i.namespace]+":"+i.name:"x:"+i.name+' xmlns:x="'+i.namespace+'"')&&(o=dav._escapeXml(o)),e+=" <"+r+">"+o+"</"+r+">\n"}return(e+=" </d:prop>\n")+" </d:set>\n"},propPatch:function(t,e,n){(n=n||{})["Content-Type"]="application/xml; charset=utf-8";var r,i='<?xml version="1.0"?>\n<d:propertyupdate ';for(r in this.xmlNamespaces)i+=" xmlns:"+this.xmlNamespaces[r]+'="'+r+'"';return i+=">\n"+this._renderPropSet(e),i+="</d:propertyupdate>",this.request("PROPPATCH",t,n,i).then(function(t){return{status:t.status,body:t.body,xhr:t.xhr}}.bind(this))},mkcol:function(t,e,n){var r="";if((n=n||{})["Content-Type"]="application/xml; charset=utf-8",e){var i;for(i in r='<?xml version="1.0"?>\n<d:mkcol',this.xmlNamespaces)r+=" xmlns:"+this.xmlNamespaces[i]+'="'+i+'"';r+=">\n"+this._renderPropSet(e),r+="</d:mkcol>"}return this.request("MKCOL",t,n,r).then(function(t){return{status:t.status,body:t.body,xhr:t.xhr}}.bind(this))},request:function(t,e,n,r,i,o){var s,a=this,u=this.xhrProvider();for(s in n=n||{},i=i||"",this.userName&&(n.Authorization="Basic "+btoa(this.userName+":"+this.password)),u.open(t,this.resolveUrl(e),!0),n)u.setRequestHeader(s,n[s]);return u.responseType=i,o&&"function"==typeof o.onProgress&&("PUT"===t||"POST"===t?u.upload.addEventListener("progress",(function(t){o.onProgress(t)}),!1):u.addEventListener("progress",(function(t){o.onProgress(t)}),!1)),void 0===r?u.send():u.send(r),new Promise((function(t,e){u.onreadystatechange=function(){if(4===u.readyState){var e=u.response;207===u.status&&(e=a.parseMultiStatus(u.response)),t({body:e,status:u.status,xhr:u})}},u.ontimeout=function(){e(new Error("Timeout exceeded"))}}))},xhrProvider:function(){return new XMLHttpRequest},_parsePropNode:function(t){var e=null;if(t.childNodes&&t.childNodes.length>0){for(var n=[],r=0;r<t.childNodes.length;r++){var i=t.childNodes[r];1===i.nodeType&&n.push(i)}n.length&&(e=n)}return e||t.textContent||t.text||""},parseMultiStatus:function(t){for(var e=(new DOMParser).parseFromString(t,"application/xml"),n=function(t){var e;for(e in this.xmlNamespaces)if(this.xmlNamespaces[e]===t)return e}.bind(this),r=e.evaluate("/d:multistatus/d:response",e,n,XPathResult.ANY_TYPE,null),i=[],o=r.iterateNext();o;){var s={href:null,propStat:[]};s.href=e.evaluate("string(d:href)",o,n,XPathResult.ANY_TYPE,null).stringValue;for(var a=e.evaluate("d:propstat",o,n,XPathResult.ANY_TYPE,null),u=a.iterateNext();u;){for(var c={status:e.evaluate("string(d:status)",u,n,XPathResult.ANY_TYPE,null).stringValue,properties:{}},l=e.evaluate("d:prop/*",u,n,XPathResult.ANY_TYPE,null),f=l.iterateNext();f;){var d=this._parsePropNode(f);c.properties["{"+f.namespaceURI+"}"+f.localName]=d,f=l.iterateNext()}s.propStat.push(c),u=a.iterateNext()}i.push(s),o=r.iterateNext()}return i},resolveUrl:function(t){if(/^https?:\/\//i.test(t))return t;var e=this.parseUrl(this.baseUrl);return t.charAt("/")?e.root+t:(e.root,-1!==e.path.lastIndexOf("/")&&e.path.subString(0,e.path.lastIndexOf("/")),t)},parseUrl:function(t){var e=t.match(/^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/),n={url:e[0],scheme:e[1],host:e[3],port:e[4],path:e[5],query:e[6],fragment:e[7]};return n.root=n.scheme+"://"+n.host+(n.port?":"+n.port:""),n},parseClarkNotation:function(t){var e=t.match(/^{([^}]+)}(.*)$/);if(e)return{name:e[2],namespace:e[1]}}},void 0!==t.exports&&(t.exports.Client=dav.Client),t.exports={dav:dav}},46700:function(t,e,n){var r={"./af":42786,"./af.js":42786,"./ar":30867,"./ar-dz":14130,"./ar-dz.js":14130,"./ar-kw":96135,"./ar-kw.js":96135,"./ar-ly":56440,"./ar-ly.js":56440,"./ar-ma":47702,"./ar-ma.js":47702,"./ar-sa":16040,"./ar-sa.js":16040,"./ar-tn":37100,"./ar-tn.js":37100,"./ar.js":30867,"./az":31083,"./az.js":31083,"./be":9808,"./be.js":9808,"./bg":68338,"./bg.js":68338,"./bm":67438,"./bm.js":67438,"./bn":8905,"./bn-bd":76225,"./bn-bd.js":76225,"./bn.js":8905,"./bo":11560,"./bo.js":11560,"./br":1278,"./br.js":1278,"./bs":80622,"./bs.js":80622,"./ca":2468,"./ca.js":2468,"./cs":5822,"./cs.js":5822,"./cv":50877,"./cv.js":50877,"./cy":47373,"./cy.js":47373,"./da":24780,"./da.js":24780,"./de":59740,"./de-at":60217,"./de-at.js":60217,"./de-ch":60894,"./de-ch.js":60894,"./de.js":59740,"./dv":5300,"./dv.js":5300,"./el":50837,"./el.js":50837,"./en-au":78348,"./en-au.js":78348,"./en-ca":77925,"./en-ca.js":77925,"./en-gb":22243,"./en-gb.js":22243,"./en-ie":46436,"./en-ie.js":46436,"./en-il":47207,"./en-il.js":47207,"./en-in":44175,"./en-in.js":44175,"./en-nz":76319,"./en-nz.js":76319,"./en-sg":31662,"./en-sg.js":31662,"./eo":92915,"./eo.js":92915,"./es":55655,"./es-do":55251,"./es-do.js":55251,"./es-mx":96112,"./es-mx.js":96112,"./es-us":71146,"./es-us.js":71146,"./es.js":55655,"./et":5603,"./et.js":5603,"./eu":77763,"./eu.js":77763,"./fa":76959,"./fa.js":76959,"./fi":11897,"./fi.js":11897,"./fil":42549,"./fil.js":42549,"./fo":94694,"./fo.js":94694,"./fr":94470,"./fr-ca":63049,"./fr-ca.js":63049,"./fr-ch":52330,"./fr-ch.js":52330,"./fr.js":94470,"./fy":5044,"./fy.js":5044,"./ga":29295,"./ga.js":29295,"./gd":2101,"./gd.js":2101,"./gl":38794,"./gl.js":38794,"./gom-deva":27884,"./gom-deva.js":27884,"./gom-latn":23168,"./gom-latn.js":23168,"./gu":95349,"./gu.js":95349,"./he":24206,"./he.js":24206,"./hi":30094,"./hi.js":30094,"./hr":30316,"./hr.js":30316,"./hu":22138,"./hu.js":22138,"./hy-am":11423,"./hy-am.js":11423,"./id":29218,"./id.js":29218,"./is":90135,"./is.js":90135,"./it":90626,"./it-ch":10150,"./it-ch.js":10150,"./it.js":90626,"./ja":39183,"./ja.js":39183,"./jv":24286,"./jv.js":24286,"./ka":12105,"./ka.js":12105,"./kk":47772,"./kk.js":47772,"./km":18758,"./km.js":18758,"./kn":79282,"./kn.js":79282,"./ko":33730,"./ko.js":33730,"./ku":1408,"./ku.js":1408,"./ky":33291,"./ky.js":33291,"./lb":36841,"./lb.js":36841,"./lo":55466,"./lo.js":55466,"./lt":57010,"./lt.js":57010,"./lv":37595,"./lv.js":37595,"./me":39861,"./me.js":39861,"./mi":35493,"./mi.js":35493,"./mk":95966,"./mk.js":95966,"./ml":87341,"./ml.js":87341,"./mn":5115,"./mn.js":5115,"./mr":10370,"./mr.js":10370,"./ms":9847,"./ms-my":41237,"./ms-my.js":41237,"./ms.js":9847,"./mt":72126,"./mt.js":72126,"./my":56165,"./my.js":56165,"./nb":64924,"./nb.js":64924,"./ne":16744,"./ne.js":16744,"./nl":93901,"./nl-be":59814,"./nl-be.js":59814,"./nl.js":93901,"./nn":83877,"./nn.js":83877,"./oc-lnc":92135,"./oc-lnc.js":92135,"./pa-in":15858,"./pa-in.js":15858,"./pl":64495,"./pl.js":64495,"./pt":89520,"./pt-br":57971,"./pt-br.js":57971,"./pt.js":89520,"./ro":96459,"./ro.js":96459,"./ru":21793,"./ru.js":21793,"./sd":40950,"./sd.js":40950,"./se":10490,"./se.js":10490,"./si":90124,"./si.js":90124,"./sk":64249,"./sk.js":64249,"./sl":14985,"./sl.js":14985,"./sq":51104,"./sq.js":51104,"./sr":49131,"./sr-cyrl":79915,"./sr-cyrl.js":79915,"./sr.js":49131,"./ss":85893,"./ss.js":85893,"./sv":98760,"./sv.js":98760,"./sw":91172,"./sw.js":91172,"./ta":27333,"./ta.js":27333,"./te":23110,"./te.js":23110,"./tet":52095,"./tet.js":52095,"./tg":27321,"./tg.js":27321,"./th":9041,"./th.js":9041,"./tk":19005,"./tk.js":19005,"./tl-ph":75768,"./tl-ph.js":75768,"./tlh":89444,"./tlh.js":89444,"./tr":72397,"./tr.js":72397,"./tzl":28254,"./tzl.js":28254,"./tzm":51106,"./tzm-latn":30699,"./tzm-latn.js":30699,"./tzm.js":51106,"./ug-cn":9288,"./ug-cn.js":9288,"./uk":67691,"./uk.js":67691,"./ur":13795,"./ur.js":13795,"./uz":6791,"./uz-latn":60588,"./uz-latn.js":60588,"./uz.js":6791,"./vi":65666,"./vi.js":65666,"./x-pseudo":14378,"./x-pseudo.js":14378,"./yo":75805,"./yo.js":75805,"./zh-cn":83839,"./zh-cn.js":83839,"./zh-hk":55726,"./zh-hk.js":55726,"./zh-mo":99807,"./zh-mo.js":99807,"./zh-tw":74152,"./zh-tw.js":74152};function i(t){var e=o(t);return n(e)}function o(t){if(!n.o(r,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return r[t]}i.keys=function(){return Object.keys(r)},i.resolve=o,t.exports=i,i.id=46700},24654:function(){},52361:function(){},94616:function(){},5656:function(t,e,n){"use strict";n.d(e,{RL:function(){return L},Tv:function(){return _},_o:function(){return P},h7:function(){return w},pC:function(){return T},rp:function(){return S},sS:function(){return p},tB:function(){return x}});var r,i=n(77958),o=n(17499),s=n(31352),a=n(62520),u=n(65358),c=n(79753),l=n(14596),f=n(26721);null===(r=(0,i.ts)())?(0,o.IY)().setApp("files").build():(0,o.IY)().setApp("files").setUid(r.uid).build();const d=["B","KB","MB","GB","TB","PB"],h=["B","KiB","MiB","GiB","TiB","PiB"];function p(t,e=!1,n=!0){"string"==typeof t&&(t=Number(t));let r=t>0?Math.floor(Math.log(t)/Math.log(n?1024:1e3)):0;r=Math.min((n?h.length:d.length)-1,r);const i=n?h[r]:d[r];let o=(t/Math.pow(n?1024:1e3,r)).toFixed(1);return!0===e&&0===r?("0.0"!==o?"< 1 ":"0 ")+(n?h[1]:d[1]):(o=r<2?parseFloat(o).toFixed(0):parseFloat(o).toLocaleString((0,s.aj)()),o+" "+i)}var m=(t=>(t[t.NONE=0]="NONE",t[t.CREATE=4]="CREATE",t[t.READ=1]="READ",t[t.UPDATE=2]="UPDATE",t[t.DELETE=8]="DELETE",t[t.SHARE=16]="SHARE",t[t.ALL=31]="ALL",t))(m||{});const g=["d:getcontentlength","d:getcontenttype","d:getetag","d:getlastmodified","d:quota-available-bytes","d:resourcetype","nc:has-preview","nc:is-encrypted","nc:mount-type","nc:share-attributes","oc:comments-unread","oc:favorite","oc:fileid","oc:owner-display-name","oc:owner-id","oc:permissions","oc:share-types","oc:size","ocs:share-permissions"],v={d:"DAV:",nc:"http://nextcloud.org/ns",oc:"http://owncloud.org/ns",ocs:"http://open-collaboration-services.org/ns"},y=function(){return typeof window._nc_dav_properties>"u"&&(window._nc_dav_properties=[...g]),window._nc_dav_properties.map((t=>`<${t} />`)).join(" ")},b=function(){return typeof window._nc_dav_namespaces>"u"&&(window._nc_dav_namespaces={...v}),Object.keys(window._nc_dav_namespaces).map((t=>`xmlns:${t}="${window._nc_dav_namespaces?.[t]}"`)).join(" ")},w=function(){return`<?xml version="1.0"?>\n\t\t<d:propfind ${b()}>\n\t\t\t<d:prop>\n\t\t\t\t${y()}\n\t\t\t</d:prop>\n\t\t</d:propfind>`},x=function(t){return`<?xml version="1.0" encoding="UTF-8"?>\n<d:searchrequest ${b()}\n\txmlns:ns="https://github.com/icewind1991/SearchDAV/ns">\n\t<d:basicsearch>\n\t\t<d:select>\n\t\t\t<d:prop>\n\t\t\t\t${y()}\n\t\t\t</d:prop>\n\t\t</d:select>\n\t\t<d:from>\n\t\t\t<d:scope>\n\t\t\t\t<d:href>/files/${(0,i.ts)()?.uid}/</d:href>\n\t\t\t\t<d:depth>infinity</d:depth>\n\t\t\t</d:scope>\n\t\t</d:from>\n\t\t<d:where>\n\t\t\t<d:and>\n\t\t\t\t<d:or>\n\t\t\t\t\t<d:not>\n\t\t\t\t\t\t<d:eq>\n\t\t\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t\t\t<d:getcontenttype/>\n\t\t\t\t\t\t\t</d:prop>\n\t\t\t\t\t\t\t<d:literal>httpd/unix-directory</d:literal>\n\t\t\t\t\t\t</d:eq>\n\t\t\t\t\t</d:not>\n\t\t\t\t\t<d:eq>\n\t\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t\t<oc:size/>\n\t\t\t\t\t\t</d:prop>\n\t\t\t\t\t\t<d:literal>0</d:literal>\n\t\t\t\t\t</d:eq>\n\t\t\t\t</d:or>\n\t\t\t\t<d:gt>\n\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t<d:getlastmodified/>\n\t\t\t\t\t</d:prop>\n\t\t\t\t\t<d:literal>${t}</d:literal>\n\t\t\t\t</d:gt>\n\t\t\t</d:and>\n\t\t</d:where>\n\t\t<d:orderby>\n\t\t\t<d:order>\n\t\t\t\t<d:prop>\n\t\t\t\t\t<d:getlastmodified/>\n\t\t\t\t</d:prop>\n\t\t\t\t<d:descending/>\n\t\t\t</d:order>\n\t\t</d:orderby>\n\t\t<d:limit>\n\t\t\t<d:nresults>100</d:nresults>\n\t\t\t<ns:firstresult>0</ns:firstresult>\n\t\t</d:limit>\n\t</d:basicsearch>\n</d:searchrequest>`};var _=(t=>(t.Folder="folder",t.File="file",t))(_||{});const A=function(t,e){return null!==t.match(e)},C=(t,e)=>{if(t.id&&"number"!=typeof t.id)throw new Error("Invalid id type of value");if(!t.source)throw new Error("Missing mandatory source");try{new URL(t.source)}catch{throw new Error("Invalid source format, source must be a valid URL")}if(!t.source.startsWith("http"))throw new Error("Invalid source format, only http(s) is supported");if(t.mtime&&!(t.mtime instanceof Date))throw new Error("Invalid mtime type");if(t.crtime&&!(t.crtime instanceof Date))throw new Error("Invalid crtime type");if(!t.mime||"string"!=typeof t.mime||!t.mime.match(/^[-\w.]+\/[-+\w.]+$/gi))throw new Error("Missing or invalid mandatory mime");if("size"in t&&"number"!=typeof t.size&&void 0!==t.size)throw new Error("Invalid size type");if("permissions"in t&&void 0!==t.permissions&&!("number"==typeof t.permissions&&t.permissions>=m.NONE&&t.permissions<=m.ALL))throw new Error("Invalid permissions");if(t.owner&&null!==t.owner&&"string"!=typeof t.owner)throw new Error("Invalid owner type");if(t.attributes&&"object"!=typeof t.attributes)throw new Error("Invalid attributes type");if(t.root&&"string"!=typeof t.root)throw new Error("Invalid root type");if(t.root&&!t.root.startsWith("/"))throw new Error("Root must start with a leading slash");if(t.root&&!t.source.includes(t.root))throw new Error("Root must be part of the source");if(t.root&&A(t.source,e)){const n=t.source.match(e)[0];if(!t.source.includes((0,a.join)(n,t.root)))throw new Error("The root must be relative to the service. e.g /files/emma")}if(t.status&&!Object.values(E).includes(t.status))throw new Error("Status must be a valid NodeStatus")};var E=(t=>(t.NEW="new",t.FAILED="failed",t.LOADING="loading",t.LOCKED="locked",t))(E||{});class j{_data;_attributes;_knownDavService=/(remote|public)\.php\/(web)?dav/i;constructor(t,e){C(t,e||this._knownDavService),this._data=t;const n={set:(t,e,n)=>(this.updateMtime(),Reflect.set(t,e,n)),deleteProperty:(t,e)=>(this.updateMtime(),Reflect.deleteProperty(t,e))};this._attributes=new Proxy(t.attributes||{},n),delete this._data.attributes,e&&(this._knownDavService=e)}get source(){return this._data.source.replace(/\/$/i,"")}get encodedSource(){const{origin:t}=new URL(this.source);return t+(0,u.Ec)(this.source.slice(t.length))}get basename(){return(0,a.basename)(this.source)}get extension(){return(0,a.extname)(this.source)}get dirname(){if(this.root){const t=this.source.indexOf(this.root);return(0,a.dirname)(this.source.slice(t+this.root.length)||"/")}const t=new URL(this.source);return(0,a.dirname)(t.pathname)}get mime(){return this._data.mime}get mtime(){return this._data.mtime}get crtime(){return this._data.crtime}get size(){return this._data.size}get attributes(){return this._attributes}get permissions(){return null!==this.owner||this.isDavRessource?void 0!==this._data.permissions?this._data.permissions:m.NONE:m.READ}get owner(){return this.isDavRessource?this._data.owner:null}get isDavRessource(){return A(this.source,this._knownDavService)}get root(){return this._data.root?this._data.root.replace(/^(.+)\/$/,"$1"):this.isDavRessource&&(0,a.dirname)(this.source).split(this._knownDavService).pop()||null}get path(){if(this.root){const t=this.source.indexOf(this.root);return this.source.slice(t+this.root.length)||"/"}return(this.dirname+"/"+this.basename).replace(/\/\//g,"/")}get fileid(){return this._data?.id||this.attributes?.fileid}get status(){return this._data?.status}set status(t){this._data.status=t}move(t){C({...this._data,source:t},this._knownDavService),this._data.source=t,this.updateMtime()}rename(t){if(t.includes("/"))throw new Error("Invalid basename");this.move((0,a.dirname)(this.source)+"/"+t)}updateMtime(){this._data.mtime&&(this._data.mtime=new Date)}}class N extends j{get type(){return _.File}}class k extends j{constructor(t){super({...t,mime:"httpd/unix-directory"})}get type(){return _.Folder}get extension(){return null}get mime(){return"httpd/unix-directory"}}const P=`/files/${(0,i.ts)()?.uid}`,O=(0,c.generateRemoteUrl)("dav"),S=function(t=O){const e=(0,l.eI)(t,{headers:{requesttoken:(0,i.IH)()||""}});return(0,l.lD)().patch("request",(t=>(t.headers?.method&&(t.method=t.headers.method,delete t.headers.method),(0,f.W)(t)))),e},T=async(t,e="/",n=P)=>(await t.getDirectoryContents(`${n}${e}`,{details:!0,data:`<?xml version="1.0"?>\n\t\t<oc:filter-files ${b()}>\n\t\t\t<d:prop>\n\t\t\t\t${y()}\n\t\t\t</d:prop>\n\t\t\t<oc:filter-rules>\n\t\t\t\t<oc:favorite>1</oc:favorite>\n\t\t\t</oc:filter-rules>\n\t\t</oc:filter-files>`,headers:{method:"REPORT"},includeSelf:!0})).data.filter((t=>t.filename!==e)).map((t=>L(t,n))),L=function(t,e=P,n=O){const r=t.props,o=function(t=""){let e=m.NONE;return t&&((t.includes("C")||t.includes("K"))&&(e|=m.CREATE),t.includes("G")&&(e|=m.READ),(t.includes("W")||t.includes("N")||t.includes("V"))&&(e|=m.UPDATE),t.includes("D")&&(e|=m.DELETE),t.includes("R")&&(e|=m.SHARE)),e}(r?.permissions),s=(0,i.ts)()?.uid,a={id:r?.fileid||0,source:`${n}${t.filename}`,mtime:new Date(Date.parse(t.lastmod)),mime:t.mime,size:r?.size||Number.parseInt(r.getcontentlength||"0"),permissions:o,owner:s,root:e,attributes:{...t,...r,hasPreview:r?.["has-preview"]}};return delete a.attributes?.props,"file"===t.type?new N(a):new k(a)};var I={};!function(t){const e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",n="["+e+"]["+e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*",r=new RegExp("^"+n+"$");t.isExist=function(t){return typeof t<"u"},t.isEmptyObject=function(t){return 0===Object.keys(t).length},t.merge=function(t,e,n){if(e){const r=Object.keys(e),i=r.length;for(let o=0;o<i;o++)t[r[o]]="strict"===n?[e[r[o]]]:e[r[o]]}},t.getValue=function(e){return t.isExist(e)?e:""},t.isName=function(t){const e=r.exec(t);return!(null===e||typeof e>"u")},t.getAllMatches=function(t,e){const n=[];let r=e.exec(t);for(;r;){const i=[];i.startIndex=e.lastIndex-r[0].length;const o=r.length;for(let t=0;t<o;t++)i.push(r[t]);n.push(i),r=e.exec(t)}return n},t.nameRegexp=n}(I);new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");var R={};const F={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,n){return t}};R.buildOptions=function(t){return Object.assign({},F,t)},R.defaultOptions=F,!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);"<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,I.nameRegexp),new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");var B={};function U(t,e,n){let r;const i={};for(let o=0;o<t.length;o++){const s=t[o],a=M(s);let u="";if(u=void 0===n?a:n+"."+a,a===e.textNodeName)void 0===r?r=s[a]:r+=""+s[a];else{if(void 0===a)continue;if(s[a]){let t=U(s[a],e,u);const n=$(t,e);s[":@"]?D(t,s[":@"],u,e):1!==Object.keys(t).length||void 0===t[e.textNodeName]||e.alwaysCreateTextNode?0===Object.keys(t).length&&(e.alwaysCreateTextNode?t[e.textNodeName]="":t=""):t=t[e.textNodeName],void 0!==i[a]&&i.hasOwnProperty(a)?(Array.isArray(i[a])||(i[a]=[i[a]]),i[a].push(t)):e.isArray(a,u,n)?i[a]=[t]:i[a]=t}}}return"string"==typeof r?r.length>0&&(i[e.textNodeName]=r):void 0!==r&&(i[e.textNodeName]=r),i}function M(t){const e=Object.keys(t);for(let t=0;t<e.length;t++){const n=e[t];if(":@"!==n)return n}}function D(t,e,n,r){if(e){const i=Object.keys(e),o=i.length;for(let s=0;s<o;s++){const o=i[s];r.isArray(o,n+"."+o,!0,!0)?t[o]=[e[o]]:t[o]=e[o]}}}function $(t,e){const{textNodeName:n}=e,r=Object.keys(t).length;return!(0!==r&&(1!==r||!t[n]&&"boolean"!=typeof t[n]&&0!==t[n]))}B.prettify=function(t,e){return U(t,e)};const{buildOptions:z}=R,{prettify:q}=B;function H(t,e,n,r){let i="",o=!1;for(let s=0;s<t.length;s++){const a=t[s],u=V(a);if(void 0===u)continue;let c="";if(c=0===n.length?u:`${n}.${u}`,u===e.textNodeName){let t=a[u];K(c,e)||(t=e.tagValueProcessor(u,t),t=Y(t,e)),o&&(i+=r),i+=t,o=!1;continue}if(u===e.cdataPropName){o&&(i+=r),i+=`<![CDATA[${a[u][0][e.textNodeName]}]]>`,o=!1;continue}if(u===e.commentPropName){i+=r+`\x3c!--${a[u][0][e.textNodeName]}--\x3e`,o=!0;continue}if("?"===u[0]){const t=Z(a[":@"],e),n="?xml"===u?"":r;let s=a[u][0][e.textNodeName];s=0!==s.length?" "+s:"",i+=n+`<${u}${s}${t}?>`,o=!0;continue}let l=r;""!==l&&(l+=e.indentBy);const f=r+`<${u}${Z(a[":@"],e)}`,d=H(a[u],e,c,l);-1!==e.unpairedTags.indexOf(u)?e.suppressUnpairedNode?i+=f+">":i+=f+"/>":d&&0!==d.length||!e.suppressEmptyNode?d&&d.endsWith(">")?i+=f+`>${d}${r}</${u}>`:(i+=f+">",d&&""!==r&&(d.includes("/>")||d.includes("</"))?i+=r+e.indentBy+d+r:i+=d,i+=`</${u}>`):i+=f+"/>",o=!0}return i}function V(t){const e=Object.keys(t);for(let n=0;n<e.length;n++){const r=e[n];if(t.hasOwnProperty(r)&&":@"!==r)return r}}function Z(t,e){let n="";if(t&&!e.ignoreAttributes)for(let r in t){if(!t.hasOwnProperty(r))continue;let i=e.attributeValueProcessor(r,t[r]);i=Y(i,e),!0===i&&e.suppressBooleanAttributes?n+=` ${r.substr(e.attributeNamePrefix.length)}`:n+=` ${r.substr(e.attributeNamePrefix.length)}="${i}"`}return n}function K(t,e){let n=(t=t.substr(0,t.length-e.textNodeName.length-1)).substr(t.lastIndexOf(".")+1);for(let r in e.stopNodes)if(e.stopNodes[r]===t||e.stopNodes[r]==="*."+n)return!0;return!1}function Y(t,e){if(t&&t.length>0&&e.processEntities)for(let n=0;n<e.entities.length;n++){const r=e.entities[n];t=t.replace(r.regex,r.val)}return t}const G=function(t,e){let n="";return e.format&&e.indentBy.length>0&&(n="\n"),H(t,e,"",n)},W={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1};function J(t){this.options=Object.assign({},W,t),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=tt),this.processTextOrObjNode=X,this.options.format?(this.indentate=Q,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function X(t,e,n){const r=this.j2x(t,n+1);return void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,r.attrStr,n):this.buildObjectNode(r.val,e,r.attrStr,n)}function Q(t){return this.options.indentBy.repeat(t)}function tt(t){return!(!t.startsWith(this.options.attributeNamePrefix)||t===this.options.textNodeName)&&t.substr(this.attrPrefixLen)}J.prototype.build=function(t){return this.options.preserveOrder?G(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0).val)},J.prototype.j2x=function(t,e){let n="",r="";for(let i in t)if(Object.prototype.hasOwnProperty.call(t,i))if(typeof t[i]>"u")this.isAttribute(i)&&(r+="");else if(null===t[i])this.isAttribute(i)?r+="":"?"===i[0]?r+=this.indentate(e)+"<"+i+"?"+this.tagEndChar:r+=this.indentate(e)+"<"+i+"/"+this.tagEndChar;else if(t[i]instanceof Date)r+=this.buildTextValNode(t[i],i,"",e);else if("object"!=typeof t[i]){const o=this.isAttribute(i);if(o)n+=this.buildAttrPairStr(o,""+t[i]);else if(i===this.options.textNodeName){let e=this.options.tagValueProcessor(i,""+t[i]);r+=this.replaceEntitiesValue(e)}else r+=this.buildTextValNode(t[i],i,"",e)}else if(Array.isArray(t[i])){const n=t[i].length;let o="";for(let s=0;s<n;s++){const n=t[i][s];typeof n>"u"||(null===n?"?"===i[0]?r+=this.indentate(e)+"<"+i+"?"+this.tagEndChar:r+=this.indentate(e)+"<"+i+"/"+this.tagEndChar:"object"==typeof n?this.options.oneListGroup?o+=this.j2x(n,e+1).val:o+=this.processTextOrObjNode(n,i,e):o+=this.buildTextValNode(n,i,"",e))}this.options.oneListGroup&&(o=this.buildObjectNode(o,i,"",e)),r+=o}else if(this.options.attributesGroupName&&i===this.options.attributesGroupName){const e=Object.keys(t[i]),r=e.length;for(let o=0;o<r;o++)n+=this.buildAttrPairStr(e[o],""+t[i][e[o]])}else r+=this.processTextOrObjNode(t[i],i,e);return{attrStr:n,val:r}},J.prototype.buildAttrPairStr=function(t,e){return e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e),this.options.suppressBooleanAttributes&&"true"===e?" "+t:" "+t+'="'+e+'"'},J.prototype.buildObjectNode=function(t,e,n,r){if(""===t)return"?"===e[0]?this.indentate(r)+"<"+e+n+"?"+this.tagEndChar:this.indentate(r)+"<"+e+n+this.closeTag(e)+this.tagEndChar;{let i="</"+e+this.tagEndChar,o="";return"?"===e[0]&&(o="?",i=""),!n&&""!==n||-1!==t.indexOf("<")?!1!==this.options.commentPropName&&e===this.options.commentPropName&&0===o.length?this.indentate(r)+`\x3c!--${t}--\x3e`+this.newLine:this.indentate(r)+"<"+e+n+o+this.tagEndChar+t+this.indentate(r)+i:this.indentate(r)+"<"+e+n+o+">"+t+i}},J.prototype.closeTag=function(t){let e="";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e="/"):e=this.options.suppressEmptyNode?"/":`></${t}`,e},J.prototype.buildTextValNode=function(t,e,n,r){if(!1!==this.options.cdataPropName&&e===this.options.cdataPropName)return this.indentate(r)+`<![CDATA[${t}]]>`+this.newLine;if(!1!==this.options.commentPropName&&e===this.options.commentPropName)return this.indentate(r)+`\x3c!--${t}--\x3e`+this.newLine;if("?"===e[0])return this.indentate(r)+"<"+e+n+"?"+this.tagEndChar;{let i=this.options.tagValueProcessor(e,t);return i=this.replaceEntitiesValue(i),""===i?this.indentate(r)+"<"+e+n+this.closeTag(e)+this.tagEndChar:this.indentate(r)+"<"+e+n+">"+i+"</"+e+this.tagEndChar}},J.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(let e=0;e<this.options.entities.length;e++){const n=this.options.entities[e];t=t.replace(n.regex,n.val)}return t}},59050:function(t,e,n){"use strict";n.r(e),n.d(e,{VERSION:function(){return i},after:function(){return Ie},all:function(){return tn},allKeys:function(){return gt},any:function(){return en},assign:function(){return It},before:function(){return Re},bind:function(){return _e},bindAll:function(){return Ee},chain:function(){return ye},chunk:function(){return Un},clone:function(){return Ut},collect:function(){return Ye},compact:function(){return Nn},compose:function(){return Le},constant:function(){return X},contains:function(){return nn},countBy:function(){return vn},create:function(){return Bt},debounce:function(){return Oe},default:function(){return qn},defaults:function(){return Rt},defer:function(){return ke},delay:function(){return Ne},detect:function(){return Ve},difference:function(){return Pn},drop:function(){return En},each:function(){return Ke},escape:function(){return se},every:function(){return tn},extend:function(){return Lt},extendOwn:function(){return It},filter:function(){return Xe},find:function(){return Ve},findIndex:function(){return Me},findKey:function(){return Be},findLastIndex:function(){return De},findWhere:function(){return Ze},first:function(){return Cn},flatten:function(){return kn},foldl:function(){return We},foldr:function(){return Je},forEach:function(){return Ke},functions:function(){return St},get:function(){return qt},groupBy:function(){return mn},has:function(){return Ht},head:function(){return Cn},identity:function(){return Vt},include:function(){return nn},includes:function(){return nn},indexBy:function(){return gn},indexOf:function(){return qe},initial:function(){return An},inject:function(){return We},intersection:function(){return Ln},invert:function(){return Ot},invoke:function(){return rn},isArguments:function(){return G},isArray:function(){return Z},isArrayBuffer:function(){return B},isBoolean:function(){return k},isDataView:function(){return V},isDate:function(){return L},isElement:function(){return P},isEmpty:function(){return ut},isEqual:function(){return mt},isError:function(){return R},isFinite:function(){return W},isFunction:function(){return D},isMap:function(){return Ct},isMatch:function(){return ct},isNaN:function(){return J},isNull:function(){return j},isNumber:function(){return T},isObject:function(){return E},isRegExp:function(){return I},isSet:function(){return jt},isString:function(){return S},isSymbol:function(){return F},isTypedArray:function(){return it},isUndefined:function(){return N},isWeakMap:function(){return Et},isWeakSet:function(){return Nt},iteratee:function(){return Wt},keys:function(){return at},last:function(){return jn},lastIndexOf:function(){return He},map:function(){return Ye},mapObject:function(){return Xt},matcher:function(){return Zt},matches:function(){return Zt},max:function(){return an},memoize:function(){return je},methods:function(){return St},min:function(){return un},mixin:function(){return Dn},negate:function(){return Te},noop:function(){return Qt},now:function(){return re},object:function(){return Fn},omit:function(){return _n},once:function(){return Fe},pairs:function(){return Pt},partial:function(){return xe},partition:function(){return yn},pick:function(){return xn},pluck:function(){return on},property:function(){return Kt},propertyOf:function(){return te},random:function(){return ne},range:function(){return Bn},reduce:function(){return We},reduceRight:function(){return Je},reject:function(){return Qe},rest:function(){return En},restArguments:function(){return C},result:function(){return me},sample:function(){return fn},select:function(){return Xe},shuffle:function(){return dn},size:function(){return bn},some:function(){return en},sortBy:function(){return hn},sortedIndex:function(){return $e},tail:function(){return En},take:function(){return Cn},tap:function(){return Mt},template:function(){return pe},templateSettings:function(){return ue},throttle:function(){return Pe},times:function(){return ee},toArray:function(){return ln},toPath:function(){return Dt},transpose:function(){return In},unescape:function(){return ae},union:function(){return Tn},uniq:function(){return Sn},unique:function(){return Sn},uniqueId:function(){return ve},unzip:function(){return In},values:function(){return kt},where:function(){return sn},without:function(){return On},wrap:function(){return Se},zip:function(){return Rn}});var r={};n.r(r),n.d(r,{VERSION:function(){return i},after:function(){return Ie},all:function(){return tn},allKeys:function(){return gt},any:function(){return en},assign:function(){return It},before:function(){return Re},bind:function(){return _e},bindAll:function(){return Ee},chain:function(){return ye},chunk:function(){return Un},clone:function(){return Ut},collect:function(){return Ye},compact:function(){return Nn},compose:function(){return Le},constant:function(){return X},contains:function(){return nn},countBy:function(){return vn},create:function(){return Bt},debounce:function(){return Oe},default:function(){return $n},defaults:function(){return Rt},defer:function(){return ke},delay:function(){return Ne},detect:function(){return Ve},difference:function(){return Pn},drop:function(){return En},each:function(){return Ke},escape:function(){return se},every:function(){return tn},extend:function(){return Lt},extendOwn:function(){return It},filter:function(){return Xe},find:function(){return Ve},findIndex:function(){return Me},findKey:function(){return Be},findLastIndex:function(){return De},findWhere:function(){return Ze},first:function(){return Cn},flatten:function(){return kn},foldl:function(){return We},foldr:function(){return Je},forEach:function(){return Ke},functions:function(){return St},get:function(){return qt},groupBy:function(){return mn},has:function(){return Ht},head:function(){return Cn},identity:function(){return Vt},include:function(){return nn},includes:function(){return nn},indexBy:function(){return gn},indexOf:function(){return qe},initial:function(){return An},inject:function(){return We},intersection:function(){return Ln},invert:function(){return Ot},invoke:function(){return rn},isArguments:function(){return G},isArray:function(){return Z},isArrayBuffer:function(){return B},isBoolean:function(){return k},isDataView:function(){return V},isDate:function(){return L},isElement:function(){return P},isEmpty:function(){return ut},isEqual:function(){return mt},isError:function(){return R},isFinite:function(){return W},isFunction:function(){return D},isMap:function(){return Ct},isMatch:function(){return ct},isNaN:function(){return J},isNull:function(){return j},isNumber:function(){return T},isObject:function(){return E},isRegExp:function(){return I},isSet:function(){return jt},isString:function(){return S},isSymbol:function(){return F},isTypedArray:function(){return it},isUndefined:function(){return N},isWeakMap:function(){return Et},isWeakSet:function(){return Nt},iteratee:function(){return Wt},keys:function(){return at},last:function(){return jn},lastIndexOf:function(){return He},map:function(){return Ye},mapObject:function(){return Xt},matcher:function(){return Zt},matches:function(){return Zt},max:function(){return an},memoize:function(){return je},methods:function(){return St},min:function(){return un},mixin:function(){return Dn},negate:function(){return Te},noop:function(){return Qt},now:function(){return re},object:function(){return Fn},omit:function(){return _n},once:function(){return Fe},pairs:function(){return Pt},partial:function(){return xe},partition:function(){return yn},pick:function(){return xn},pluck:function(){return on},property:function(){return Kt},propertyOf:function(){return te},random:function(){return ne},range:function(){return Bn},reduce:function(){return We},reduceRight:function(){return Je},reject:function(){return Qe},rest:function(){return En},restArguments:function(){return C},result:function(){return me},sample:function(){return fn},select:function(){return Xe},shuffle:function(){return dn},size:function(){return bn},some:function(){return en},sortBy:function(){return hn},sortedIndex:function(){return $e},tail:function(){return En},take:function(){return Cn},tap:function(){return Mt},template:function(){return pe},templateSettings:function(){return ue},throttle:function(){return Pe},times:function(){return ee},toArray:function(){return ln},toPath:function(){return Dt},transpose:function(){return In},unescape:function(){return ae},union:function(){return Tn},uniq:function(){return Sn},unique:function(){return Sn},uniqueId:function(){return ve},unzip:function(){return In},values:function(){return kt},where:function(){return sn},without:function(){return On},wrap:function(){return Se},zip:function(){return Rn}});var i="1.13.6",o="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},s=Array.prototype,a=Object.prototype,u="undefined"!=typeof Symbol?Symbol.prototype:null,c=s.push,l=s.slice,f=a.toString,d=a.hasOwnProperty,h="undefined"!=typeof ArrayBuffer,p="undefined"!=typeof DataView,m=Array.isArray,g=Object.keys,v=Object.create,y=h&&ArrayBuffer.isView,b=isNaN,w=isFinite,x=!{toString:null}.propertyIsEnumerable("toString"),_=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],A=Math.pow(2,53)-1;function C(t,e){return e=null==e?t.length-1:+e,function(){for(var n=Math.max(arguments.length-e,0),r=Array(n),i=0;i<n;i++)r[i]=arguments[i+e];switch(e){case 0:return t.call(this,r);case 1:return t.call(this,arguments[0],r);case 2:return t.call(this,arguments[0],arguments[1],r)}var o=Array(e+1);for(i=0;i<e;i++)o[i]=arguments[i];return o[e]=r,t.apply(this,o)}}function E(t){var e=typeof t;return"function"===e||"object"===e&&!!t}function j(t){return null===t}function N(t){return void 0===t}function k(t){return!0===t||!1===t||"[object Boolean]"===f.call(t)}function P(t){return!(!t||1!==t.nodeType)}function O(t){var e="[object "+t+"]";return function(t){return f.call(t)===e}}var S=O("String"),T=O("Number"),L=O("Date"),I=O("RegExp"),R=O("Error"),F=O("Symbol"),B=O("ArrayBuffer"),U=O("Function"),M=o.document&&o.document.childNodes;"object"!=typeof Int8Array&&"function"!=typeof M&&(U=function(t){return"function"==typeof t||!1});var D=U,$=O("Object"),z=p&&$(new DataView(new ArrayBuffer(8))),q="undefined"!=typeof Map&&$(new Map),H=O("DataView"),V=z?function(t){return null!=t&&D(t.getInt8)&&B(t.buffer)}:H,Z=m||O("Array");function K(t,e){return null!=t&&d.call(t,e)}var Y=O("Arguments");!function(){Y(arguments)||(Y=function(t){return K(t,"callee")})}();var G=Y;function W(t){return!F(t)&&w(t)&&!isNaN(parseFloat(t))}function J(t){return T(t)&&b(t)}function X(t){return function(){return t}}function Q(t){return function(e){var n=t(e);return"number"==typeof n&&n>=0&&n<=A}}function tt(t){return function(e){return null==e?void 0:e[t]}}var et=tt("byteLength"),nt=Q(et),rt=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/,it=h?function(t){return y?y(t)&&!V(t):nt(t)&&rt.test(f.call(t))}:X(!1),ot=tt("length");function st(t,e){e=function(t){for(var e={},n=t.length,r=0;r<n;++r)e[t[r]]=!0;return{contains:function(t){return!0===e[t]},push:function(n){return e[n]=!0,t.push(n)}}}(e);var n=_.length,r=t.constructor,i=D(r)&&r.prototype||a,o="constructor";for(K(t,o)&&!e.contains(o)&&e.push(o);n--;)(o=_[n])in t&&t[o]!==i[o]&&!e.contains(o)&&e.push(o)}function at(t){if(!E(t))return[];if(g)return g(t);var e=[];for(var n in t)K(t,n)&&e.push(n);return x&&st(t,e),e}function ut(t){if(null==t)return!0;var e=ot(t);return"number"==typeof e&&(Z(t)||S(t)||G(t))?0===e:0===ot(at(t))}function ct(t,e){var n=at(e),r=n.length;if(null==t)return!r;for(var i=Object(t),o=0;o<r;o++){var s=n[o];if(e[s]!==i[s]||!(s in i))return!1}return!0}function lt(t){return t instanceof lt?t:this instanceof lt?void(this._wrapped=t):new lt(t)}function ft(t){return new Uint8Array(t.buffer||t,t.byteOffset||0,et(t))}lt.VERSION=i,lt.prototype.value=function(){return this._wrapped},lt.prototype.valueOf=lt.prototype.toJSON=lt.prototype.value,lt.prototype.toString=function(){return String(this._wrapped)};var dt="[object DataView]";function ht(t,e,n,r){if(t===e)return 0!==t||1/t==1/e;if(null==t||null==e)return!1;if(t!=t)return e!=e;var i=typeof t;return("function"===i||"object"===i||"object"==typeof e)&&pt(t,e,n,r)}function pt(t,e,n,r){t instanceof lt&&(t=t._wrapped),e instanceof lt&&(e=e._wrapped);var i=f.call(t);if(i!==f.call(e))return!1;if(z&&"[object Object]"==i&&V(t)){if(!V(e))return!1;i=dt}switch(i){case"[object RegExp]":case"[object String]":return""+t==""+e;case"[object Number]":return+t!=+t?+e!=+e:0==+t?1/+t==1/e:+t==+e;case"[object Date]":case"[object Boolean]":return+t==+e;case"[object Symbol]":return u.valueOf.call(t)===u.valueOf.call(e);case"[object ArrayBuffer]":case dt:return pt(ft(t),ft(e),n,r)}var o="[object Array]"===i;if(!o&&it(t)){if(et(t)!==et(e))return!1;if(t.buffer===e.buffer&&t.byteOffset===e.byteOffset)return!0;o=!0}if(!o){if("object"!=typeof t||"object"!=typeof e)return!1;var s=t.constructor,a=e.constructor;if(s!==a&&!(D(s)&&s instanceof s&&D(a)&&a instanceof a)&&"constructor"in t&&"constructor"in e)return!1}r=r||[];for(var c=(n=n||[]).length;c--;)if(n[c]===t)return r[c]===e;if(n.push(t),r.push(e),o){if((c=t.length)!==e.length)return!1;for(;c--;)if(!ht(t[c],e[c],n,r))return!1}else{var l,d=at(t);if(c=d.length,at(e).length!==c)return!1;for(;c--;)if(!K(e,l=d[c])||!ht(t[l],e[l],n,r))return!1}return n.pop(),r.pop(),!0}function mt(t,e){return ht(t,e)}function gt(t){if(!E(t))return[];var e=[];for(var n in t)e.push(n);return x&&st(t,e),e}function vt(t){var e=ot(t);return function(n){if(null==n)return!1;var r=gt(n);if(ot(r))return!1;for(var i=0;i<e;i++)if(!D(n[t[i]]))return!1;return t!==_t||!D(n[yt])}}var yt="forEach",bt=["clear","delete"],wt=["get","has","set"],xt=bt.concat(yt,wt),_t=bt.concat(wt),At=["add"].concat(bt,yt,"has"),Ct=q?vt(xt):O("Map"),Et=q?vt(_t):O("WeakMap"),jt=q?vt(At):O("Set"),Nt=O("WeakSet");function kt(t){for(var e=at(t),n=e.length,r=Array(n),i=0;i<n;i++)r[i]=t[e[i]];return r}function Pt(t){for(var e=at(t),n=e.length,r=Array(n),i=0;i<n;i++)r[i]=[e[i],t[e[i]]];return r}function Ot(t){for(var e={},n=at(t),r=0,i=n.length;r<i;r++)e[t[n[r]]]=n[r];return e}function St(t){var e=[];for(var n in t)D(t[n])&&e.push(n);return e.sort()}function Tt(t,e){return function(n){var r=arguments.length;if(e&&(n=Object(n)),r<2||null==n)return n;for(var i=1;i<r;i++)for(var o=arguments[i],s=t(o),a=s.length,u=0;u<a;u++){var c=s[u];e&&void 0!==n[c]||(n[c]=o[c])}return n}}var Lt=Tt(gt),It=Tt(at),Rt=Tt(gt,!0);function Ft(t){if(!E(t))return{};if(v)return v(t);var e=function(){};e.prototype=t;var n=new e;return e.prototype=null,n}function Bt(t,e){var n=Ft(t);return e&&It(n,e),n}function Ut(t){return E(t)?Z(t)?t.slice():Lt({},t):t}function Mt(t,e){return e(t),t}function Dt(t){return Z(t)?t:[t]}function $t(t){return lt.toPath(t)}function zt(t,e){for(var n=e.length,r=0;r<n;r++){if(null==t)return;t=t[e[r]]}return n?t:void 0}function qt(t,e,n){var r=zt(t,$t(e));return N(r)?n:r}function Ht(t,e){for(var n=(e=$t(e)).length,r=0;r<n;r++){var i=e[r];if(!K(t,i))return!1;t=t[i]}return!!n}function Vt(t){return t}function Zt(t){return t=It({},t),function(e){return ct(e,t)}}function Kt(t){return t=$t(t),function(e){return zt(e,t)}}function Yt(t,e,n){if(void 0===e)return t;switch(null==n?3:n){case 1:return function(n){return t.call(e,n)};case 3:return function(n,r,i){return t.call(e,n,r,i)};case 4:return function(n,r,i,o){return t.call(e,n,r,i,o)}}return function(){return t.apply(e,arguments)}}function Gt(t,e,n){return null==t?Vt:D(t)?Yt(t,e,n):E(t)&&!Z(t)?Zt(t):Kt(t)}function Wt(t,e){return Gt(t,e,1/0)}function Jt(t,e,n){return lt.iteratee!==Wt?lt.iteratee(t,e):Gt(t,e,n)}function Xt(t,e,n){e=Jt(e,n);for(var r=at(t),i=r.length,o={},s=0;s<i;s++){var a=r[s];o[a]=e(t[a],a,t)}return o}function Qt(){}function te(t){return null==t?Qt:function(e){return qt(t,e)}}function ee(t,e,n){var r=Array(Math.max(0,t));e=Yt(e,n,1);for(var i=0;i<t;i++)r[i]=e(i);return r}function ne(t,e){return null==e&&(e=t,t=0),t+Math.floor(Math.random()*(e-t+1))}lt.toPath=Dt,lt.iteratee=Wt;var re=Date.now||function(){return(new Date).getTime()};function ie(t){var e=function(e){return t[e]},n="(?:"+at(t).join("|")+")",r=RegExp(n),i=RegExp(n,"g");return function(t){return t=null==t?"":""+t,r.test(t)?t.replace(i,e):t}}var oe={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},se=ie(oe),ae=ie(Ot(oe)),ue=lt.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},ce=/(.)^/,le={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},fe=/\\|'|\r|\n|\u2028|\u2029/g;function de(t){return"\\"+le[t]}var he=/^\s*(\w|\$)+\s*$/;function pe(t,e,n){!e&&n&&(e=n),e=Rt({},e,lt.templateSettings);var r=RegExp([(e.escape||ce).source,(e.interpolate||ce).source,(e.evaluate||ce).source].join("|")+"|$","g"),i=0,o="__p+='";t.replace(r,(function(e,n,r,s,a){return o+=t.slice(i,a).replace(fe,de),i=a+e.length,n?o+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'":r?o+="'+\n((__t=("+r+"))==null?'':__t)+\n'":s&&(o+="';\n"+s+"\n__p+='"),e})),o+="';\n";var s,a=e.variable;if(a){if(!he.test(a))throw new Error("variable is not a bare identifier: "+a)}else o="with(obj||{}){\n"+o+"}\n",a="obj";o="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+o+"return __p;\n";try{s=new Function(a,"_",o)}catch(t){throw t.source=o,t}var u=function(t){return s.call(this,t,lt)};return u.source="function("+a+"){\n"+o+"}",u}function me(t,e,n){var r=(e=$t(e)).length;if(!r)return D(n)?n.call(t):n;for(var i=0;i<r;i++){var o=null==t?void 0:t[e[i]];void 0===o&&(o=n,i=r),t=D(o)?o.call(t):o}return t}var ge=0;function ve(t){var e=++ge+"";return t?t+e:e}function ye(t){var e=lt(t);return e._chain=!0,e}function be(t,e,n,r,i){if(!(r instanceof e))return t.apply(n,i);var o=Ft(t.prototype),s=t.apply(o,i);return E(s)?s:o}var we=C((function(t,e){var n=we.placeholder,r=function(){for(var i=0,o=e.length,s=Array(o),a=0;a<o;a++)s[a]=e[a]===n?arguments[i++]:e[a];for(;i<arguments.length;)s.push(arguments[i++]);return be(t,r,this,this,s)};return r}));we.placeholder=lt;var xe=we,_e=C((function(t,e,n){if(!D(t))throw new TypeError("Bind must be called on a function");var r=C((function(i){return be(t,r,e,this,n.concat(i))}));return r})),Ae=Q(ot);function Ce(t,e,n,r){if(r=r||[],e||0===e){if(e<=0)return r.concat(t)}else e=1/0;for(var i=r.length,o=0,s=ot(t);o<s;o++){var a=t[o];if(Ae(a)&&(Z(a)||G(a)))if(e>1)Ce(a,e-1,n,r),i=r.length;else for(var u=0,c=a.length;u<c;)r[i++]=a[u++];else n||(r[i++]=a)}return r}var Ee=C((function(t,e){var n=(e=Ce(e,!1,!1)).length;if(n<1)throw new Error("bindAll must be passed function names");for(;n--;){var r=e[n];t[r]=_e(t[r],t)}return t}));function je(t,e){var n=function(r){var i=n.cache,o=""+(e?e.apply(this,arguments):r);return K(i,o)||(i[o]=t.apply(this,arguments)),i[o]};return n.cache={},n}var Ne=C((function(t,e,n){return setTimeout((function(){return t.apply(null,n)}),e)})),ke=xe(Ne,lt,1);function Pe(t,e,n){var r,i,o,s,a=0;n||(n={});var u=function(){a=!1===n.leading?0:re(),r=null,s=t.apply(i,o),r||(i=o=null)},c=function(){var c=re();a||!1!==n.leading||(a=c);var l=e-(c-a);return i=this,o=arguments,l<=0||l>e?(r&&(clearTimeout(r),r=null),a=c,s=t.apply(i,o),r||(i=o=null)):r||!1===n.trailing||(r=setTimeout(u,l)),s};return c.cancel=function(){clearTimeout(r),a=0,r=i=o=null},c}function Oe(t,e,n){var r,i,o,s,a,u=function(){var c=re()-i;e>c?r=setTimeout(u,e-c):(r=null,n||(s=t.apply(a,o)),r||(o=a=null))},c=C((function(c){return a=this,o=c,i=re(),r||(r=setTimeout(u,e),n&&(s=t.apply(a,o))),s}));return c.cancel=function(){clearTimeout(r),r=o=a=null},c}function Se(t,e){return xe(e,t)}function Te(t){return function(){return!t.apply(this,arguments)}}function Le(){var t=arguments,e=t.length-1;return function(){for(var n=e,r=t[e].apply(this,arguments);n--;)r=t[n].call(this,r);return r}}function Ie(t,e){return function(){if(--t<1)return e.apply(this,arguments)}}function Re(t,e){var n;return function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=null),n}}var Fe=xe(Re,2);function Be(t,e,n){e=Jt(e,n);for(var r,i=at(t),o=0,s=i.length;o<s;o++)if(e(t[r=i[o]],r,t))return r}function Ue(t){return function(e,n,r){n=Jt(n,r);for(var i=ot(e),o=t>0?0:i-1;o>=0&&o<i;o+=t)if(n(e[o],o,e))return o;return-1}}var Me=Ue(1),De=Ue(-1);function $e(t,e,n,r){for(var i=(n=Jt(n,r,1))(e),o=0,s=ot(t);o<s;){var a=Math.floor((o+s)/2);n(t[a])<i?o=a+1:s=a}return o}function ze(t,e,n){return function(r,i,o){var s=0,a=ot(r);if("number"==typeof o)t>0?s=o>=0?o:Math.max(o+a,s):a=o>=0?Math.min(o+1,a):o+a+1;else if(n&&o&&a)return r[o=n(r,i)]===i?o:-1;if(i!=i)return(o=e(l.call(r,s,a),J))>=0?o+s:-1;for(o=t>0?s:a-1;o>=0&&o<a;o+=t)if(r[o]===i)return o;return-1}}var qe=ze(1,Me,$e),He=ze(-1,De);function Ve(t,e,n){var r=(Ae(t)?Me:Be)(t,e,n);if(void 0!==r&&-1!==r)return t[r]}function Ze(t,e){return Ve(t,Zt(e))}function Ke(t,e,n){var r,i;if(e=Yt(e,n),Ae(t))for(r=0,i=t.length;r<i;r++)e(t[r],r,t);else{var o=at(t);for(r=0,i=o.length;r<i;r++)e(t[o[r]],o[r],t)}return t}function Ye(t,e,n){e=Jt(e,n);for(var r=!Ae(t)&&at(t),i=(r||t).length,o=Array(i),s=0;s<i;s++){var a=r?r[s]:s;o[s]=e(t[a],a,t)}return o}function Ge(t){return function(e,n,r,i){var o=arguments.length>=3;return function(e,n,r,i){var o=!Ae(e)&&at(e),s=(o||e).length,a=t>0?0:s-1;for(i||(r=e[o?o[a]:a],a+=t);a>=0&&a<s;a+=t){var u=o?o[a]:a;r=n(r,e[u],u,e)}return r}(e,Yt(n,i,4),r,o)}}var We=Ge(1),Je=Ge(-1);function Xe(t,e,n){var r=[];return e=Jt(e,n),Ke(t,(function(t,n,i){e(t,n,i)&&r.push(t)})),r}function Qe(t,e,n){return Xe(t,Te(Jt(e)),n)}function tn(t,e,n){e=Jt(e,n);for(var r=!Ae(t)&&at(t),i=(r||t).length,o=0;o<i;o++){var s=r?r[o]:o;if(!e(t[s],s,t))return!1}return!0}function en(t,e,n){e=Jt(e,n);for(var r=!Ae(t)&&at(t),i=(r||t).length,o=0;o<i;o++){var s=r?r[o]:o;if(e(t[s],s,t))return!0}return!1}function nn(t,e,n,r){return Ae(t)||(t=kt(t)),("number"!=typeof n||r)&&(n=0),qe(t,e,n)>=0}var rn=C((function(t,e,n){var r,i;return D(e)?i=e:(e=$t(e),r=e.slice(0,-1),e=e[e.length-1]),Ye(t,(function(t){var o=i;if(!o){if(r&&r.length&&(t=zt(t,r)),null==t)return;o=t[e]}return null==o?o:o.apply(t,n)}))}));function on(t,e){return Ye(t,Kt(e))}function sn(t,e){return Xe(t,Zt(e))}function an(t,e,n){var r,i,o=-1/0,s=-1/0;if(null==e||"number"==typeof e&&"object"!=typeof t[0]&&null!=t)for(var a=0,u=(t=Ae(t)?t:kt(t)).length;a<u;a++)null!=(r=t[a])&&r>o&&(o=r);else e=Jt(e,n),Ke(t,(function(t,n,r){((i=e(t,n,r))>s||i===-1/0&&o===-1/0)&&(o=t,s=i)}));return o}function un(t,e,n){var r,i,o=1/0,s=1/0;if(null==e||"number"==typeof e&&"object"!=typeof t[0]&&null!=t)for(var a=0,u=(t=Ae(t)?t:kt(t)).length;a<u;a++)null!=(r=t[a])&&r<o&&(o=r);else e=Jt(e,n),Ke(t,(function(t,n,r){((i=e(t,n,r))<s||i===1/0&&o===1/0)&&(o=t,s=i)}));return o}var cn=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function ln(t){return t?Z(t)?l.call(t):S(t)?t.match(cn):Ae(t)?Ye(t,Vt):kt(t):[]}function fn(t,e,n){if(null==e||n)return Ae(t)||(t=kt(t)),t[ne(t.length-1)];var r=ln(t),i=ot(r);e=Math.max(Math.min(e,i),0);for(var o=i-1,s=0;s<e;s++){var a=ne(s,o),u=r[s];r[s]=r[a],r[a]=u}return r.slice(0,e)}function dn(t){return fn(t,1/0)}function hn(t,e,n){var r=0;return e=Jt(e,n),on(Ye(t,(function(t,n,i){return{value:t,index:r++,criteria:e(t,n,i)}})).sort((function(t,e){var n=t.criteria,r=e.criteria;if(n!==r){if(n>r||void 0===n)return 1;if(n<r||void 0===r)return-1}return t.index-e.index})),"value")}function pn(t,e){return function(n,r,i){var o=e?[[],[]]:{};return r=Jt(r,i),Ke(n,(function(e,i){var s=r(e,i,n);t(o,e,s)})),o}}var mn=pn((function(t,e,n){K(t,n)?t[n].push(e):t[n]=[e]})),gn=pn((function(t,e,n){t[n]=e})),vn=pn((function(t,e,n){K(t,n)?t[n]++:t[n]=1})),yn=pn((function(t,e,n){t[n?0:1].push(e)}),!0);function bn(t){return null==t?0:Ae(t)?t.length:at(t).length}function wn(t,e,n){return e in n}var xn=C((function(t,e){var n={},r=e[0];if(null==t)return n;D(r)?(e.length>1&&(r=Yt(r,e[1])),e=gt(t)):(r=wn,e=Ce(e,!1,!1),t=Object(t));for(var i=0,o=e.length;i<o;i++){var s=e[i],a=t[s];r(a,s,t)&&(n[s]=a)}return n})),_n=C((function(t,e){var n,r=e[0];return D(r)?(r=Te(r),e.length>1&&(n=e[1])):(e=Ye(Ce(e,!1,!1),String),r=function(t,n){return!nn(e,n)}),xn(t,r,n)}));function An(t,e,n){return l.call(t,0,Math.max(0,t.length-(null==e||n?1:e)))}function Cn(t,e,n){return null==t||t.length<1?null==e||n?void 0:[]:null==e||n?t[0]:An(t,t.length-e)}function En(t,e,n){return l.call(t,null==e||n?1:e)}function jn(t,e,n){return null==t||t.length<1?null==e||n?void 0:[]:null==e||n?t[t.length-1]:En(t,Math.max(0,t.length-e))}function Nn(t){return Xe(t,Boolean)}function kn(t,e){return Ce(t,e,!1)}var Pn=C((function(t,e){return e=Ce(e,!0,!0),Xe(t,(function(t){return!nn(e,t)}))})),On=C((function(t,e){return Pn(t,e)}));function Sn(t,e,n,r){k(e)||(r=n,n=e,e=!1),null!=n&&(n=Jt(n,r));for(var i=[],o=[],s=0,a=ot(t);s<a;s++){var u=t[s],c=n?n(u,s,t):u;e&&!n?(s&&o===c||i.push(u),o=c):n?nn(o,c)||(o.push(c),i.push(u)):nn(i,u)||i.push(u)}return i}var Tn=C((function(t){return Sn(Ce(t,!0,!0))}));function Ln(t){for(var e=[],n=arguments.length,r=0,i=ot(t);r<i;r++){var o=t[r];if(!nn(e,o)){var s;for(s=1;s<n&&nn(arguments[s],o);s++);s===n&&e.push(o)}}return e}function In(t){for(var e=t&&an(t,ot).length||0,n=Array(e),r=0;r<e;r++)n[r]=on(t,r);return n}var Rn=C(In);function Fn(t,e){for(var n={},r=0,i=ot(t);r<i;r++)e?n[t[r]]=e[r]:n[t[r][0]]=t[r][1];return n}function Bn(t,e,n){null==e&&(e=t||0,t=0),n||(n=e<t?-1:1);for(var r=Math.max(Math.ceil((e-t)/n),0),i=Array(r),o=0;o<r;o++,t+=n)i[o]=t;return i}function Un(t,e){if(null==e||e<1)return[];for(var n=[],r=0,i=t.length;r<i;)n.push(l.call(t,r,r+=e));return n}function Mn(t,e){return t._chain?lt(e).chain():e}function Dn(t){return Ke(St(t),(function(e){var n=lt[e]=t[e];lt.prototype[e]=function(){var t=[this._wrapped];return c.apply(t,arguments),Mn(this,n.apply(lt,t))}})),lt}Ke(["pop","push","reverse","shift","sort","splice","unshift"],(function(t){var e=s[t];lt.prototype[t]=function(){var n=this._wrapped;return null!=n&&(e.apply(n,arguments),"shift"!==t&&"splice"!==t||0!==n.length||delete n[0]),Mn(this,n)}})),Ke(["concat","join","slice"],(function(t){var e=s[t];lt.prototype[t]=function(){var t=this._wrapped;return null!=t&&(t=e.apply(t,arguments)),Mn(this,t)}}));var $n=lt,zn=Dn(r);zn._=zn;var qn=zn}},s={};function a(t){var e=s[t];if(void 0!==e)return e.exports;var n=s[t]={id:t,loaded:!1,exports:{}};return o[t].call(n.exports,n,n.exports,a),n.loaded=!0,n.exports}a.m=o,e=[],a.O=function(t,n,r,i){if(!n){var o=1/0;for(l=0;l<e.length;l++){n=e[l][0],r=e[l][1],i=e[l][2];for(var s=!0,u=0;u<n.length;u++)(!1&i||o>=i)&&Object.keys(a.O).every((function(t){return a.O[t](n[u])}))?n.splice(u--,1):(s=!1,i<o&&(o=i));if(s){e.splice(l--,1);var c=r();void 0!==c&&(t=c)}}return t}i=i||0;for(var l=e.length;l>0&&e[l-1][2]>i;l--)e[l]=e[l-1];e[l]=[n,r,i]},a.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return a.d(e,{a:e}),e},a.d=function(t,e){for(var n in e)a.o(e,n)&&!a.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},a.f={},a.e=function(t){return Promise.all(Object.keys(a.f).reduce((function(e,n){return a.f[n](t,e),e}),[]))},a.u=function(t){return t+"-"+t+".js?v="+{2250:"9c98ca37abd9ee1927b3",7996:"39e55a09e2da8534cf16"}[t]},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r={},i="nextcloud:",a.l=function(t,e,n,o){if(r[t])r[t].push(e);else{var s,u;if(void 0!==n)for(var c=document.getElementsByTagName("script"),l=0;l<c.length;l++){var f=c[l];if(f.getAttribute("src")==t||f.getAttribute("data-webpack")==i+n){s=f;break}}s||(u=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,a.nc&&s.setAttribute("nonce",a.nc),s.setAttribute("data-webpack",i+n),s.src=t),r[t]=[e];var d=function(e,n){s.onerror=s.onload=null,clearTimeout(h);var i=r[t];if(delete r[t],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((function(t){return t(n)})),e)return e(n)},h=setTimeout(d.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=d.bind(null,s.onerror),s.onload=d.bind(null,s.onload),u&&document.head.appendChild(s)}},a.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t},a.j=4577,function(){var t;a.g.importScripts&&(t=a.g.location+"");var e=a.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");if(n.length)for(var r=n.length-1;r>-1&&!t;)t=n[r--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=t}(),function(){a.b=document.baseURI||self.location.href;var t={4577:0};a.f.j=function(e,n){var r=a.o(t,e)?t[e]:void 0;if(0!==r)if(r)n.push(r[2]);else{var i=new Promise((function(n,i){r=t[e]=[n,i]}));n.push(r[2]=i);var o=a.p+a.u(e),s=new Error;a.l(o,(function(n){if(a.o(t,e)&&(0!==(r=t[e])&&(t[e]=void 0),r)){var i=n&&("load"===n.type?"missing":n.type),o=n&&n.target&&n.target.src;s.message="Loading chunk "+e+" failed.\n("+i+": "+o+")",s.name="ChunkLoadError",s.type=i,s.request=o,r[1](s)}}),"chunk-"+e,e)}},a.O.j=function(e){return 0===t[e]};var e=function(e,n){var r,i,o=n[0],s=n[1],u=n[2],c=0;if(o.some((function(e){return 0!==t[e]}))){for(r in s)a.o(s,r)&&(a.m[r]=s[r]);if(u)var l=u(a)}for(e&&e(n);c<o.length;c++)i=o[c],a.o(t,i)&&t[i]&&t[i][0](),t[i]=0;return a.O(l)},n=self.webpackChunknextcloud=self.webpackChunknextcloud||[];n.forEach(e.bind(null,0)),n.push=e.bind(null,n.push.bind(n))}(),a.nc=void 0;var u=a.O(void 0,[7874],(function(){return a(2749)}));u=a.O(u)}(); +//# sourceMappingURL=core-login.js.map?v=8561c06b2311ccf155d6
\ No newline at end of file diff --git a/dist/core-login.js.map b/dist/core-login.js.map index 4d2d35101d6..29ddaf65656 100644 --- a/dist/core-login.js.map +++ b/dist/core-login.js.map @@ -1 +1 @@ -{"version":3,"file":"core-login.js?v=90fffeef972f80e7a92c","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/core/src/OC/notification.js","webpack:///nextcloud/core/src/OC/xhr-error.js","webpack:///nextcloud/core/src/OC/apps.js","webpack:///nextcloud/core/src/OCP/appconfig.js","webpack:///nextcloud/core/src/OC/appconfig.js","webpack:///nextcloud/core/src/OC/appswebroots.js","webpack:///nextcloud/core/src/OC/backbone-webdav.js","webpack:///nextcloud/core/src/OC/backbone.js","webpack:///nextcloud/core/src/OC/config.js","webpack:///nextcloud/core/src/OC/currentuser.js","webpack:///nextcloud/core/src/OC/dialogs.js","webpack:///nextcloud/core/src/OC/requesttoken.js","webpack:///nextcloud/core/src/OC/eventsource.js","webpack:///nextcloud/core/src/OC/menu.js","webpack:///nextcloud/core/src/OC/constants.js","webpack:///nextcloud/core/src/OC/admin.js","webpack:///nextcloud/core/src/OC/l10n.js","webpack:///nextcloud/core/src/OC/routing.js","webpack:///nextcloud/core/src/OC/msg.js","webpack:///nextcloud/core/src/OC/password-confirmation.js","webpack:///nextcloud/core/src/OC/theme.js","webpack:///nextcloud/core/src/OC/util-history.js","webpack:///nextcloud/core/src/OC/util.js","webpack:///nextcloud/core/src/OC/debug.js","webpack:///nextcloud/core/src/OC/webroot.js","webpack:///nextcloud/core/src/OC/get_set.js","webpack:///nextcloud/core/src/OC/index.js","webpack:///nextcloud/core/src/OC/capabilities.js","webpack:///nextcloud/core/src/OC/host.js","webpack:///nextcloud/core/src/OC/query-string.js","webpack:///nextcloud/core/src/OC/plugins.js","webpack:///nextcloud/core/src/OC/navigation.js","webpack://nextcloud/./core/src/views/Login.vue?ae59","webpack:///nextcloud/node_modules/decode-uri-component/index.js","webpack:///nextcloud/node_modules/split-on-first/index.js","webpack:///nextcloud/node_modules/query-string/node_modules/filter-obj/index.js","webpack:///nextcloud/node_modules/query-string/base.js","webpack:///nextcloud/node_modules/query-string/index.js","webpack:///nextcloud/core/src/components/login/LoginButton.vue?vue&type=script&lang=js&","webpack:///nextcloud/core/src/components/login/LoginButton.vue","webpack://nextcloud/./core/src/components/login/LoginButton.vue?b703","webpack://nextcloud/./core/src/components/login/LoginButton.vue?14f0","webpack://nextcloud/./core/src/components/login/LoginButton.vue?82aa","webpack:///nextcloud/core/src/components/login/LoginForm.vue?vue&type=script&lang=js&","webpack:///nextcloud/core/src/components/login/LoginForm.vue","webpack://nextcloud/./core/src/components/login/LoginForm.vue?8908","webpack://nextcloud/./core/src/components/login/LoginForm.vue?a678","webpack://nextcloud/./core/src/components/login/LoginForm.vue?4366","webpack:///nextcloud/node_modules/vue-material-design-icons/LockOpen.vue?vue&type=script&lang=js&","webpack:///nextcloud/node_modules/vue-material-design-icons/LockOpen.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/LockOpen.vue?104d","webpack:///nextcloud/node_modules/vue-material-design-icons/LockOpen.vue?vue&type=template&id=043c34a0&","webpack:///nextcloud/core/src/components/login/PasswordLessLoginForm.vue","webpack:///nextcloud/core/src/components/login/PasswordLessLoginForm.vue?vue&type=script&lang=js&","webpack:///nextcloud/core/src/services/WebAuthnAuthenticationService.js","webpack://nextcloud/./core/src/components/login/PasswordLessLoginForm.vue?57f9","webpack://nextcloud/./core/src/components/login/PasswordLessLoginForm.vue?09eb","webpack://nextcloud/./core/src/components/login/PasswordLessLoginForm.vue?16ec","webpack:///nextcloud/core/src/components/login/ResetPassword.vue?vue&type=script&lang=js&","webpack:///nextcloud/core/src/components/login/ResetPassword.vue","webpack://nextcloud/./core/src/components/login/ResetPassword.vue?8d5c","webpack://nextcloud/./core/src/components/login/ResetPassword.vue?9d75","webpack://nextcloud/./core/src/components/login/ResetPassword.vue?7cf3","webpack:///nextcloud/core/src/components/login/UpdatePassword.vue","webpack:///nextcloud/core/src/components/login/UpdatePassword.vue?vue&type=script&lang=js&","webpack://nextcloud/./core/src/components/login/UpdatePassword.vue?4361","webpack://nextcloud/./core/src/components/login/UpdatePassword.vue?30ca","webpack://nextcloud/./core/src/components/login/UpdatePassword.vue?1c8f","webpack:///nextcloud/core/src/views/Login.vue","webpack:///nextcloud/core/src/views/Login.vue?vue&type=script&lang=js&","webpack://nextcloud/./core/src/views/Login.vue?5b7f","webpack://nextcloud/./core/src/views/Login.vue?3468","webpack:///nextcloud/core/src/mixins/Nextcloud.js","webpack:///nextcloud/core/src/login.js","webpack:///nextcloud/node_modules/backbone/backbone.js","webpack:///nextcloud/core/src/components/login/LoginButton.vue?vue&type=style&index=0&id=3fa8511b&prod&lang=scss&scoped=true&","webpack:///nextcloud/core/src/components/login/LoginForm.vue?vue&type=style&index=0&id=0fbfcc31&prod&lang=scss&scoped=true&","webpack:///nextcloud/core/src/components/login/PasswordLessLoginForm.vue?vue&type=style&index=0&id=3ea2fa78&prod&lang=scss&scoped=true&","webpack:///nextcloud/core/src/components/login/ResetPassword.vue?vue&type=style&index=0&id=179b3658&prod&lang=scss&scoped=true&","webpack:///nextcloud/core/src/views/Login.vue?vue&type=style&index=0&id=2148d59c&prod&lang=scss&","webpack:///nextcloud/core/src/components/login/UpdatePassword.vue?vue&type=style&index=0&id=4dc21d74&prod&scoped=true&lang=css&","webpack:///nextcloud/node_modules/davclient.js/lib/client.js","webpack:///nextcloud/node_modules/moment/locale|sync|/^\\.\\/.*$","webpack:///nextcloud/node_modules/@nextcloud/files/dist/index.mjs","webpack:///nextcloud/node_modules/underscore/modules/_setup.js","webpack:///nextcloud/node_modules/underscore/modules/restArguments.js","webpack:///nextcloud/node_modules/underscore/modules/isObject.js","webpack:///nextcloud/node_modules/underscore/modules/isNull.js","webpack:///nextcloud/node_modules/underscore/modules/isUndefined.js","webpack:///nextcloud/node_modules/underscore/modules/isBoolean.js","webpack:///nextcloud/node_modules/underscore/modules/isElement.js","webpack:///nextcloud/node_modules/underscore/modules/_tagTester.js","webpack:///nextcloud/node_modules/underscore/modules/isString.js","webpack:///nextcloud/node_modules/underscore/modules/isNumber.js","webpack:///nextcloud/node_modules/underscore/modules/isDate.js","webpack:///nextcloud/node_modules/underscore/modules/isRegExp.js","webpack:///nextcloud/node_modules/underscore/modules/isError.js","webpack:///nextcloud/node_modules/underscore/modules/isSymbol.js","webpack:///nextcloud/node_modules/underscore/modules/isArrayBuffer.js","webpack:///nextcloud/node_modules/underscore/modules/isFunction.js","webpack:///nextcloud/node_modules/underscore/modules/_hasObjectTag.js","webpack:///nextcloud/node_modules/underscore/modules/_stringTagBug.js","webpack:///nextcloud/node_modules/underscore/modules/isDataView.js","webpack:///nextcloud/node_modules/underscore/modules/isArray.js","webpack:///nextcloud/node_modules/underscore/modules/_has.js","webpack:///nextcloud/node_modules/underscore/modules/isArguments.js","webpack:///nextcloud/node_modules/underscore/modules/isFinite.js","webpack:///nextcloud/node_modules/underscore/modules/isNaN.js","webpack:///nextcloud/node_modules/underscore/modules/constant.js","webpack:///nextcloud/node_modules/underscore/modules/_createSizePropertyCheck.js","webpack:///nextcloud/node_modules/underscore/modules/_shallowProperty.js","webpack:///nextcloud/node_modules/underscore/modules/_getByteLength.js","webpack:///nextcloud/node_modules/underscore/modules/_isBufferLike.js","webpack:///nextcloud/node_modules/underscore/modules/isTypedArray.js","webpack:///nextcloud/node_modules/underscore/modules/_getLength.js","webpack:///nextcloud/node_modules/underscore/modules/_collectNonEnumProps.js","webpack:///nextcloud/node_modules/underscore/modules/keys.js","webpack:///nextcloud/node_modules/underscore/modules/isEmpty.js","webpack:///nextcloud/node_modules/underscore/modules/isMatch.js","webpack:///nextcloud/node_modules/underscore/modules/underscore.js","webpack:///nextcloud/node_modules/underscore/modules/_toBufferView.js","webpack:///nextcloud/node_modules/underscore/modules/isEqual.js","webpack:///nextcloud/node_modules/underscore/modules/allKeys.js","webpack:///nextcloud/node_modules/underscore/modules/_methodFingerprint.js","webpack:///nextcloud/node_modules/underscore/modules/isMap.js","webpack:///nextcloud/node_modules/underscore/modules/isWeakMap.js","webpack:///nextcloud/node_modules/underscore/modules/isSet.js","webpack:///nextcloud/node_modules/underscore/modules/isWeakSet.js","webpack:///nextcloud/node_modules/underscore/modules/values.js","webpack:///nextcloud/node_modules/underscore/modules/pairs.js","webpack:///nextcloud/node_modules/underscore/modules/invert.js","webpack:///nextcloud/node_modules/underscore/modules/functions.js","webpack:///nextcloud/node_modules/underscore/modules/_createAssigner.js","webpack:///nextcloud/node_modules/underscore/modules/extend.js","webpack:///nextcloud/node_modules/underscore/modules/extendOwn.js","webpack:///nextcloud/node_modules/underscore/modules/defaults.js","webpack:///nextcloud/node_modules/underscore/modules/_baseCreate.js","webpack:///nextcloud/node_modules/underscore/modules/create.js","webpack:///nextcloud/node_modules/underscore/modules/clone.js","webpack:///nextcloud/node_modules/underscore/modules/tap.js","webpack:///nextcloud/node_modules/underscore/modules/toPath.js","webpack:///nextcloud/node_modules/underscore/modules/_toPath.js","webpack:///nextcloud/node_modules/underscore/modules/_deepGet.js","webpack:///nextcloud/node_modules/underscore/modules/get.js","webpack:///nextcloud/node_modules/underscore/modules/has.js","webpack:///nextcloud/node_modules/underscore/modules/identity.js","webpack:///nextcloud/node_modules/underscore/modules/matcher.js","webpack:///nextcloud/node_modules/underscore/modules/property.js","webpack:///nextcloud/node_modules/underscore/modules/_optimizeCb.js","webpack:///nextcloud/node_modules/underscore/modules/_baseIteratee.js","webpack:///nextcloud/node_modules/underscore/modules/iteratee.js","webpack:///nextcloud/node_modules/underscore/modules/_cb.js","webpack:///nextcloud/node_modules/underscore/modules/mapObject.js","webpack:///nextcloud/node_modules/underscore/modules/noop.js","webpack:///nextcloud/node_modules/underscore/modules/propertyOf.js","webpack:///nextcloud/node_modules/underscore/modules/times.js","webpack:///nextcloud/node_modules/underscore/modules/random.js","webpack:///nextcloud/node_modules/underscore/modules/now.js","webpack:///nextcloud/node_modules/underscore/modules/_createEscaper.js","webpack:///nextcloud/node_modules/underscore/modules/_escapeMap.js","webpack:///nextcloud/node_modules/underscore/modules/escape.js","webpack:///nextcloud/node_modules/underscore/modules/unescape.js","webpack:///nextcloud/node_modules/underscore/modules/_unescapeMap.js","webpack:///nextcloud/node_modules/underscore/modules/templateSettings.js","webpack:///nextcloud/node_modules/underscore/modules/template.js","webpack:///nextcloud/node_modules/underscore/modules/result.js","webpack:///nextcloud/node_modules/underscore/modules/uniqueId.js","webpack:///nextcloud/node_modules/underscore/modules/chain.js","webpack:///nextcloud/node_modules/underscore/modules/_executeBound.js","webpack:///nextcloud/node_modules/underscore/modules/partial.js","webpack:///nextcloud/node_modules/underscore/modules/bind.js","webpack:///nextcloud/node_modules/underscore/modules/_isArrayLike.js","webpack:///nextcloud/node_modules/underscore/modules/_flatten.js","webpack:///nextcloud/node_modules/underscore/modules/bindAll.js","webpack:///nextcloud/node_modules/underscore/modules/memoize.js","webpack:///nextcloud/node_modules/underscore/modules/delay.js","webpack:///nextcloud/node_modules/underscore/modules/defer.js","webpack:///nextcloud/node_modules/underscore/modules/throttle.js","webpack:///nextcloud/node_modules/underscore/modules/debounce.js","webpack:///nextcloud/node_modules/underscore/modules/wrap.js","webpack:///nextcloud/node_modules/underscore/modules/negate.js","webpack:///nextcloud/node_modules/underscore/modules/compose.js","webpack:///nextcloud/node_modules/underscore/modules/after.js","webpack:///nextcloud/node_modules/underscore/modules/before.js","webpack:///nextcloud/node_modules/underscore/modules/once.js","webpack:///nextcloud/node_modules/underscore/modules/findKey.js","webpack:///nextcloud/node_modules/underscore/modules/_createPredicateIndexFinder.js","webpack:///nextcloud/node_modules/underscore/modules/findIndex.js","webpack:///nextcloud/node_modules/underscore/modules/findLastIndex.js","webpack:///nextcloud/node_modules/underscore/modules/sortedIndex.js","webpack:///nextcloud/node_modules/underscore/modules/_createIndexFinder.js","webpack:///nextcloud/node_modules/underscore/modules/indexOf.js","webpack:///nextcloud/node_modules/underscore/modules/lastIndexOf.js","webpack:///nextcloud/node_modules/underscore/modules/find.js","webpack:///nextcloud/node_modules/underscore/modules/findWhere.js","webpack:///nextcloud/node_modules/underscore/modules/each.js","webpack:///nextcloud/node_modules/underscore/modules/map.js","webpack:///nextcloud/node_modules/underscore/modules/_createReduce.js","webpack:///nextcloud/node_modules/underscore/modules/reduce.js","webpack:///nextcloud/node_modules/underscore/modules/reduceRight.js","webpack:///nextcloud/node_modules/underscore/modules/filter.js","webpack:///nextcloud/node_modules/underscore/modules/reject.js","webpack:///nextcloud/node_modules/underscore/modules/every.js","webpack:///nextcloud/node_modules/underscore/modules/some.js","webpack:///nextcloud/node_modules/underscore/modules/contains.js","webpack:///nextcloud/node_modules/underscore/modules/invoke.js","webpack:///nextcloud/node_modules/underscore/modules/pluck.js","webpack:///nextcloud/node_modules/underscore/modules/where.js","webpack:///nextcloud/node_modules/underscore/modules/max.js","webpack:///nextcloud/node_modules/underscore/modules/min.js","webpack:///nextcloud/node_modules/underscore/modules/toArray.js","webpack:///nextcloud/node_modules/underscore/modules/sample.js","webpack:///nextcloud/node_modules/underscore/modules/shuffle.js","webpack:///nextcloud/node_modules/underscore/modules/sortBy.js","webpack:///nextcloud/node_modules/underscore/modules/_group.js","webpack:///nextcloud/node_modules/underscore/modules/groupBy.js","webpack:///nextcloud/node_modules/underscore/modules/indexBy.js","webpack:///nextcloud/node_modules/underscore/modules/countBy.js","webpack:///nextcloud/node_modules/underscore/modules/partition.js","webpack:///nextcloud/node_modules/underscore/modules/size.js","webpack:///nextcloud/node_modules/underscore/modules/_keyInObj.js","webpack:///nextcloud/node_modules/underscore/modules/pick.js","webpack:///nextcloud/node_modules/underscore/modules/omit.js","webpack:///nextcloud/node_modules/underscore/modules/initial.js","webpack:///nextcloud/node_modules/underscore/modules/first.js","webpack:///nextcloud/node_modules/underscore/modules/rest.js","webpack:///nextcloud/node_modules/underscore/modules/last.js","webpack:///nextcloud/node_modules/underscore/modules/compact.js","webpack:///nextcloud/node_modules/underscore/modules/flatten.js","webpack:///nextcloud/node_modules/underscore/modules/difference.js","webpack:///nextcloud/node_modules/underscore/modules/without.js","webpack:///nextcloud/node_modules/underscore/modules/uniq.js","webpack:///nextcloud/node_modules/underscore/modules/union.js","webpack:///nextcloud/node_modules/underscore/modules/intersection.js","webpack:///nextcloud/node_modules/underscore/modules/unzip.js","webpack:///nextcloud/node_modules/underscore/modules/zip.js","webpack:///nextcloud/node_modules/underscore/modules/object.js","webpack:///nextcloud/node_modules/underscore/modules/range.js","webpack:///nextcloud/node_modules/underscore/modules/chunk.js","webpack:///nextcloud/node_modules/underscore/modules/_chainResult.js","webpack:///nextcloud/node_modules/underscore/modules/mixin.js","webpack:///nextcloud/node_modules/underscore/modules/underscore-array-methods.js","webpack:///nextcloud/node_modules/underscore/modules/index-default.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 = function(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(function(key) { return __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 = function(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 = function(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(function(fn) { return 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 * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Daniel Calviño Sánchez <danxuliu@gmail.com>\n * @author Joas Schilling <coding@schilljs.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author npmbuildbot[bot] \"npmbuildbot[bot]@users.noreply.github.com\"\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport _ from 'underscore'\n/** @typedef {import('jquery')} jQuery */\nimport $ from 'jquery'\nimport { showMessage, TOAST_DEFAULT_TIMEOUT, TOAST_PERMANENT_TIMEOUT } from '@nextcloud/dialogs'\n\n/**\n * @todo Write documentation\n * @deprecated 17.0.0 use the `@nextcloud/dialogs` package instead\n * @namespace OC.Notification\n */\nexport default {\n\n\tupdatableNotification: null,\n\n\tgetDefaultNotificationFunction: null,\n\n\t/**\n\t * @param {Function} callback callback function\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tsetDefault(callback) {\n\t\tthis.getDefaultNotificationFunction = callback\n\t},\n\n\t/**\n\t * Hides a notification.\n\t *\n\t * If a row is given, only hide that one.\n\t * If no row is given, hide all notifications.\n\t *\n\t * @param {jQuery} [$row] notification row\n\t * @param {Function} [callback] callback\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\thide($row, callback) {\n\t\tif (_.isFunction($row)) {\n\t\t\t// first arg is the callback\n\t\t\tcallback = $row\n\t\t\t$row = undefined\n\t\t}\n\n\t\tif (!$row) {\n\t\t\tconsole.error('Missing argument $row in OC.Notification.hide() call, caller needs to be adjusted to only dismiss its own notification')\n\t\t\treturn\n\t\t}\n\n\t\t// remove the row directly\n\t\t$row.each(function() {\n\t\t\tif ($(this)[0].toastify) {\n\t\t\t\t$(this)[0].toastify.hideToast()\n\t\t\t} else {\n\t\t\t\tconsole.error('cannot hide toast because object is not set')\n\t\t\t}\n\t\t\tif (this === this.updatableNotification) {\n\t\t\t\tthis.updatableNotification = null\n\t\t\t}\n\t\t})\n\t\tif (callback) {\n\t\t\tcallback.call()\n\t\t}\n\t\tif (this.getDefaultNotificationFunction) {\n\t\t\tthis.getDefaultNotificationFunction()\n\t\t}\n\t},\n\n\t/**\n\t * Shows a notification as HTML without being sanitized before.\n\t * If you pass unsanitized user input this may lead to a XSS vulnerability.\n\t * Consider using show() instead of showHTML()\n\t *\n\t * @param {string} html Message to display\n\t * @param {object} [options] options\n\t * @param {string} [options.type] notification type\n\t * @param {number} [options.timeout=0] timeout value, defaults to 0 (permanent)\n\t * @return {jQuery} jQuery element for notification row\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tshowHtml(html, options) {\n\t\toptions = options || {}\n\t\toptions.isHTML = true\n\t\toptions.timeout = (!options.timeout) ? TOAST_PERMANENT_TIMEOUT : options.timeout\n\t\tconst toast = showMessage(html, options)\n\t\ttoast.toastElement.toastify = toast\n\t\treturn $(toast.toastElement)\n\t},\n\n\t/**\n\t * Shows a sanitized notification\n\t *\n\t * @param {string} text Message to display\n\t * @param {object} [options] options\n\t * @param {string} [options.type] notification type\n\t * @param {number} [options.timeout=0] timeout value, defaults to 0 (permanent)\n\t * @return {jQuery} jQuery element for notification row\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tshow(text, options) {\n\t\tconst escapeHTML = function(text) {\n\t\t\treturn text.toString()\n\t\t\t\t.split('&').join('&')\n\t\t\t\t.split('<').join('<')\n\t\t\t\t.split('>').join('>')\n\t\t\t\t.split('\"').join('"')\n\t\t\t\t.split('\\'').join(''')\n\t\t}\n\n\t\toptions = options || {}\n\t\toptions.timeout = (!options.timeout) ? TOAST_PERMANENT_TIMEOUT : options.timeout\n\t\tconst toast = showMessage(escapeHTML(text), options)\n\t\ttoast.toastElement.toastify = toast\n\t\treturn $(toast.toastElement)\n\t},\n\n\t/**\n\t * Updates (replaces) a sanitized notification.\n\t *\n\t * @param {string} text Message to display\n\t * @return {jQuery} JQuery element for notificaiton row\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tshowUpdate(text) {\n\t\tif (this.updatableNotification) {\n\t\t\tthis.updatableNotification.hideToast()\n\t\t}\n\t\tthis.updatableNotification = showMessage(text, { timeout: TOAST_PERMANENT_TIMEOUT })\n\t\tthis.updatableNotification.toastElement.toastify = this.updatableNotification\n\t\treturn $(this.updatableNotification.toastElement)\n\t},\n\n\t/**\n\t * Shows a notification that disappears after x seconds, default is\n\t * 7 seconds\n\t *\n\t * @param {string} text Message to show\n\t * @param {Array} [options] options array\n\t * @param {number} [options.timeout=7] timeout in seconds, if this is 0 it will show the message permanently\n\t * @param {boolean} [options.isHTML=false] an indicator for HTML notifications (true) or text (false)\n\t * @param {string} [options.type] notification type\n\t * @return {JQuery} the toast element\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tshowTemporary(text, options) {\n\t\toptions = options || {}\n\t\toptions.timeout = options.timeout || TOAST_DEFAULT_TIMEOUT\n\t\tconst toast = showMessage(text, options)\n\t\ttoast.toastElement.toastify = toast\n\t\treturn $(toast.toastElement)\n\t},\n\n\t/**\n\t * Returns whether a notification is hidden.\n\t *\n\t * @return {boolean}\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tisHidden() {\n\t\treturn !$('#content').find('.toastify').length\n\t},\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport _ from 'underscore'\nimport $ from 'jquery'\n\nimport OC from './index.js'\nimport Notification from './notification.js'\n\n/**\n * Warn users that the connection to the server was lost temporarily\n *\n * This function is throttled to prevent stacked notfications.\n * After 7sec the first notification is gone, then we can show another one\n * if necessary.\n */\nexport const ajaxConnectionLostHandler = _.throttle(() => {\n\tNotification.showTemporary(t('core', 'Connection to server lost'))\n}, 7 * 1000, { trailing: false })\n\n/**\n * Process ajax error, redirects to main page\n * if an error/auth error status was returned.\n *\n * @param {XMLHttpRequest} xhr xhr request\n */\nexport const processAjaxError = xhr => {\n\t// purposefully aborted request ?\n\t// OC._userIsNavigatingAway needed to distinguish ajax calls cancelled by navigating away\n\t// from calls cancelled by failed cross-domain ajax due to SSO redirect\n\tif (xhr.status === 0 && (xhr.statusText === 'abort' || xhr.statusText === 'timeout' || OC._reloadCalled)) {\n\t\treturn\n\t}\n\n\tif (_.contains([302, 303, 307, 401], xhr.status) && OC.currentUser) {\n\t\t// sometimes \"beforeunload\" happens later, so need to defer the reload a bit\n\t\tsetTimeout(function() {\n\t\t\tif (!OC._userIsNavigatingAway && !OC._reloadCalled) {\n\t\t\t\tlet timer = 0\n\t\t\t\tconst seconds = 5\n\t\t\t\tconst interval = setInterval(function() {\n\t\t\t\t\tNotification.showUpdate(n('core', 'Problem loading page, reloading in %n second', 'Problem loading page, reloading in %n seconds', seconds - timer))\n\t\t\t\t\tif (timer >= seconds) {\n\t\t\t\t\t\tclearInterval(interval)\n\t\t\t\t\t\tOC.reload()\n\t\t\t\t\t}\n\t\t\t\t\ttimer++\n\t\t\t\t}, 1000 // 1 second interval\n\t\t\t\t)\n\n\t\t\t\t// only call reload once\n\t\t\t\tOC._reloadCalled = true\n\t\t\t}\n\t\t}, 100)\n\t} else if (xhr.status === 0) {\n\t\t// Connection lost (e.g. WiFi disconnected or server is down)\n\t\tsetTimeout(function() {\n\t\t\tif (!OC._userIsNavigatingAway && !OC._reloadCalled) {\n\t\t\t\t// TODO: call method above directly\n\t\t\t\tOC._ajaxConnectionLostHandler()\n\t\t\t}\n\t\t}, 100)\n\t}\n}\n\n/**\n * Registers XmlHttpRequest object for global error processing.\n *\n * This means that if this XHR object returns 401 or session timeout errors,\n * the current page will automatically be reloaded.\n *\n * @param {XMLHttpRequest} xhr xhr request\n */\nexport const registerXHRForErrorProcessing = xhr => {\n\tconst loadCallback = () => {\n\t\tif (xhr.readyState !== 4) {\n\t\t\treturn\n\t\t}\n\n\t\tif ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304) {\n\t\t\treturn\n\t\t}\n\n\t\t// fire jquery global ajax error handler\n\t\t$(document).trigger(new $.Event('ajaxError'), xhr)\n\t}\n\n\tconst errorCallback = () => {\n\t\t// fire jquery global ajax error handler\n\t\t$(document).trigger(new $.Event('ajaxError'), xhr)\n\t}\n\n\tif (xhr.addEventListener) {\n\t\txhr.addEventListener('load', loadCallback)\n\t\txhr.addEventListener('error', errorCallback)\n\t}\n\n}\n","/**\n * @copyright Bernhard Posselt 2014\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport $ from 'jquery'\n\nlet dynamicSlideToggleEnabled = false\n\nconst Apps = {\n\tenableDynamicSlideToggle() {\n\t\tdynamicSlideToggleEnabled = true\n\t},\n}\n\n/**\n * Shows the #app-sidebar and add .with-app-sidebar to subsequent siblings\n *\n * @param {object} [$el] sidebar element to show, defaults to $('#app-sidebar')\n */\nApps.showAppSidebar = function($el) {\n\tconst $appSidebar = $el || $('#app-sidebar')\n\t$appSidebar.removeClass('disappear').show()\n\t$('#app-content').trigger(new $.Event('appresized'))\n}\n\n/**\n * Shows the #app-sidebar and removes .with-app-sidebar from subsequent\n * siblings\n *\n * @param {object} [$el] sidebar element to hide, defaults to $('#app-sidebar')\n */\nApps.hideAppSidebar = function($el) {\n\tconst $appSidebar = $el || $('#app-sidebar')\n\t$appSidebar.hide().addClass('disappear')\n\t$('#app-content').trigger(new $.Event('appresized'))\n}\n\n/**\n * Provides a way to slide down a target area through a button and slide it\n * up if the user clicks somewhere else. Used for the news app settings and\n * add new field.\n *\n * Usage:\n * <button data-apps-slide-toggle=\".slide-area\">slide</button>\n * <div class=\".slide-area\" class=\"hidden\">I'm sliding up</div>\n */\nexport const registerAppsSlideToggle = () => {\n\tlet buttons = $('[data-apps-slide-toggle]')\n\n\tif (buttons.length === 0) {\n\t\t$('#app-navigation').addClass('without-app-settings')\n\t}\n\n\t$(document).click(function(event) {\n\n\t\tif (dynamicSlideToggleEnabled) {\n\t\t\tbuttons = $('[data-apps-slide-toggle]')\n\t\t}\n\n\t\tbuttons.each(function(index, button) {\n\n\t\t\tconst areaSelector = $(button).data('apps-slide-toggle')\n\t\t\tconst area = $(areaSelector)\n\n\t\t\t/**\n\t\t\t *\n\t\t\t */\n\t\t\tfunction hideArea() {\n\t\t\t\tarea.slideUp(OC.menuSpeed * 4, function() {\n\t\t\t\t\tarea.trigger(new $.Event('hide'))\n\t\t\t\t})\n\t\t\t\tarea.removeClass('opened')\n\t\t\t\t$(button).removeClass('opened')\n\t\t\t\t$(button).attr('aria-expanded', 'false')\n\t\t\t}\n\n\t\t\t/**\n\t\t\t *\n\t\t\t */\n\t\t\tfunction showArea() {\n\t\t\t\tarea.slideDown(OC.menuSpeed * 4, function() {\n\t\t\t\t\tarea.trigger(new $.Event('show'))\n\t\t\t\t})\n\t\t\t\tarea.addClass('opened')\n\t\t\t\t$(button).addClass('opened')\n\t\t\t\t$(button).attr('aria-expanded', 'true')\n\t\t\t\tconst input = $(areaSelector + ' [autofocus]')\n\t\t\t\tif (input.length === 1) {\n\t\t\t\t\tinput.focus()\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// do nothing if the area is animated\n\t\t\tif (!area.is(':animated')) {\n\n\t\t\t\t// button toggles the area\n\t\t\t\tif ($(button).is($(event.target).closest('[data-apps-slide-toggle]'))) {\n\t\t\t\t\tif (area.is(':visible')) {\n\t\t\t\t\t\thideArea()\n\t\t\t\t\t} else {\n\t\t\t\t\t\tshowArea()\n\t\t\t\t\t}\n\n\t\t\t\t\t// all other areas that have not been clicked but are open\n\t\t\t\t\t// should be slid up\n\t\t\t\t} else {\n\t\t\t\t\tconst closest = $(event.target).closest(areaSelector)\n\t\t\t\t\tif (area.is(':visible') && closest[0] !== area[0]) {\n\t\t\t\t\t\thideArea()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t})\n}\n\nexport default Apps\n","/**\n * @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport $ from 'jquery'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nimport OC from '../OC/index.js'\n\n/**\n * @param {string} method 'post' or 'delete'\n * @param {string} endpoint endpoint\n * @param {object} [options] destructuring object\n * @param {object} [options.data] option data\n * @param {Function} [options.success] success callback\n * @param {Function} [options.error] error callback\n */\nfunction call(method, endpoint, options) {\n\tif ((method === 'post' || method === 'delete') && OC.PasswordConfirmation.requiresPasswordConfirmation()) {\n\t\tOC.PasswordConfirmation.requirePasswordConfirmation(_.bind(call, this, method, endpoint, options))\n\t\treturn\n\t}\n\n\toptions = options || {}\n\t$.ajax({\n\t\ttype: method.toUpperCase(),\n\t\turl: generateOcsUrl('apps/provisioning_api/api/v1/config/apps') + endpoint,\n\t\tdata: options.data || {},\n\t\tsuccess: options.success,\n\t\terror: options.error,\n\t})\n}\n\n/**\n * @param {object} [options] destructuring object\n * @param {Function} [options.success] success callback\n * @since 11.0.0\n */\nexport function getApps(options) {\n\tcall('get', '', options)\n}\n\n/**\n * @param {string} app app id\n * @param {object} [options] destructuring object\n * @param {Function} [options.success] success callback\n * @param {Function} [options.error] error callback\n * @since 11.0.0\n */\nexport function getKeys(app, options) {\n\tcall('get', '/' + app, options)\n}\n\n/**\n * @param {string} app app id\n * @param {string} key key\n * @param {string | Function} defaultValue default value\n * @param {object} [options] destructuring object\n * @param {Function} [options.success] success callback\n * @param {Function} [options.error] error callback\n * @since 11.0.0\n */\nexport function getValue(app, key, defaultValue, options) {\n\toptions = options || {}\n\toptions.data = {\n\t\tdefaultValue,\n\t}\n\n\tcall('get', '/' + app + '/' + key, options)\n}\n\n/**\n * @param {string} app app id\n * @param {string} key key\n * @param {string} value value\n * @param {object} [options] destructuring object\n * @param {Function} [options.success] success callback\n * @param {Function} [options.error] error callback\n * @since 11.0.0\n */\nexport function setValue(app, key, value, options) {\n\toptions = options || {}\n\toptions.data = {\n\t\tvalue,\n\t}\n\n\tcall('post', '/' + app + '/' + key, options)\n}\n\n/**\n * @param {string} app app id\n * @param {string} key key\n * @param {object} [options] destructuring object\n * @param {Function} [options.success] success callback\n * @param {Function} [options.error] error callback\n * @since 11.0.0\n */\nexport function deleteKey(app, key, options) {\n\tcall('delete', '/' + app + '/' + key, options)\n}\n","/**\n * @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Joas Schilling <coding@schilljs.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Jörn Friedrich Dreyer <jfd@butonic.de>\n * @author Robin Appelman <robin@icewind.nl>\n * @author Vincent Petry <vincent@nextcloud.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* eslint-disable */\n import { getValue, setValue, getApps, getKeys, deleteKey } from '../OCP/appconfig.js'\n\nexport const appConfig = window.oc_appconfig || {}\n\n/**\n * @namespace\n * @deprecated 16.0.0 Use OCP.AppConfig instead\n */\nexport const AppConfig = {\n\t/**\n\t * @deprecated Use OCP.AppConfig.getValue() instead\n\t */\n\tgetValue: function(app, key, defaultValue, callback) {\n\t\tgetValue(app, key, defaultValue, {\n\t\t\tsuccess: callback\n\t\t})\n\t},\n\n\t/**\n\t * @deprecated Use OCP.AppConfig.setValue() instead\n\t */\n\tsetValue: function(app, key, value) {\n\t\tsetValue(app, key, value)\n\t},\n\n\t/**\n\t * @deprecated Use OCP.AppConfig.getApps() instead\n\t */\n\tgetApps: function(callback) {\n\t\tgetApps({\n\t\t\tsuccess: callback\n\t\t})\n\t},\n\n\t/**\n\t * @deprecated Use OCP.AppConfig.getKeys() instead\n\t */\n\tgetKeys: function(app, callback) {\n\t\tgetKeys(app, {\n\t\t\tsuccess: callback\n\t\t})\n\t},\n\n\t/**\n\t * @deprecated Use OCP.AppConfig.deleteKey() instead\n\t */\n\tdeleteKey: function(app, key) {\n\t\tdeleteKey(app, key)\n\t}\n\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst appswebroots = (window._oc_appswebroots !== undefined) ? window._oc_appswebroots : false\n\nexport default appswebroots\n","/**\n * Copyright (c) 2015\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* eslint-disable */\nimport _ from 'underscore'\nimport { dav } from 'davclient.js'\n\nconst methodMap = {\n\tcreate: 'POST',\n\tupdate: 'PROPPATCH',\n\tpatch: 'PROPPATCH',\n\tdelete: 'DELETE',\n\tread: 'PROPFIND'\n}\n\n// Throw an error when a URL is needed, and none is supplied.\nfunction urlError() {\n\tthrow new Error('A \"url\" property or function must be specified')\n}\n\n/**\n * Convert a single propfind result to JSON\n *\n * @param {Object} result\n * @param {Object} davProperties properties mapping\n */\nfunction parsePropFindResult(result, davProperties) {\n\tif (_.isArray(result)) {\n\t\treturn _.map(result, function(subResult) {\n\t\t\treturn parsePropFindResult(subResult, davProperties)\n\t\t})\n\t}\n\tvar props = {\n\t\thref: result.href\n\t}\n\n\t_.each(result.propStat, function(propStat) {\n\t\tif (propStat.status !== 'HTTP/1.1 200 OK') {\n\t\t\treturn\n\t\t}\n\n\t\tfor (var key in propStat.properties) {\n\t\t\tvar propKey = key\n\t\t\tif (key in davProperties) {\n\t\t\t\tpropKey = davProperties[key]\n\t\t\t}\n\t\t\tprops[propKey] = propStat.properties[key]\n\t\t}\n\t})\n\n\tif (!props.id) {\n\t\t// parse id from href\n\t\tprops.id = parseIdFromLocation(props.href)\n\t}\n\n\treturn props\n}\n\n/**\n * Parse ID from location\n *\n * @param {string} url url\n * @returns {string} id\n */\nfunction parseIdFromLocation(url) {\n\tvar queryPos = url.indexOf('?')\n\tif (queryPos > 0) {\n\t\turl = url.substr(0, queryPos)\n\t}\n\n\tvar parts = url.split('/')\n\tvar result\n\tdo {\n\t\tresult = parts[parts.length - 1]\n\t\tparts.pop()\n\t\t// note: first result can be empty when there is a trailing slash,\n\t\t// so we take the part before that\n\t} while (!result && parts.length > 0)\n\n\treturn result\n}\n\nfunction isSuccessStatus(status) {\n\treturn status >= 200 && status <= 299\n}\n\nfunction convertModelAttributesToDavProperties(attrs, davProperties) {\n\tvar props = {}\n\tvar key\n\tfor (key in attrs) {\n\t\tvar changedProp = davProperties[key]\n\t\tvar value = attrs[key]\n\t\tif (!changedProp) {\n\t\t\tconsole.warn('No matching DAV property for property \"' + key)\n\t\t\tchangedProp = key\n\t\t}\n\t\tif (_.isBoolean(value) || _.isNumber(value)) {\n\t\t\t// convert to string\n\t\t\tvalue = '' + value\n\t\t}\n\t\tprops[changedProp] = value\n\t}\n\treturn props\n}\n\nfunction callPropFind(client, options, model, headers) {\n\treturn client.propFind(\n\t\toptions.url,\n\t\t_.values(options.davProperties) || [],\n\t\toptions.depth,\n\t\theaders\n\t).then(function(response) {\n\t\tif (isSuccessStatus(response.status)) {\n\t\t\tif (_.isFunction(options.success)) {\n\t\t\t\tvar propsMapping = _.invert(options.davProperties)\n\t\t\t\tvar results = parsePropFindResult(response.body, propsMapping)\n\t\t\t\tif (options.depth > 0) {\n\t\t\t\t\t// discard root entry\n\t\t\t\t\tresults.shift()\n\t\t\t\t}\n\n\t\t\t\toptions.success(results)\n\n\t\t\t}\n\t\t} else if (_.isFunction(options.error)) {\n\t\t\toptions.error(response)\n\t\t}\n\t})\n}\n\nfunction callPropPatch(client, options, model, headers) {\n\treturn client.propPatch(\n\t\toptions.url,\n\t\tconvertModelAttributesToDavProperties(model.changed, options.davProperties),\n\t\theaders\n\t).then(function(result) {\n\t\tif (isSuccessStatus(result.status)) {\n\t\t\tif (_.isFunction(options.success)) {\n\t\t\t\t// pass the object's own values because the server\n\t\t\t\t// does not return the updated model\n\t\t\t\toptions.success(model.toJSON())\n\t\t\t}\n\t\t} else if (_.isFunction(options.error)) {\n\t\t\toptions.error(result)\n\t\t}\n\t})\n\n}\n\nfunction callMkCol(client, options, model, headers) {\n\t// call MKCOL without data, followed by PROPPATCH\n\treturn client.request(\n\t\toptions.type,\n\t\toptions.url,\n\t\theaders,\n\t\tnull\n\t).then(function(result) {\n\t\tif (!isSuccessStatus(result.status)) {\n\t\t\tif (_.isFunction(options.error)) {\n\t\t\t\toptions.error(result)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\tcallPropPatch(client, options, model, headers)\n\t})\n}\n\nfunction callMethod(client, options, model, headers) {\n\theaders['Content-Type'] = 'application/json'\n\treturn client.request(\n\t\toptions.type,\n\t\toptions.url,\n\t\theaders,\n\t\toptions.data\n\t).then(function(result) {\n\t\tif (!isSuccessStatus(result.status)) {\n\t\t\tif (_.isFunction(options.error)) {\n\t\t\t\toptions.error(result)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\tif (_.isFunction(options.success)) {\n\t\t\tif (options.type === 'PUT' || options.type === 'POST' || options.type === 'MKCOL') {\n\t\t\t\t// pass the object's own values because the server\n\t\t\t\t// does not return anything\n\t\t\t\tvar responseJson = result.body || model.toJSON()\n\t\t\t\tvar locationHeader = result.xhr.getResponseHeader('Content-Location')\n\t\t\t\tif (options.type === 'POST' && locationHeader) {\n\t\t\t\t\tresponseJson.id = parseIdFromLocation(locationHeader)\n\t\t\t\t}\n\t\t\t\toptions.success(responseJson)\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// if multi-status, parse\n\t\t\tif (result.status === 207) {\n\t\t\t\tvar propsMapping = _.invert(options.davProperties)\n\t\t\t\toptions.success(parsePropFindResult(result.body, propsMapping))\n\t\t\t} else {\n\t\t\t\toptions.success(result.body)\n\t\t\t}\n\t\t}\n\t})\n}\n\nexport const davCall = (options, model) => {\n\tvar client = new dav.Client({\n\t\tbaseUrl: options.url,\n\t\txmlNamespaces: _.extend({\n\t\t\t'DAV:': 'd',\n\t\t\t'http://owncloud.org/ns': 'oc'\n\t\t}, options.xmlNamespaces || {})\n\t})\n\tclient.resolveUrl = function() {\n\t\treturn options.url\n\t}\n\tvar headers = _.extend({\n\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t'requesttoken': OC.requestToken\n\t}, options.headers)\n\tif (options.type === 'PROPFIND') {\n\t\treturn callPropFind(client, options, model, headers)\n\t} else if (options.type === 'PROPPATCH') {\n\t\treturn callPropPatch(client, options, model, headers)\n\t} else if (options.type === 'MKCOL') {\n\t\treturn callMkCol(client, options, model, headers)\n\t} else {\n\t\treturn callMethod(client, options, model, headers)\n\t}\n}\n\n/**\n * DAV transport\n */\nexport const davSync = Backbone => (method, model, options) => {\n\tvar params = { type: methodMap[method] || method }\n\tvar isCollection = (model instanceof Backbone.Collection)\n\n\tif (method === 'update') {\n\t\t// if a model has an inner collection, it must define an\n\t\t// attribute \"hasInnerCollection\" that evaluates to true\n\t\tif (model.hasInnerCollection) {\n\t\t\t// if the model itself is a Webdav collection, use MKCOL\n\t\t\tparams.type = 'MKCOL'\n\t\t} else if (model.usePUT || (model.collection && model.collection.usePUT)) {\n\t\t\t// use PUT instead of PROPPATCH\n\t\t\tparams.type = 'PUT'\n\t\t}\n\t}\n\n\t// Ensure that we have a URL.\n\tif (!options.url) {\n\t\tparams.url = _.result(model, 'url') || urlError()\n\t}\n\n\t// Ensure that we have the appropriate request data.\n\tif (options.data == null && model && (method === 'create' || method === 'update' || method === 'patch')) {\n\t\tparams.data = JSON.stringify(options.attrs || model.toJSON(options))\n\t}\n\n\t// Don't process data on a non-GET request.\n\tif (params.type !== 'PROPFIND') {\n\t\tparams.processData = false\n\t}\n\n\tif (params.type === 'PROPFIND' || params.type === 'PROPPATCH') {\n\t\tvar davProperties = model.davProperties\n\t\tif (!davProperties && model.model) {\n\t\t\t// use dav properties from model in case of collection\n\t\t\tdavProperties = model.model.prototype.davProperties\n\t\t}\n\t\tif (davProperties) {\n\t\t\tif (_.isFunction(davProperties)) {\n\t\t\t\tparams.davProperties = davProperties.call(model)\n\t\t\t} else {\n\t\t\t\tparams.davProperties = davProperties\n\t\t\t}\n\t\t}\n\n\t\tparams.davProperties = _.extend(params.davProperties || {}, options.davProperties)\n\n\t\tif (_.isUndefined(options.depth)) {\n\t\t\tif (isCollection) {\n\t\t\t\toptions.depth = 1\n\t\t\t} else {\n\t\t\t\toptions.depth = 0\n\t\t\t}\n\t\t}\n\t}\n\n\t// Pass along `textStatus` and `errorThrown` from jQuery.\n\tvar error = options.error\n\toptions.error = function(xhr, textStatus, errorThrown) {\n\t\toptions.textStatus = textStatus\n\t\toptions.errorThrown = errorThrown\n\t\tif (error) {\n\t\t\terror.call(options.context, xhr, textStatus, errorThrown)\n\t\t}\n\t}\n\n\t// Make the request, allowing the user to override any Ajax options.\n\tvar xhr = options.xhr = Backbone.davCall(_.extend(params, options), model)\n\tmodel.trigger('request', model, xhr, options)\n\treturn xhr\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport VendorBackbone from 'backbone'\nimport { davCall, davSync } from './backbone-webdav.js'\n\nconst Backbone = VendorBackbone.noConflict()\n\n// Patch Backbone for DAV\nObject.assign(Backbone, {\n\tdavCall,\n\tdavSync: davSync(Backbone),\n})\n\nexport default Backbone\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst config = window._oc_config || {}\n\nexport default config\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Joas Schilling <coding@schilljs.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst rawUid = document\n\t.getElementsByTagName('head')[0]\n\t.getAttribute('data-user')\nconst displayName = document\n\t.getElementsByTagName('head')[0]\n\t.getAttribute('data-user-displayname')\n\nexport const currentUser = rawUid !== undefined ? rawUid : false\n\nexport const getCurrentUser = () => {\n\treturn {\n\t\tuid: currentUser,\n\t\tdisplayName,\n\t}\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n * @copyright Copyright (c) 2019 Gary Kim <gary@garykim.dev>\n *\n * @author Bartek Przybylski <bart.p.pl@gmail.com>\n * @author Christopher Schäpers <kondou@ts.unde.re>\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Daniel Calviño Sánchez <danxuliu@gmail.com>\n * @author Daniel Kesselberg <mail@danielkesselberg.de>\n * @author Florian Schunk <florian.schunk@rwth-aachen.de>\n * @author Gary Kim <gary@garykim.dev>\n * @author Hendrik Leppelsack <hendrik@leppelsack.de>\n * @author Jan-Christoph Borchardt <hey@jancborchardt.net>\n * @author Joas Schilling <coding@schilljs.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Jörn Friedrich Dreyer <jfd@butonic.de>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Loïc Hermann <loic.hermann@sciam.fr>\n * @author Morris Jobke <hey@morrisjobke.de>\n * @author Olivier Paroz <github@oparoz.com>\n * @author Robin Appelman <robin@icewind.nl>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n * @author Sujith Haridasan <Sujith_Haridasan@mentor.com>\n * @author Thomas Citharel <nextcloud@tcit.fr>\n * @author Thomas Müller <thomas.mueller@tmit.eu>\n * @author Thomas Tanghus <thomas@tanghus.net>\n * @author Vincent Petry <vincent@nextcloud.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* eslint-disable */\nimport _ from 'underscore'\nimport $ from 'jquery'\n\nimport IconMove from '@mdi/svg/svg/folder-move.svg?raw'\nimport IconCopy from '@mdi/svg/svg/folder-multiple.svg?raw'\n\nimport OC from './index.js'\nimport { FilePickerType, getFilePickerBuilder } from '@nextcloud/dialogs'\nimport { basename } from 'path'\n\n/**\n * this class to ease the usage of jquery dialogs\n */\nconst Dialogs = {\n\t// dialog button types\n\tYES_NO_BUTTONS: 70,\n\tOK_BUTTONS: 71,\n\n\t/** @deprecated use FilePickerType from `@nextcloud/dialogs` */\n\tFILEPICKER_TYPE_CHOOSE: 1,\n\t/** @deprecated use FilePickerType from `@nextcloud/dialogs` */\n\tFILEPICKER_TYPE_MOVE: 2,\n\t/** @deprecated use FilePickerType from `@nextcloud/dialogs` */\n\tFILEPICKER_TYPE_COPY: 3,\n\t/** @deprecated use FilePickerType from `@nextcloud/dialogs` */\n\tFILEPICKER_TYPE_COPY_MOVE: 4,\n\t/** @deprecated use FilePickerType from `@nextcloud/dialogs` */\n\tFILEPICKER_TYPE_CUSTOM: 5,\n\n\t// used to name each dialog\n\tdialogsCounter: 0,\n\n\t/**\n\t * displays alert dialog\n\t * @param {string} text content of dialog\n\t * @param {string} title dialog title\n\t * @param {function} callback which will be triggered when user presses OK\n\t * @param {boolean} [modal] make the dialog modal\n\t */\n\talert: function(text, title, callback, modal) {\n\t\tthis.message(\n\t\t\ttext,\n\t\t\ttitle,\n\t\t\t'alert',\n\t\t\tDialogs.OK_BUTTON,\n\t\t\tcallback,\n\t\t\tmodal\n\t\t)\n\t},\n\t/**\n\t * displays info dialog\n\t * @param {string} text content of dialog\n\t * @param {string} title dialog title\n\t * @param {function} callback which will be triggered when user presses OK\n\t * @param {boolean} [modal] make the dialog modal\n\t */\n\tinfo: function(text, title, callback, modal) {\n\t\tthis.message(text, title, 'info', Dialogs.OK_BUTTON, callback, modal)\n\t},\n\n\t/**\n\t * displays confirmation dialog\n\t * @param {string} text content of dialog\n\t * @param {string} title dialog title\n\t * @param {function} callback which will be triggered when user presses OK (true or false would be passed to callback respectively)\n\t * @param {boolean} [modal] make the dialog modal\n\t * @returns {Promise}\n\t */\n\tconfirm: function(text, title, callback, modal) {\n\t\treturn this.message(\n\t\t\ttext,\n\t\t\ttitle,\n\t\t\t'notice',\n\t\t\tDialogs.YES_NO_BUTTONS,\n\t\t\tcallback,\n\t\t\tmodal\n\t\t)\n\t},\n\t/**\n\t * displays confirmation dialog\n\t * @param {string} text content of dialog\n\t * @param {string} title dialog title\n\t * @param {(number|{type: number, confirm: string, cancel: string, confirmClasses: string})} buttons text content of buttons\n\t * @param {function} callback which will be triggered when user presses OK (true or false would be passed to callback respectively)\n\t * @param {boolean} [modal] make the dialog modal\n\t * @returns {Promise}\n\t */\n\tconfirmDestructive: function(text, title, buttons, callback, modal) {\n\t\treturn this.message(\n\t\t\ttext,\n\t\t\ttitle,\n\t\t\t'none',\n\t\t\tbuttons,\n\t\t\tcallback,\n\t\t\tmodal === undefined ? true : modal\n\t\t)\n\t},\n\t/**\n\t * displays confirmation dialog\n\t * @param {string} text content of dialog\n\t * @param {string} title dialog title\n\t * @param {function} callback which will be triggered when user presses OK (true or false would be passed to callback respectively)\n\t * @param {boolean} [modal] make the dialog modal\n\t * @returns {Promise}\n\t */\n\tconfirmHtml: function(text, title, callback, modal) {\n\t\treturn this.message(\n\t\t\ttext,\n\t\t\ttitle,\n\t\t\t'notice',\n\t\t\tDialogs.YES_NO_BUTTONS,\n\t\t\tcallback,\n\t\t\tmodal,\n\t\t\ttrue\n\t\t)\n\t},\n\t/**\n\t * displays prompt dialog\n\t * @param {string} text content of dialog\n\t * @param {string} title dialog title\n\t * @param {function} callback which will be triggered when user presses OK (true or false would be passed to callback respectively)\n\t * @param {boolean} [modal] make the dialog modal\n\t * @param {string} name name of the input field\n\t * @param {boolean} password whether the input should be a password input\n\t * @returns {Promise}\n\t */\n\tprompt: function(text, title, callback, modal, name, password) {\n\t\treturn $.when(this._getMessageTemplate()).then(function($tmpl) {\n\t\t\tvar dialogName = 'oc-dialog-' + Dialogs.dialogsCounter + '-content'\n\t\t\tvar dialogId = '#' + dialogName\n\t\t\tvar $dlg = $tmpl.octemplate({\n\t\t\t\tdialog_name: dialogName,\n\t\t\t\ttitle: title,\n\t\t\t\tmessage: text,\n\t\t\t\ttype: 'notice'\n\t\t\t})\n\t\t\tvar input = $('<input/>')\n\t\t\tinput.attr('type', password ? 'password' : 'text').attr('id', dialogName + '-input').attr('placeholder', name)\n\t\t\tvar label = $('<label/>').attr('for', dialogName + '-input').text(name + ': ')\n\t\t\t$dlg.append(label)\n\t\t\t$dlg.append(input)\n\t\t\tif (modal === undefined) {\n\t\t\t\tmodal = false\n\t\t\t}\n\t\t\t$('body').append($dlg)\n\n\t\t\t// wrap callback in _.once():\n\t\t\t// only call callback once and not twice (button handler and close\n\t\t\t// event) but call it for the close event, if ESC or the x is hit\n\t\t\tif (callback !== undefined) {\n\t\t\t\tcallback = _.once(callback)\n\t\t\t}\n\n\t\t\tvar buttonlist = [{\n\t\t\t\ttext: t('core', 'No'),\n\t\t\t\tclick: function() {\n\t\t\t\t\tif (callback !== undefined) {\n\t\t\t\t\t\t// eslint-disable-next-line standard/no-callback-literal\n\t\t\t\t\t\tcallback(false, input.val())\n\t\t\t\t\t}\n\t\t\t\t\t$(dialogId).ocdialog('close')\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\ttext: t('core', 'Yes'),\n\t\t\t\tclick: function() {\n\t\t\t\t\tif (callback !== undefined) {\n\t\t\t\t\t\t// eslint-disable-next-line standard/no-callback-literal\n\t\t\t\t\t\tcallback(true, input.val())\n\t\t\t\t\t}\n\t\t\t\t\t$(dialogId).ocdialog('close')\n\t\t\t\t},\n\t\t\t\tdefaultButton: true\n\t\t\t}]\n\n\t\t\t$(dialogId).ocdialog({\n\t\t\t\tcloseOnEscape: true,\n\t\t\t\tmodal: modal,\n\t\t\t\tbuttons: buttonlist,\n\t\t\t\tclose: function() {\n\t\t\t\t\t// callback is already fired if Yes/No is clicked directly\n\t\t\t\t\tif (callback !== undefined) {\n\t\t\t\t\t\t// eslint-disable-next-line standard/no-callback-literal\n\t\t\t\t\t\tcallback(false, input.val())\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t\tinput.focus()\n\t\t\tDialogs.dialogsCounter++\n\t\t})\n\t},\n\n\t/**\n\t * Legacy wrapper to the new Vue based filepicker from `@nextcloud/dialogs`\n\t *\n\t * Prefer to use the Vue filepicker directly instead.\n\t *\n\t * In order to pick several types of mime types they need to be passed as an\n\t * array of strings.\n\t *\n\t * When no mime type filter is given only files can be selected. In order to\n\t * be able to select both files and folders \"['*', 'httpd/unix-directory']\"\n\t * should be used instead.\n\t *\n\t * @param {string} title dialog title\n\t * @param {Function} callback which will be triggered when user presses Choose\n\t * @param {boolean} [multiselect] whether it should be possible to select multiple files\n\t * @param {string[]} [mimetype] mimetype to filter by - directories will always be included\n\t * @param {boolean} [_modal] do not use\n\t * @param {string} [type] Type of file picker : Choose, copy, move, copy and move\n\t * @param {string} [path] path to the folder that the the file can be picket from\n\t * @param {object} [options] additonal options that need to be set\n\t * @param {Function} [options.filter] filter function for advanced filtering\n\t * @param {boolean} [options.allowDirectoryChooser] Allow to select directories\n\t * @deprecated since 27.1.0 use the filepicker from `@nextcloud/dialogs` instead\n\t */\n\tfilepicker(title, callback, multiselect = false, mimetype = undefined, _modal = undefined, type = FilePickerType.Choose, path = undefined, options = undefined) {\n\n\t\t/**\n\t\t * Create legacy callback wrapper to support old filepicker syntax\n\t\t * @param fn The original callback\n\t\t * @param type The file picker type which was used to pick the file(s)\n\t\t */\n\t\tconst legacyCallback = (fn, type) => {\n\t\t\tconst getPath = (node) => {\n\t\t\t\tconst root = node?.root || ''\n\t\t\t\tlet path = node?.path || ''\n\t\t\t\t// TODO: Fix this in @nextcloud/files\n\t\t\t\tif (path.startsWith(root)) {\n\t\t\t\t\tpath = path.slice(root.length) || '/'\n\t\t\t\t}\n\t\t\t\treturn path\n\t\t\t}\n\n\t\t\tif (multiselect) {\n\t\t\t\treturn (nodes) => fn(nodes.map(getPath), type)\n\t\t\t} else {\n\t\t\t\treturn (nodes) => fn(getPath(nodes[0]), type)\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Coverting a Node into a legacy file info to support the OC.dialogs.filepicker filter function\n\t\t * @param node The node to convert\n\t\t */\n\t\tconst nodeToLegacyFile = (node) => ({\n\t\t\tid: node.fileid || null,\n\t\t\tpath: node.path,\n\t\t\tmimetype: node.mime || null,\n\t\t\tmtime: node.mtime?.getTime() || null,\n\t\t\tpermissions: node.permissions,\n\t\t\tname: node.attributes?.displayName || node.basename,\n\t\t\tetag: node.attributes?.etag || null,\n\t\t\thasPreview: node.attributes?.hasPreview || null,\n\t\t\tmountType: node.attributes?.mountType || null,\n\t\t\tquotaAvailableBytes: node.attributes?.quotaAvailableBytes || null,\n\t\t\ticon: null,\n\t\t\tsharePermissions: null,\n\t\t})\n\n\t\tconst builder = getFilePickerBuilder(title)\n\n\t\t// Setup buttons\n\t\tif (type === this.FILEPICKER_TYPE_CUSTOM) {\n\t\t\t(options.buttons || []).forEach((button) => {\n\t\t\t\tbuilder.addButton({\n\t\t\t\t\tcallback: legacyCallback(callback, button.type),\n\t\t\t\t\tlabel: button.text,\n\t\t\t\t\ttype: button.defaultButton ? 'primary' : 'secondary',\n\t\t\t\t})\n\t\t\t})\n\t\t} else {\n\t\t\tbuilder.setButtonFactory((nodes, path) => {\n\t\t\t\tconst buttons = []\n\t\t\t\tconst node = nodes?.[0]?.attributes?.displayName || nodes?.[0]?.basename\n\t\t\t\tconst target = node || basename(path)\n\n\t\t\t\tif (type === FilePickerType.Choose) {\n\t\t\t\t\tbuttons.push({\n\t\t\t\t\t\tcallback: legacyCallback(callback, FilePickerType.Choose),\n\t\t\t\t\t\tlabel: node && !this.multiSelect ? t('core', 'Choose {file}', { file: node }) : t('core', 'Choose'),\n\t\t\t\t\t\ttype: 'primary',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tif (type === FilePickerType.CopyMove || type === FilePickerType.Copy) {\n\t\t\t\t\tbuttons.push({\n\t\t\t\t\t\tcallback: legacyCallback(callback, FilePickerType.Copy),\n\t\t\t\t\t\tlabel: target ? t('core', 'Copy to {target}', { target }) : t('core', 'Copy'),\n\t\t\t\t\t\ttype: 'primary',\n\t\t\t\t\t\ticon: IconCopy,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tif (type === FilePickerType.Move || type === FilePickerType.CopyMove) {\n\t\t\t\t\tbuttons.push({\n\t\t\t\t\t\tcallback: legacyCallback(callback, FilePickerType.Move),\n\t\t\t\t\t\tlabel: target ? t('core', 'Move to {target}', { target }) : t('core', 'Move'),\n\t\t\t\t\t\ttype: type === FilePickerType.Move ? 'primary' : 'secondary',\n\t\t\t\t\t\ticon: IconMove,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn buttons\n\t\t\t})\n\t\t}\n\n\t\tif (mimetype) {\n\t\t\tbuilder.setMimeTypeFilter(typeof mimetype === 'string' ? [mimetype] : (mimetype || []))\n\t\t}\n\t\tif (typeof options?.filter === 'function') {\n\t\t\tbuilder.setFilter((node) => options.filter(nodeToLegacyFile(node)))\n\t\t}\n\t\tbuilder.allowDirectories(options?.allowDirectoryChooser === true || mimetype?.includes('httpd/unix-directory') || false)\n\t\t\t.setMultiSelect(multiselect)\n\t\t\t.startAt(path)\n\t\t\t.build()\n\t\t\t.pick()\n\t},\n\n\t/**\n\t * Displays raw dialog\n\t * You better use a wrapper instead ...\n\t */\n\tmessage: function(content, title, dialogType, buttons, callback, modal, allowHtml) {\n\t\treturn $.when(this._getMessageTemplate()).then(function($tmpl) {\n\t\t\tvar dialogName = 'oc-dialog-' + Dialogs.dialogsCounter + '-content'\n\t\t\tvar dialogId = '#' + dialogName\n\t\t\tvar $dlg = $tmpl.octemplate({\n\t\t\t\tdialog_name: dialogName,\n\t\t\t\ttitle: title,\n\t\t\t\tmessage: content,\n\t\t\t\ttype: dialogType\n\t\t\t}, allowHtml ? { escapeFunction: '' } : {})\n\t\t\tif (modal === undefined) {\n\t\t\t\tmodal = false\n\t\t\t}\n\t\t\t$('body').append($dlg)\n\t\t\tvar buttonlist = []\n\t\t\tswitch (buttons) {\n\t\t\tcase Dialogs.YES_NO_BUTTONS:\n\t\t\t\tbuttonlist = [{\n\t\t\t\t\ttext: t('core', 'No'),\n\t\t\t\t\tclick: function() {\n\t\t\t\t\t\tif (callback !== undefined) {\n\t\t\t\t\t\t\tcallback(false)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$(dialogId).ocdialog('close')\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttext: t('core', 'Yes'),\n\t\t\t\t\tclick: function() {\n\t\t\t\t\t\tif (callback !== undefined) {\n\t\t\t\t\t\t\tcallback(true)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$(dialogId).ocdialog('close')\n\t\t\t\t\t},\n\t\t\t\t\tdefaultButton: true\n\t\t\t\t}]\n\t\t\t\tbreak\n\t\t\tcase Dialogs.OK_BUTTON:\n\t\t\t\tvar functionToCall = function() {\n\t\t\t\t\t$(dialogId).ocdialog('close')\n\t\t\t\t\tif (callback !== undefined) {\n\t\t\t\t\t\tcallback()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbuttonlist[0] = {\n\t\t\t\t\ttext: t('core', 'OK'),\n\t\t\t\t\tclick: functionToCall,\n\t\t\t\t\tdefaultButton: true\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tif (typeof(buttons) === 'object') {\n\t\t\t\t\tswitch (buttons.type) {\n\t\t\t\t\t\tcase Dialogs.YES_NO_BUTTONS:\n\t\t\t\t\t\t\tbuttonlist = [{\n\t\t\t\t\t\t\t\ttext: buttons.cancel || t('core', 'No'),\n\t\t\t\t\t\t\t\tclick: function() {\n\t\t\t\t\t\t\t\t\tif (callback !== undefined) {\n\t\t\t\t\t\t\t\t\t\tcallback(false)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t$(dialogId).ocdialog('close')\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttext: buttons.confirm || t('core', 'Yes'),\n\t\t\t\t\t\t\t\t\tclick: function() {\n\t\t\t\t\t\t\t\t\t\tif (callback !== undefined) {\n\t\t\t\t\t\t\t\t\t\t\tcallback(true)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t$(dialogId).ocdialog('close')\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tdefaultButton: true,\n\t\t\t\t\t\t\t\t\tclasses: buttons.confirmClasses\n\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\n\t\t\t$(dialogId).ocdialog({\n\t\t\t\tcloseOnEscape: true,\n\t\t\t\tcloseCallback: () => { callback && callback(false) },\n\t\t\t\tmodal: modal,\n\t\t\t\tbuttons: buttonlist\n\t\t\t})\n\t\t\tDialogs.dialogsCounter++\n\t\t})\n\t\t\t.fail(function(status, error) {\n\t\t\t\t// If the method is called while navigating away from\n\t\t\t\t// the page, we still want to deliver the message.\n\t\t\t\tif (status === 0) {\n\t\t\t\t\talert(title + ': ' + content)\n\t\t\t\t} else {\n\t\t\t\t\talert(t('core', 'Error loading message template: {error}', { error: error }))\n\t\t\t\t}\n\t\t\t})\n\t},\n\t_fileexistsshown: false,\n\t/**\n\t * Displays file exists dialog\n\t * @param {object} data upload object\n\t * @param {object} original file with name, size and mtime\n\t * @param {object} replacement file with name, size and mtime\n\t * @param {object} controller with onCancel, onSkip, onReplace and onRename methods\n\t * @returns {Promise} jquery promise that resolves after the dialog template was loaded\n\t */\n\tfileexists: function(data, original, replacement, controller) {\n\t\tvar self = this\n\t\tvar dialogDeferred = new $.Deferred()\n\n\t\tvar getCroppedPreview = function(file) {\n\t\t\tvar deferred = new $.Deferred()\n\t\t\t// Only process image files.\n\t\t\tvar type = file.type && file.type.split('/').shift()\n\t\t\tif (window.FileReader && type === 'image') {\n\t\t\t\tvar reader = new FileReader()\n\t\t\t\treader.onload = function(e) {\n\t\t\t\t\tvar blob = new Blob([e.target.result])\n\t\t\t\t\twindow.URL = window.URL || window.webkitURL\n\t\t\t\t\tvar originalUrl = window.URL.createObjectURL(blob)\n\t\t\t\t\tvar image = new Image()\n\t\t\t\t\timage.src = originalUrl\n\t\t\t\t\timage.onload = function() {\n\t\t\t\t\t\tvar url = crop(image)\n\t\t\t\t\t\tdeferred.resolve(url)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treader.readAsArrayBuffer(file)\n\t\t\t} else {\n\t\t\t\tdeferred.reject()\n\t\t\t}\n\t\t\treturn deferred\n\t\t}\n\n\t\tvar crop = function(img) {\n\t\t\tvar canvas = document.createElement('canvas')\n\t\t\tvar targetSize = 96\n\t\t\tvar width = img.width\n\t\t\tvar height = img.height\n\t\t\tvar x; var y; var size\n\n\t\t\t// Calculate the width and height, constraining the proportions\n\t\t\tif (width > height) {\n\t\t\t\ty = 0\n\t\t\t\tx = (width - height) / 2\n\t\t\t} else {\n\t\t\t\ty = (height - width) / 2\n\t\t\t\tx = 0\n\t\t\t}\n\t\t\tsize = Math.min(width, height)\n\n\t\t\t// Set canvas size to the cropped area\n\t\t\tcanvas.width = size\n\t\t\tcanvas.height = size\n\t\t\tvar ctx = canvas.getContext('2d')\n\t\t\tctx.drawImage(img, x, y, size, size, 0, 0, size, size)\n\n\t\t\t// Resize the canvas to match the destination (right size uses 96px)\n\t\t\tresampleHermite(canvas, size, size, targetSize, targetSize)\n\n\t\t\treturn canvas.toDataURL('image/png', 0.7)\n\t\t}\n\n\t\t/**\n\t\t * Fast image resize/resample using Hermite filter with JavaScript.\n\t\t *\n\t\t * @author: ViliusL\n\t\t *\n\t\t * @param {*} canvas\n\t\t * @param {number} W\n\t\t * @param {number} H\n\t\t * @param {number} W2\n\t\t * @param {number} H2\n\t\t */\n\t\tvar resampleHermite = function(canvas, W, H, W2, H2) {\n\t\t\tW2 = Math.round(W2)\n\t\t\tH2 = Math.round(H2)\n\t\t\tvar img = canvas.getContext('2d').getImageData(0, 0, W, H)\n\t\t\tvar img2 = canvas.getContext('2d').getImageData(0, 0, W2, H2)\n\t\t\tvar data = img.data\n\t\t\tvar data2 = img2.data\n\t\t\tvar ratio_w = W / W2\n\t\t\tvar ratio_h = H / H2\n\t\t\tvar ratio_w_half = Math.ceil(ratio_w / 2)\n\t\t\tvar ratio_h_half = Math.ceil(ratio_h / 2)\n\n\t\t\tfor (var j = 0; j < H2; j++) {\n\t\t\t\tfor (var i = 0; i < W2; i++) {\n\t\t\t\t\tvar x2 = (i + j * W2) * 4\n\t\t\t\t\tvar weight = 0\n\t\t\t\t\tvar weights = 0\n\t\t\t\t\tvar weights_alpha = 0\n\t\t\t\t\tvar gx_r = 0\n\t\t\t\t\tvar gx_g = 0\n\t\t\t\t\tvar gx_b = 0\n\t\t\t\t\tvar gx_a = 0\n\t\t\t\t\tvar center_y = (j + 0.5) * ratio_h\n\t\t\t\t\tfor (var yy = Math.floor(j * ratio_h); yy < (j + 1) * ratio_h; yy++) {\n\t\t\t\t\t\tvar dy = Math.abs(center_y - (yy + 0.5)) / ratio_h_half\n\t\t\t\t\t\tvar center_x = (i + 0.5) * ratio_w\n\t\t\t\t\t\tvar w0 = dy * dy // pre-calc part of w\n\t\t\t\t\t\tfor (var xx = Math.floor(i * ratio_w); xx < (i + 1) * ratio_w; xx++) {\n\t\t\t\t\t\t\tvar dx = Math.abs(center_x - (xx + 0.5)) / ratio_w_half\n\t\t\t\t\t\t\tvar w = Math.sqrt(w0 + dx * dx)\n\t\t\t\t\t\t\tif (w >= -1 && w <= 1) {\n\t\t\t\t\t\t\t\t// hermite filter\n\t\t\t\t\t\t\t\tweight = 2 * w * w * w - 3 * w * w + 1\n\t\t\t\t\t\t\t\tif (weight > 0) {\n\t\t\t\t\t\t\t\t\tdx = 4 * (xx + yy * W)\n\t\t\t\t\t\t\t\t\t// alpha\n\t\t\t\t\t\t\t\t\tgx_a += weight * data[dx + 3]\n\t\t\t\t\t\t\t\t\tweights_alpha += weight\n\t\t\t\t\t\t\t\t\t// colors\n\t\t\t\t\t\t\t\t\tif (data[dx + 3] < 255) { weight = weight * data[dx + 3] / 250 }\n\t\t\t\t\t\t\t\t\tgx_r += weight * data[dx]\n\t\t\t\t\t\t\t\t\tgx_g += weight * data[dx + 1]\n\t\t\t\t\t\t\t\t\tgx_b += weight * data[dx + 2]\n\t\t\t\t\t\t\t\t\tweights += weight\n\t\t\t\t\t\t\t\t}\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\tdata2[x2] = gx_r / weights\n\t\t\t\t\tdata2[x2 + 1] = gx_g / weights\n\t\t\t\t\tdata2[x2 + 2] = gx_b / weights\n\t\t\t\t\tdata2[x2 + 3] = gx_a / weights_alpha\n\t\t\t\t}\n\t\t\t}\n\t\t\tcanvas.getContext('2d').clearRect(0, 0, Math.max(W, W2), Math.max(H, H2))\n\t\t\tcanvas.width = W2\n\t\t\tcanvas.height = H2\n\t\t\tcanvas.getContext('2d').putImageData(img2, 0, 0)\n\t\t}\n\n\t\tvar addConflict = function($conflicts, original, replacement) {\n\n\t\t\tvar $conflict = $conflicts.find('.template').clone().removeClass('template').addClass('conflict')\n\t\t\tvar $originalDiv = $conflict.find('.original')\n\t\t\tvar $replacementDiv = $conflict.find('.replacement')\n\n\t\t\t$conflict.data('data', data)\n\n\t\t\t$conflict.find('.filename').text(original.name)\n\t\t\t$originalDiv.find('.size').text(OC.Util.humanFileSize(original.size))\n\t\t\t$originalDiv.find('.mtime').text(OC.Util.formatDate(original.mtime))\n\t\t\t// ie sucks\n\t\t\tif (replacement.size && replacement.lastModified) {\n\t\t\t\t$replacementDiv.find('.size').text(OC.Util.humanFileSize(replacement.size))\n\t\t\t\t$replacementDiv.find('.mtime').text(OC.Util.formatDate(replacement.lastModified))\n\t\t\t}\n\t\t\tvar path = original.directory + '/' + original.name\n\t\t\tvar urlSpec = {\n\t\t\t\tfile: path,\n\t\t\t\tx: 96,\n\t\t\t\ty: 96,\n\t\t\t\tc: original.etag,\n\t\t\t\tforceIcon: 0\n\t\t\t}\n\t\t\tvar previewpath = Files.generatePreviewUrl(urlSpec)\n\t\t\t// Escaping single quotes\n\t\t\tpreviewpath = previewpath.replace(/'/g, '%27')\n\t\t\t$originalDiv.find('.icon').css({ 'background-image': \"url('\" + previewpath + \"')\" })\n\t\t\tgetCroppedPreview(replacement).then(\n\t\t\t\tfunction(path) {\n\t\t\t\t\t$replacementDiv.find('.icon').css('background-image', 'url(' + path + ')')\n\t\t\t\t}, function() {\n\t\t\t\t\tpath = OC.MimeType.getIconUrl(replacement.type)\n\t\t\t\t\t$replacementDiv.find('.icon').css('background-image', 'url(' + path + ')')\n\t\t\t\t}\n\t\t\t)\n\t\t\t// connect checkboxes with labels\n\t\t\tvar checkboxId = $conflicts.find('.conflict').length\n\t\t\t$originalDiv.find('input:checkbox').attr('id', 'checkbox_original_' + checkboxId)\n\t\t\t$replacementDiv.find('input:checkbox').attr('id', 'checkbox_replacement_' + checkboxId)\n\n\t\t\t$conflicts.append($conflict)\n\n\t\t\t// set more recent mtime bold\n\t\t\t// ie sucks\n\t\t\tif (replacement.lastModified > original.mtime) {\n\t\t\t\t$replacementDiv.find('.mtime').css('font-weight', 'bold')\n\t\t\t} else if (replacement.lastModified < original.mtime) {\n\t\t\t\t$originalDiv.find('.mtime').css('font-weight', 'bold')\n\t\t\t} else {\n\t\t\t\t// TODO add to same mtime collection?\n\t\t\t}\n\n\t\t\t// set bigger size bold\n\t\t\tif (replacement.size && replacement.size > original.size) {\n\t\t\t\t$replacementDiv.find('.size').css('font-weight', 'bold')\n\t\t\t} else if (replacement.size && replacement.size < original.size) {\n\t\t\t\t$originalDiv.find('.size').css('font-weight', 'bold')\n\t\t\t} else {\n\t\t\t\t// TODO add to same size collection?\n\t\t\t}\n\n\t\t\t// TODO show skip action for files with same size and mtime in bottom row\n\n\t\t\t// always keep readonly files\n\n\t\t\tif (original.status === 'readonly') {\n\t\t\t\t$originalDiv\n\t\t\t\t\t.addClass('readonly')\n\t\t\t\t\t.find('input[type=\"checkbox\"]')\n\t\t\t\t\t.prop('checked', true)\n\t\t\t\t\t.prop('disabled', true)\n\t\t\t\t$originalDiv.find('.message')\n\t\t\t\t\t.text(t('core', 'read-only'))\n\t\t\t}\n\t\t}\n\t\t// var selection = controller.getSelection(data.originalFiles);\n\t\t// if (selection.defaultAction) {\n\t\t//\tcontroller[selection.defaultAction](data);\n\t\t// } else {\n\t\tvar dialogName = 'oc-dialog-fileexists-content'\n\t\tvar dialogId = '#' + dialogName\n\t\tif (this._fileexistsshown) {\n\t\t\t// add conflict\n\n\t\t\tvar $conflicts = $(dialogId + ' .conflicts')\n\t\t\taddConflict($conflicts, original, replacement)\n\n\t\t\tvar count = $(dialogId + ' .conflict').length\n\t\t\tvar title = n('core',\n\t\t\t\t'{count} file conflict',\n\t\t\t\t'{count} file conflicts',\n\t\t\t\tcount,\n\t\t\t\t{ count: count }\n\t\t\t)\n\t\t\t$(dialogId).parent().children('.oc-dialog-title').text(title)\n\n\t\t\t// recalculate dimensions\n\t\t\t$(window).trigger('resize')\n\t\t\tdialogDeferred.resolve()\n\t\t} else {\n\t\t\t// create dialog\n\t\t\tthis._fileexistsshown = true\n\t\t\t$.when(this._getFileExistsTemplate()).then(function($tmpl) {\n\t\t\t\tvar title = t('core', 'One file conflict')\n\t\t\t\tvar $dlg = $tmpl.octemplate({\n\t\t\t\t\tdialog_name: dialogName,\n\t\t\t\t\ttitle: title,\n\t\t\t\t\ttype: 'fileexists',\n\n\t\t\t\t\tallnewfiles: t('core', 'New Files'),\n\t\t\t\t\tallexistingfiles: t('core', 'Already existing files'),\n\n\t\t\t\t\twhy: t('core', 'Which files do you want to keep?'),\n\t\t\t\t\twhat: t('core', 'If you select both versions, the copied file will have a number added to its name.')\n\t\t\t\t})\n\t\t\t\t$('body').append($dlg)\n\n\t\t\t\tif (original && replacement) {\n\t\t\t\t\tvar $conflicts = $dlg.find('.conflicts')\n\t\t\t\t\taddConflict($conflicts, original, replacement)\n\t\t\t\t}\n\n\t\t\t\tvar buttonlist = [{\n\t\t\t\t\ttext: t('core', 'Cancel'),\n\t\t\t\t\tclasses: 'cancel',\n\t\t\t\t\tclick: function() {\n\t\t\t\t\t\tif (typeof controller.onCancel !== 'undefined') {\n\t\t\t\t\t\t\tcontroller.onCancel(data)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$(dialogId).ocdialog('close')\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttext: t('core', 'Continue'),\n\t\t\t\t\tclasses: 'continue',\n\t\t\t\t\tclick: function() {\n\t\t\t\t\t\tif (typeof controller.onContinue !== 'undefined') {\n\t\t\t\t\t\t\tcontroller.onContinue($(dialogId + ' .conflict'))\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$(dialogId).ocdialog('close')\n\t\t\t\t\t}\n\t\t\t\t}]\n\n\t\t\t\t$(dialogId).ocdialog({\n\t\t\t\t\twidth: 500,\n\t\t\t\t\tcloseOnEscape: true,\n\t\t\t\t\tmodal: true,\n\t\t\t\t\tbuttons: buttonlist,\n\t\t\t\t\tcloseButton: null,\n\t\t\t\t\tclose: function() {\n\t\t\t\t\t\tself._fileexistsshown = false\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t$(this).ocdialog('destroy').remove()\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t// ignore\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\t$(dialogId).css('height', 'auto')\n\n\t\t\t\tvar $primaryButton = $dlg.closest('.oc-dialog').find('button.continue')\n\t\t\t\t$primaryButton.prop('disabled', true)\n\n\t\t\t\tfunction updatePrimaryButton() {\n\t\t\t\t\tvar checkedCount = $dlg.find('.conflicts .checkbox:checked').length\n\t\t\t\t\t$primaryButton.prop('disabled', checkedCount === 0)\n\t\t\t\t}\n\n\t\t\t\t// add checkbox toggling actions\n\t\t\t\t$(dialogId).find('.allnewfiles').on('click', function() {\n\t\t\t\t\tvar $checkboxes = $(dialogId).find('.conflict .replacement input[type=\"checkbox\"]')\n\t\t\t\t\t$checkboxes.prop('checked', $(this).prop('checked'))\n\t\t\t\t})\n\t\t\t\t$(dialogId).find('.allexistingfiles').on('click', function() {\n\t\t\t\t\tvar $checkboxes = $(dialogId).find('.conflict .original:not(.readonly) input[type=\"checkbox\"]')\n\t\t\t\t\t$checkboxes.prop('checked', $(this).prop('checked'))\n\t\t\t\t})\n\t\t\t\t$(dialogId).find('.conflicts').on('click', '.replacement,.original:not(.readonly)', function() {\n\t\t\t\t\tvar $checkbox = $(this).find('input[type=\"checkbox\"]')\n\t\t\t\t\t$checkbox.prop('checked', !$checkbox.prop('checked'))\n\t\t\t\t})\n\t\t\t\t$(dialogId).find('.conflicts').on('click', '.replacement input[type=\"checkbox\"],.original:not(.readonly) input[type=\"checkbox\"]', function() {\n\t\t\t\t\tvar $checkbox = $(this)\n\t\t\t\t\t$checkbox.prop('checked', !$checkbox.prop('checked'))\n\t\t\t\t})\n\n\t\t\t\t// update counters\n\t\t\t\t$(dialogId).on('click', '.replacement,.allnewfiles', function() {\n\t\t\t\t\tvar count = $(dialogId).find('.conflict .replacement input[type=\"checkbox\"]:checked').length\n\t\t\t\t\tif (count === $(dialogId + ' .conflict').length) {\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles').prop('checked', true)\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles + .count').text(t('core', '(all selected)'))\n\t\t\t\t\t} else if (count > 0) {\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles').prop('checked', false)\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles + .count').text(t('core', '({count} selected)', { count: count }))\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles').prop('checked', false)\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles + .count').text('')\n\t\t\t\t\t}\n\t\t\t\t\tupdatePrimaryButton()\n\t\t\t\t})\n\t\t\t\t$(dialogId).on('click', '.original,.allexistingfiles', function() {\n\t\t\t\t\tvar count = $(dialogId).find('.conflict .original input[type=\"checkbox\"]:checked').length\n\t\t\t\t\tif (count === $(dialogId + ' .conflict').length) {\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles').prop('checked', true)\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles + .count').text(t('core', '(all selected)'))\n\t\t\t\t\t} else if (count > 0) {\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles').prop('checked', false)\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles + .count')\n\t\t\t\t\t\t\t.text(t('core', '({count} selected)', { count: count }))\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles').prop('checked', false)\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles + .count').text('')\n\t\t\t\t\t}\n\t\t\t\t\tupdatePrimaryButton()\n\t\t\t\t})\n\n\t\t\t\tdialogDeferred.resolve()\n\t\t\t})\n\t\t\t\t.fail(function() {\n\t\t\t\t\tdialogDeferred.reject()\n\t\t\t\t\talert(t('core', 'Error loading file exists template'))\n\t\t\t\t})\n\t\t}\n\t\t// }\n\t\treturn dialogDeferred.promise()\n\t},\n\n\t_getMessageTemplate: function() {\n\t\tvar defer = $.Deferred()\n\t\tif (!this.$messageTemplate) {\n\t\t\tvar self = this\n\t\t\t$.get(OC.filePath('core', 'templates', 'message.html'), function(tmpl) {\n\t\t\t\tself.$messageTemplate = $(tmpl)\n\t\t\t\tdefer.resolve(self.$messageTemplate)\n\t\t\t})\n\t\t\t\t.fail(function(jqXHR, textStatus, errorThrown) {\n\t\t\t\t\tdefer.reject(jqXHR.status, errorThrown)\n\t\t\t\t})\n\t\t} else {\n\t\t\tdefer.resolve(this.$messageTemplate)\n\t\t}\n\t\treturn defer.promise()\n\t},\n\t_getFileExistsTemplate: function() {\n\t\tvar defer = $.Deferred()\n\t\tif (!this.$fileexistsTemplate) {\n\t\t\tvar self = this\n\t\t\t$.get(OC.filePath('files', 'templates', 'fileexists.html'), function(tmpl) {\n\t\t\t\tself.$fileexistsTemplate = $(tmpl)\n\t\t\t\tdefer.resolve(self.$fileexistsTemplate)\n\t\t\t})\n\t\t\t\t.fail(function() {\n\t\t\t\t\tdefer.reject()\n\t\t\t\t})\n\t\t} else {\n\t\t\tdefer.resolve(this.$fileexistsTemplate)\n\t\t}\n\t\treturn defer.promise()\n\t},\n}\n\nexport default Dialogs\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { emit } from '@nextcloud/event-bus'\n\n/**\n * @private\n * @param {Document} global the document to read the initial value from\n * @param {Function} emit the function to invoke for every new token\n * @return {object}\n */\nexport const manageToken = (global, emit) => {\n\tlet token = global.getElementsByTagName('head')[0].getAttribute('data-requesttoken')\n\n\treturn {\n\t\tgetToken: () => token,\n\t\tsetToken: newToken => {\n\t\t\ttoken = newToken\n\n\t\t\temit('csrf-token-update', {\n\t\t\t\ttoken,\n\t\t\t})\n\t\t},\n\t}\n}\n\nconst manageFromDocument = manageToken(document, emit)\n\n/**\n * @return {string}\n */\nexport const getToken = manageFromDocument.getToken\n\n/**\n * @param {string} newToken new token\n */\nexport const setToken = manageFromDocument.setToken\n","/**\n * @copyright 2012 Robin Appelman icewind1991@gmail.com\n *\n * @author Arthur Schiwon <blizzz@arthur-schiwon.de>\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Lukas Reschke <lukas@statuscode.ch>\n * @author Robin Appelman <robin@icewind.nl>\n * @author Thomas Müller <thomas.mueller@tmit.eu>\n * @author Vincent Petry <vincent@nextcloud.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* eslint-disable */\nimport $ from 'jquery'\n\nimport { getToken } from './requesttoken.js'\n\n/**\n * Create a new event source\n * @param {string} src\n * @param {object} [data] to be send as GET\n *\n * @constructs OCEventSource\n */\nconst OCEventSource = function(src, data) {\n\tvar dataStr = ''\n\tvar name\n\tvar joinChar\n\tthis.typelessListeners = []\n\tthis.closed = false\n\tthis.listeners = {}\n\tif (data) {\n\t\tfor (name in data) {\n\t\t\tdataStr += name + '=' + encodeURIComponent(data[name]) + '&'\n\t\t}\n\t}\n\tdataStr += 'requesttoken=' + encodeURIComponent(getToken())\n\tif (!this.useFallBack && typeof EventSource !== 'undefined') {\n\t\tjoinChar = '&'\n\t\tif (src.indexOf('?') === -1) {\n\t\t\tjoinChar = '?'\n\t\t}\n\t\tthis.source = new EventSource(src + joinChar + dataStr)\n\t\tthis.source.onmessage = function(e) {\n\t\t\tfor (var i = 0; i < this.typelessListeners.length; i++) {\n\t\t\t\tthis.typelessListeners[i](JSON.parse(e.data))\n\t\t\t}\n\t\t}.bind(this)\n\t} else {\n\t\tvar iframeId = 'oc_eventsource_iframe_' + OCEventSource.iframeCount\n\t\tOCEventSource.fallBackSources[OCEventSource.iframeCount] = this\n\t\tthis.iframe = $('<iframe></iframe>')\n\t\tthis.iframe.attr('id', iframeId)\n\t\tthis.iframe.hide()\n\n\t\tjoinChar = '&'\n\t\tif (src.indexOf('?') === -1) {\n\t\t\tjoinChar = '?'\n\t\t}\n\t\tthis.iframe.attr('src', src + joinChar + 'fallback=true&fallback_id=' + OCEventSource.iframeCount + '&' + dataStr)\n\t\t$('body').append(this.iframe)\n\t\tthis.useFallBack = true\n\t\tOCEventSource.iframeCount++\n\t}\n\t// add close listener\n\tthis.listen('__internal__', function(data) {\n\t\tif (data === 'close') {\n\t\t\tthis.close()\n\t\t}\n\t}.bind(this))\n}\nOCEventSource.fallBackSources = []\nOCEventSource.iframeCount = 0// number of fallback iframes\nOCEventSource.fallBackCallBack = function(id, type, data) {\n\tOCEventSource.fallBackSources[id].fallBackCallBack(type, data)\n}\nOCEventSource.prototype = {\n\ttypelessListeners: [],\n\tiframe: null,\n\tlisteners: {}, // only for fallback\n\tuseFallBack: false,\n\t/**\n\t * Fallback callback for browsers that don't have the\n\t * native EventSource object.\n\t *\n\t * Calls the registered listeners.\n\t *\n\t * @private\n\t * @param {String} type event type\n\t * @param {Object} data received data\n\t */\n\tfallBackCallBack: function(type, data) {\n\t\tvar i\n\t\t// ignore messages that might appear after closing\n\t\tif (this.closed) {\n\t\t\treturn\n\t\t}\n\t\tif (type) {\n\t\t\tif (typeof this.listeners.done !== 'undefined') {\n\t\t\t\tfor (i = 0; i < this.listeners[type].length; i++) {\n\t\t\t\t\tthis.listeners[type][i](data)\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor (i = 0; i < this.typelessListeners.length; i++) {\n\t\t\t\tthis.typelessListeners[i](data)\n\t\t\t}\n\t\t}\n\t},\n\tlastLength: 0, // for fallback\n\t/**\n\t * Listen to a given type of events.\n\t *\n\t * @param {String} type event type\n\t * @param {Function} callback event callback\n\t */\n\tlisten: function(type, callback) {\n\t\tif (callback && callback.call) {\n\n\t\t\tif (type) {\n\t\t\t\tif (this.useFallBack) {\n\t\t\t\t\tif (!this.listeners[type]) {\n\t\t\t\t\t\tthis.listeners[type] = []\n\t\t\t\t\t}\n\t\t\t\t\tthis.listeners[type].push(callback)\n\t\t\t\t} else {\n\t\t\t\t\tthis.source.addEventListener(type, function(e) {\n\t\t\t\t\t\tif (typeof e.data !== 'undefined') {\n\t\t\t\t\t\t\tcallback(JSON.parse(e.data))\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcallback('')\n\t\t\t\t\t\t}\n\t\t\t\t\t}, false)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.typelessListeners.push(callback)\n\t\t\t}\n\t\t}\n\t},\n\t/**\n\t * Closes this event source.\n\t */\n\tclose: function() {\n\t\tthis.closed = true\n\t\tif (typeof this.source !== 'undefined') {\n\t\t\tthis.source.close()\n\t\t}\n\t}\n}\n\nexport default OCEventSource\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Daniel Calviño Sánchez <danxuliu@gmail.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport _ from 'underscore'\n/** @typedef {import('jquery')} jQuery */\nimport $ from 'jquery'\n\nimport { menuSpeed } from './constants.js'\n\nexport let currentMenu = null\nexport let currentMenuToggle = null\n\n/**\n * For menu toggling\n *\n * @param {jQuery} $toggle the toggle element\n * @param {jQuery} $menuEl the menu container element\n * @param {Function | undefined} toggle callback invoked everytime the menu is opened\n * @param {boolean} headerMenu is this a top right header menu?\n * @return {void}\n */\nexport const registerMenu = function($toggle, $menuEl, toggle, headerMenu) {\n\t$menuEl.addClass('menu')\n\tconst isClickableElement = $toggle.prop('tagName') === 'A' || $toggle.prop('tagName') === 'BUTTON'\n\n\t// On link and button, the enter key trigger a click event\n\t// Only use the click to avoid two fired events\n\t$toggle.on(isClickableElement ? 'click.menu' : 'click.menu keyup.menu', function(event) {\n\t\t// prevent the link event (append anchor to URL)\n\t\tevent.preventDefault()\n\n\t\t// allow enter key as a trigger\n\t\tif (event.key && event.key !== 'Enter') {\n\t\t\treturn\n\t\t}\n\n\t\tif ($menuEl.is(currentMenu)) {\n\t\t\thideMenus()\n\t\t\treturn\n\t\t} else if (currentMenu) {\n\t\t\t// another menu was open?\n\t\t\t// close it\n\t\t\thideMenus()\n\t\t}\n\n\t\tif (headerMenu === true) {\n\t\t\t$menuEl.parent().addClass('openedMenu')\n\t\t}\n\n\t\t// Set menu to expanded\n\t\t$toggle.attr('aria-expanded', true)\n\n\t\t$menuEl.slideToggle(menuSpeed, toggle)\n\t\tcurrentMenu = $menuEl\n\t\tcurrentMenuToggle = $toggle\n\t})\n}\n\n/**\n * Unregister a previously registered menu\n *\n * @param {jQuery} $toggle the toggle element\n * @param {jQuery} $menuEl the menu container element\n */\nexport const unregisterMenu = ($toggle, $menuEl) => {\n\t// close menu if opened\n\tif ($menuEl.is(currentMenu)) {\n\t\thideMenus()\n\t}\n\t$toggle.off('click.menu').removeClass('menutoggle')\n\t$menuEl.removeClass('menu')\n}\n\n/**\n * Hides any open menus\n *\n * @param {Function} complete callback when the hiding animation is done\n */\nexport const hideMenus = function(complete) {\n\tif (currentMenu) {\n\t\tconst lastMenu = currentMenu\n\t\tcurrentMenu.trigger(new $.Event('beforeHide'))\n\t\tcurrentMenu.slideUp(menuSpeed, function() {\n\t\t\tlastMenu.trigger(new $.Event('afterHide'))\n\t\t\tif (complete) {\n\t\t\t\tcomplete.apply(this, arguments)\n\t\t\t}\n\t\t})\n\t}\n\n\t// Set menu to closed\n\t$('.menutoggle').attr('aria-expanded', false)\n\tif (currentMenuToggle) {\n\t\tcurrentMenuToggle.attr('aria-expanded', false)\n\t}\n\n\t$('.openedMenu').removeClass('openedMenu')\n\tcurrentMenu = null\n\tcurrentMenuToggle = null\n}\n\n/**\n * Shows a given element as menu\n *\n * @param {object} [$toggle=null] menu toggle\n * @param {object} $menuEl menu element\n * @param {Function} complete callback when the showing animation is done\n */\nexport const showMenu = ($toggle, $menuEl, complete) => {\n\tif ($menuEl.is(currentMenu)) {\n\t\treturn\n\t}\n\thideMenus()\n\tcurrentMenu = $menuEl\n\tcurrentMenuToggle = $toggle\n\t$menuEl.trigger(new $.Event('beforeShow'))\n\t$menuEl.show()\n\t$menuEl.trigger(new $.Event('afterShow'))\n\t// no animation\n\tif (_.isFunction(complete)) {\n\t\tcomplete()\n\t}\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport const coreApps = ['', 'admin', 'log', 'core/search', 'core', '3rdparty']\nexport const menuSpeed = 50\nexport const PERMISSION_NONE = 0\nexport const PERMISSION_CREATE = 4\nexport const PERMISSION_READ = 1\nexport const PERMISSION_UPDATE = 2\nexport const PERMISSION_DELETE = 8\nexport const PERMISSION_SHARE = 16\nexport const PERMISSION_ALL = 31\nexport const TAG_FAVORITE = '_$!<Favorite>!$_'\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst isAdmin = !!window._oc_isadmin\n\n/**\n * Returns whether the current user is an administrator\n *\n * @return {boolean} true if the user is an admin, false otherwise\n * @since 9.0.0\n */\nexport const isUserAdmin = () => isAdmin\n","/**\n * Copyright (c) 2014 Vincent Petry <pvince81@owncloud.com>\n * Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Daniel Kesselberg <mail@danielkesselberg.de>\n * @author Joas Schilling <coding@schilljs.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Morris Jobke <hey@morrisjobke.de>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n * @author Vincent Petry <vincent@nextcloud.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Handlebars from 'handlebars'\nimport {\n\tloadTranslations,\n\ttranslate,\n\ttranslatePlural,\n\tregister,\n\tunregister,\n} from '@nextcloud/l10n'\n\n/**\n * L10N namespace with localization functions.\n *\n * @namespace OC.L10n\n * @deprecated 26.0.0 use https://www.npmjs.com/package/@nextcloud/l10n\n */\nconst L10n = {\n\n\t/**\n\t * Load an app's translation bundle if not loaded already.\n\t *\n\t * @deprecated 26.0.0 use `loadTranslations` from https://www.npmjs.com/package/@nextcloud/l10n\n\t *\n\t * @param {string} appName name of the app\n\t * @param {Function} callback callback to be called when\n\t * the translations are loaded\n\t * @return {Promise} promise\n\t */\n\tload: loadTranslations,\n\n\t/**\n\t * Register an app's translation bundle.\n\t *\n\t * @deprecated 26.0.0 use `register` from https://www.npmjs.com/package/@nextcloud/l10\n\t *\n\t * @param {string} appName name of the app\n\t * @param {Object<string, string>} bundle bundle\n\t */\n\tregister,\n\n\t/**\n\t * @private\n\t * @deprecated 26.0.0 use `unregister` from https://www.npmjs.com/package/@nextcloud/l10n\n\t */\n\t_unregister: unregister,\n\n\t/**\n\t * Translate a string\n\t *\n\t * @deprecated 26.0.0 use `translate` from https://www.npmjs.com/package/@nextcloud/l10n\n\t *\n\t * @param {string} app the id of the app for which to translate the string\n\t * @param {string} text the string to translate\n\t * @param {object} [vars] map of placeholder key to value\n\t * @param {number} [count] number to replace %n with\n\t * @param {Array} [options] options array\n\t * @param {boolean} [options.escape=true] enable/disable auto escape of placeholders (by default enabled)\n\t * @param {boolean} [options.sanitize=true] enable/disable sanitization (by default enabled)\n\t * @return {string}\n\t */\n\ttranslate,\n\n\t/**\n\t * Translate a plural string\n\t *\n\t * @deprecated 26.0.0 use `translatePlural` from https://www.npmjs.com/package/@nextcloud/l10n\n\t *\n\t * @param {string} app the id of the app for which to translate the string\n\t * @param {string} textSingular the string to translate for exactly one object\n\t * @param {string} textPlural the string to translate for n objects\n\t * @param {number} count number to determine whether to use singular or plural\n\t * @param {object} [vars] map of placeholder key to value\n\t * @param {Array} [options] options array\n\t * @param {boolean} [options.escape=true] enable/disable auto escape of placeholders (by default enabled)\n\t * @return {string} Translated string\n\t */\n\ttranslatePlural,\n}\n\nexport default L10n\n\nHandlebars.registerHelper('t', function(app, text) {\n\treturn translate(app, text)\n})\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport {\n\tgetRootUrl as realGetRootUrl,\n} from '@nextcloud/router'\n\n/**\n * Creates a relative url for remote use\n *\n * @param {string} service id\n * @return {string} the url\n */\nexport const linkToRemoteBase = service => {\n\treturn realGetRootUrl() + '/remote.php/' + service\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author rakekniven <mark.ziegler@rakekniven.de>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport $ from 'jquery'\n\n/**\n * A little class to manage a status field for a \"saving\" process.\n * It can be used to display a starting message (e.g. \"Saving...\") and then\n * replace it with a green success message or a red error message.\n *\n * @namespace OC.msg\n */\nexport default {\n\t/**\n\t * Displayes a \"Saving...\" message in the given message placeholder\n\t *\n\t * @param {object} selector Placeholder to display the message in\n\t */\n\tstartSaving(selector) {\n\t\tthis.startAction(selector, t('core', 'Saving …'))\n\t},\n\n\t/**\n\t * Displayes a custom message in the given message placeholder\n\t *\n\t * @param {object} selector Placeholder to display the message in\n\t * @param {string} message Plain text message to display (no HTML allowed)\n\t */\n\tstartAction(selector, message) {\n\t\t$(selector).text(message)\n\t\t\t.removeClass('success')\n\t\t\t.removeClass('error')\n\t\t\t.stop(true, true)\n\t\t\t.show()\n\t},\n\n\t/**\n\t * Displayes an success/error message in the given selector\n\t *\n\t * @param {object} selector Placeholder to display the message in\n\t * @param {object} response Response of the server\n\t * @param {object} response.data Data of the servers response\n\t * @param {string} response.data.message Plain text message to display (no HTML allowed)\n\t * @param {string} response.status is being used to decide whether the message\n\t * is displayed as an error/success\n\t */\n\tfinishedSaving(selector, response) {\n\t\tthis.finishedAction(selector, response)\n\t},\n\n\t/**\n\t * Displayes an success/error message in the given selector\n\t *\n\t * @param {object} selector Placeholder to display the message in\n\t * @param {object} response Response of the server\n\t * @param {object} response.data Data of the servers response\n\t * @param {string} response.data.message Plain text message to display (no HTML allowed)\n\t * @param {string} response.status is being used to decide whether the message\n\t * is displayed as an error/success\n\t */\n\tfinishedAction(selector, response) {\n\t\tif (response.status === 'success') {\n\t\t\tthis.finishedSuccess(selector, response.data.message)\n\t\t} else {\n\t\t\tthis.finishedError(selector, response.data.message)\n\t\t}\n\t},\n\n\t/**\n\t * Displayes an success message in the given selector\n\t *\n\t * @param {object} selector Placeholder to display the message in\n\t * @param {string} message Plain text success message to display (no HTML allowed)\n\t */\n\tfinishedSuccess(selector, message) {\n\t\t$(selector).text(message)\n\t\t\t.addClass('success')\n\t\t\t.removeClass('error')\n\t\t\t.stop(true, true)\n\t\t\t.delay(3000)\n\t\t\t.fadeOut(900)\n\t\t\t.show()\n\t},\n\n\t/**\n\t * Displayes an error message in the given selector\n\t *\n\t * @param {object} selector Placeholder to display the message in\n\t * @param {string} message Plain text error message to display (no HTML allowed)\n\t */\n\tfinishedError(selector, message) {\n\t\t$(selector).text(message)\n\t\t\t.addClass('error')\n\t\t\t.removeClass('success')\n\t\t\t.show()\n\t},\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { confirmPassword, isPasswordConfirmationRequired } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\n\n/**\n * @namespace OC.PasswordConfirmation\n */\nexport default {\n\n\trequiresPasswordConfirmation() {\n\t\treturn isPasswordConfirmationRequired()\n\t},\n\n\t/**\n\t * @param {Function} callback success callback function\n\t * @param {object} options options currently not used by confirmPassword\n\t * @param {Function} rejectCallback error callback function\n\t */\n\trequirePasswordConfirmation(callback, options, rejectCallback) {\n\t\tconfirmPassword().then(callback, rejectCallback)\n\t},\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport const theme = window._theme || {}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport _ from 'underscore'\nimport OC from './index.js'\n\n/**\n * Utility class for the history API,\n * includes fallback to using the URL hash when\n * the browser doesn't support the history API.\n *\n * @namespace OC.Util.History\n */\nexport default {\n\n\t_handlers: [],\n\n\t/**\n\t * Push the current URL parameters to the history stack\n\t * and change the visible URL.\n\t * Note: this includes a workaround for IE8/IE9 that uses\n\t * the hash part instead of the search part.\n\t *\n\t * @param {object | string} params to append to the URL, can be either a string\n\t * or a map\n\t * @param {string} [url] URL to be used, otherwise the current URL will be used,\n\t * using the params as query string\n\t * @param {boolean} [replace=false] whether to replace instead of pushing\n\t */\n\t_pushState(params, url, replace) {\n\t\tlet strParams\n\t\tif (typeof (params) === 'string') {\n\t\t\tstrParams = params\n\t\t} else {\n\t\t\tstrParams = OC.buildQueryString(params)\n\t\t}\n\n\t\tif (window.history.pushState) {\n\t\t\turl = url || location.pathname + '?' + strParams\n\t\t\t// Workaround for bug with SVG and window.history.pushState on Firefox < 51\n\t\t\t// https://bugzilla.mozilla.org/show_bug.cgi?id=652991\n\t\t\tconst isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1\n\t\t\tif (isFirefox && parseInt(navigator.userAgent.split('/').pop()) < 51) {\n\t\t\t\tconst patterns = document.querySelectorAll('[fill^=\"url(#\"], [stroke^=\"url(#\"], [filter^=\"url(#invert\"]')\n\t\t\t\tfor (let i = 0, ii = patterns.length, pattern; i < ii; i++) {\n\t\t\t\t\tpattern = patterns[i]\n\t\t\t\t\t// eslint-disable-next-line no-self-assign\n\t\t\t\t\tpattern.style.fill = pattern.style.fill\n\t\t\t\t\t// eslint-disable-next-line no-self-assign\n\t\t\t\t\tpattern.style.stroke = pattern.style.stroke\n\t\t\t\t\tpattern.removeAttribute('filter')\n\t\t\t\t\tpattern.setAttribute('filter', 'url(#invert)')\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (replace) {\n\t\t\t\twindow.history.replaceState(params, '', url)\n\t\t\t} else {\n\t\t\t\twindow.history.pushState(params, '', url)\n\t\t\t}\n\t\t} else {\n\t\t\t// use URL hash for IE8\n\t\t\twindow.location.hash = '?' + strParams\n\t\t\t// inhibit next onhashchange that just added itself\n\t\t\t// to the event queue\n\t\t\tthis._cancelPop = true\n\t\t}\n\t},\n\n\t/**\n\t * Push the current URL parameters to the history stack\n\t * and change the visible URL.\n\t * Note: this includes a workaround for IE8/IE9 that uses\n\t * the hash part instead of the search part.\n\t *\n\t * @param {object | string} params to append to the URL, can be either a string or a map\n\t * @param {string} [url] URL to be used, otherwise the current URL will be used, using the params as query string\n\t */\n\tpushState(params, url) {\n\t\tthis._pushState(params, url, false)\n\t},\n\n\t/**\n\t * Push the current URL parameters to the history stack\n\t * and change the visible URL.\n\t * Note: this includes a workaround for IE8/IE9 that uses\n\t * the hash part instead of the search part.\n\t *\n\t * @param {object | string} params to append to the URL, can be either a string\n\t * or a map\n\t * @param {string} [url] URL to be used, otherwise the current URL will be used,\n\t * using the params as query string\n\t */\n\treplaceState(params, url) {\n\t\tthis._pushState(params, url, true)\n\t},\n\n\t/**\n\t * Add a popstate handler\n\t *\n\t * @param {Function} handler handler\n\t */\n\taddOnPopStateHandler(handler) {\n\t\tthis._handlers.push(handler)\n\t},\n\n\t/**\n\t * Parse a query string from the hash part of the URL.\n\t * (workaround for IE8 / IE9)\n\t *\n\t * @return {string}\n\t */\n\t_parseHashQuery() {\n\t\tconst hash = window.location.hash\n\t\tconst pos = hash.indexOf('?')\n\t\tif (pos >= 0) {\n\t\t\treturn hash.substr(pos + 1)\n\t\t}\n\t\tif (hash.length) {\n\t\t\t// remove hash sign\n\t\t\treturn hash.substr(1)\n\t\t}\n\t\treturn ''\n\t},\n\n\t_decodeQuery(query) {\n\t\treturn query.replace(/\\+/g, ' ')\n\t},\n\n\t/**\n\t * Parse the query/search part of the URL.\n\t * Also try and parse it from the URL hash (for IE8)\n\t *\n\t * @return {object} map of parameters\n\t */\n\tparseUrlQuery() {\n\t\tconst query = this._parseHashQuery()\n\t\tlet params\n\t\t// try and parse from URL hash first\n\t\tif (query) {\n\t\t\tparams = OC.parseQueryString(this._decodeQuery(query))\n\t\t}\n\t\t// else read from query attributes\n\t\tparams = _.extend(params || {}, OC.parseQueryString(this._decodeQuery(location.search)))\n\t\treturn params || {}\n\t},\n\n\t_onPopState(e) {\n\t\tif (this._cancelPop) {\n\t\t\tthis._cancelPop = false\n\t\t\treturn\n\t\t}\n\t\tlet params\n\t\tif (!this._handlers.length) {\n\t\t\treturn\n\t\t}\n\t\tparams = (e && e.state)\n\t\tif (_.isString(params)) {\n\t\t\tparams = OC.parseQueryString(params)\n\t\t} else if (!params) {\n\t\t\tparams = this.parseUrlQuery() || {}\n\t\t}\n\t\tfor (let i = 0; i < this._handlers.length; i++) {\n\t\t\tthis._handlers[i](params)\n\t\t}\n\t},\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport moment from 'moment'\n\nimport History from './util-history.js'\nimport OC from './index.js'\nimport { formatFileSize as humanFileSize } from '@nextcloud/files'\n\n/**\n * @param {any} t -\n */\nfunction chunkify(t) {\n\t// Adapted from http://my.opera.com/GreyWyvern/blog/show.dml/1671288\n\tconst tz = []\n\tlet x = 0\n\tlet y = -1\n\tlet n = 0\n\tlet c\n\n\twhile (x < t.length) {\n\t\tc = t.charAt(x)\n\t\t// only include the dot in strings\n\t\tconst m = ((!n && c === '.') || (c >= '0' && c <= '9'))\n\t\tif (m !== n) {\n\t\t\t// next chunk\n\t\t\ty++\n\t\t\ttz[y] = ''\n\t\t\tn = m\n\t\t}\n\t\ttz[y] += c\n\t\tx++\n\t}\n\treturn tz\n}\n\n/**\n * Utility functions\n *\n * @namespace OC.Util\n */\nexport default {\n\n\tHistory,\n\n\t/**\n\t * @deprecated use https://nextcloud.github.io/nextcloud-files/functions/formatFileSize.html\n\t */\n\thumanFileSize,\n\n\t/**\n\t * Returns a file size in bytes from a humanly readable string\n\t * Makes 2kB to 2048.\n\t * Inspired by computerFileSize in helper.php\n\t *\n\t * @param {string} string file size in human-readable format\n\t * @return {number} or null if string could not be parsed\n\t *\n\t *\n\t */\n\tcomputerFileSize(string) {\n\t\tif (typeof string !== 'string') {\n\t\t\treturn null\n\t\t}\n\n\t\tconst s = string.toLowerCase().trim()\n\t\tlet bytes = null\n\n\t\tconst bytesArray = {\n\t\t\tb: 1,\n\t\t\tk: 1024,\n\t\t\tkb: 1024,\n\t\t\tmb: 1024 * 1024,\n\t\t\tm: 1024 * 1024,\n\t\t\tgb: 1024 * 1024 * 1024,\n\t\t\tg: 1024 * 1024 * 1024,\n\t\t\ttb: 1024 * 1024 * 1024 * 1024,\n\t\t\tt: 1024 * 1024 * 1024 * 1024,\n\t\t\tpb: 1024 * 1024 * 1024 * 1024 * 1024,\n\t\t\tp: 1024 * 1024 * 1024 * 1024 * 1024,\n\t\t}\n\n\t\tconst matches = s.match(/^[\\s+]?([0-9]*)(\\.([0-9]+))?( +)?([kmgtp]?b?)$/i)\n\t\tif (matches !== null) {\n\t\t\tbytes = parseFloat(s)\n\t\t\tif (!isFinite(bytes)) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t} else {\n\t\t\treturn null\n\t\t}\n\t\tif (matches[5]) {\n\t\t\tbytes = bytes * bytesArray[matches[5]]\n\t\t}\n\n\t\tbytes = Math.round(bytes)\n\t\treturn bytes\n\t},\n\n\t/**\n\t * @param {string|number} timestamp timestamp\n\t * @param {string} format date format, see momentjs docs\n\t * @return {string} timestamp formatted as requested\n\t */\n\tformatDate(timestamp, format) {\n\t\tif (window.TESTING === undefined) {\n\t\t\tOC.debug && console.warn('OC.Util.formatDate is deprecated and will be removed in Nextcloud 21. See @nextcloud/moment')\n\t\t}\n\t\tformat = format || 'LLL'\n\t\treturn moment(timestamp).format(format)\n\t},\n\n\t/**\n\t * @param {string|number} timestamp timestamp\n\t * @return {string} human readable difference from now\n\t */\n\trelativeModifiedDate(timestamp) {\n\t\tif (window.TESTING === undefined) {\n\t\t\tOC.debug && console.warn('OC.Util.relativeModifiedDate is deprecated and will be removed in Nextcloud 21. See @nextcloud/moment')\n\t\t}\n\t\tconst diff = moment().diff(moment(timestamp))\n\t\tif (diff >= 0 && diff < 45000) {\n\t\t\treturn t('core', 'seconds ago')\n\t\t}\n\t\treturn moment(timestamp).fromNow()\n\t},\n\n\t/**\n\t * Returns the width of a generic browser scrollbar\n\t *\n\t * @return {number} width of scrollbar\n\t */\n\tgetScrollBarWidth() {\n\t\tif (this._scrollBarWidth) {\n\t\t\treturn this._scrollBarWidth\n\t\t}\n\n\t\tconst inner = document.createElement('p')\n\t\tinner.style.width = '100%'\n\t\tinner.style.height = '200px'\n\n\t\tconst outer = document.createElement('div')\n\t\touter.style.position = 'absolute'\n\t\touter.style.top = '0px'\n\t\touter.style.left = '0px'\n\t\touter.style.visibility = 'hidden'\n\t\touter.style.width = '200px'\n\t\touter.style.height = '150px'\n\t\touter.style.overflow = 'hidden'\n\t\touter.appendChild(inner)\n\n\t\tdocument.body.appendChild(outer)\n\t\tconst w1 = inner.offsetWidth\n\t\touter.style.overflow = 'scroll'\n\t\tlet w2 = inner.offsetWidth\n\t\tif (w1 === w2) {\n\t\t\tw2 = outer.clientWidth\n\t\t}\n\n\t\tdocument.body.removeChild(outer)\n\n\t\tthis._scrollBarWidth = (w1 - w2)\n\n\t\treturn this._scrollBarWidth\n\t},\n\n\t/**\n\t * Remove the time component from a given date\n\t *\n\t * @param {Date} date date\n\t * @return {Date} date with stripped time\n\t */\n\tstripTime(date) {\n\t\t// FIXME: likely to break when crossing DST\n\t\t// would be better to use a library like momentJS\n\t\treturn new Date(date.getFullYear(), date.getMonth(), date.getDate())\n\t},\n\n\t/**\n\t * Compare two strings to provide a natural sort\n\t *\n\t * @param {string} a first string to compare\n\t * @param {string} b second string to compare\n\t * @return {number} -1 if b comes before a, 1 if a comes before b\n\t * or 0 if the strings are identical\n\t */\n\tnaturalSortCompare(a, b) {\n\t\tlet x\n\t\tconst aa = chunkify(a)\n\t\tconst bb = chunkify(b)\n\n\t\tfor (x = 0; aa[x] && bb[x]; x++) {\n\t\t\tif (aa[x] !== bb[x]) {\n\t\t\t\tconst aNum = Number(aa[x]); const bNum = Number(bb[x])\n\t\t\t\t// note: == is correct here\n\t\t\t\t/* eslint-disable-next-line */\n\t\t\t\tif (aNum == aa[x] && bNum == bb[x]) {\n\t\t\t\t\treturn aNum - bNum\n\t\t\t\t} else {\n\t\t\t\t\t// Note: This locale setting isn't supported by all browsers but for the ones\n\t\t\t\t\t// that do there will be more consistency between client-server sorting\n\t\t\t\t\treturn aa[x].localeCompare(bb[x], OC.getLanguage())\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn aa.length - bb.length\n\t},\n\n\t/**\n\t * Calls the callback in a given interval until it returns true\n\t *\n\t * @param {Function} callback function to call on success\n\t * @param {number} interval in milliseconds\n\t */\n\twaitFor(callback, interval) {\n\t\tconst internalCallback = function() {\n\t\t\tif (callback() !== true) {\n\t\t\t\tsetTimeout(internalCallback, interval)\n\t\t\t}\n\t\t}\n\n\t\tinternalCallback()\n\t},\n\n\t/**\n\t * Checks if a cookie with the given name is present and is set to the provided value.\n\t *\n\t * @param {string} name name of the cookie\n\t * @param {string} value value of the cookie\n\t * @return {boolean} true if the cookie with the given name has the given value\n\t */\n\tisCookieSetToValue(name, value) {\n\t\tconst cookies = document.cookie.split(';')\n\t\tfor (let i = 0; i < cookies.length; i++) {\n\t\t\tconst cookie = cookies[i].split('=')\n\t\t\tif (cookie[0].trim() === name && cookie[1].trim() === value) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t}\n\t\treturn false\n\t},\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst base = window._oc_debug\n\nexport const debug = base\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nlet webroot = window._oc_webroot\n\nif (typeof webroot === 'undefined') {\n\twebroot = location.pathname\n\tconst pos = webroot.indexOf('/index.php/')\n\tif (pos !== -1) {\n\t\twebroot = webroot.substr(0, pos)\n\t} else {\n\t\twebroot = webroot.substr(0, webroot.lastIndexOf('/'))\n\t}\n}\n\nexport default webroot\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport const get = context => name => {\n\tconst namespaces = name.split('.')\n\tconst tail = namespaces.pop()\n\n\tfor (let i = 0; i < namespaces.length; i++) {\n\t\tcontext = context[namespaces[i]]\n\t\tif (!context) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn context[tail]\n}\n\n/**\n * Set a variable by name\n *\n * @param {string} context context\n * @return {Function} setter\n * @deprecated 19.0.0 use https://lodash.com/docs#set\n */\nexport const set = context => (name, value) => {\n\tconst namespaces = name.split('.')\n\tconst tail = namespaces.pop()\n\n\tfor (let i = 0; i < namespaces.length; i++) {\n\t\tif (!context[namespaces[i]]) {\n\t\t\tcontext[namespaces[i]] = {}\n\t\t}\n\t\tcontext = context[namespaces[i]]\n\t}\n\tcontext[tail] = value\n\treturn value\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { subscribe } from '@nextcloud/event-bus'\n\nimport {\n\tajaxConnectionLostHandler,\n\tprocessAjaxError,\n\tregisterXHRForErrorProcessing,\n} from './xhr-error.js'\nimport Apps from './apps.js'\nimport { AppConfig, appConfig } from './appconfig.js'\nimport appswebroots from './appswebroots.js'\nimport Backbone from './backbone.js'\nimport {\n\tbasename,\n\tdirname,\n\tencodePath,\n\tisSamePath,\n\tjoinPaths,\n} from '@nextcloud/paths'\nimport {\n\tbuild as buildQueryString,\n\tparse as parseQueryString,\n} from './query-string.js'\nimport Config from './config.js'\nimport {\n\tcoreApps,\n\tmenuSpeed,\n\tPERMISSION_ALL,\n\tPERMISSION_CREATE,\n\tPERMISSION_DELETE,\n\tPERMISSION_NONE,\n\tPERMISSION_READ,\n\tPERMISSION_SHARE,\n\tPERMISSION_UPDATE,\n\tTAG_FAVORITE,\n} from './constants.js'\nimport { currentUser, getCurrentUser } from './currentuser.js'\nimport Dialogs from './dialogs.js'\nimport EventSource from './eventsource.js'\nimport { get, set } from './get_set.js'\nimport { getCapabilities } from './capabilities.js'\nimport {\n\tgetHost,\n\tgetHostName,\n\tgetPort,\n\tgetProtocol,\n} from './host.js'\nimport {\n\tgetToken as getRequestToken,\n} from './requesttoken.js'\nimport {\n\thideMenus,\n\tregisterMenu,\n\tshowMenu,\n\tunregisterMenu,\n} from './menu.js'\nimport { isUserAdmin } from './admin.js'\nimport L10N from './l10n.js'\nimport {\n\tgetCanonicalLocale,\n\tgetLanguage,\n\tgetLocale,\n} from '@nextcloud/l10n'\n\nimport {\n\tgenerateUrl,\n\tgenerateFilePath,\n\tgenerateOcsUrl,\n\tgenerateRemoteUrl,\n\tgetRootUrl,\n\timagePath,\n\tlinkTo,\n} from '@nextcloud/router'\n\nimport {\n\tlinkToRemoteBase,\n} from './routing.js'\nimport msg from './msg.js'\nimport Notification from './notification.js'\nimport PasswordConfirmation from './password-confirmation.js'\nimport Plugins from './plugins.js'\nimport { theme } from './theme.js'\nimport Util from './util.js'\nimport { debug } from './debug.js'\nimport { redirect, reload } from './navigation.js'\nimport webroot from './webroot.js'\n\n/** @namespace OC */\nexport default {\n\t/*\n\t * Constants\n\t */\n\tcoreApps,\n\tmenuSpeed,\n\tPERMISSION_ALL,\n\tPERMISSION_CREATE,\n\tPERMISSION_DELETE,\n\tPERMISSION_NONE,\n\tPERMISSION_READ,\n\tPERMISSION_SHARE,\n\tPERMISSION_UPDATE,\n\tTAG_FAVORITE,\n\n\t/*\n\t * Deprecated helpers to be removed\n\t */\n\t/**\n\t * Check if a user file is allowed to be handled.\n\t *\n\t * @param {string} file to check\n\t * @return {boolean}\n\t * @deprecated 17.0.0\n\t */\n\tfileIsBlacklisted: file => !!(file.match(Config.blacklist_files_regex)),\n\tApps,\n\tAppConfig,\n\tappConfig,\n\tappswebroots,\n\tBackbone,\n\tconfig: Config,\n\t/**\n\t * Currently logged in user or null if none\n\t *\n\t * @type {string}\n\t * @deprecated use `getCurrentUser` from https://www.npmjs.com/package/@nextcloud/auth\n\t */\n\tcurrentUser,\n\tdialogs: Dialogs,\n\tEventSource,\n\t/**\n\t * Returns the currently logged in user or null if there is no logged in\n\t * user (public page mode)\n\t *\n\t * @since 9.0.0\n\t * @deprecated 19.0.0 use `getCurrentUser` from https://www.npmjs.com/package/@nextcloud/auth\n\t */\n\tgetCurrentUser,\n\tisUserAdmin,\n\tL10N,\n\n\t/**\n\t * Ajax error handlers\n\t *\n\t * @todo remove from here and keep internally -> requires new tests\n\t */\n\t_ajaxConnectionLostHandler: ajaxConnectionLostHandler,\n\t_processAjaxError: processAjaxError,\n\tregisterXHRForErrorProcessing,\n\n\t/**\n\t * Capabilities\n\t *\n\t * @type {Array}\n\t * @deprecated 20.0.0 use @nextcloud/capabilities instead\n\t */\n\tgetCapabilities,\n\n\t/*\n\t * Legacy menu helpers\n\t */\n\thideMenus,\n\tregisterMenu,\n\tshowMenu,\n\tunregisterMenu,\n\n\t/*\n\t * Path helpers\n\t */\n\t/**\n\t * @deprecated 18.0.0 use https://www.npmjs.com/package/@nextcloud/paths\n\t */\n\tbasename,\n\t/**\n\t * @deprecated 18.0.0 use https://www.npmjs.com/package/@nextcloud/paths\n\t */\n\tencodePath,\n\t/**\n\t * @deprecated 18.0.0 use https://www.npmjs.com/package/@nextcloud/paths\n\t */\n\tdirname,\n\t/**\n\t * @deprecated 18.0.0 use https://www.npmjs.com/package/@nextcloud/paths\n\t */\n\tisSamePath,\n\t/**\n\t * @deprecated 18.0.0 use https://www.npmjs.com/package/@nextcloud/paths\n\t */\n\tjoinPaths,\n\n\t/**\n\t * Host (url) helpers\n\t */\n\tgetHost,\n\tgetHostName,\n\tgetPort,\n\tgetProtocol,\n\n\t/**\n\t * @deprecated 20.0.0 use `getCanonicalLocale` from https://www.npmjs.com/package/@nextcloud/l10n\n\t */\n\tgetCanonicalLocale,\n\t/**\n\t * @deprecated 26.0.0 use `getLocale` from https://www.npmjs.com/package/@nextcloud/l10n\n\t */\n\tgetLocale,\n\t/**\n\t * @deprecated 26.0.0 use `getLanguage` from https://www.npmjs.com/package/@nextcloud/l10n\n\t */\n\tgetLanguage,\n\n\t/**\n\t * Query string helpers\n\t */\n\tbuildQueryString,\n\tparseQueryString,\n\n\tmsg,\n\tNotification,\n\t/**\n\t * @deprecated 28.0.0 use methods from '@nextcloud/password-confirmation'\n\t */\n\tPasswordConfirmation,\n\tPlugins,\n\ttheme,\n\tUtil,\n\tdebug,\n\t/**\n\t * @deprecated 19.0.0 use `generateFilePath` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\tfilePath: generateFilePath,\n\t/**\n\t * @deprecated 19.0.0 use `generateUrl` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\tgenerateUrl,\n\t/**\n\t * @deprecated 19.0.0 use https://lodash.com/docs#get\n\t */\n\tget: get(window),\n\t/**\n\t * @deprecated 19.0.0 use https://lodash.com/docs#set\n\t */\n\tset: set(window),\n\t/**\n\t * @deprecated 19.0.0 use `getRootUrl` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\tgetRootPath: getRootUrl,\n\t/**\n\t * @deprecated 19.0.0 use `imagePath` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\timagePath,\n\tredirect,\n\treload,\n\trequestToken: getRequestToken(),\n\t/**\n\t * @deprecated 19.0.0 use `linkTo` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\tlinkTo,\n\t/**\n\t * @param {string} service service name\n\t * @param {number} version OCS API version\n\t * @return {string} OCS API base path\n\t * @deprecated 19.0.0 use `generateOcsUrl` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\tlinkToOCS: (service, version) => {\n\t\treturn generateOcsUrl(service, {}, {\n\t\t\tocsVersion: version || 1,\n\t\t}) + '/'\n\t},\n\t/**\n\t * @deprecated 19.0.0 use `generateRemoteUrl` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\tlinkToRemote: generateRemoteUrl,\n\tlinkToRemoteBase,\n\t/**\n\t * Relative path to Nextcloud root.\n\t * For example: \"/nextcloud\"\n\t *\n\t * @type {string}\n\t *\n\t * @deprecated 19.0.0 use `getRootUrl` from https://www.npmjs.com/package/@nextcloud/router\n\t * @see OC#getRootPath\n\t */\n\twebroot,\n}\n\n// Keep the request token prop in sync\nsubscribe('csrf-token-update', e => {\n\tOC.requestToken = e.token\n\n\t// Logging might help debug (Sentry) issues\n\tconsole.info('OC.requestToken changed', e.token)\n})\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { getCapabilities as realGetCapabilities } from '@nextcloud/capabilities'\n\n/**\n * Returns the capabilities\n *\n * @return {Array} capabilities\n *\n * @since 14.0.0\n */\nexport const getCapabilities = () => {\n\tOC.debug && console.warn('OC.getCapabilities is deprecated and will be removed in Nextcloud 21. See @nextcloud/capabilities')\n\treturn realGetCapabilities()\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport const getProtocol = () => window.location.protocol.split(':')[0]\n\n/**\n * Returns the host used to access this Nextcloud instance\n * Host is sometimes the same as the hostname but now always.\n *\n * Examples:\n * http://example.com => example.com\n * https://example.com => example.com\n * http://example.com:8080 => example.com:8080\n *\n * @return {string} host\n *\n * @since 8.2.0\n * @deprecated 17.0.0 use window.location.host directly\n */\nexport const getHost = () => window.location.host\n\n/**\n * Returns the hostname used to access this Nextcloud instance\n * The hostname is always stripped of the port\n *\n * @return {string} hostname\n * @since 9.0.0\n * @deprecated 17.0.0 use window.location.hostname directly\n */\nexport const getHostName = () => window.location.hostname\n\n/**\n * Returns the port number used to access this Nextcloud instance\n *\n * @return {number} port number\n *\n * @since 8.2.0\n * @deprecated 17.0.0 use window.location.port directly\n */\nexport const getPort = () => window.location.port\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport $ from 'jquery'\n\n/**\n * Parses a URL query string into a JS map\n *\n * @param {string} queryString query string in the format param1=1234¶m2=abcde¶m3=xyz\n * @return {Object<string, string>} map containing key/values matching the URL parameters\n */\nexport const parse = queryString => {\n\tlet pos\n\tlet components\n\tconst result = {}\n\tlet key\n\tif (!queryString) {\n\t\treturn null\n\t}\n\tpos = queryString.indexOf('?')\n\tif (pos >= 0) {\n\t\tqueryString = queryString.substr(pos + 1)\n\t}\n\tconst parts = queryString.replace(/\\+/g, '%20').split('&')\n\tfor (let i = 0; i < parts.length; i++) {\n\t\t// split on first equal sign\n\t\tconst part = parts[i]\n\t\tpos = part.indexOf('=')\n\t\tif (pos >= 0) {\n\t\t\tcomponents = [\n\t\t\t\tpart.substr(0, pos),\n\t\t\t\tpart.substr(pos + 1),\n\t\t\t]\n\t\t} else {\n\t\t\t// key only\n\t\t\tcomponents = [part]\n\t\t}\n\t\tif (!components.length) {\n\t\t\tcontinue\n\t\t}\n\t\tkey = decodeURIComponent(components[0])\n\t\tif (!key) {\n\t\t\tcontinue\n\t\t}\n\t\t// if equal sign was there, return string\n\t\tif (components.length > 1) {\n\t\t\tresult[key] = decodeURIComponent(components[1])\n\t\t} else {\n\t\t\t// no equal sign => null value\n\t\t\tresult[key] = null\n\t\t}\n\t}\n\treturn result\n}\n\n/**\n * Builds a URL query from a JS map.\n *\n * @param {Object<string, string>} params map containing key/values matching the URL parameters\n * @return {string} String containing a URL query (without question) mark\n */\nexport const build = params => {\n\tif (!params) {\n\t\treturn ''\n\t}\n\treturn $.map(params, function(value, key) {\n\t\tlet s = encodeURIComponent(key)\n\t\tif (value !== null && typeof (value) !== 'undefined') {\n\t\t\ts += '=' + encodeURIComponent(value)\n\t\t}\n\t\treturn s\n\t}).join('&')\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default {\n\n\t/**\n\t * @type {Array.<OC.Plugin>}\n\t */\n\t_plugins: {},\n\n\t/**\n\t * Register plugin\n\t *\n\t * @param {string} targetName app name / class name to hook into\n\t * @param {OC.Plugin} plugin plugin\n\t */\n\tregister(targetName, plugin) {\n\t\tlet plugins = this._plugins[targetName]\n\t\tif (!plugins) {\n\t\t\tplugins = this._plugins[targetName] = []\n\t\t}\n\t\tplugins.push(plugin)\n\t},\n\n\t/**\n\t * Returns all plugin registered to the given target\n\t * name / app name / class name.\n\t *\n\t * @param {string} targetName app name / class name to hook into\n\t * @return {Array.<OC.Plugin>} array of plugins\n\t */\n\tgetPlugins(targetName) {\n\t\treturn this._plugins[targetName] || []\n\t},\n\n\t/**\n\t * Call attach() on all plugins registered to the given target name.\n\t *\n\t * @param {string} targetName app name / class name\n\t * @param {object} targetObject to be extended\n\t * @param {object} [options] options\n\t */\n\tattach(targetName, targetObject, options) {\n\t\tconst plugins = this.getPlugins(targetName)\n\t\tfor (let i = 0; i < plugins.length; i++) {\n\t\t\tif (plugins[i].attach) {\n\t\t\t\tplugins[i].attach(targetObject, options)\n\t\t\t}\n\t\t}\n\t},\n\n\t/**\n\t * Call detach() on all plugins registered to the given target name.\n\t *\n\t * @param {string} targetName app name / class name\n\t * @param {object} targetObject to be extended\n\t * @param {object} [options] options\n\t */\n\tdetach(targetName, targetObject, options) {\n\t\tconst plugins = this.getPlugins(targetName)\n\t\tfor (let i = 0; i < plugins.length; i++) {\n\t\t\tif (plugins[i].detach) {\n\t\t\t\tplugins[i].detach(targetObject, options)\n\t\t\t}\n\t\t}\n\t},\n\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport const redirect = targetURL => { window.location = targetURL }\n\n/**\n * Reloads the current page\n *\n * @deprecated 17.0.0 use window.location.reload directly\n */\nexport const reload = () => { window.location.reload() }\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"guest-box login-box\"},[(!_vm.hideLoginForm || _vm.directLogin)?[_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\"}},[(!_vm.passwordlessLogin && !_vm.resetPassword && _vm.resetPasswordTarget === '')?_c('div',[_c('LoginForm',{attrs:{\"username\":_vm.user,\"redirect-url\":_vm.redirectUrl,\"direct-login\":_vm.directLogin,\"messages\":_vm.messages,\"errors\":_vm.errors,\"throttle-delay\":_vm.throttleDelay,\"auto-complete-allowed\":_vm.autoCompleteAllowed},on:{\"update:username\":function($event){_vm.user=$event},\"submit\":function($event){_vm.loading = true}}}),_vm._v(\" \"),(_vm.canResetPassword && _vm.resetPasswordLink !== '')?_c('a',{staticClass:\"login-box__link\",attrs:{\"id\":\"lost-password\",\"href\":_vm.resetPasswordLink}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Forgot password?'))+\"\\n\\t\\t\\t\\t\")]):(_vm.canResetPassword && !_vm.resetPassword)?_c('a',{staticClass:\"login-box__link\",attrs:{\"id\":\"lost-password\",\"href\":_vm.resetPasswordLink},on:{\"click\":function($event){$event.preventDefault();_vm.resetPassword = true}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Forgot password?'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.hasPasswordless)?[(_vm.countAlternativeLogins)?_c('div',{staticClass:\"alternative-logins\"},[(_vm.hasPasswordless)?_c('a',{staticClass:\"button\",class:{ 'single-alt-login-option': _vm.countAlternativeLogins },attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();_vm.passwordlessLogin = true}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Log in with a device'))+\"\\n\\t\\t\\t\\t\\t\\t\")]):_vm._e()]):_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();_vm.passwordlessLogin = true}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Log in with a device'))+\"\\n\\t\\t\\t\\t\\t\")])]:_vm._e()],2):(!_vm.loading && _vm.passwordlessLogin)?_c('div',{key:\"reset\",staticClass:\"login-additional login-passwordless\"},[_c('PasswordLessLoginForm',{attrs:{\"username\":_vm.user,\"redirect-url\":_vm.redirectUrl,\"auto-complete-allowed\":_vm.autoCompleteAllowed,\"is-https\":_vm.isHttps,\"is-localhost\":_vm.isLocalhost,\"has-public-key-credential\":_vm.hasPublicKeyCredential},on:{\"update:username\":function($event){_vm.user=$event},\"submit\":function($event){_vm.loading = true}}}),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"tertiary\",\"aria-label\":_vm.t('core', 'Back to login form'),\"wide\":true},on:{\"click\":function($event){_vm.passwordlessLogin = false}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Back'))+\"\\n\\t\\t\\t\\t\")])],1):(!_vm.loading && _vm.canResetPassword)?_c('div',{key:\"reset\",staticClass:\"login-additional\"},[_c('div',{staticClass:\"lost-password-container\"},[(_vm.resetPassword)?_c('ResetPassword',{attrs:{\"username\":_vm.user,\"reset-password-link\":_vm.resetPasswordLink},on:{\"update:username\":function($event){_vm.user=$event},\"abort\":function($event){_vm.resetPassword = false}}}):_vm._e()],1)]):(_vm.resetPasswordTarget !== '')?_c('div',[_c('UpdatePassword',{attrs:{\"username\":_vm.user,\"reset-password-target\":_vm.resetPasswordTarget},on:{\"update:username\":function($event){_vm.user=$event},\"done\":_vm.passwordResetFinished}})],1):_vm._e()])]:[_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\"}},[_c('NcNoteCard',{attrs:{\"type\":\"warning\",\"title\":_vm.t('core', 'Login form is disabled.')}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Please contact your administrator.'))+\"\\n\\t\\t\\t\")])],1)],_vm._v(\" \"),_c('div',{staticClass:\"alternative-logins\",attrs:{\"id\":\"alternative-logins\"}},_vm._l((_vm.alternativeLogins),function(alternativeLogin,index){return _c('NcButton',{key:index,class:[alternativeLogin.class],attrs:{\"type\":\"secondary\",\"wide\":true,\"role\":\"link\",\"href\":alternativeLogin.href}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(alternativeLogin.name)+\"\\n\\t\\t\")])}),1)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","const token = '%[a-f0-9]{2}';\nconst singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nconst multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tconst left = components.slice(0, split);\n\tconst right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch {\n\t\tlet tokens = input.match(singleMatcher) || [];\n\n\t\tfor (let i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tconst replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD',\n\t};\n\n\tlet match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch {\n\t\t\tconst result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tconst entries = Object.keys(replaceMap);\n\n\tfor (const key of entries) {\n\t\t// Replace all decoded components\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nexport default function decodeUriComponent(encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n}\n","export default function splitOnFirst(string, separator) {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (string === '' || separator === '') {\n\t\treturn [];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n}\n","export function includeKeys(object, predicate) {\n\tconst result = {};\n\n\tif (Array.isArray(predicate)) {\n\t\tfor (const key of predicate) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor?.enumerable) {\n\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// `Reflect.ownKeys()` is required to retrieve symbol properties\n\t\tfor (const key of Reflect.ownKeys(object)) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor.enumerable) {\n\t\t\t\tconst value = object[key];\n\t\t\t\tif (predicate(key, value, object)) {\n\t\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function excludeKeys(object, predicate) {\n\tif (Array.isArray(predicate)) {\n\t\tconst set = new Set(predicate);\n\t\treturn includeKeys(object, key => !set.has(key));\n\t}\n\n\treturn includeKeys(object, (key, value, object) => !predicate(key, value, object));\n}\n","import decodeComponent from 'decode-uri-component';\nimport splitOnFirst from 'split-on-first';\nimport {includeKeys} from 'filter-obj';\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\n// eslint-disable-next-line unicorn/prefer-code-point\nconst strictUriEncode = string => encodeURIComponent(string).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result, [encode(key, options), '[', index, ']'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), '[]'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[]=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), ':list='].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), ':list=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSep = options.arrayFormat === 'bracket-separator'\n\t\t\t\t? '[]='\n\t\t\t\t: '=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), keyValueSep, encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\tencode(key, options),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(:list)$/.exec(key);\n\t\t\t\tkey = key.replace(/:list$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : (value === null ? value : decode(value, options));\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null\n\t\t\t\t\t? []\n\t\t\t\t\t: value.split(options.arrayFormatSeparator).map(item => decode(item, options));\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], ...arrayValue];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...[accumulator[key]].flat(), value];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nexport function extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nexport function parse(query, options) {\n\toptions = {\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false,\n\t\t...options,\n\t};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst returnValue = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn returnValue;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn returnValue;\n\t}\n\n\tfor (const parameter of query.split('&')) {\n\t\tif (parameter === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst parameter_ = options.decode ? parameter.replace(/\\+/g, ' ') : parameter;\n\n\t\tlet [key, value] = splitOnFirst(parameter_, '=');\n\n\t\tif (key === undefined) {\n\t\t\tkey = parameter_;\n\t\t}\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : (['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options));\n\t\tformatter(decode(key, options), value, returnValue);\n\t}\n\n\tfor (const [key, value] of Object.entries(returnValue)) {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const [key2, value2] of Object.entries(value)) {\n\t\t\t\tvalue[key2] = parseValue(value2, options);\n\t\t\t}\n\t\t} else {\n\t\t\treturnValue[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn returnValue;\n\t}\n\n\t// TODO: Remove the use of `reduce`.\n\t// eslint-disable-next-line unicorn/no-array-reduce\n\treturn (options.sort === true ? Object.keys(returnValue).sort() : Object.keys(returnValue).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = returnValue[key];\n\t\tif (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(value);\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexport function stringify(object, options) {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = {encode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',', ...options};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key]))\n\t\t|| (options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const [key, value] of Object.entries(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = value;\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n}\n\nexport function parseUrl(url, options) {\n\toptions = {\n\t\tdecode: true,\n\t\t...options,\n\t};\n\n\tlet [url_, hash] = splitOnFirst(url, '#');\n\n\tif (url_ === undefined) {\n\t\turl_ = url;\n\t}\n\n\treturn {\n\t\turl: url_?.split('?')?.[0] ?? '',\n\t\tquery: parse(extract(url), options),\n\t\t...(options && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}),\n\t};\n}\n\nexport function stringifyUrl(object, options) {\n\toptions = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true,\n\t\t...options,\n\t};\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = extract(object.url);\n\n\tconst query = {\n\t\t...parse(queryFromUrl, {sort: false}),\n\t\t...object.query,\n\t};\n\n\tlet queryString = stringify(query, options);\n\tif (queryString) {\n\t\tqueryString = `?${queryString}`;\n\t}\n\n\tlet hash = getHash(object.url);\n\tif (object.fragmentIdentifier) {\n\t\tconst urlObjectForFragmentEncode = new URL(url);\n\t\turlObjectForFragmentEncode.hash = object.fragmentIdentifier;\n\t\thash = options[encodeFragmentIdentifier] ? urlObjectForFragmentEncode.hash : `#${object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n}\n\nexport function pick(input, filter, options) {\n\toptions = {\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false,\n\t\t...options,\n\t};\n\n\tconst {url, query, fragmentIdentifier} = parseUrl(input, options);\n\n\treturn stringifyUrl({\n\t\turl,\n\t\tquery: includeKeys(query, filter),\n\t\tfragmentIdentifier,\n\t}, options);\n}\n\nexport function exclude(input, filter, options) {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn pick(input, exclusionFilter, options);\n}\n","import * as queryString from './base.js';\n\nexport default queryString;\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginButton.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!./LoginButton.vue?vue&type=script&lang=js&\"","<!--\n - @copyright 2020 Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @author 2020 Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -->\n\n<template>\n\t<NcButton type=\"primary\"\n\t\tnative-type=\"submit\"\n\t\t:wide=\"true\"\n\t\t@click=\"$emit('click')\">\n\t\t{{ !loading ? value : valueLoading }}\n\t\t<template #icon>\n\t\t\t<div v-if=\"loading\" class=\"submit-wrapper__icon icon-loading-small-dark\" />\n\t\t\t<ArrowRight v-else class=\"submit-wrapper__icon\" />\n\t\t</template>\n\t</NcButton>\n</template>\n\n<script>\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport ArrowRight from 'vue-material-design-icons/ArrowRight.vue'\n\nexport default {\n\tname: 'LoginButton',\n\tcomponents: {\n\t\tArrowRight,\n\t\tNcButton,\n\t},\n\tprops: {\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\tdefault: t('core', 'Log in'),\n\t\t},\n\t\tvalueLoading: {\n\t\t\ttype: String,\n\t\t\tdefault: t('core', 'Logging in …'),\n\t\t},\n\t\tloading: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tinvertedColors: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.button-vue {\n\tmargin-top: .5rem;\n}\n</style>\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginButton.vue?vue&type=style&index=0&id=3fa8511b&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!./LoginButton.vue?vue&type=style&index=0&id=3fa8511b&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./LoginButton.vue?vue&type=template&id=3fa8511b&scoped=true&\"\nimport script from \"./LoginButton.vue?vue&type=script&lang=js&\"\nexport * from \"./LoginButton.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LoginButton.vue?vue&type=style&index=0&id=3fa8511b&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 \"3fa8511b\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcButton',{attrs:{\"type\":\"primary\",\"native-type\":\"submit\",\"wide\":true},on:{\"click\":function($event){return _vm.$emit('click')}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading)?_c('div',{staticClass:\"submit-wrapper__icon icon-loading-small-dark\"}):_c('ArrowRight',{staticClass:\"submit-wrapper__icon\"})]},proxy:true}])},[_vm._v(\"\\n\\t\"+_vm._s(!_vm.loading ? _vm.value : _vm.valueLoading)+\"\\n\\t\")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginForm.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!./LoginForm.vue?vue&type=script&lang=js&\"","<!--\n - @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @author 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -->\n\n<template>\n\t<form ref=\"loginForm\"\n\t\tclass=\"login-form\"\n\t\tmethod=\"post\"\n\t\tname=\"login\"\n\t\t:action=\"loginActionUrl\"\n\t\t@submit=\"submit\">\n\t\t<fieldset class=\"login-form__fieldset\" data-login-form>\n\t\t\t<NcNoteCard v-if=\"apacheAuthFailed\"\n\t\t\t\t:title=\"t('core', 'Server side authentication failed!')\"\n\t\t\t\ttype=\"warning\">\n\t\t\t\t{{ t('core', 'Please contact your administrator.') }}\n\t\t\t</NcNoteCard>\n\t\t\t<NcNoteCard v-if=\"messages.length > 0\">\n\t\t\t\t<div v-for=\"(message, index) in messages\"\n\t\t\t\t\t:key=\"index\">\n\t\t\t\t\t{{ message }}<br>\n\t\t\t\t</div>\n\t\t\t</NcNoteCard>\n\t\t\t<NcNoteCard v-if=\"internalException\"\n\t\t\t\t:class=\"t('core', 'An internal error occurred.')\"\n\t\t\t\ttype=\"warning\">\n\t\t\t\t{{ t('core', 'Please try again or contact your administrator.') }}\n\t\t\t</NcNoteCard>\n\t\t\t<div id=\"message\"\n\t\t\t\tclass=\"hidden\">\n\t\t\t\t<img class=\"float-spinner\"\n\t\t\t\t\talt=\"\"\n\t\t\t\t\t:src=\"loadingIcon\">\n\t\t\t\t<span id=\"messageText\" />\n\t\t\t\t<!-- the following div ensures that the spinner is always inside the #message div -->\n\t\t\t\t<div style=\"clear: both;\" />\n\t\t\t</div>\n\t\t\t<h2 class=\"login-form__headline\" data-login-form-headline v-html=\"headline\" />\n\t\t\t<NcTextField id=\"user\"\n\t\t\t\tref=\"user\"\n\t\t\t\t:label=\"t('core', 'Account name or email')\"\n\t\t\t\tname=\"user\"\n\t\t\t\t:value.sync=\"user\"\n\t\t\t\t:class=\"{shake: invalidPassword}\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\t:spellchecking=\"false\"\n\t\t\t\t:autocomplete=\"autoCompleteAllowed ? 'username' : 'off'\"\n\t\t\t\trequired\n\t\t\t\tdata-login-form-input-user\n\t\t\t\t@change=\"updateUsername\" />\n\n\t\t\t<NcPasswordField id=\"password\"\n\t\t\t\tref=\"password\"\n\t\t\t\tname=\"password\"\n\t\t\t\t:class=\"{shake: invalidPassword}\"\n\t\t\t\t:value.sync=\"password\"\n\t\t\t\t:spellchecking=\"false\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\t:autocomplete=\"autoCompleteAllowed ? 'current-password' : 'off'\"\n\t\t\t\t:label=\"t('core', 'Password')\"\n\t\t\t\t:helper-text=\"errorLabel\"\n\t\t\t\t:error=\"isError\"\n\t\t\t\tdata-login-form-input-password\n\t\t\t\trequired />\n\n\t\t\t<LoginButton data-login-form-submit :loading=\"loading\" />\n\n\t\t\t<input v-if=\"redirectUrl\"\n\t\t\t\ttype=\"hidden\"\n\t\t\t\tname=\"redirect_url\"\n\t\t\t\t:value=\"redirectUrl\">\n\t\t\t<input type=\"hidden\"\n\t\t\t\tname=\"timezone\"\n\t\t\t\t:value=\"timezone\">\n\t\t\t<input type=\"hidden\"\n\t\t\t\tname=\"timezone_offset\"\n\t\t\t\t:value=\"timezoneOffset\">\n\t\t\t<input type=\"hidden\"\n\t\t\t\tname=\"requesttoken\"\n\t\t\t\t:value=\"OC.requestToken\">\n\t\t\t<input v-if=\"directLogin\"\n\t\t\t\ttype=\"hidden\"\n\t\t\t\tname=\"direct\"\n\t\t\t\tvalue=\"1\">\n\t\t</fieldset>\n\t</form>\n</template>\n\n<script>\nimport { generateUrl, imagePath } from '@nextcloud/router'\n\nimport NcPasswordField from '@nextcloud/vue/dist/Components/NcPasswordField.js'\nimport NcTextField from '@nextcloud/vue/dist/Components/NcTextField.js'\nimport NcNoteCard from '@nextcloud/vue/dist/Components/NcNoteCard.js'\n\nimport LoginButton from './LoginButton.vue'\n\nexport default {\n\tname: 'LoginForm',\n\n\tcomponents: {\n\t\tLoginButton,\n\t\tNcPasswordField,\n\t\tNcTextField,\n\t\tNcNoteCard,\n\t},\n\n\tprops: {\n\t\tusername: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tredirectUrl: {\n\t\t\ttype: [String, Boolean],\n\t\t\tdefault: false,\n\t\t},\n\t\terrors: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\tmessages: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\tthrottleDelay: {\n\t\t\ttype: Number,\n\t\t\tdefault: 0,\n\t\t},\n\t\tautoCompleteAllowed: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tdirectLogin: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tloading: false,\n\t\t\ttimezone: (new Intl.DateTimeFormat())?.resolvedOptions()?.timeZone,\n\t\t\ttimezoneOffset: (-new Date().getTimezoneOffset() / 60),\n\t\t\theadline: t('core', 'Log in to {productName}', { productName: OC.theme.name }),\n\t\t\tuser: '',\n\t\t\tpassword: '',\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tisError() {\n\t\t\treturn this.invalidPassword || this.userDisabled\n\t\t\t\t|| this.throttleDelay > 5000\n\t\t},\n\t\terrorLabel() {\n\t\t\tif (this.invalidPassword) {\n\t\t\t\treturn t('core', 'Wrong username or password.')\n\t\t\t}\n\t\t\tif (this.userDisabled) {\n\t\t\t\treturn t('core', 'User disabled')\n\t\t\t}\n\t\t\tif (this.throttleDelay > 5000) {\n\t\t\t\treturn t('core', 'We have detected multiple invalid login attempts from your IP. Therefore your next login is throttled up to 30 seconds.')\n\t\t\t}\n\t\t\treturn undefined\n\t\t},\n\t\tapacheAuthFailed() {\n\t\t\treturn this.errors.indexOf('apacheAuthFailed') !== -1\n\t\t},\n\t\tinternalException() {\n\t\t\treturn this.errors.indexOf('internalexception') !== -1\n\t\t},\n\t\tinvalidPassword() {\n\t\t\treturn this.errors.indexOf('invalidpassword') !== -1\n\t\t},\n\t\tuserDisabled() {\n\t\t\treturn this.errors.indexOf('userdisabled') !== -1\n\t\t},\n\t\tloadingIcon() {\n\t\t\treturn imagePath('core', 'loading-dark.gif')\n\t\t},\n\t\tloginActionUrl() {\n\t\t\treturn generateUrl('login')\n\t\t},\n\t},\n\n\tmounted() {\n\t\tif (this.username === '') {\n\t\t\tthis.$refs.user.$refs.inputField.$refs.input.focus()\n\t\t} else {\n\t\t\tthis.user = this.username\n\t\t\tthis.$refs.password.$refs.inputField.$refs.input.focus()\n\t\t}\n\t},\n\n\tmethods: {\n\t\tupdateUsername() {\n\t\t\tthis.$emit('update:username', this.user)\n\t\t},\n\t\tsubmit() {\n\t\t\tthis.loading = true\n\t\t\tthis.$emit('submit')\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.login-form {\n\ttext-align: left;\n\tfont-size: 1rem;\n\n\t&__fieldset {\n\t\twidth: 100%;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: .5rem;\n\t}\n\n\t&__headline {\n\t\ttext-align: center;\n\t\toverflow-wrap: anywhere;\n\t}\n}\n</style>\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginForm.vue?vue&type=style&index=0&id=0fbfcc31&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!./LoginForm.vue?vue&type=style&index=0&id=0fbfcc31&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./LoginForm.vue?vue&type=template&id=0fbfcc31&scoped=true&\"\nimport script from \"./LoginForm.vue?vue&type=script&lang=js&\"\nexport * from \"./LoginForm.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LoginForm.vue?vue&type=style&index=0&id=0fbfcc31&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 \"0fbfcc31\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('form',{ref:\"loginForm\",staticClass:\"login-form\",attrs:{\"method\":\"post\",\"name\":\"login\",\"action\":_vm.loginActionUrl},on:{\"submit\":_vm.submit}},[_c('fieldset',{staticClass:\"login-form__fieldset\",attrs:{\"data-login-form\":\"\"}},[(_vm.apacheAuthFailed)?_c('NcNoteCard',{attrs:{\"title\":_vm.t('core', 'Server side authentication failed!'),\"type\":\"warning\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('core', 'Please contact your administrator.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.messages.length > 0)?_c('NcNoteCard',_vm._l((_vm.messages),function(message,index){return _c('div',{key:index},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(message)),_c('br')])}),0):_vm._e(),_vm._v(\" \"),(_vm.internalException)?_c('NcNoteCard',{class:_vm.t('core', 'An internal error occurred.'),attrs:{\"type\":\"warning\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('core', 'Please try again or contact your administrator.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"hidden\",attrs:{\"id\":\"message\"}},[_c('img',{staticClass:\"float-spinner\",attrs:{\"alt\":\"\",\"src\":_vm.loadingIcon}}),_vm._v(\" \"),_c('span',{attrs:{\"id\":\"messageText\"}}),_vm._v(\" \"),_c('div',{staticStyle:{\"clear\":\"both\"}})]),_vm._v(\" \"),_c('h2',{staticClass:\"login-form__headline\",attrs:{\"data-login-form-headline\":\"\"},domProps:{\"innerHTML\":_vm._s(_vm.headline)}}),_vm._v(\" \"),_c('NcTextField',{ref:\"user\",class:{shake: _vm.invalidPassword},attrs:{\"id\":\"user\",\"label\":_vm.t('core', 'Account name or email'),\"name\":\"user\",\"value\":_vm.user,\"autocapitalize\":\"none\",\"spellchecking\":false,\"autocomplete\":_vm.autoCompleteAllowed ? 'username' : 'off',\"required\":\"\",\"data-login-form-input-user\":\"\"},on:{\"update:value\":function($event){_vm.user=$event},\"change\":_vm.updateUsername}}),_vm._v(\" \"),_c('NcPasswordField',{ref:\"password\",class:{shake: _vm.invalidPassword},attrs:{\"id\":\"password\",\"name\":\"password\",\"value\":_vm.password,\"spellchecking\":false,\"autocapitalize\":\"none\",\"autocomplete\":_vm.autoCompleteAllowed ? 'current-password' : 'off',\"label\":_vm.t('core', 'Password'),\"helper-text\":_vm.errorLabel,\"error\":_vm.isError,\"data-login-form-input-password\":\"\",\"required\":\"\"},on:{\"update:value\":function($event){_vm.password=$event}}}),_vm._v(\" \"),_c('LoginButton',{attrs:{\"data-login-form-submit\":\"\",\"loading\":_vm.loading}}),_vm._v(\" \"),(_vm.redirectUrl)?_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"redirect_url\"},domProps:{\"value\":_vm.redirectUrl}}):_vm._e(),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"timezone\"},domProps:{\"value\":_vm.timezone}}),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"timezone_offset\"},domProps:{\"value\":_vm.timezoneOffset}}),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"requesttoken\"},domProps:{\"value\":_vm.OC.requestToken}}),_vm._v(\" \"),(_vm.directLogin)?_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"direct\",\"value\":\"1\"}}):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./LockOpen.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./LockOpen.vue?vue&type=script&lang=js&\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon lock-open-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V10A2,2 0 0,1 6,8H15V6A3,3 0 0,0 12,3A3,3 0 0,0 9,6H7A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,17A2,2 0 0,0 14,15A2,2 0 0,0 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"LockOpenIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./LockOpen.vue?vue&type=template&id=043c34a0&\"\nimport script from \"./LockOpen.vue?vue&type=script&lang=js&\"\nexport * from \"./LockOpen.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 lock-open-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V10A2,2 0 0,1 6,8H15V6A3,3 0 0,0 12,3A3,3 0 0,0 9,6H7A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,17A2,2 0 0,0 14,15A2,2 0 0,0 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<form v-if=\"(isHttps || isLocalhost) && hasPublicKeyCredential\"\n\t\tref=\"loginForm\"\n\t\tmethod=\"post\"\n\t\tname=\"login\"\n\t\t@submit.prevent=\"submit\">\n\t\t<h2>{{ t('core', 'Log in with a device') }}</h2>\n\t\t<fieldset>\n\t\t\t<NcTextField required\n\t\t\t\t:value=\"user\"\n\t\t\t\t:autocomplete=\"autoCompleteAllowed ? 'on' : 'off'\"\n\t\t\t\t:error=\"!validCredentials\"\n\t\t\t\t:label=\"t('core', 'Username or email')\"\n\t\t\t\t:placeholder=\"t('core', 'Username or email')\"\n\t\t\t\t:helper-text=\"!validCredentials ? t('core', 'Your account is not setup for passwordless login.') : ''\"\n\t\t\t\t@update:value=\"changeUsername\" />\n\n\t\t\t<LoginButton v-if=\"validCredentials\"\n\t\t\t\t:loading=\"loading\"\n\t\t\t\t@click=\"authenticate\" />\n\t\t</fieldset>\n\t</form>\n\t<div v-else-if=\"!hasPublicKeyCredential\" class=\"update\">\n\t\t<InformationIcon size=\"70\" />\n\t\t<h2>{{ t('core', 'Browser not supported') }}</h2>\n\t\t<p class=\"infogroup\">\n\t\t\t{{ t('core', 'Passwordless authentication is not supported in your browser.') }}\n\t\t</p>\n\t</div>\n\t<div v-else-if=\"!isHttps && !isLocalhost\" class=\"update\">\n\t\t<LockOpenIcon size=\"70\" />\n\t\t<h2>{{ t('core', 'Your connection is not secure') }}</h2>\n\t\t<p class=\"infogroup\">\n\t\t\t{{ t('core', 'Passwordless authentication is only available over a secure connection.') }}\n\t\t</p>\n\t</div>\n</template>\n\n<script>\nimport {\n\tstartAuthentication,\n\tfinishAuthentication,\n} from '../../services/WebAuthnAuthenticationService.js'\nimport LoginButton from './LoginButton.vue'\nimport InformationIcon from 'vue-material-design-icons/Information.vue'\nimport LockOpenIcon from 'vue-material-design-icons/LockOpen.vue'\nimport NcTextField from '@nextcloud/vue/dist/Components/NcTextField.js'\n\nclass NoValidCredentials extends Error {\n\n}\n\nexport default {\n\tname: 'PasswordLessLoginForm',\n\tcomponents: {\n\t\tLoginButton,\n\t\tInformationIcon,\n\t\tLockOpenIcon,\n\t\tNcTextField,\n\t},\n\tprops: {\n\t\tusername: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tredirectUrl: {\n\t\t\ttype: [String, Boolean],\n\t\t\tdefault: false,\n\t\t},\n\t\tautoCompleteAllowed: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tisHttps: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tisLocalhost: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\thasPublicKeyCredential: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tuser: this.username,\n\t\t\tloading: false,\n\t\t\tvalidCredentials: true,\n\t\t}\n\t},\n\tmethods: {\n\t\tauthenticate() {\n\t\t\t// check required fields\n\t\t\tif (!this.$refs.loginForm.checkValidity()) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconsole.debug('passwordless login initiated')\n\n\t\t\tthis.getAuthenticationData(this.user)\n\t\t\t\t.then(publicKey => {\n\t\t\t\t\tconsole.debug(publicKey)\n\t\t\t\t\treturn publicKey\n\t\t\t\t})\n\t\t\t\t.then(this.sign)\n\t\t\t\t.then(this.completeAuthentication)\n\t\t\t\t.catch(error => {\n\t\t\t\t\tif (error instanceof NoValidCredentials) {\n\t\t\t\t\t\tthis.validCredentials = false\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tconsole.debug(error)\n\t\t\t\t})\n\t\t},\n\t\tchangeUsername(username) {\n\t\t\tthis.user = username\n\t\t\tthis.$emit('update:username', this.user)\n\t\t},\n\t\tgetAuthenticationData(uid) {\n\t\t\tconst base64urlDecode = function(input) {\n\t\t\t\t// Replace non-url compatible chars with base64 standard chars\n\t\t\t\tinput = input\n\t\t\t\t\t.replace(/-/g, '+')\n\t\t\t\t\t.replace(/_/g, '/')\n\n\t\t\t\t// Pad out with standard base64 required padding characters\n\t\t\t\tconst pad = input.length % 4\n\t\t\t\tif (pad) {\n\t\t\t\t\tif (pad === 1) {\n\t\t\t\t\t\tthrow new Error('InvalidLengthError: Input base64url string is the wrong length to determine padding')\n\t\t\t\t\t}\n\t\t\t\t\tinput += new Array(5 - pad).join('=')\n\t\t\t\t}\n\n\t\t\t\treturn window.atob(input)\n\t\t\t}\n\n\t\t\treturn startAuthentication(uid)\n\t\t\t\t.then(publicKey => {\n\t\t\t\t\tconsole.debug('Obtained PublicKeyCredentialRequestOptions')\n\t\t\t\t\tconsole.debug(publicKey)\n\n\t\t\t\t\tif (!Object.prototype.hasOwnProperty.call(publicKey, 'allowCredentials')) {\n\t\t\t\t\t\tconsole.debug('No credentials found.')\n\t\t\t\t\t\tthrow new NoValidCredentials()\n\t\t\t\t\t}\n\n\t\t\t\t\tpublicKey.challenge = Uint8Array.from(base64urlDecode(publicKey.challenge), c => c.charCodeAt(0))\n\t\t\t\t\tpublicKey.allowCredentials = publicKey.allowCredentials.map(function(data) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...data,\n\t\t\t\t\t\t\tid: Uint8Array.from(base64urlDecode(data.id), c => c.charCodeAt(0)),\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\n\t\t\t\t\tconsole.debug('Converted PublicKeyCredentialRequestOptions')\n\t\t\t\t\tconsole.debug(publicKey)\n\t\t\t\t\treturn publicKey\n\t\t\t\t})\n\t\t\t\t.catch(error => {\n\t\t\t\t\tconsole.debug('Error while obtaining data')\n\t\t\t\t\tthrow error\n\t\t\t\t})\n\t\t},\n\t\tsign(publicKey) {\n\t\t\tconst arrayToBase64String = function(a) {\n\t\t\t\treturn window.btoa(String.fromCharCode(...a))\n\t\t\t}\n\n\t\t\tconst arrayToString = function(a) {\n\t\t\t\treturn String.fromCharCode(...a)\n\t\t\t}\n\n\t\t\treturn navigator.credentials.get({ publicKey })\n\t\t\t\t.then(data => {\n\t\t\t\t\tconsole.debug(data)\n\t\t\t\t\tconsole.debug(new Uint8Array(data.rawId))\n\t\t\t\t\tconsole.debug(arrayToBase64String(new Uint8Array(data.rawId)))\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid: data.id,\n\t\t\t\t\t\ttype: data.type,\n\t\t\t\t\t\trawId: arrayToBase64String(new Uint8Array(data.rawId)),\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tauthenticatorData: arrayToBase64String(new Uint8Array(data.response.authenticatorData)),\n\t\t\t\t\t\t\tclientDataJSON: arrayToBase64String(new Uint8Array(data.response.clientDataJSON)),\n\t\t\t\t\t\t\tsignature: arrayToBase64String(new Uint8Array(data.response.signature)),\n\t\t\t\t\t\t\tuserHandle: data.response.userHandle ? arrayToString(new Uint8Array(data.response.userHandle)) : null,\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.then(challenge => {\n\t\t\t\t\tconsole.debug(challenge)\n\t\t\t\t\treturn challenge\n\t\t\t\t})\n\t\t\t\t.catch(error => {\n\t\t\t\t\tconsole.debug('GOT AN ERROR!')\n\t\t\t\t\tconsole.debug(error) // Example: timeout, interaction refused...\n\t\t\t\t})\n\t\t},\n\t\tcompleteAuthentication(challenge) {\n\t\t\tconsole.debug('TIME TO COMPLETE')\n\n\t\t\tconst redirectUrl = this.redirectUrl\n\n\t\t\treturn finishAuthentication(JSON.stringify(challenge))\n\t\t\t\t.then(({ defaultRedirectUrl }) => {\n\t\t\t\t\tconsole.debug('Logged in redirecting')\n\t\t\t\t\t// Redirect url might be false so || should be used instead of ??.\n\t\t\t\t\twindow.location.href = redirectUrl || defaultRedirectUrl\n\t\t\t\t})\n\t\t\t\t.catch(error => {\n\t\t\t\t\tconsole.debug('GOT AN ERROR WHILE SUBMITTING CHALLENGE!')\n\t\t\t\t\tconsole.debug(error) // Example: timeout, interaction refused...\n\t\t\t\t})\n\t\t},\n\t\tsubmit() {\n\t\t\t// noop\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\tfieldset {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 0.5rem;\n\n\t\t:deep(label) {\n\t\t\ttext-align: initial;\n\t\t}\n\t}\n\n\t.update {\n\t\tmargin: 0 auto;\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordLessLoginForm.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!./PasswordLessLoginForm.vue?vue&type=script&lang=js&\"","/**\n * @copyright 2020, Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\n\n/**\n * @param {any} loginName -\n */\nexport function startAuthentication(loginName) {\n\tconst url = generateUrl('/login/webauthn/start')\n\n\treturn Axios.post(url, { loginName })\n\t\t.then(resp => resp.data)\n}\n\n/**\n * @param {any} data -\n */\nexport function finishAuthentication(data) {\n\tconst url = generateUrl('/login/webauthn/finish')\n\n\treturn Axios.post(url, { data })\n\t\t.then(resp => resp.data)\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!./PasswordLessLoginForm.vue?vue&type=style&index=0&id=3ea2fa78&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!./PasswordLessLoginForm.vue?vue&type=style&index=0&id=3ea2fa78&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./PasswordLessLoginForm.vue?vue&type=template&id=3ea2fa78&scoped=true&\"\nimport script from \"./PasswordLessLoginForm.vue?vue&type=script&lang=js&\"\nexport * from \"./PasswordLessLoginForm.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PasswordLessLoginForm.vue?vue&type=style&index=0&id=3ea2fa78&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 \"3ea2fa78\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return ((_vm.isHttps || _vm.isLocalhost) && _vm.hasPublicKeyCredential)?_c('form',{ref:\"loginForm\",attrs:{\"method\":\"post\",\"name\":\"login\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.submit.apply(null, arguments)}}},[_c('h2',[_vm._v(_vm._s(_vm.t('core', 'Log in with a device')))]),_vm._v(\" \"),_c('fieldset',[_c('NcTextField',{attrs:{\"required\":\"\",\"value\":_vm.user,\"autocomplete\":_vm.autoCompleteAllowed ? 'on' : 'off',\"error\":!_vm.validCredentials,\"label\":_vm.t('core', 'Username or email'),\"placeholder\":_vm.t('core', 'Username or email'),\"helper-text\":!_vm.validCredentials ? _vm.t('core', 'Your account is not setup for passwordless login.') : ''},on:{\"update:value\":_vm.changeUsername}}),_vm._v(\" \"),(_vm.validCredentials)?_c('LoginButton',{attrs:{\"loading\":_vm.loading},on:{\"click\":_vm.authenticate}}):_vm._e()],1)]):(!_vm.hasPublicKeyCredential)?_c('div',{staticClass:\"update\"},[_c('InformationIcon',{attrs:{\"size\":\"70\"}}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.t('core', 'Browser not supported')))]),_vm._v(\" \"),_c('p',{staticClass:\"infogroup\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('core', 'Passwordless authentication is not supported in your browser.'))+\"\\n\\t\")])],1):(!_vm.isHttps && !_vm.isLocalhost)?_c('div',{staticClass:\"update\"},[_c('LockOpenIcon',{attrs:{\"size\":\"70\"}}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.t('core', 'Your connection is not secure')))]),_vm._v(\" \"),_c('p',{staticClass:\"infogroup\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('core', 'Passwordless authentication is only available over a secure connection.'))+\"\\n\\t\")])],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetPassword.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!./ResetPassword.vue?vue&type=script&lang=js&\"","<!--\n - @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @author 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -->\n\n<template>\n\t<form class=\"login-form\" @submit.prevent=\"submit\">\n\t\t<fieldset class=\"login-form__fieldset\">\n\t\t\t<NcTextField id=\"user\"\n\t\t\t\t:value.sync=\"user\"\n\t\t\t\tname=\"user\"\n\t\t\t\tautocapitalize=\"off\"\n\t\t\t\t:label=\"t('core', 'Account name or email')\"\n\t\t\t\trequired\n\t\t\t\t@change=\"updateUsername\" />\n\t\t\t<LoginButton :value=\"t('core', 'Reset password')\" />\n\n\t\t\t<NcNoteCard v-if=\"message === 'send-success'\"\n\t\t\t\ttype=\"success\">\n\t\t\t\t{{ t('core', 'If this account exists, a password reset message has been sent to its email address. If you do not receive it, verify your email address and/or account name, check your spam/junk folders or ask your local administration for help.') }}\n\t\t\t</NcNoteCard>\n\t\t\t<NcNoteCard v-else-if=\"message === 'send-error'\"\n\t\t\t\ttype=\"error\">\n\t\t\t\t{{ t('core', 'Couldn\\'t send reset email. Please contact your administrator.') }}\n\t\t\t</NcNoteCard>\n\t\t\t<NcNoteCard v-else-if=\"message === 'reset-error'\"\n\t\t\t\ttype=\"error\">\n\t\t\t\t{{ t('core', 'Password cannot be changed. Please contact your administrator.') }}\n\t\t\t</NcNoteCard>\n\n\t\t\t<a class=\"login-form__link\"\n\t\t\t\thref=\"#\"\n\t\t\t\t@click.prevent=\"$emit('abort')\">\n\t\t\t\t{{ t('core', 'Back to login') }}\n\t\t\t</a>\n\t\t</fieldset>\n\t</form>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\nimport LoginButton from './LoginButton.vue'\nimport NcTextField from '@nextcloud/vue/dist/Components/NcTextField.js'\nimport NcNoteCard from '@nextcloud/vue/dist/Components/NcNoteCard.js'\n\nexport default {\n\tname: 'ResetPassword',\n\tcomponents: {\n\t\tLoginButton,\n\t\tNcNoteCard,\n\t\tNcTextField,\n\t},\n\tprops: {\n\t\tusername: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tresetPasswordLink: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\terror: false,\n\t\t\tloading: false,\n\t\t\tmessage: undefined,\n\t\t\tuser: this.username,\n\t\t}\n\t},\n\twatch: {\n\t\tusername(value) {\n\t\t\tthis.user = value\n\t\t},\n\t},\n\tmethods: {\n\t\tupdateUsername() {\n\t\t\tthis.$emit('update:username', this.user)\n\t\t},\n\t\tsubmit() {\n\t\t\tthis.loading = true\n\t\t\tthis.error = false\n\t\t\tthis.message = ''\n\t\t\tconst url = generateUrl('/lostpassword/email')\n\n\t\t\tconst data = {\n\t\t\t\tuser: this.user,\n\t\t\t}\n\n\t\t\treturn axios.post(url, data)\n\t\t\t\t.then(resp => resp.data)\n\t\t\t\t.then(data => {\n\t\t\t\t\tif (data.status !== 'success') {\n\t\t\t\t\t\tthrow new Error(`got status ${data.status}`)\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.message = 'send-success'\n\t\t\t\t})\n\t\t\t\t.catch(e => {\n\t\t\t\t\tconsole.error('could not send reset email request', e)\n\n\t\t\t\t\tthis.error = true\n\t\t\t\t\tthis.message = 'send-error'\n\t\t\t\t})\n\t\t\t\t.then(() => { this.loading = false })\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.login-form {\n\ttext-align: left;\n\tfont-size: 1rem;\n\n\t&__fieldset {\n\t\twidth: 100%;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: .5rem;\n\t}\n\n\t&__link {\n\t\tdisplay: block;\n\t\tfont-weight: normal !important;\n\t\tpadding-bottom: 1rem;\n\t\tcursor: pointer;\n\t\tfont-size: var(--default-font-size);\n\t\ttext-align: center;\n\t\tpadding: .5rem 1rem 1rem 1rem;\n\t}\n}\n</style>\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetPassword.vue?vue&type=style&index=0&id=179b3658&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!./ResetPassword.vue?vue&type=style&index=0&id=179b3658&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ResetPassword.vue?vue&type=template&id=179b3658&scoped=true&\"\nimport script from \"./ResetPassword.vue?vue&type=script&lang=js&\"\nexport * from \"./ResetPassword.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ResetPassword.vue?vue&type=style&index=0&id=179b3658&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 \"179b3658\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('form',{staticClass:\"login-form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.submit.apply(null, arguments)}}},[_c('fieldset',{staticClass:\"login-form__fieldset\"},[_c('NcTextField',{attrs:{\"id\":\"user\",\"value\":_vm.user,\"name\":\"user\",\"autocapitalize\":\"off\",\"label\":_vm.t('core', 'Account name or email'),\"required\":\"\"},on:{\"update:value\":function($event){_vm.user=$event},\"change\":_vm.updateUsername}}),_vm._v(\" \"),_c('LoginButton',{attrs:{\"value\":_vm.t('core', 'Reset password')}}),_vm._v(\" \"),(_vm.message === 'send-success')?_c('NcNoteCard',{attrs:{\"type\":\"success\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('core', 'If this account exists, a password reset message has been sent to its email address. If you do not receive it, verify your email address and/or account name, check your spam/junk folders or ask your local administration for help.'))+\"\\n\\t\\t\")]):(_vm.message === 'send-error')?_c('NcNoteCard',{attrs:{\"type\":\"error\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('core', 'Couldn\\'t send reset email. Please contact your administrator.'))+\"\\n\\t\\t\")]):(_vm.message === 'reset-error')?_c('NcNoteCard',{attrs:{\"type\":\"error\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('core', 'Password cannot be changed. Please contact your administrator.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('a',{staticClass:\"login-form__link\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.$emit('abort')}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('core', 'Back to login'))+\"\\n\\t\\t\")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<form @submit.prevent=\"submit\">\n\t\t<fieldset>\n\t\t\t<p>\n\t\t\t\t<label for=\"password\" class=\"infield\">{{ t('core', 'New password') }}</label>\n\t\t\t\t<input id=\"password\"\n\t\t\t\t\tv-model=\"password\"\n\t\t\t\t\ttype=\"password\"\n\t\t\t\t\tname=\"password\"\n\t\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\t\tautocapitalize=\"none\"\n\t\t\t\t\tautocorrect=\"off\"\n\t\t\t\t\trequired\n\t\t\t\t\t:placeholder=\"t('core', 'New password')\">\n\t\t\t</p>\n\n\t\t\t<div v-if=\"encrypted\" class=\"update\">\n\t\t\t\t<p>\n\t\t\t\t\t{{ t('core', 'Your files are encrypted. There will be no way to get your data back after your password is reset. If you are not sure what to do, please contact your administrator before you continue. Do you really want to continue?') }}\n\t\t\t\t</p>\n\t\t\t\t<input id=\"encrypted-continue\"\n\t\t\t\t\tv-model=\"proceed\"\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tclass=\"checkbox\">\n\t\t\t\t<label for=\"encrypted-continue\">\n\t\t\t\t\t{{ t('core', 'I know what I\\'m doing') }}\n\t\t\t\t</label>\n\t\t\t</div>\n\n\t\t\t<LoginButton :loading=\"loading\"\n\t\t\t\t:value=\"t('core', 'Reset password')\"\n\t\t\t\t:value-loading=\"t('core', 'Resetting password')\" />\n\n\t\t\t<p v-if=\"error && message\" :class=\"{warning: error}\">\n\t\t\t\t{{ message }}\n\t\t\t</p>\n\t\t</fieldset>\n\t</form>\n</template>\n\n<script>\nimport Axios from '@nextcloud/axios'\nimport LoginButton from './LoginButton.vue'\n\nexport default {\n\tname: 'UpdatePassword',\n\tcomponents: {\n\t\tLoginButton,\n\t},\n\tprops: {\n\t\tusername: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tresetPasswordTarget: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\terror: false,\n\t\t\tloading: false,\n\t\t\tmessage: undefined,\n\t\t\tuser: this.username,\n\t\t\tpassword: '',\n\t\t\tencrypted: false,\n\t\t\tproceed: false,\n\t\t}\n\t},\n\twatch: {\n\t\tusername(value) {\n\t\t\tthis.user = value\n\t\t},\n\t},\n\tmethods: {\n\t\tasync submit() {\n\t\t\tthis.loading = true\n\t\t\tthis.error = false\n\t\t\tthis.message = ''\n\n\t\t\ttry {\n\t\t\t\tconst { data } = await Axios.post(this.resetPasswordTarget, {\n\t\t\t\t\tpassword: this.password,\n\t\t\t\t\tproceed: this.proceed,\n\t\t\t\t})\n\t\t\t\tif (data && data.status === 'success') {\n\t\t\t\t\tthis.message = 'send-success'\n\t\t\t\t\tthis.$emit('update:username', this.user)\n\t\t\t\t\tthis.$emit('done')\n\t\t\t\t} else if (data && data.encryption) {\n\t\t\t\t\tthis.encrypted = true\n\t\t\t\t} else if (data && data.msg) {\n\t\t\t\t\tthrow new Error(data.msg)\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error()\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tthis.error = true\n\t\t\t\tthis.message = e.message ? e.message : t('core', 'Password cannot be changed. Please contact your administrator.')\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style scoped>\n\tfieldset {\n\t\ttext-align: center;\n\t}\n\n\tinput[type=submit] {\n\t\tmargin-top: 20px;\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdatePassword.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!./UpdatePassword.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!./UpdatePassword.vue?vue&type=style&index=0&id=4dc21d74&prod&scoped=true&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!./UpdatePassword.vue?vue&type=style&index=0&id=4dc21d74&prod&scoped=true&lang=css&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UpdatePassword.vue?vue&type=template&id=4dc21d74&scoped=true&\"\nimport script from \"./UpdatePassword.vue?vue&type=script&lang=js&\"\nexport * from \"./UpdatePassword.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UpdatePassword.vue?vue&type=style&index=0&id=4dc21d74&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4dc21d74\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.submit.apply(null, arguments)}}},[_c('fieldset',[_c('p',[_c('label',{staticClass:\"infield\",attrs:{\"for\":\"password\"}},[_vm._v(_vm._s(_vm.t('core', 'New password')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],attrs:{\"id\":\"password\",\"type\":\"password\",\"name\":\"password\",\"autocomplete\":\"new-password\",\"autocapitalize\":\"none\",\"autocorrect\":\"off\",\"required\":\"\",\"placeholder\":_vm.t('core', 'New password')},domProps:{\"value\":(_vm.password)},on:{\"input\":function($event){if($event.target.composing)return;_vm.password=$event.target.value}}})]),_vm._v(\" \"),(_vm.encrypted)?_c('div',{staticClass:\"update\"},[_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Your files are encrypted. There will be no way to get your data back after your password is reset. If you are not sure what to do, please contact your administrator before you continue. Do you really want to continue?'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.proceed),expression:\"proceed\"}],staticClass:\"checkbox\",attrs:{\"id\":\"encrypted-continue\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.proceed)?_vm._i(_vm.proceed,null)>-1:(_vm.proceed)},on:{\"change\":function($event){var $$a=_vm.proceed,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.proceed=$$a.concat([$$v]))}else{$$i>-1&&(_vm.proceed=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.proceed=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"encrypted-continue\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'I know what I\\'m doing'))+\"\\n\\t\\t\\t\")])]):_vm._e(),_vm._v(\" \"),_c('LoginButton',{attrs:{\"loading\":_vm.loading,\"value\":_vm.t('core', 'Reset password'),\"value-loading\":_vm.t('core', 'Resetting password')}}),_vm._v(\" \"),(_vm.error && _vm.message)?_c('p',{class:{warning: _vm.error}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.message)+\"\\n\\t\\t\")]):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @author 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n - @author Richard Steinmetz <richard@steinmetz.cloud>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -->\n\n<template>\n\t<div class=\"guest-box login-box\">\n\t\t<template v-if=\"!hideLoginForm || directLogin\">\n\t\t\t<transition name=\"fade\" mode=\"out-in\">\n\t\t\t\t<div v-if=\"!passwordlessLogin && !resetPassword && resetPasswordTarget === ''\">\n\t\t\t\t\t<LoginForm :username.sync=\"user\"\n\t\t\t\t\t\t:redirect-url=\"redirectUrl\"\n\t\t\t\t\t\t:direct-login=\"directLogin\"\n\t\t\t\t\t\t:messages=\"messages\"\n\t\t\t\t\t\t:errors=\"errors\"\n\t\t\t\t\t\t:throttle-delay=\"throttleDelay\"\n\t\t\t\t\t\t:auto-complete-allowed=\"autoCompleteAllowed\"\n\t\t\t\t\t\t@submit=\"loading = true\" />\n\t\t\t\t\t<a v-if=\"canResetPassword && resetPasswordLink !== ''\"\n\t\t\t\t\t\tid=\"lost-password\"\n\t\t\t\t\t\tclass=\"login-box__link\"\n\t\t\t\t\t\t:href=\"resetPasswordLink\">\n\t\t\t\t\t\t{{ t('core', 'Forgot password?') }}\n\t\t\t\t\t</a>\n\t\t\t\t\t<a v-else-if=\"canResetPassword && !resetPassword\"\n\t\t\t\t\t\tid=\"lost-password\"\n\t\t\t\t\t\tclass=\"login-box__link\"\n\t\t\t\t\t\t:href=\"resetPasswordLink\"\n\t\t\t\t\t\t@click.prevent=\"resetPassword = true\">\n\t\t\t\t\t\t{{ t('core', 'Forgot password?') }}\n\t\t\t\t\t</a>\n\t\t\t\t\t<template v-if=\"hasPasswordless\">\n\t\t\t\t\t\t<div v-if=\"countAlternativeLogins\"\n\t\t\t\t\t\t\tclass=\"alternative-logins\">\n\t\t\t\t\t\t\t<a v-if=\"hasPasswordless\"\n\t\t\t\t\t\t\t\tclass=\"button\"\n\t\t\t\t\t\t\t\t:class=\"{ 'single-alt-login-option': countAlternativeLogins }\"\n\t\t\t\t\t\t\t\thref=\"#\"\n\t\t\t\t\t\t\t\t@click.prevent=\"passwordlessLogin = true\">\n\t\t\t\t\t\t\t\t{{ t('core', 'Log in with a device') }}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<a v-else\n\t\t\t\t\t\t\thref=\"#\"\n\t\t\t\t\t\t\t@click.prevent=\"passwordlessLogin = true\">\n\t\t\t\t\t\t\t{{ t('core', 'Log in with a device') }}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</template>\n\t\t\t\t</div>\n\t\t\t\t<div v-else-if=\"!loading && passwordlessLogin\"\n\t\t\t\t\tkey=\"reset\"\n\t\t\t\t\tclass=\"login-additional login-passwordless\">\n\t\t\t\t\t<PasswordLessLoginForm :username.sync=\"user\"\n\t\t\t\t\t\t:redirect-url=\"redirectUrl\"\n\t\t\t\t\t\t:auto-complete-allowed=\"autoCompleteAllowed\"\n\t\t\t\t\t\t:is-https=\"isHttps\"\n\t\t\t\t\t\t:is-localhost=\"isLocalhost\"\n\t\t\t\t\t\t:has-public-key-credential=\"hasPublicKeyCredential\"\n\t\t\t\t\t\t@submit=\"loading = true\" />\n\t\t\t\t\t<NcButton type=\"tertiary\"\n\t\t\t\t\t\t:aria-label=\"t('core', 'Back to login form')\"\n\t\t\t\t\t\t:wide=\"true\"\n\t\t\t\t\t\t@click=\"passwordlessLogin = false\">\n\t\t\t\t\t\t{{ t('core', 'Back') }}\n\t\t\t\t\t</NcButton>\n\t\t\t\t</div>\n\t\t\t\t<div v-else-if=\"!loading && canResetPassword\"\n\t\t\t\t\tkey=\"reset\"\n\t\t\t\t\tclass=\"login-additional\">\n\t\t\t\t\t<div class=\"lost-password-container\">\n\t\t\t\t\t\t<ResetPassword v-if=\"resetPassword\"\n\t\t\t\t\t\t\t:username.sync=\"user\"\n\t\t\t\t\t\t\t:reset-password-link=\"resetPasswordLink\"\n\t\t\t\t\t\t\t@abort=\"resetPassword = false\" />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div v-else-if=\"resetPasswordTarget !== ''\">\n\t\t\t\t\t<UpdatePassword :username.sync=\"user\"\n\t\t\t\t\t\t:reset-password-target=\"resetPasswordTarget\"\n\t\t\t\t\t\t@done=\"passwordResetFinished\" />\n\t\t\t\t</div>\n\t\t\t</transition>\n\t\t</template>\n\t\t<template v-else>\n\t\t\t<transition name=\"fade\" mode=\"out-in\">\n\t\t\t\t<NcNoteCard type=\"warning\" :title=\"t('core', 'Login form is disabled.')\">\n\t\t\t\t\t{{ t('core', 'Please contact your administrator.') }}\n\t\t\t\t</NcNoteCard>\n\t\t\t</transition>\n\t\t</template>\n\n\t\t<div id=\"alternative-logins\" class=\"alternative-logins\">\n\t\t\t<NcButton v-for=\"(alternativeLogin, index) in alternativeLogins\"\n\t\t\t\t:key=\"index\"\n\t\t\t\ttype=\"secondary\"\n\t\t\t\t:wide=\"true\"\n\t\t\t\t:class=\"[alternativeLogin.class]\"\n\t\t\t\trole=\"link\"\n\t\t\t\t:href=\"alternativeLogin.href\">\n\t\t\t\t{{ alternativeLogin.name }}\n\t\t\t</NcButton>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\nimport queryString from 'query-string'\n\nimport LoginForm from '../components/login/LoginForm.vue'\nimport PasswordLessLoginForm from '../components/login/PasswordLessLoginForm.vue'\nimport ResetPassword from '../components/login/ResetPassword.vue'\nimport UpdatePassword from '../components/login/UpdatePassword.vue'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport NcNoteCard from '@nextcloud/vue/dist/Components/NcNoteCard.js'\n\nconst query = queryString.parse(location.search)\nif (query.clear === '1') {\n\ttry {\n\t\twindow.localStorage.clear()\n\t\twindow.sessionStorage.clear()\n\t\tconsole.debug('Browser storage cleared')\n\t} catch (e) {\n\t\tconsole.error('Could not clear browser storage', e)\n\t}\n}\n\nexport default {\n\tname: 'Login',\n\n\tcomponents: {\n\t\tLoginForm,\n\t\tPasswordLessLoginForm,\n\t\tResetPassword,\n\t\tUpdatePassword,\n\t\tNcButton,\n\t\tNcNoteCard,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tloading: false,\n\t\t\tuser: loadState('core', 'loginUsername', ''),\n\t\t\tpasswordlessLogin: false,\n\t\t\tresetPassword: false,\n\n\t\t\t// Initial data\n\t\t\terrors: loadState('core', 'loginErrors', []),\n\t\t\tmessages: loadState('core', 'loginMessages', []),\n\t\t\tredirectUrl: loadState('core', 'loginRedirectUrl', false),\n\t\t\tthrottleDelay: loadState('core', 'loginThrottleDelay', 0),\n\t\t\tcanResetPassword: loadState('core', 'loginCanResetPassword', false),\n\t\t\tresetPasswordLink: loadState('core', 'loginResetPasswordLink', ''),\n\t\t\tautoCompleteAllowed: loadState('core', 'loginAutocomplete', true),\n\t\t\tresetPasswordTarget: loadState('core', 'resetPasswordTarget', ''),\n\t\t\tresetPasswordUser: loadState('core', 'resetPasswordUser', ''),\n\t\t\tdirectLogin: query.direct === '1',\n\t\t\thasPasswordless: loadState('core', 'webauthn-available', false),\n\t\t\tcountAlternativeLogins: loadState('core', 'countAlternativeLogins', false),\n\t\t\talternativeLogins: loadState('core', 'alternativeLogins', []),\n\t\t\tisHttps: window.location.protocol === 'https:',\n\t\t\tisLocalhost: window.location.hostname === 'localhost',\n\t\t\thasPublicKeyCredential: typeof (window.PublicKeyCredential) !== 'undefined',\n\t\t\thideLoginForm: loadState('core', 'hideLoginForm', false),\n\t\t}\n\t},\n\n\tmethods: {\n\t\tpasswordResetFinished() {\n\t\t\tthis.resetPasswordTarget = ''\n\t\t\tthis.directLogin = true\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\">\nbody {\n\tfont-size: var(--default-font-size);\n}\n\n.login-box {\n\t// Same size as dashboard panels\n\twidth: 320px;\n\tbox-sizing: border-box;\n\n\t&__link {\n\t\tdisplay: block;\n\t\tpadding: 1rem;\n\t\tfont-size: var(--default-font-size);\n\t\ttext-align: center;\n\t\tfont-weight: normal !important;\n\t}\n}\n\n.fade-enter-active, .fade-leave-active {\n\ttransition: opacity .3s;\n}\n.fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ {\n\topacity: 0;\n}\n\n.alternative-logins {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 0.75rem;\n\n\t.button-vue {\n\t\tbox-sizing: border-box;\n\t}\n}\n\n.login-passwordless {\n\t.button-vue {\n\t\tmargin-top: 0.5rem;\n\t}\n}\n</style>\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.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!./Login.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!./Login.vue?vue&type=style&index=0&id=2148d59c&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!./Login.vue?vue&type=style&index=0&id=2148d59c&prod&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=2148d59c&\"\nimport script from \"./Login.vue?vue&type=script&lang=js&\"\nexport * from \"./Login.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Login.vue?vue&type=style&index=0&id=2148d59c&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","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport L10n from '../OC/l10n.js'\nimport OC from '../OC/index.js'\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tOC,\n\t\t}\n\t},\n\tmethods: {\n\t\tt: L10n.translate.bind(L10n),\n\t\tn: L10n.translatePlural.bind(L10n),\n\t},\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\n\n// eslint-disable-next-line no-unused-vars\nimport OC from './OC/index.js' // TODO: Not needed but L10n breaks if removed\nimport LoginView from './views/Login.vue'\nimport Nextcloud from './mixins/Nextcloud.js'\n\nVue.mixin(Nextcloud)\n\nconst View = Vue.extend(LoginView)\nnew View().$mount('#login')\n","// Backbone.js 1.5.0\n\n// (c) 2010-2022 Jeremy Ashkenas and DocumentCloud\n// Backbone may be freely distributed under the MIT license.\n// For all details and documentation:\n// http://backbonejs.org\n\n(function(factory) {\n\n // Establish the root object, `window` (`self`) in the browser, or `global` on the server.\n // We use `self` instead of `window` for `WebWorker` support.\n var root = typeof self == 'object' && self.self === self && self ||\n typeof global == 'object' && global.global === global && global;\n\n // Set up Backbone appropriately for the environment. Start with AMD.\n if (typeof define === 'function' && define.amd) {\n define(['underscore', 'jquery', 'exports'], function(_, $, exports) {\n // Export global even in AMD case in case this script is loaded with\n // others that may still expect a global Backbone.\n root.Backbone = factory(root, exports, _, $);\n });\n\n // Next for Node.js or CommonJS. jQuery may not be needed as a module.\n } else if (typeof exports !== 'undefined') {\n var _ = require('underscore'), $;\n try { $ = require('jquery'); } catch (e) {}\n factory(root, exports, _, $);\n\n // Finally, as a browser global.\n } else {\n root.Backbone = factory(root, {}, root._, root.jQuery || root.Zepto || root.ender || root.$);\n }\n\n})(function(root, Backbone, _, $) {\n\n // Initial Setup\n // -------------\n\n // Save the previous value of the `Backbone` variable, so that it can be\n // restored later on, if `noConflict` is used.\n var previousBackbone = root.Backbone;\n\n // Create a local reference to a common array method we'll want to use later.\n var slice = Array.prototype.slice;\n\n // Current version of the library. Keep in sync with `package.json`.\n Backbone.VERSION = '1.5.0';\n\n // For Backbone's purposes, jQuery, Zepto, Ender, or My Library (kidding) owns\n // the `$` variable.\n Backbone.$ = $;\n\n // Runs Backbone.js in *noConflict* mode, returning the `Backbone` variable\n // to its previous owner. Returns a reference to this Backbone object.\n Backbone.noConflict = function() {\n root.Backbone = previousBackbone;\n return this;\n };\n\n // Turn on `emulateHTTP` to support legacy HTTP servers. Setting this option\n // will fake `\"PATCH\"`, `\"PUT\"` and `\"DELETE\"` requests via the `_method` parameter and\n // set a `X-Http-Method-Override` header.\n Backbone.emulateHTTP = false;\n\n // Turn on `emulateJSON` to support legacy servers that can't deal with direct\n // `application/json` requests ... this will encode the body as\n // `application/x-www-form-urlencoded` instead and will send the model in a\n // form param named `model`.\n Backbone.emulateJSON = false;\n\n // Backbone.Events\n // ---------------\n\n // A module that can be mixed in to *any object* in order to provide it with\n // a custom event channel. You may bind a callback to an event with `on` or\n // remove with `off`; `trigger`-ing an event fires all callbacks in\n // succession.\n //\n // var object = {};\n // _.extend(object, Backbone.Events);\n // object.on('expand', function(){ alert('expanded'); });\n // object.trigger('expand');\n //\n var Events = Backbone.Events = {};\n\n // Regular expression used to split event strings.\n var eventSplitter = /\\s+/;\n\n // A private global variable to share between listeners and listenees.\n var _listening;\n\n // Iterates over the standard `event, callback` (as well as the fancy multiple\n // space-separated events `\"change blur\", callback` and jQuery-style event\n // maps `{event: callback}`).\n var eventsApi = function(iteratee, events, name, callback, opts) {\n var i = 0, names;\n if (name && typeof name === 'object') {\n // Handle event maps.\n if (callback !== void 0 && 'context' in opts && opts.context === void 0) opts.context = callback;\n for (names = _.keys(name); i < names.length ; i++) {\n events = eventsApi(iteratee, events, names[i], name[names[i]], opts);\n }\n } else if (name && eventSplitter.test(name)) {\n // Handle space-separated event names by delegating them individually.\n for (names = name.split(eventSplitter); i < names.length; i++) {\n events = iteratee(events, names[i], callback, opts);\n }\n } else {\n // Finally, standard events.\n events = iteratee(events, name, callback, opts);\n }\n return events;\n };\n\n // Bind an event to a `callback` function. Passing `\"all\"` will bind\n // the callback to all events fired.\n Events.on = function(name, callback, context) {\n this._events = eventsApi(onApi, this._events || {}, name, callback, {\n context: context,\n ctx: this,\n listening: _listening\n });\n\n if (_listening) {\n var listeners = this._listeners || (this._listeners = {});\n listeners[_listening.id] = _listening;\n // Allow the listening to use a counter, instead of tracking\n // callbacks for library interop\n _listening.interop = false;\n }\n\n return this;\n };\n\n // Inversion-of-control versions of `on`. Tell *this* object to listen to\n // an event in another object... keeping track of what it's listening to\n // for easier unbinding later.\n Events.listenTo = function(obj, name, callback) {\n if (!obj) return this;\n var id = obj._listenId || (obj._listenId = _.uniqueId('l'));\n var listeningTo = this._listeningTo || (this._listeningTo = {});\n var listening = _listening = listeningTo[id];\n\n // This object is not listening to any other events on `obj` yet.\n // Setup the necessary references to track the listening callbacks.\n if (!listening) {\n this._listenId || (this._listenId = _.uniqueId('l'));\n listening = _listening = listeningTo[id] = new Listening(this, obj);\n }\n\n // Bind callbacks on obj.\n var error = tryCatchOn(obj, name, callback, this);\n _listening = void 0;\n\n if (error) throw error;\n // If the target obj is not Backbone.Events, track events manually.\n if (listening.interop) listening.on(name, callback);\n\n return this;\n };\n\n // The reducing API that adds a callback to the `events` object.\n var onApi = function(events, name, callback, options) {\n if (callback) {\n var handlers = events[name] || (events[name] = []);\n var context = options.context, ctx = options.ctx, listening = options.listening;\n if (listening) listening.count++;\n\n handlers.push({callback: callback, context: context, ctx: context || ctx, listening: listening});\n }\n return events;\n };\n\n // An try-catch guarded #on function, to prevent poisoning the global\n // `_listening` variable.\n var tryCatchOn = function(obj, name, callback, context) {\n try {\n obj.on(name, callback, context);\n } catch (e) {\n return e;\n }\n };\n\n // Remove one or many callbacks. If `context` is null, removes all\n // callbacks with that function. If `callback` is null, removes all\n // callbacks for the event. If `name` is null, removes all bound\n // callbacks for all events.\n Events.off = function(name, callback, context) {\n if (!this._events) return this;\n this._events = eventsApi(offApi, this._events, name, callback, {\n context: context,\n listeners: this._listeners\n });\n\n return this;\n };\n\n // Tell this object to stop listening to either specific events ... or\n // to every object it's currently listening to.\n Events.stopListening = function(obj, name, callback) {\n var listeningTo = this._listeningTo;\n if (!listeningTo) return this;\n\n var ids = obj ? [obj._listenId] : _.keys(listeningTo);\n for (var i = 0; i < ids.length; i++) {\n var listening = listeningTo[ids[i]];\n\n // If listening doesn't exist, this object is not currently\n // listening to obj. Break out early.\n if (!listening) break;\n\n listening.obj.off(name, callback, this);\n if (listening.interop) listening.off(name, callback);\n }\n if (_.isEmpty(listeningTo)) this._listeningTo = void 0;\n\n return this;\n };\n\n // The reducing API that removes a callback from the `events` object.\n var offApi = function(events, name, callback, options) {\n if (!events) return;\n\n var context = options.context, listeners = options.listeners;\n var i = 0, names;\n\n // Delete all event listeners and \"drop\" events.\n if (!name && !context && !callback) {\n for (names = _.keys(listeners); i < names.length; i++) {\n listeners[names[i]].cleanup();\n }\n return;\n }\n\n names = name ? [name] : _.keys(events);\n for (; i < names.length; i++) {\n name = names[i];\n var handlers = events[name];\n\n // Bail out if there are no events stored.\n if (!handlers) break;\n\n // Find any remaining events.\n var remaining = [];\n for (var j = 0; j < handlers.length; j++) {\n var handler = handlers[j];\n if (\n callback && callback !== handler.callback &&\n callback !== handler.callback._callback ||\n context && context !== handler.context\n ) {\n remaining.push(handler);\n } else {\n var listening = handler.listening;\n if (listening) listening.off(name, callback);\n }\n }\n\n // Replace events if there are any remaining. Otherwise, clean up.\n if (remaining.length) {\n events[name] = remaining;\n } else {\n delete events[name];\n }\n }\n\n return events;\n };\n\n // Bind an event to only be triggered a single time. After the first time\n // the callback is invoked, its listener will be removed. If multiple events\n // are passed in using the space-separated syntax, the handler will fire\n // once for each event, not once for a combination of all events.\n Events.once = function(name, callback, context) {\n // Map the event into a `{event: once}` object.\n var events = eventsApi(onceMap, {}, name, callback, this.off.bind(this));\n if (typeof name === 'string' && context == null) callback = void 0;\n return this.on(events, callback, context);\n };\n\n // Inversion-of-control versions of `once`.\n Events.listenToOnce = function(obj, name, callback) {\n // Map the event into a `{event: once}` object.\n var events = eventsApi(onceMap, {}, name, callback, this.stopListening.bind(this, obj));\n return this.listenTo(obj, events);\n };\n\n // Reduces the event callbacks into a map of `{event: onceWrapper}`.\n // `offer` unbinds the `onceWrapper` after it has been called.\n var onceMap = function(map, name, callback, offer) {\n if (callback) {\n var once = map[name] = _.once(function() {\n offer(name, once);\n callback.apply(this, arguments);\n });\n once._callback = callback;\n }\n return map;\n };\n\n // Trigger one or many events, firing all bound callbacks. Callbacks are\n // passed the same arguments as `trigger` is, apart from the event name\n // (unless you're listening on `\"all\"`, which will cause your callback to\n // receive the true name of the event as the first argument).\n Events.trigger = function(name) {\n if (!this._events) return this;\n\n var length = Math.max(0, arguments.length - 1);\n var args = Array(length);\n for (var i = 0; i < length; i++) args[i] = arguments[i + 1];\n\n eventsApi(triggerApi, this._events, name, void 0, args);\n return this;\n };\n\n // Handles triggering the appropriate event callbacks.\n var triggerApi = function(objEvents, name, callback, args) {\n if (objEvents) {\n var events = objEvents[name];\n var allEvents = objEvents.all;\n if (events && allEvents) allEvents = allEvents.slice();\n if (events) triggerEvents(events, args);\n if (allEvents) triggerEvents(allEvents, [name].concat(args));\n }\n return objEvents;\n };\n\n // A difficult-to-believe, but optimized internal dispatch function for\n // triggering events. Tries to keep the usual cases speedy (most internal\n // Backbone events have 3 arguments).\n var triggerEvents = function(events, args) {\n var ev, i = -1, l = events.length, a1 = args[0], a2 = args[1], a3 = args[2];\n switch (args.length) {\n case 0: while (++i < l) (ev = events[i]).callback.call(ev.ctx); return;\n case 1: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1); return;\n case 2: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2); return;\n case 3: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2, a3); return;\n default: while (++i < l) (ev = events[i]).callback.apply(ev.ctx, args); return;\n }\n };\n\n // A listening class that tracks and cleans up memory bindings\n // when all callbacks have been offed.\n var Listening = function(listener, obj) {\n this.id = listener._listenId;\n this.listener = listener;\n this.obj = obj;\n this.interop = true;\n this.count = 0;\n this._events = void 0;\n };\n\n Listening.prototype.on = Events.on;\n\n // Offs a callback (or several).\n // Uses an optimized counter if the listenee uses Backbone.Events.\n // Otherwise, falls back to manual tracking to support events\n // library interop.\n Listening.prototype.off = function(name, callback) {\n var cleanup;\n if (this.interop) {\n this._events = eventsApi(offApi, this._events, name, callback, {\n context: void 0,\n listeners: void 0\n });\n cleanup = !this._events;\n } else {\n this.count--;\n cleanup = this.count === 0;\n }\n if (cleanup) this.cleanup();\n };\n\n // Cleans up memory bindings between the listener and the listenee.\n Listening.prototype.cleanup = function() {\n delete this.listener._listeningTo[this.obj._listenId];\n if (!this.interop) delete this.obj._listeners[this.id];\n };\n\n // Aliases for backwards compatibility.\n Events.bind = Events.on;\n Events.unbind = Events.off;\n\n // Allow the `Backbone` object to serve as a global event bus, for folks who\n // want global \"pubsub\" in a convenient place.\n _.extend(Backbone, Events);\n\n // Backbone.Model\n // --------------\n\n // Backbone **Models** are the basic data object in the framework --\n // frequently representing a row in a table in a database on your server.\n // A discrete chunk of data and a bunch of useful, related methods for\n // performing computations and transformations on that data.\n\n // Create a new model with the specified attributes. A client id (`cid`)\n // is automatically generated and assigned for you.\n var Model = Backbone.Model = function(attributes, options) {\n var attrs = attributes || {};\n options || (options = {});\n this.preinitialize.apply(this, arguments);\n this.cid = _.uniqueId(this.cidPrefix);\n this.attributes = {};\n if (options.collection) this.collection = options.collection;\n if (options.parse) attrs = this.parse(attrs, options) || {};\n var defaults = _.result(this, 'defaults');\n\n // Just _.defaults would work fine, but the additional _.extends\n // is in there for historical reasons. See #3843.\n attrs = _.defaults(_.extend({}, defaults, attrs), defaults);\n\n this.set(attrs, options);\n this.changed = {};\n this.initialize.apply(this, arguments);\n };\n\n // Attach all inheritable methods to the Model prototype.\n _.extend(Model.prototype, Events, {\n\n // A hash of attributes whose current and previous value differ.\n changed: null,\n\n // The value returned during the last failed validation.\n validationError: null,\n\n // The default name for the JSON `id` attribute is `\"id\"`. MongoDB and\n // CouchDB users may want to set this to `\"_id\"`.\n idAttribute: 'id',\n\n // The prefix is used to create the client id which is used to identify models locally.\n // You may want to override this if you're experiencing name clashes with model ids.\n cidPrefix: 'c',\n\n // preinitialize is an empty function by default. You can override it with a function\n // or object. preinitialize will run before any instantiation logic is run in the Model.\n preinitialize: function(){},\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // Return a copy of the model's `attributes` object.\n toJSON: function(options) {\n return _.clone(this.attributes);\n },\n\n // Proxy `Backbone.sync` by default -- but override this if you need\n // custom syncing semantics for *this* particular model.\n sync: function() {\n return Backbone.sync.apply(this, arguments);\n },\n\n // Get the value of an attribute.\n get: function(attr) {\n return this.attributes[attr];\n },\n\n // Get the HTML-escaped value of an attribute.\n escape: function(attr) {\n return _.escape(this.get(attr));\n },\n\n // Returns `true` if the attribute contains a value that is not null\n // or undefined.\n has: function(attr) {\n return this.get(attr) != null;\n },\n\n // Special-cased proxy to underscore's `_.matches` method.\n matches: function(attrs) {\n return !!_.iteratee(attrs, this)(this.attributes);\n },\n\n // Set a hash of model attributes on the object, firing `\"change\"`. This is\n // the core primitive operation of a model, updating the data and notifying\n // anyone who needs to know about the change in state. The heart of the beast.\n set: function(key, val, options) {\n if (key == null) return this;\n\n // Handle both `\"key\", value` and `{key: value}` -style arguments.\n var attrs;\n if (typeof key === 'object') {\n attrs = key;\n options = val;\n } else {\n (attrs = {})[key] = val;\n }\n\n options || (options = {});\n\n // Run validation.\n if (!this._validate(attrs, options)) return false;\n\n // Extract attributes and options.\n var unset = options.unset;\n var silent = options.silent;\n var changes = [];\n var changing = this._changing;\n this._changing = true;\n\n if (!changing) {\n this._previousAttributes = _.clone(this.attributes);\n this.changed = {};\n }\n\n var current = this.attributes;\n var changed = this.changed;\n var prev = this._previousAttributes;\n\n // For each `set` attribute, update or delete the current value.\n for (var attr in attrs) {\n val = attrs[attr];\n if (!_.isEqual(current[attr], val)) changes.push(attr);\n if (!_.isEqual(prev[attr], val)) {\n changed[attr] = val;\n } else {\n delete changed[attr];\n }\n unset ? delete current[attr] : current[attr] = val;\n }\n\n // Update the `id`.\n if (this.idAttribute in attrs) {\n var prevId = this.id;\n this.id = this.get(this.idAttribute);\n this.trigger('changeId', this, prevId, options);\n }\n\n // Trigger all relevant attribute changes.\n if (!silent) {\n if (changes.length) this._pending = options;\n for (var i = 0; i < changes.length; i++) {\n this.trigger('change:' + changes[i], this, current[changes[i]], options);\n }\n }\n\n // You might be wondering why there's a `while` loop here. Changes can\n // be recursively nested within `\"change\"` events.\n if (changing) return this;\n if (!silent) {\n while (this._pending) {\n options = this._pending;\n this._pending = false;\n this.trigger('change', this, options);\n }\n }\n this._pending = false;\n this._changing = false;\n return this;\n },\n\n // Remove an attribute from the model, firing `\"change\"`. `unset` is a noop\n // if the attribute doesn't exist.\n unset: function(attr, options) {\n return this.set(attr, void 0, _.extend({}, options, {unset: true}));\n },\n\n // Clear all attributes on the model, firing `\"change\"`.\n clear: function(options) {\n var attrs = {};\n for (var key in this.attributes) attrs[key] = void 0;\n return this.set(attrs, _.extend({}, options, {unset: true}));\n },\n\n // Determine if the model has changed since the last `\"change\"` event.\n // If you specify an attribute name, determine if that attribute has changed.\n hasChanged: function(attr) {\n if (attr == null) return !_.isEmpty(this.changed);\n return _.has(this.changed, attr);\n },\n\n // Return an object containing all the attributes that have changed, or\n // false if there are no changed attributes. Useful for determining what\n // parts of a view need to be updated and/or what attributes need to be\n // persisted to the server. Unset attributes will be set to undefined.\n // You can also pass an attributes object to diff against the model,\n // determining if there *would be* a change.\n changedAttributes: function(diff) {\n if (!diff) return this.hasChanged() ? _.clone(this.changed) : false;\n var old = this._changing ? this._previousAttributes : this.attributes;\n var changed = {};\n var hasChanged;\n for (var attr in diff) {\n var val = diff[attr];\n if (_.isEqual(old[attr], val)) continue;\n changed[attr] = val;\n hasChanged = true;\n }\n return hasChanged ? changed : false;\n },\n\n // Get the previous value of an attribute, recorded at the time the last\n // `\"change\"` event was fired.\n previous: function(attr) {\n if (attr == null || !this._previousAttributes) return null;\n return this._previousAttributes[attr];\n },\n\n // Get all of the attributes of the model at the time of the previous\n // `\"change\"` event.\n previousAttributes: function() {\n return _.clone(this._previousAttributes);\n },\n\n // Fetch the model from the server, merging the response with the model's\n // local attributes. Any changed attributes will trigger a \"change\" event.\n fetch: function(options) {\n options = _.extend({parse: true}, options);\n var model = this;\n var success = options.success;\n options.success = function(resp) {\n var serverAttrs = options.parse ? model.parse(resp, options) : resp;\n if (!model.set(serverAttrs, options)) return false;\n if (success) success.call(options.context, model, resp, options);\n model.trigger('sync', model, resp, options);\n };\n wrapError(this, options);\n return this.sync('read', this, options);\n },\n\n // Set a hash of model attributes, and sync the model to the server.\n // If the server returns an attributes hash that differs, the model's\n // state will be `set` again.\n save: function(key, val, options) {\n // Handle both `\"key\", value` and `{key: value}` -style arguments.\n var attrs;\n if (key == null || typeof key === 'object') {\n attrs = key;\n options = val;\n } else {\n (attrs = {})[key] = val;\n }\n\n options = _.extend({validate: true, parse: true}, options);\n var wait = options.wait;\n\n // If we're not waiting and attributes exist, save acts as\n // `set(attr).save(null, opts)` with validation. Otherwise, check if\n // the model will be valid when the attributes, if any, are set.\n if (attrs && !wait) {\n if (!this.set(attrs, options)) return false;\n } else if (!this._validate(attrs, options)) {\n return false;\n }\n\n // After a successful server-side save, the client is (optionally)\n // updated with the server-side state.\n var model = this;\n var success = options.success;\n var attributes = this.attributes;\n options.success = function(resp) {\n // Ensure attributes are restored during synchronous saves.\n model.attributes = attributes;\n var serverAttrs = options.parse ? model.parse(resp, options) : resp;\n if (wait) serverAttrs = _.extend({}, attrs, serverAttrs);\n if (serverAttrs && !model.set(serverAttrs, options)) return false;\n if (success) success.call(options.context, model, resp, options);\n model.trigger('sync', model, resp, options);\n };\n wrapError(this, options);\n\n // Set temporary attributes if `{wait: true}` to properly find new ids.\n if (attrs && wait) this.attributes = _.extend({}, attributes, attrs);\n\n var method = this.isNew() ? 'create' : options.patch ? 'patch' : 'update';\n if (method === 'patch' && !options.attrs) options.attrs = attrs;\n var xhr = this.sync(method, this, options);\n\n // Restore attributes.\n this.attributes = attributes;\n\n return xhr;\n },\n\n // Destroy this model on the server if it was already persisted.\n // Optimistically removes the model from its collection, if it has one.\n // If `wait: true` is passed, waits for the server to respond before removal.\n destroy: function(options) {\n options = options ? _.clone(options) : {};\n var model = this;\n var success = options.success;\n var wait = options.wait;\n\n var destroy = function() {\n model.stopListening();\n model.trigger('destroy', model, model.collection, options);\n };\n\n options.success = function(resp) {\n if (wait) destroy();\n if (success) success.call(options.context, model, resp, options);\n if (!model.isNew()) model.trigger('sync', model, resp, options);\n };\n\n var xhr = false;\n if (this.isNew()) {\n _.defer(options.success);\n } else {\n wrapError(this, options);\n xhr = this.sync('delete', this, options);\n }\n if (!wait) destroy();\n return xhr;\n },\n\n // Default URL for the model's representation on the server -- if you're\n // using Backbone's restful methods, override this to change the endpoint\n // that will be called.\n url: function() {\n var base =\n _.result(this, 'urlRoot') ||\n _.result(this.collection, 'url') ||\n urlError();\n if (this.isNew()) return base;\n var id = this.get(this.idAttribute);\n return base.replace(/[^\\/]$/, '$&/') + encodeURIComponent(id);\n },\n\n // **parse** converts a response into the hash of attributes to be `set` on\n // the model. The default implementation is just to pass the response along.\n parse: function(resp, options) {\n return resp;\n },\n\n // Create a new model with identical attributes to this one.\n clone: function() {\n return new this.constructor(this.attributes);\n },\n\n // A model is new if it has never been saved to the server, and lacks an id.\n isNew: function() {\n return !this.has(this.idAttribute);\n },\n\n // Check if the model is currently in a valid state.\n isValid: function(options) {\n return this._validate({}, _.extend({}, options, {validate: true}));\n },\n\n // Run validation against the next complete set of model attributes,\n // returning `true` if all is well. Otherwise, fire an `\"invalid\"` event.\n _validate: function(attrs, options) {\n if (!options.validate || !this.validate) return true;\n attrs = _.extend({}, this.attributes, attrs);\n var error = this.validationError = this.validate(attrs, options) || null;\n if (!error) return true;\n this.trigger('invalid', this, error, _.extend(options, {validationError: error}));\n return false;\n }\n\n });\n\n // Backbone.Collection\n // -------------------\n\n // If models tend to represent a single row of data, a Backbone Collection is\n // more analogous to a table full of data ... or a small slice or page of that\n // table, or a collection of rows that belong together for a particular reason\n // -- all of the messages in this particular folder, all of the documents\n // belonging to this particular author, and so on. Collections maintain\n // indexes of their models, both in order, and for lookup by `id`.\n\n // Create a new **Collection**, perhaps to contain a specific type of `model`.\n // If a `comparator` is specified, the Collection will maintain\n // its models in sort order, as they're added and removed.\n var Collection = Backbone.Collection = function(models, options) {\n options || (options = {});\n this.preinitialize.apply(this, arguments);\n if (options.model) this.model = options.model;\n if (options.comparator !== void 0) this.comparator = options.comparator;\n this._reset();\n this.initialize.apply(this, arguments);\n if (models) this.reset(models, _.extend({silent: true}, options));\n };\n\n // Default options for `Collection#set`.\n var setOptions = {add: true, remove: true, merge: true};\n var addOptions = {add: true, remove: false};\n\n // Splices `insert` into `array` at index `at`.\n var splice = function(array, insert, at) {\n at = Math.min(Math.max(at, 0), array.length);\n var tail = Array(array.length - at);\n var length = insert.length;\n var i;\n for (i = 0; i < tail.length; i++) tail[i] = array[i + at];\n for (i = 0; i < length; i++) array[i + at] = insert[i];\n for (i = 0; i < tail.length; i++) array[i + length + at] = tail[i];\n };\n\n // Define the Collection's inheritable methods.\n _.extend(Collection.prototype, Events, {\n\n // The default model for a collection is just a **Backbone.Model**.\n // This should be overridden in most cases.\n model: Model,\n\n\n // preinitialize is an empty function by default. You can override it with a function\n // or object. preinitialize will run before any instantiation logic is run in the Collection.\n preinitialize: function(){},\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // The JSON representation of a Collection is an array of the\n // models' attributes.\n toJSON: function(options) {\n return this.map(function(model) { return model.toJSON(options); });\n },\n\n // Proxy `Backbone.sync` by default.\n sync: function() {\n return Backbone.sync.apply(this, arguments);\n },\n\n // Add a model, or list of models to the set. `models` may be Backbone\n // Models or raw JavaScript objects to be converted to Models, or any\n // combination of the two.\n add: function(models, options) {\n return this.set(models, _.extend({merge: false}, options, addOptions));\n },\n\n // Remove a model, or a list of models from the set.\n remove: function(models, options) {\n options = _.extend({}, options);\n var singular = !_.isArray(models);\n models = singular ? [models] : models.slice();\n var removed = this._removeModels(models, options);\n if (!options.silent && removed.length) {\n options.changes = {added: [], merged: [], removed: removed};\n this.trigger('update', this, options);\n }\n return singular ? removed[0] : removed;\n },\n\n // Update a collection by `set`-ing a new list of models, adding new ones,\n // removing models that are no longer present, and merging models that\n // already exist in the collection, as necessary. Similar to **Model#set**,\n // the core operation for updating the data contained by the collection.\n set: function(models, options) {\n if (models == null) return;\n\n options = _.extend({}, setOptions, options);\n if (options.parse && !this._isModel(models)) {\n models = this.parse(models, options) || [];\n }\n\n var singular = !_.isArray(models);\n models = singular ? [models] : models.slice();\n\n var at = options.at;\n if (at != null) at = +at;\n if (at > this.length) at = this.length;\n if (at < 0) at += this.length + 1;\n\n var set = [];\n var toAdd = [];\n var toMerge = [];\n var toRemove = [];\n var modelMap = {};\n\n var add = options.add;\n var merge = options.merge;\n var remove = options.remove;\n\n var sort = false;\n var sortable = this.comparator && at == null && options.sort !== false;\n var sortAttr = _.isString(this.comparator) ? this.comparator : null;\n\n // Turn bare objects into model references, and prevent invalid models\n // from being added.\n var model, i;\n for (i = 0; i < models.length; i++) {\n model = models[i];\n\n // If a duplicate is found, prevent it from being added and\n // optionally merge it into the existing model.\n var existing = this.get(model);\n if (existing) {\n if (merge && model !== existing) {\n var attrs = this._isModel(model) ? model.attributes : model;\n if (options.parse) attrs = existing.parse(attrs, options);\n existing.set(attrs, options);\n toMerge.push(existing);\n if (sortable && !sort) sort = existing.hasChanged(sortAttr);\n }\n if (!modelMap[existing.cid]) {\n modelMap[existing.cid] = true;\n set.push(existing);\n }\n models[i] = existing;\n\n // If this is a new, valid model, push it to the `toAdd` list.\n } else if (add) {\n model = models[i] = this._prepareModel(model, options);\n if (model) {\n toAdd.push(model);\n this._addReference(model, options);\n modelMap[model.cid] = true;\n set.push(model);\n }\n }\n }\n\n // Remove stale models.\n if (remove) {\n for (i = 0; i < this.length; i++) {\n model = this.models[i];\n if (!modelMap[model.cid]) toRemove.push(model);\n }\n if (toRemove.length) this._removeModels(toRemove, options);\n }\n\n // See if sorting is needed, update `length` and splice in new models.\n var orderChanged = false;\n var replace = !sortable && add && remove;\n if (set.length && replace) {\n orderChanged = this.length !== set.length || _.some(this.models, function(m, index) {\n return m !== set[index];\n });\n this.models.length = 0;\n splice(this.models, set, 0);\n this.length = this.models.length;\n } else if (toAdd.length) {\n if (sortable) sort = true;\n splice(this.models, toAdd, at == null ? this.length : at);\n this.length = this.models.length;\n }\n\n // Silently sort the collection if appropriate.\n if (sort) this.sort({silent: true});\n\n // Unless silenced, it's time to fire all appropriate add/sort/update events.\n if (!options.silent) {\n for (i = 0; i < toAdd.length; i++) {\n if (at != null) options.index = at + i;\n model = toAdd[i];\n model.trigger('add', model, this, options);\n }\n if (sort || orderChanged) this.trigger('sort', this, options);\n if (toAdd.length || toRemove.length || toMerge.length) {\n options.changes = {\n added: toAdd,\n removed: toRemove,\n merged: toMerge\n };\n this.trigger('update', this, options);\n }\n }\n\n // Return the added (or merged) model (or models).\n return singular ? models[0] : models;\n },\n\n // When you have more items than you want to add or remove individually,\n // you can reset the entire set with a new list of models, without firing\n // any granular `add` or `remove` events. Fires `reset` when finished.\n // Useful for bulk operations and optimizations.\n reset: function(models, options) {\n options = options ? _.clone(options) : {};\n for (var i = 0; i < this.models.length; i++) {\n this._removeReference(this.models[i], options);\n }\n options.previousModels = this.models;\n this._reset();\n models = this.add(models, _.extend({silent: true}, options));\n if (!options.silent) this.trigger('reset', this, options);\n return models;\n },\n\n // Add a model to the end of the collection.\n push: function(model, options) {\n return this.add(model, _.extend({at: this.length}, options));\n },\n\n // Remove a model from the end of the collection.\n pop: function(options) {\n var model = this.at(this.length - 1);\n return this.remove(model, options);\n },\n\n // Add a model to the beginning of the collection.\n unshift: function(model, options) {\n return this.add(model, _.extend({at: 0}, options));\n },\n\n // Remove a model from the beginning of the collection.\n shift: function(options) {\n var model = this.at(0);\n return this.remove(model, options);\n },\n\n // Slice out a sub-array of models from the collection.\n slice: function() {\n return slice.apply(this.models, arguments);\n },\n\n // Get a model from the set by id, cid, model object with id or cid\n // properties, or an attributes object that is transformed through modelId.\n get: function(obj) {\n if (obj == null) return void 0;\n return this._byId[obj] ||\n this._byId[this.modelId(this._isModel(obj) ? obj.attributes : obj, obj.idAttribute)] ||\n obj.cid && this._byId[obj.cid];\n },\n\n // Returns `true` if the model is in the collection.\n has: function(obj) {\n return this.get(obj) != null;\n },\n\n // Get the model at the given index.\n at: function(index) {\n if (index < 0) index += this.length;\n return this.models[index];\n },\n\n // Return models with matching attributes. Useful for simple cases of\n // `filter`.\n where: function(attrs, first) {\n return this[first ? 'find' : 'filter'](attrs);\n },\n\n // Return the first model with matching attributes. Useful for simple cases\n // of `find`.\n findWhere: function(attrs) {\n return this.where(attrs, true);\n },\n\n // Force the collection to re-sort itself. You don't need to call this under\n // normal circumstances, as the set will maintain sort order as each item\n // is added.\n sort: function(options) {\n var comparator = this.comparator;\n if (!comparator) throw new Error('Cannot sort a set without a comparator');\n options || (options = {});\n\n var length = comparator.length;\n if (_.isFunction(comparator)) comparator = comparator.bind(this);\n\n // Run sort based on type of `comparator`.\n if (length === 1 || _.isString(comparator)) {\n this.models = this.sortBy(comparator);\n } else {\n this.models.sort(comparator);\n }\n if (!options.silent) this.trigger('sort', this, options);\n return this;\n },\n\n // Pluck an attribute from each model in the collection.\n pluck: function(attr) {\n return this.map(attr + '');\n },\n\n // Fetch the default set of models for this collection, resetting the\n // collection when they arrive. If `reset: true` is passed, the response\n // data will be passed through the `reset` method instead of `set`.\n fetch: function(options) {\n options = _.extend({parse: true}, options);\n var success = options.success;\n var collection = this;\n options.success = function(resp) {\n var method = options.reset ? 'reset' : 'set';\n collection[method](resp, options);\n if (success) success.call(options.context, collection, resp, options);\n collection.trigger('sync', collection, resp, options);\n };\n wrapError(this, options);\n return this.sync('read', this, options);\n },\n\n // Create a new instance of a model in this collection. Add the model to the\n // collection immediately, unless `wait: true` is passed, in which case we\n // wait for the server to agree.\n create: function(model, options) {\n options = options ? _.clone(options) : {};\n var wait = options.wait;\n model = this._prepareModel(model, options);\n if (!model) return false;\n if (!wait) this.add(model, options);\n var collection = this;\n var success = options.success;\n options.success = function(m, resp, callbackOpts) {\n if (wait) {\n m.off('error', this._forwardPristineError, this);\n collection.add(m, callbackOpts);\n }\n if (success) success.call(callbackOpts.context, m, resp, callbackOpts);\n };\n // In case of wait:true, our collection is not listening to any\n // of the model's events yet, so it will not forward the error\n // event. In this special case, we need to listen for it\n // separately and handle the event just once.\n // (The reason we don't need to do this for the sync event is\n // in the success handler above: we add the model first, which\n // causes the collection to listen, and then invoke the callback\n // that triggers the event.)\n if (wait) {\n model.once('error', this._forwardPristineError, this);\n }\n model.save(null, options);\n return model;\n },\n\n // **parse** converts a response into a list of models to be added to the\n // collection. The default implementation is just to pass it through.\n parse: function(resp, options) {\n return resp;\n },\n\n // Create a new collection with an identical list of models as this one.\n clone: function() {\n return new this.constructor(this.models, {\n model: this.model,\n comparator: this.comparator\n });\n },\n\n // Define how to uniquely identify models in the collection.\n modelId: function(attrs, idAttribute) {\n return attrs[idAttribute || this.model.prototype.idAttribute || 'id'];\n },\n\n // Get an iterator of all models in this collection.\n values: function() {\n return new CollectionIterator(this, ITERATOR_VALUES);\n },\n\n // Get an iterator of all model IDs in this collection.\n keys: function() {\n return new CollectionIterator(this, ITERATOR_KEYS);\n },\n\n // Get an iterator of all [ID, model] tuples in this collection.\n entries: function() {\n return new CollectionIterator(this, ITERATOR_KEYSVALUES);\n },\n\n // Private method to reset all internal state. Called when the collection\n // is first initialized or reset.\n _reset: function() {\n this.length = 0;\n this.models = [];\n this._byId = {};\n },\n\n // Prepare a hash of attributes (or other model) to be added to this\n // collection.\n _prepareModel: function(attrs, options) {\n if (this._isModel(attrs)) {\n if (!attrs.collection) attrs.collection = this;\n return attrs;\n }\n options = options ? _.clone(options) : {};\n options.collection = this;\n\n var model;\n if (this.model.prototype) {\n model = new this.model(attrs, options);\n } else {\n // ES class methods didn't have prototype\n model = this.model(attrs, options);\n }\n\n if (!model.validationError) return model;\n this.trigger('invalid', this, model.validationError, options);\n return false;\n },\n\n // Internal method called by both remove and set.\n _removeModels: function(models, options) {\n var removed = [];\n for (var i = 0; i < models.length; i++) {\n var model = this.get(models[i]);\n if (!model) continue;\n\n var index = this.indexOf(model);\n this.models.splice(index, 1);\n this.length--;\n\n // Remove references before triggering 'remove' event to prevent an\n // infinite loop. #3693\n delete this._byId[model.cid];\n var id = this.modelId(model.attributes, model.idAttribute);\n if (id != null) delete this._byId[id];\n\n if (!options.silent) {\n options.index = index;\n model.trigger('remove', model, this, options);\n }\n\n removed.push(model);\n this._removeReference(model, options);\n }\n if (models.length > 0 && !options.silent) delete options.index;\n return removed;\n },\n\n // Method for checking whether an object should be considered a model for\n // the purposes of adding to the collection.\n _isModel: function(model) {\n return model instanceof Model;\n },\n\n // Internal method to create a model's ties to a collection.\n _addReference: function(model, options) {\n this._byId[model.cid] = model;\n var id = this.modelId(model.attributes, model.idAttribute);\n if (id != null) this._byId[id] = model;\n model.on('all', this._onModelEvent, this);\n },\n\n // Internal method to sever a model's ties to a collection.\n _removeReference: function(model, options) {\n delete this._byId[model.cid];\n var id = this.modelId(model.attributes, model.idAttribute);\n if (id != null) delete this._byId[id];\n if (this === model.collection) delete model.collection;\n model.off('all', this._onModelEvent, this);\n },\n\n // Internal method called every time a model in the set fires an event.\n // Sets need to update their indexes when models change ids. All other\n // events simply proxy through. \"add\" and \"remove\" events that originate\n // in other collections are ignored.\n _onModelEvent: function(event, model, collection, options) {\n if (model) {\n if ((event === 'add' || event === 'remove') && collection !== this) return;\n if (event === 'destroy') this.remove(model, options);\n if (event === 'changeId') {\n var prevId = this.modelId(model.previousAttributes(), model.idAttribute);\n var id = this.modelId(model.attributes, model.idAttribute);\n if (prevId != null) delete this._byId[prevId];\n if (id != null) this._byId[id] = model;\n }\n }\n this.trigger.apply(this, arguments);\n },\n\n // Internal callback method used in `create`. It serves as a\n // stand-in for the `_onModelEvent` method, which is not yet bound\n // during the `wait` period of the `create` call. We still want to\n // forward any `'error'` event at the end of the `wait` period,\n // hence a customized callback.\n _forwardPristineError: function(model, collection, options) {\n // Prevent double forward if the model was already in the\n // collection before the call to `create`.\n if (this.has(model)) return;\n this._onModelEvent('error', model, collection, options);\n }\n });\n\n // Defining an @@iterator method implements JavaScript's Iterable protocol.\n // In modern ES2015 browsers, this value is found at Symbol.iterator.\n /* global Symbol */\n var $$iterator = typeof Symbol === 'function' && Symbol.iterator;\n if ($$iterator) {\n Collection.prototype[$$iterator] = Collection.prototype.values;\n }\n\n // CollectionIterator\n // ------------------\n\n // A CollectionIterator implements JavaScript's Iterator protocol, allowing the\n // use of `for of` loops in modern browsers and interoperation between\n // Backbone.Collection and other JavaScript functions and third-party libraries\n // which can operate on Iterables.\n var CollectionIterator = function(collection, kind) {\n this._collection = collection;\n this._kind = kind;\n this._index = 0;\n };\n\n // This \"enum\" defines the three possible kinds of values which can be emitted\n // by a CollectionIterator that correspond to the values(), keys() and entries()\n // methods on Collection, respectively.\n var ITERATOR_VALUES = 1;\n var ITERATOR_KEYS = 2;\n var ITERATOR_KEYSVALUES = 3;\n\n // All Iterators should themselves be Iterable.\n if ($$iterator) {\n CollectionIterator.prototype[$$iterator] = function() {\n return this;\n };\n }\n\n CollectionIterator.prototype.next = function() {\n if (this._collection) {\n\n // Only continue iterating if the iterated collection is long enough.\n if (this._index < this._collection.length) {\n var model = this._collection.at(this._index);\n this._index++;\n\n // Construct a value depending on what kind of values should be iterated.\n var value;\n if (this._kind === ITERATOR_VALUES) {\n value = model;\n } else {\n var id = this._collection.modelId(model.attributes, model.idAttribute);\n if (this._kind === ITERATOR_KEYS) {\n value = id;\n } else { // ITERATOR_KEYSVALUES\n value = [id, model];\n }\n }\n return {value: value, done: false};\n }\n\n // Once exhausted, remove the reference to the collection so future\n // calls to the next method always return done.\n this._collection = void 0;\n }\n\n return {value: void 0, done: true};\n };\n\n // Backbone.View\n // -------------\n\n // Backbone Views are almost more convention than they are actual code. A View\n // is simply a JavaScript object that represents a logical chunk of UI in the\n // DOM. This might be a single item, an entire list, a sidebar or panel, or\n // even the surrounding frame which wraps your whole app. Defining a chunk of\n // UI as a **View** allows you to define your DOM events declaratively, without\n // having to worry about render order ... and makes it easy for the view to\n // react to specific changes in the state of your models.\n\n // Creating a Backbone.View creates its initial element outside of the DOM,\n // if an existing element is not provided...\n var View = Backbone.View = function(options) {\n this.cid = _.uniqueId('view');\n this.preinitialize.apply(this, arguments);\n _.extend(this, _.pick(options, viewOptions));\n this._ensureElement();\n this.initialize.apply(this, arguments);\n };\n\n // Cached regex to split keys for `delegate`.\n var delegateEventSplitter = /^(\\S+)\\s*(.*)$/;\n\n // List of view options to be set as properties.\n var viewOptions = ['model', 'collection', 'el', 'id', 'attributes', 'className', 'tagName', 'events'];\n\n // Set up all inheritable **Backbone.View** properties and methods.\n _.extend(View.prototype, Events, {\n\n // The default `tagName` of a View's element is `\"div\"`.\n tagName: 'div',\n\n // jQuery delegate for element lookup, scoped to DOM elements within the\n // current view. This should be preferred to global lookups where possible.\n $: function(selector) {\n return this.$el.find(selector);\n },\n\n // preinitialize is an empty function by default. You can override it with a function\n // or object. preinitialize will run before any instantiation logic is run in the View\n preinitialize: function(){},\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // **render** is the core function that your view should override, in order\n // to populate its element (`this.el`), with the appropriate HTML. The\n // convention is for **render** to always return `this`.\n render: function() {\n return this;\n },\n\n // Remove this view by taking the element out of the DOM, and removing any\n // applicable Backbone.Events listeners.\n remove: function() {\n this._removeElement();\n this.stopListening();\n return this;\n },\n\n // Remove this view's element from the document and all event listeners\n // attached to it. Exposed for subclasses using an alternative DOM\n // manipulation API.\n _removeElement: function() {\n this.$el.remove();\n },\n\n // Change the view's element (`this.el` property) and re-delegate the\n // view's events on the new element.\n setElement: function(element) {\n this.undelegateEvents();\n this._setElement(element);\n this.delegateEvents();\n return this;\n },\n\n // Creates the `this.el` and `this.$el` references for this view using the\n // given `el`. `el` can be a CSS selector or an HTML string, a jQuery\n // context or an element. Subclasses can override this to utilize an\n // alternative DOM manipulation API and are only required to set the\n // `this.el` property.\n _setElement: function(el) {\n this.$el = el instanceof Backbone.$ ? el : Backbone.$(el);\n this.el = this.$el[0];\n },\n\n // Set callbacks, where `this.events` is a hash of\n //\n // *{\"event selector\": \"callback\"}*\n //\n // {\n // 'mousedown .title': 'edit',\n // 'click .button': 'save',\n // 'click .open': function(e) { ... }\n // }\n //\n // pairs. Callbacks will be bound to the view, with `this` set properly.\n // Uses event delegation for efficiency.\n // Omitting the selector binds the event to `this.el`.\n delegateEvents: function(events) {\n events || (events = _.result(this, 'events'));\n if (!events) return this;\n this.undelegateEvents();\n for (var key in events) {\n var method = events[key];\n if (!_.isFunction(method)) method = this[method];\n if (!method) continue;\n var match = key.match(delegateEventSplitter);\n this.delegate(match[1], match[2], method.bind(this));\n }\n return this;\n },\n\n // Add a single event listener to the view's element (or a child element\n // using `selector`). This only works for delegate-able events: not `focus`,\n // `blur`, and not `change`, `submit`, and `reset` in Internet Explorer.\n delegate: function(eventName, selector, listener) {\n this.$el.on(eventName + '.delegateEvents' + this.cid, selector, listener);\n return this;\n },\n\n // Clears all callbacks previously bound to the view by `delegateEvents`.\n // You usually don't need to use this, but may wish to if you have multiple\n // Backbone views attached to the same DOM element.\n undelegateEvents: function() {\n if (this.$el) this.$el.off('.delegateEvents' + this.cid);\n return this;\n },\n\n // A finer-grained `undelegateEvents` for removing a single delegated event.\n // `selector` and `listener` are both optional.\n undelegate: function(eventName, selector, listener) {\n this.$el.off(eventName + '.delegateEvents' + this.cid, selector, listener);\n return this;\n },\n\n // Produces a DOM element to be assigned to your view. Exposed for\n // subclasses using an alternative DOM manipulation API.\n _createElement: function(tagName) {\n return document.createElement(tagName);\n },\n\n // Ensure that the View has a DOM element to render into.\n // If `this.el` is a string, pass it through `$()`, take the first\n // matching element, and re-assign it to `el`. Otherwise, create\n // an element from the `id`, `className` and `tagName` properties.\n _ensureElement: function() {\n if (!this.el) {\n var attrs = _.extend({}, _.result(this, 'attributes'));\n if (this.id) attrs.id = _.result(this, 'id');\n if (this.className) attrs['class'] = _.result(this, 'className');\n this.setElement(this._createElement(_.result(this, 'tagName')));\n this._setAttributes(attrs);\n } else {\n this.setElement(_.result(this, 'el'));\n }\n },\n\n // Set attributes from a hash on this view's element. Exposed for\n // subclasses using an alternative DOM manipulation API.\n _setAttributes: function(attributes) {\n this.$el.attr(attributes);\n }\n\n });\n\n // Proxy Backbone class methods to Underscore functions, wrapping the model's\n // `attributes` object or collection's `models` array behind the scenes.\n //\n // collection.filter(function(model) { return model.get('age') > 10 });\n // collection.each(this.addView);\n //\n // `Function#apply` can be slow so we use the method's arg count, if we know it.\n var addMethod = function(base, length, method, attribute) {\n switch (length) {\n case 1: return function() {\n return base[method](this[attribute]);\n };\n case 2: return function(value) {\n return base[method](this[attribute], value);\n };\n case 3: return function(iteratee, context) {\n return base[method](this[attribute], cb(iteratee, this), context);\n };\n case 4: return function(iteratee, defaultVal, context) {\n return base[method](this[attribute], cb(iteratee, this), defaultVal, context);\n };\n default: return function() {\n var args = slice.call(arguments);\n args.unshift(this[attribute]);\n return base[method].apply(base, args);\n };\n }\n };\n\n var addUnderscoreMethods = function(Class, base, methods, attribute) {\n _.each(methods, function(length, method) {\n if (base[method]) Class.prototype[method] = addMethod(base, length, method, attribute);\n });\n };\n\n // Support `collection.sortBy('attr')` and `collection.findWhere({id: 1})`.\n var cb = function(iteratee, instance) {\n if (_.isFunction(iteratee)) return iteratee;\n if (_.isObject(iteratee) && !instance._isModel(iteratee)) return modelMatcher(iteratee);\n if (_.isString(iteratee)) return function(model) { return model.get(iteratee); };\n return iteratee;\n };\n var modelMatcher = function(attrs) {\n var matcher = _.matches(attrs);\n return function(model) {\n return matcher(model.attributes);\n };\n };\n\n // Underscore methods that we want to implement on the Collection.\n // 90% of the core usefulness of Backbone Collections is actually implemented\n // right here:\n var collectionMethods = {forEach: 3, each: 3, map: 3, collect: 3, reduce: 0,\n foldl: 0, inject: 0, reduceRight: 0, foldr: 0, find: 3, detect: 3, filter: 3,\n select: 3, reject: 3, every: 3, all: 3, some: 3, any: 3, include: 3, includes: 3,\n contains: 3, invoke: 0, max: 3, min: 3, toArray: 1, size: 1, first: 3,\n head: 3, take: 3, initial: 3, rest: 3, tail: 3, drop: 3, last: 3,\n without: 0, difference: 0, indexOf: 3, shuffle: 1, lastIndexOf: 3,\n isEmpty: 1, chain: 1, sample: 3, partition: 3, groupBy: 3, countBy: 3,\n sortBy: 3, indexBy: 3, findIndex: 3, findLastIndex: 3};\n\n\n // Underscore methods that we want to implement on the Model, mapped to the\n // number of arguments they take.\n var modelMethods = {keys: 1, values: 1, pairs: 1, invert: 1, pick: 0,\n omit: 0, chain: 1, isEmpty: 1};\n\n // Mix in each Underscore method as a proxy to `Collection#models`.\n\n _.each([\n [Collection, collectionMethods, 'models'],\n [Model, modelMethods, 'attributes']\n ], function(config) {\n var Base = config[0],\n methods = config[1],\n attribute = config[2];\n\n Base.mixin = function(obj) {\n var mappings = _.reduce(_.functions(obj), function(memo, name) {\n memo[name] = 0;\n return memo;\n }, {});\n addUnderscoreMethods(Base, obj, mappings, attribute);\n };\n\n addUnderscoreMethods(Base, _, methods, attribute);\n });\n\n // Backbone.sync\n // -------------\n\n // Override this function to change the manner in which Backbone persists\n // models to the server. You will be passed the type of request, and the\n // model in question. By default, makes a RESTful Ajax request\n // to the model's `url()`. Some possible customizations could be:\n //\n // * Use `setTimeout` to batch rapid-fire updates into a single request.\n // * Send up the models as XML instead of JSON.\n // * Persist models via WebSockets instead of Ajax.\n //\n // Turn on `Backbone.emulateHTTP` in order to send `PUT` and `DELETE` requests\n // as `POST`, with a `_method` parameter containing the true HTTP method,\n // as well as all requests with the body as `application/x-www-form-urlencoded`\n // instead of `application/json` with the model in a param named `model`.\n // Useful when interfacing with server-side languages like **PHP** that make\n // it difficult to read the body of `PUT` requests.\n Backbone.sync = function(method, model, options) {\n var type = methodMap[method];\n\n // Default options, unless specified.\n _.defaults(options || (options = {}), {\n emulateHTTP: Backbone.emulateHTTP,\n emulateJSON: Backbone.emulateJSON\n });\n\n // Default JSON-request options.\n var params = {type: type, dataType: 'json'};\n\n // Ensure that we have a URL.\n if (!options.url) {\n params.url = _.result(model, 'url') || urlError();\n }\n\n // Ensure that we have the appropriate request data.\n if (options.data == null && model && (method === 'create' || method === 'update' || method === 'patch')) {\n params.contentType = 'application/json';\n params.data = JSON.stringify(options.attrs || model.toJSON(options));\n }\n\n // For older servers, emulate JSON by encoding the request into an HTML-form.\n if (options.emulateJSON) {\n params.contentType = 'application/x-www-form-urlencoded';\n params.data = params.data ? {model: params.data} : {};\n }\n\n // For older servers, emulate HTTP by mimicking the HTTP method with `_method`\n // And an `X-HTTP-Method-Override` header.\n if (options.emulateHTTP && (type === 'PUT' || type === 'DELETE' || type === 'PATCH')) {\n params.type = 'POST';\n if (options.emulateJSON) params.data._method = type;\n var beforeSend = options.beforeSend;\n options.beforeSend = function(xhr) {\n xhr.setRequestHeader('X-HTTP-Method-Override', type);\n if (beforeSend) return beforeSend.apply(this, arguments);\n };\n }\n\n // Don't process data on a non-GET request.\n if (params.type !== 'GET' && !options.emulateJSON) {\n params.processData = false;\n }\n\n // Pass along `textStatus` and `errorThrown` from jQuery.\n var error = options.error;\n options.error = function(xhr, textStatus, errorThrown) {\n options.textStatus = textStatus;\n options.errorThrown = errorThrown;\n if (error) error.call(options.context, xhr, textStatus, errorThrown);\n };\n\n // Make the request, allowing the user to override any Ajax options.\n var xhr = options.xhr = Backbone.ajax(_.extend(params, options));\n model.trigger('request', model, xhr, options);\n return xhr;\n };\n\n // Map from CRUD to HTTP for our default `Backbone.sync` implementation.\n var methodMap = {\n 'create': 'POST',\n 'update': 'PUT',\n 'patch': 'PATCH',\n 'delete': 'DELETE',\n 'read': 'GET'\n };\n\n // Set the default implementation of `Backbone.ajax` to proxy through to `$`.\n // Override this if you'd like to use a different library.\n Backbone.ajax = function() {\n return Backbone.$.ajax.apply(Backbone.$, arguments);\n };\n\n // Backbone.Router\n // ---------------\n\n // Routers map faux-URLs to actions, and fire events when routes are\n // matched. Creating a new one sets its `routes` hash, if not set statically.\n var Router = Backbone.Router = function(options) {\n options || (options = {});\n this.preinitialize.apply(this, arguments);\n if (options.routes) this.routes = options.routes;\n this._bindRoutes();\n this.initialize.apply(this, arguments);\n };\n\n // Cached regular expressions for matching named param parts and splatted\n // parts of route strings.\n var optionalParam = /\\((.*?)\\)/g;\n var namedParam = /(\\(\\?)?:\\w+/g;\n var splatParam = /\\*\\w+/g;\n var escapeRegExp = /[\\-{}\\[\\]+?.,\\\\\\^$|#\\s]/g;\n\n // Set up all inheritable **Backbone.Router** properties and methods.\n _.extend(Router.prototype, Events, {\n\n // preinitialize is an empty function by default. You can override it with a function\n // or object. preinitialize will run before any instantiation logic is run in the Router.\n preinitialize: function(){},\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // Manually bind a single named route to a callback. For example:\n //\n // this.route('search/:query/p:num', 'search', function(query, num) {\n // ...\n // });\n //\n route: function(route, name, callback) {\n if (!_.isRegExp(route)) route = this._routeToRegExp(route);\n if (_.isFunction(name)) {\n callback = name;\n name = '';\n }\n if (!callback) callback = this[name];\n var router = this;\n Backbone.history.route(route, function(fragment) {\n var args = router._extractParameters(route, fragment);\n if (router.execute(callback, args, name) !== false) {\n router.trigger.apply(router, ['route:' + name].concat(args));\n router.trigger('route', name, args);\n Backbone.history.trigger('route', router, name, args);\n }\n });\n return this;\n },\n\n // Execute a route handler with the provided parameters. This is an\n // excellent place to do pre-route setup or post-route cleanup.\n execute: function(callback, args, name) {\n if (callback) callback.apply(this, args);\n },\n\n // Simple proxy to `Backbone.history` to save a fragment into the history.\n navigate: function(fragment, options) {\n Backbone.history.navigate(fragment, options);\n return this;\n },\n\n // Bind all defined routes to `Backbone.history`. We have to reverse the\n // order of the routes here to support behavior where the most general\n // routes can be defined at the bottom of the route map.\n _bindRoutes: function() {\n if (!this.routes) return;\n this.routes = _.result(this, 'routes');\n var route, routes = _.keys(this.routes);\n while ((route = routes.pop()) != null) {\n this.route(route, this.routes[route]);\n }\n },\n\n // Convert a route string into a regular expression, suitable for matching\n // against the current location hash.\n _routeToRegExp: function(route) {\n route = route.replace(escapeRegExp, '\\\\$&')\n .replace(optionalParam, '(?:$1)?')\n .replace(namedParam, function(match, optional) {\n return optional ? match : '([^/?]+)';\n })\n .replace(splatParam, '([^?]*?)');\n return new RegExp('^' + route + '(?:\\\\?([\\\\s\\\\S]*))?$');\n },\n\n // Given a route, and a URL fragment that it matches, return the array of\n // extracted decoded parameters. Empty or unmatched parameters will be\n // treated as `null` to normalize cross-browser behavior.\n _extractParameters: function(route, fragment) {\n var params = route.exec(fragment).slice(1);\n return _.map(params, function(param, i) {\n // Don't decode the search params.\n if (i === params.length - 1) return param || null;\n return param ? decodeURIComponent(param) : null;\n });\n }\n\n });\n\n // Backbone.History\n // ----------------\n\n // Handles cross-browser history management, based on either\n // [pushState](http://diveintohtml5.info/history.html) and real URLs, or\n // [onhashchange](https://developer.mozilla.org/en-US/docs/DOM/window.onhashchange)\n // and URL fragments. If the browser supports neither (old IE, natch),\n // falls back to polling.\n var History = Backbone.History = function() {\n this.handlers = [];\n this.checkUrl = this.checkUrl.bind(this);\n\n // Ensure that `History` can be used outside of the browser.\n if (typeof window !== 'undefined') {\n this.location = window.location;\n this.history = window.history;\n }\n };\n\n // Cached regex for stripping a leading hash/slash and trailing space.\n var routeStripper = /^[#\\/]|\\s+$/g;\n\n // Cached regex for stripping leading and trailing slashes.\n var rootStripper = /^\\/+|\\/+$/g;\n\n // Cached regex for stripping urls of hash.\n var pathStripper = /#.*$/;\n\n // Has the history handling already been started?\n History.started = false;\n\n // Set up all inheritable **Backbone.History** properties and methods.\n _.extend(History.prototype, Events, {\n\n // The default interval to poll for hash changes, if necessary, is\n // twenty times a second.\n interval: 50,\n\n // Are we at the app root?\n atRoot: function() {\n var path = this.location.pathname.replace(/[^\\/]$/, '$&/');\n return path === this.root && !this.getSearch();\n },\n\n // Does the pathname match the root?\n matchRoot: function() {\n var path = this.decodeFragment(this.location.pathname);\n var rootPath = path.slice(0, this.root.length - 1) + '/';\n return rootPath === this.root;\n },\n\n // Unicode characters in `location.pathname` are percent encoded so they're\n // decoded for comparison. `%25` should not be decoded since it may be part\n // of an encoded parameter.\n decodeFragment: function(fragment) {\n return decodeURI(fragment.replace(/%25/g, '%2525'));\n },\n\n // In IE6, the hash fragment and search params are incorrect if the\n // fragment contains `?`.\n getSearch: function() {\n var match = this.location.href.replace(/#.*/, '').match(/\\?.+/);\n return match ? match[0] : '';\n },\n\n // Gets the true hash value. Cannot use location.hash directly due to bug\n // in Firefox where location.hash will always be decoded.\n getHash: function(window) {\n var match = (window || this).location.href.match(/#(.*)$/);\n return match ? match[1] : '';\n },\n\n // Get the pathname and search params, without the root.\n getPath: function() {\n var path = this.decodeFragment(\n this.location.pathname + this.getSearch()\n ).slice(this.root.length - 1);\n return path.charAt(0) === '/' ? path.slice(1) : path;\n },\n\n // Get the cross-browser normalized URL fragment from the path or hash.\n getFragment: function(fragment) {\n if (fragment == null) {\n if (this._usePushState || !this._wantsHashChange) {\n fragment = this.getPath();\n } else {\n fragment = this.getHash();\n }\n }\n return fragment.replace(routeStripper, '');\n },\n\n // Start the hash change handling, returning `true` if the current URL matches\n // an existing route, and `false` otherwise.\n start: function(options) {\n if (History.started) throw new Error('Backbone.history has already been started');\n History.started = true;\n\n // Figure out the initial configuration. Do we need an iframe?\n // Is pushState desired ... is it available?\n this.options = _.extend({root: '/'}, this.options, options);\n this.root = this.options.root;\n this._trailingSlash = this.options.trailingSlash;\n this._wantsHashChange = this.options.hashChange !== false;\n this._hasHashChange = 'onhashchange' in window && (document.documentMode === void 0 || document.documentMode > 7);\n this._useHashChange = this._wantsHashChange && this._hasHashChange;\n this._wantsPushState = !!this.options.pushState;\n this._hasPushState = !!(this.history && this.history.pushState);\n this._usePushState = this._wantsPushState && this._hasPushState;\n this.fragment = this.getFragment();\n\n // Normalize root to always include a leading and trailing slash.\n this.root = ('/' + this.root + '/').replace(rootStripper, '/');\n\n // Transition from hashChange to pushState or vice versa if both are\n // requested.\n if (this._wantsHashChange && this._wantsPushState) {\n\n // If we've started off with a route from a `pushState`-enabled\n // browser, but we're currently in a browser that doesn't support it...\n if (!this._hasPushState && !this.atRoot()) {\n var rootPath = this.root.slice(0, -1) || '/';\n this.location.replace(rootPath + '#' + this.getPath());\n // Return immediately as browser will do redirect to new url\n return true;\n\n // Or if we've started out with a hash-based route, but we're currently\n // in a browser where it could be `pushState`-based instead...\n } else if (this._hasPushState && this.atRoot()) {\n this.navigate(this.getHash(), {replace: true});\n }\n\n }\n\n // Proxy an iframe to handle location events if the browser doesn't\n // support the `hashchange` event, HTML5 history, or the user wants\n // `hashChange` but not `pushState`.\n if (!this._hasHashChange && this._wantsHashChange && !this._usePushState) {\n this.iframe = document.createElement('iframe');\n this.iframe.src = 'javascript:0';\n this.iframe.style.display = 'none';\n this.iframe.tabIndex = -1;\n var body = document.body;\n // Using `appendChild` will throw on IE < 9 if the document is not ready.\n var iWindow = body.insertBefore(this.iframe, body.firstChild).contentWindow;\n iWindow.document.open();\n iWindow.document.close();\n iWindow.location.hash = '#' + this.fragment;\n }\n\n // Add a cross-platform `addEventListener` shim for older browsers.\n var addEventListener = window.addEventListener || function(eventName, listener) {\n return attachEvent('on' + eventName, listener);\n };\n\n // Depending on whether we're using pushState or hashes, and whether\n // 'onhashchange' is supported, determine how we check the URL state.\n if (this._usePushState) {\n addEventListener('popstate', this.checkUrl, false);\n } else if (this._useHashChange && !this.iframe) {\n addEventListener('hashchange', this.checkUrl, false);\n } else if (this._wantsHashChange) {\n this._checkUrlInterval = setInterval(this.checkUrl, this.interval);\n }\n\n if (!this.options.silent) return this.loadUrl();\n },\n\n // Disable Backbone.history, perhaps temporarily. Not useful in a real app,\n // but possibly useful for unit testing Routers.\n stop: function() {\n // Add a cross-platform `removeEventListener` shim for older browsers.\n var removeEventListener = window.removeEventListener || function(eventName, listener) {\n return detachEvent('on' + eventName, listener);\n };\n\n // Remove window listeners.\n if (this._usePushState) {\n removeEventListener('popstate', this.checkUrl, false);\n } else if (this._useHashChange && !this.iframe) {\n removeEventListener('hashchange', this.checkUrl, false);\n }\n\n // Clean up the iframe if necessary.\n if (this.iframe) {\n document.body.removeChild(this.iframe);\n this.iframe = null;\n }\n\n // Some environments will throw when clearing an undefined interval.\n if (this._checkUrlInterval) clearInterval(this._checkUrlInterval);\n History.started = false;\n },\n\n // Add a route to be tested when the fragment changes. Routes added later\n // may override previous routes.\n route: function(route, callback) {\n this.handlers.unshift({route: route, callback: callback});\n },\n\n // Checks the current URL to see if it has changed, and if it has,\n // calls `loadUrl`, normalizing across the hidden iframe.\n checkUrl: function(e) {\n var current = this.getFragment();\n\n // If the user pressed the back button, the iframe's hash will have\n // changed and we should use that for comparison.\n if (current === this.fragment && this.iframe) {\n current = this.getHash(this.iframe.contentWindow);\n }\n\n if (current === this.fragment) return false;\n if (this.iframe) this.navigate(current);\n this.loadUrl();\n },\n\n // Attempt to load the current URL fragment. If a route succeeds with a\n // match, returns `true`. If no defined routes matches the fragment,\n // returns `false`.\n loadUrl: function(fragment) {\n // If the root doesn't match, no routes can match either.\n if (!this.matchRoot()) return false;\n fragment = this.fragment = this.getFragment(fragment);\n return _.some(this.handlers, function(handler) {\n if (handler.route.test(fragment)) {\n handler.callback(fragment);\n return true;\n }\n });\n },\n\n // Save a fragment into the hash history, or replace the URL state if the\n // 'replace' option is passed. You are responsible for properly URL-encoding\n // the fragment in advance.\n //\n // The options object can contain `trigger: true` if you wish to have the\n // route callback be fired (not usually desirable), or `replace: true`, if\n // you wish to modify the current URL without adding an entry to the history.\n navigate: function(fragment, options) {\n if (!History.started) return false;\n if (!options || options === true) options = {trigger: !!options};\n\n // Normalize the fragment.\n fragment = this.getFragment(fragment || '');\n\n // Strip trailing slash on the root unless _trailingSlash is true\n var rootPath = this.root;\n if (!this._trailingSlash && (fragment === '' || fragment.charAt(0) === '?')) {\n rootPath = rootPath.slice(0, -1) || '/';\n }\n var url = rootPath + fragment;\n\n // Strip the fragment of the query and hash for matching.\n fragment = fragment.replace(pathStripper, '');\n\n // Decode for matching.\n var decodedFragment = this.decodeFragment(fragment);\n\n if (this.fragment === decodedFragment) return;\n this.fragment = decodedFragment;\n\n // If pushState is available, we use it to set the fragment as a real URL.\n if (this._usePushState) {\n this.history[options.replace ? 'replaceState' : 'pushState']({}, document.title, url);\n\n // If hash changes haven't been explicitly disabled, update the hash\n // fragment to store history.\n } else if (this._wantsHashChange) {\n this._updateHash(this.location, fragment, options.replace);\n if (this.iframe && fragment !== this.getHash(this.iframe.contentWindow)) {\n var iWindow = this.iframe.contentWindow;\n\n // Opening and closing the iframe tricks IE7 and earlier to push a\n // history entry on hash-tag change. When replace is true, we don't\n // want this.\n if (!options.replace) {\n iWindow.document.open();\n iWindow.document.close();\n }\n\n this._updateHash(iWindow.location, fragment, options.replace);\n }\n\n // If you've told us that you explicitly don't want fallback hashchange-\n // based history, then `navigate` becomes a page refresh.\n } else {\n return this.location.assign(url);\n }\n if (options.trigger) return this.loadUrl(fragment);\n },\n\n // Update the hash location, either replacing the current entry, or adding\n // a new one to the browser history.\n _updateHash: function(location, fragment, replace) {\n if (replace) {\n var href = location.href.replace(/(javascript:|#).*$/, '');\n location.replace(href + '#' + fragment);\n } else {\n // Some browsers require that `hash` contains a leading #.\n location.hash = '#' + fragment;\n }\n }\n\n });\n\n // Create the default Backbone.history.\n Backbone.history = new History;\n\n // Helpers\n // -------\n\n // Helper function to correctly set up the prototype chain for subclasses.\n // Similar to `goog.inherits`, but uses a hash of prototype properties and\n // class properties to be extended.\n var extend = function(protoProps, staticProps) {\n var parent = this;\n var child;\n\n // The constructor function for the new subclass is either defined by you\n // (the \"constructor\" property in your `extend` definition), or defaulted\n // by us to simply call the parent constructor.\n if (protoProps && _.has(protoProps, 'constructor')) {\n child = protoProps.constructor;\n } else {\n child = function(){ return parent.apply(this, arguments); };\n }\n\n // Add static properties to the constructor function, if supplied.\n _.extend(child, parent, staticProps);\n\n // Set the prototype chain to inherit from `parent`, without calling\n // `parent`'s constructor function and add the prototype properties.\n child.prototype = _.create(parent.prototype, protoProps);\n child.prototype.constructor = child;\n\n // Set a convenience property in case the parent's prototype is needed\n // later.\n child.__super__ = parent.prototype;\n\n return child;\n };\n\n // Set up inheritance for the model, collection, router, view and history.\n Model.extend = Collection.extend = Router.extend = View.extend = History.extend = extend;\n\n // Throw an error when a URL is needed, and none is supplied.\n var urlError = function() {\n throw new Error('A \"url\" property or function must be specified');\n };\n\n // Wrap an optional error callback with a fallback error event.\n var wrapError = function(model, options) {\n var error = options.error;\n options.error = function(resp) {\n if (error) error.call(options.context, model, resp, options);\n model.trigger('error', model, resp, options);\n };\n };\n\n return Backbone;\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, \".button-vue[data-v-3fa8511b]{margin-top:.5rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/login/LoginButton.vue\"],\"names\":[],\"mappings\":\"AACA,6BACC,gBAAA\",\"sourcesContent\":[\"\\n.button-vue {\\n\\tmargin-top: .5rem;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".login-form[data-v-0fbfcc31]{text-align:left;font-size:1rem}.login-form__fieldset[data-v-0fbfcc31]{width:100%;display:flex;flex-direction:column;gap:.5rem}.login-form__headline[data-v-0fbfcc31]{text-align:center;overflow-wrap:anywhere}\", \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/login/LoginForm.vue\"],\"names\":[],\"mappings\":\"AACA,6BACC,eAAA,CACA,cAAA,CAEA,uCACC,UAAA,CACA,YAAA,CACA,qBAAA,CACA,SAAA,CAGD,uCACC,iBAAA,CACA,sBAAA\",\"sourcesContent\":[\"\\n.login-form {\\n\\ttext-align: left;\\n\\tfont-size: 1rem;\\n\\n\\t&__fieldset {\\n\\t\\twidth: 100%;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tgap: .5rem;\\n\\t}\\n\\n\\t&__headline {\\n\\t\\ttext-align: center;\\n\\t\\toverflow-wrap: anywhere;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"fieldset[data-v-3ea2fa78]{display:flex;flex-direction:column;gap:.5rem}fieldset[data-v-3ea2fa78] label{text-align:initial}.update[data-v-3ea2fa78]{margin:0 auto}\", \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/login/PasswordLessLoginForm.vue\"],\"names\":[],\"mappings\":\"AACA,0BACC,YAAA,CACA,qBAAA,CACA,SAAA,CAEA,gCACC,kBAAA,CAIF,yBACC,aAAA\",\"sourcesContent\":[\"\\nfieldset {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: 0.5rem;\\n\\n\\t:deep(label) {\\n\\t\\ttext-align: initial;\\n\\t}\\n}\\n\\n.update {\\n\\tmargin: 0 auto;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".login-form[data-v-179b3658]{text-align:left;font-size:1rem}.login-form__fieldset[data-v-179b3658]{width:100%;display:flex;flex-direction:column;gap:.5rem}.login-form__link[data-v-179b3658]{display:block;font-weight:normal !important;padding-bottom:1rem;cursor:pointer;font-size:var(--default-font-size);text-align:center;padding:.5rem 1rem 1rem 1rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/login/ResetPassword.vue\"],\"names\":[],\"mappings\":\"AACA,6BACC,eAAA,CACA,cAAA,CAEA,uCACC,UAAA,CACA,YAAA,CACA,qBAAA,CACA,SAAA,CAGD,mCACC,aAAA,CACA,6BAAA,CACA,mBAAA,CACA,cAAA,CACA,kCAAA,CACA,iBAAA,CACA,4BAAA\",\"sourcesContent\":[\"\\n.login-form {\\n\\ttext-align: left;\\n\\tfont-size: 1rem;\\n\\n\\t&__fieldset {\\n\\t\\twidth: 100%;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tgap: .5rem;\\n\\t}\\n\\n\\t&__link {\\n\\t\\tdisplay: block;\\n\\t\\tfont-weight: normal !important;\\n\\t\\tpadding-bottom: 1rem;\\n\\t\\tcursor: pointer;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\ttext-align: center;\\n\\t\\tpadding: .5rem 1rem 1rem 1rem;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"body{font-size:var(--default-font-size)}.login-box{width:320px;box-sizing:border-box}.login-box__link{display:block;padding:1rem;font-size:var(--default-font-size);text-align:center;font-weight:normal !important}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter,.fade-leave-to{opacity:0}.alternative-logins{display:flex;flex-direction:column;gap:.75rem}.alternative-logins .button-vue{box-sizing:border-box}.login-passwordless .button-vue{margin-top:.5rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/views/Login.vue\"],\"names\":[],\"mappings\":\"AACA,KACC,kCAAA,CAGD,WAEC,WAAA,CACA,qBAAA,CAEA,iBACC,aAAA,CACA,YAAA,CACA,kCAAA,CACA,iBAAA,CACA,6BAAA,CAIF,sCACC,sBAAA,CAED,2BACC,SAAA,CAGD,oBACC,YAAA,CACA,qBAAA,CACA,UAAA,CAEA,gCACC,qBAAA,CAKD,gCACC,gBAAA\",\"sourcesContent\":[\"\\nbody {\\n\\tfont-size: var(--default-font-size);\\n}\\n\\n.login-box {\\n\\t// Same size as dashboard panels\\n\\twidth: 320px;\\n\\tbox-sizing: border-box;\\n\\n\\t&__link {\\n\\t\\tdisplay: block;\\n\\t\\tpadding: 1rem;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\ttext-align: center;\\n\\t\\tfont-weight: normal !important;\\n\\t}\\n}\\n\\n.fade-enter-active, .fade-leave-active {\\n\\ttransition: opacity .3s;\\n}\\n.fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ {\\n\\topacity: 0;\\n}\\n\\n.alternative-logins {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: 0.75rem;\\n\\n\\t.button-vue {\\n\\t\\tbox-sizing: border-box;\\n\\t}\\n}\\n\\n.login-passwordless {\\n\\t.button-vue {\\n\\t\\tmargin-top: 0.5rem;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\nfieldset[data-v-4dc21d74] {\\n\\ttext-align: center;\\n}\\ninput[type=submit][data-v-4dc21d74] {\\n\\tmargin-top: 20px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/login/UpdatePassword.vue\"],\"names\":[],\"mappings\":\";AA4IA;CACA,kBAAA;AACA;AAEA;CACA,gBAAA;AACA\",\"sourcesContent\":[\"<!--\\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\\n -\\n - @author Julius Härtl <jus@bitgrid.net>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n -->\\n\\n<template>\\n\\t<form @submit.prevent=\\\"submit\\\">\\n\\t\\t<fieldset>\\n\\t\\t\\t<p>\\n\\t\\t\\t\\t<label for=\\\"password\\\" class=\\\"infield\\\">{{ t('core', 'New password') }}</label>\\n\\t\\t\\t\\t<input id=\\\"password\\\"\\n\\t\\t\\t\\t\\tv-model=\\\"password\\\"\\n\\t\\t\\t\\t\\ttype=\\\"password\\\"\\n\\t\\t\\t\\t\\tname=\\\"password\\\"\\n\\t\\t\\t\\t\\tautocomplete=\\\"new-password\\\"\\n\\t\\t\\t\\t\\tautocapitalize=\\\"none\\\"\\n\\t\\t\\t\\t\\tautocorrect=\\\"off\\\"\\n\\t\\t\\t\\t\\trequired\\n\\t\\t\\t\\t\\t:placeholder=\\\"t('core', 'New password')\\\">\\n\\t\\t\\t</p>\\n\\n\\t\\t\\t<div v-if=\\\"encrypted\\\" class=\\\"update\\\">\\n\\t\\t\\t\\t<p>\\n\\t\\t\\t\\t\\t{{ t('core', 'Your files are encrypted. There will be no way to get your data back after your password is reset. If you are not sure what to do, please contact your administrator before you continue. Do you really want to continue?') }}\\n\\t\\t\\t\\t</p>\\n\\t\\t\\t\\t<input id=\\\"encrypted-continue\\\"\\n\\t\\t\\t\\t\\tv-model=\\\"proceed\\\"\\n\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\n\\t\\t\\t\\t\\tclass=\\\"checkbox\\\">\\n\\t\\t\\t\\t<label for=\\\"encrypted-continue\\\">\\n\\t\\t\\t\\t\\t{{ t('core', 'I know what I\\\\'m doing') }}\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</div>\\n\\n\\t\\t\\t<LoginButton :loading=\\\"loading\\\"\\n\\t\\t\\t\\t:value=\\\"t('core', 'Reset password')\\\"\\n\\t\\t\\t\\t:value-loading=\\\"t('core', 'Resetting password')\\\" />\\n\\n\\t\\t\\t<p v-if=\\\"error && message\\\" :class=\\\"{warning: error}\\\">\\n\\t\\t\\t\\t{{ message }}\\n\\t\\t\\t</p>\\n\\t\\t</fieldset>\\n\\t</form>\\n</template>\\n\\n<script>\\nimport Axios from '@nextcloud/axios'\\nimport LoginButton from './LoginButton.vue'\\n\\nexport default {\\n\\tname: 'UpdatePassword',\\n\\tcomponents: {\\n\\t\\tLoginButton,\\n\\t},\\n\\tprops: {\\n\\t\\tusername: {\\n\\t\\t\\ttype: String,\\n\\t\\t\\trequired: true,\\n\\t\\t},\\n\\t\\tresetPasswordTarget: {\\n\\t\\t\\ttype: String,\\n\\t\\t\\trequired: true,\\n\\t\\t},\\n\\t},\\n\\tdata() {\\n\\t\\treturn {\\n\\t\\t\\terror: false,\\n\\t\\t\\tloading: false,\\n\\t\\t\\tmessage: undefined,\\n\\t\\t\\tuser: this.username,\\n\\t\\t\\tpassword: '',\\n\\t\\t\\tencrypted: false,\\n\\t\\t\\tproceed: false,\\n\\t\\t}\\n\\t},\\n\\twatch: {\\n\\t\\tusername(value) {\\n\\t\\t\\tthis.user = value\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\tasync submit() {\\n\\t\\t\\tthis.loading = true\\n\\t\\t\\tthis.error = false\\n\\t\\t\\tthis.message = ''\\n\\n\\t\\t\\ttry {\\n\\t\\t\\t\\tconst { data } = await Axios.post(this.resetPasswordTarget, {\\n\\t\\t\\t\\t\\tpassword: this.password,\\n\\t\\t\\t\\t\\tproceed: this.proceed,\\n\\t\\t\\t\\t})\\n\\t\\t\\t\\tif (data && data.status === 'success') {\\n\\t\\t\\t\\t\\tthis.message = 'send-success'\\n\\t\\t\\t\\t\\tthis.$emit('update:username', this.user)\\n\\t\\t\\t\\t\\tthis.$emit('done')\\n\\t\\t\\t\\t} else if (data && data.encryption) {\\n\\t\\t\\t\\t\\tthis.encrypted = true\\n\\t\\t\\t\\t} else if (data && data.msg) {\\n\\t\\t\\t\\t\\tthrow new Error(data.msg)\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tthrow new Error()\\n\\t\\t\\t\\t}\\n\\t\\t\\t} catch (e) {\\n\\t\\t\\t\\tthis.error = true\\n\\t\\t\\t\\tthis.message = e.message ? e.message : t('core', 'Password cannot be changed. Please contact your administrator.')\\n\\t\\t\\t} finally {\\n\\t\\t\\t\\tthis.loading = false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n</script>\\n\\n<style scoped>\\n\\tfieldset {\\n\\t\\ttext-align: center;\\n\\t}\\n\\n\\tinput[type=submit] {\\n\\t\\tmargin-top: 20px;\\n\\t}\\n</style>\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/*\n * vim: expandtab shiftwidth=4 softtabstop=4\n */\n\n/* global dav */\nif (typeof dav === 'undefined') { dav = {}; };\n\ndav._XML_CHAR_MAP = {\n '<': '<',\n '>': '>',\n '&': '&',\n '\"': '"',\n \"'\": '''\n};\n\ndav._escapeXml = function(s) {\n return s.replace(/[<>&\"']/g, function (ch) {\n return dav._XML_CHAR_MAP[ch];\n });\n};\n\ndav.Client = function(options) {\n var i;\n for(i in options) {\n this[i] = options[i];\n }\n\n};\n\ndav.Client.prototype = {\n\n baseUrl : null,\n\n userName : null,\n\n password : null,\n\n\n xmlNamespaces : {\n 'DAV:' : 'd'\n },\n\n /**\n * Generates a propFind request.\n *\n * @param {string} url Url to do the propfind request on\n * @param {Array} properties List of properties to retrieve.\n * @param {string} depth \"0\", \"1\" or \"infinity\"\n * @param {Object} [headers] headers\n * @return {Promise}\n */\n propFind : function(url, properties, depth, headers) {\n\n if(typeof depth === \"undefined\") {\n depth = '0';\n }\n\n // depth header must be a string, in case a number was passed in\n depth = '' + depth;\n\n headers = headers || {};\n\n headers['Depth'] = depth;\n headers['Content-Type'] = 'application/xml; charset=utf-8';\n\n var body =\n '<?xml version=\"1.0\"?>\\n' +\n '<d:propfind ';\n var namespace;\n for (namespace in this.xmlNamespaces) {\n body += ' xmlns:' + this.xmlNamespaces[namespace] + '=\"' + namespace + '\"';\n }\n body += '>\\n' +\n ' <d:prop>\\n';\n\n for(var ii in properties) {\n if (!properties.hasOwnProperty(ii)) {\n continue;\n }\n\n var property = this.parseClarkNotation(properties[ii]);\n if (this.xmlNamespaces[property.namespace]) {\n body+=' <' + this.xmlNamespaces[property.namespace] + ':' + property.name + ' />\\n';\n } else {\n body+=' <x:' + property.name + ' xmlns:x=\"' + property.namespace + '\" />\\n';\n }\n\n }\n body+=' </d:prop>\\n';\n body+='</d:propfind>';\n\n return this.request('PROPFIND', url, headers, body).then(\n function(result) {\n\n if (depth === '0') {\n return {\n status: result.status,\n body: result.body[0],\n xhr: result.xhr\n };\n } else {\n return {\n status: result.status,\n body: result.body,\n xhr: result.xhr\n };\n }\n\n }.bind(this)\n );\n\n },\n\n /**\n * Renders a \"d:set\" block for the given properties.\n *\n * @param {Object.<String,String>} properties\n * @return {String} XML \"<d:set>\" block\n */\n _renderPropSet: function(properties) {\n var body = ' <d:set>\\n' +\n ' <d:prop>\\n';\n\n for(var ii in properties) {\n if (!properties.hasOwnProperty(ii)) {\n continue;\n }\n\n var property = this.parseClarkNotation(ii);\n var propName;\n var propValue = properties[ii];\n if (this.xmlNamespaces[property.namespace]) {\n propName = this.xmlNamespaces[property.namespace] + ':' + property.name;\n } else {\n propName = 'x:' + property.name + ' xmlns:x=\"' + property.namespace + '\"';\n }\n\n // FIXME: hard-coded for now until we allow properties to\n // specify whether to be escaped or not\n if (propName !== 'd:resourcetype') {\n propValue = dav._escapeXml(propValue);\n }\n body += ' <' + propName + '>' + propValue + '</' + propName + '>\\n';\n }\n body +=' </d:prop>\\n';\n body +=' </d:set>\\n';\n return body;\n },\n\n /**\n * Generates a propPatch request.\n *\n * @param {string} url Url to do the proppatch request on\n * @param {Object.<String,String>} properties List of properties to store.\n * @param {Object} [headers] headers\n * @return {Promise}\n */\n propPatch : function(url, properties, headers) {\n headers = headers || {};\n\n headers['Content-Type'] = 'application/xml; charset=utf-8';\n\n var body =\n '<?xml version=\"1.0\"?>\\n' +\n '<d:propertyupdate ';\n var namespace;\n for (namespace in this.xmlNamespaces) {\n body += ' xmlns:' + this.xmlNamespaces[namespace] + '=\"' + namespace + '\"';\n }\n body += '>\\n' + this._renderPropSet(properties);\n body += '</d:propertyupdate>';\n\n return this.request('PROPPATCH', url, headers, body).then(\n function(result) {\n return {\n status: result.status,\n body: result.body,\n xhr: result.xhr\n };\n }.bind(this)\n );\n\n },\n\n /**\n * Generates a MKCOL request.\n * If attributes are given, it will use an extended MKCOL request.\n *\n * @param {string} url Url to do the proppatch request on\n * @param {Object.<String,String>} [properties] list of properties to store.\n * @param {Object} [headers] headers\n * @return {Promise}\n */\n mkcol : function(url, properties, headers) {\n var body = '';\n headers = headers || {};\n headers['Content-Type'] = 'application/xml; charset=utf-8';\n\n if (properties) {\n body =\n '<?xml version=\"1.0\"?>\\n' +\n '<d:mkcol';\n var namespace;\n for (namespace in this.xmlNamespaces) {\n body += ' xmlns:' + this.xmlNamespaces[namespace] + '=\"' + namespace + '\"';\n }\n body += '>\\n' + this._renderPropSet(properties);\n body +='</d:mkcol>';\n }\n\n return this.request('MKCOL', url, headers, body).then(\n function(result) {\n return {\n status: result.status,\n body: result.body,\n xhr: result.xhr\n };\n }.bind(this)\n );\n\n },\n\n /**\n * Performs a HTTP request, and returns a Promise\n *\n * @param {string} method HTTP method\n * @param {string} url Relative or absolute url\n * @param {Object} headers HTTP headers as an object.\n * @param {string} body HTTP request body.\n * @param {string} responseType HTTP request response type.\n * @param {Object} options\n * @param {Function} options.onProgress progress callback\n * @return {Promise}\n */\n request : function(method, url, headers, body, responseType, options) {\n\n var self = this;\n var xhr = this.xhrProvider();\n headers = headers || {};\n responseType = responseType || \"\";\n \n if (this.userName) {\n headers['Authorization'] = 'Basic ' + btoa(this.userName + ':' + this.password);\n // xhr.open(method, this.resolveUrl(url), true, this.userName, this.password);\n }\n xhr.open(method, this.resolveUrl(url), true);\n var ii;\n for(ii in headers) {\n xhr.setRequestHeader(ii, headers[ii]);\n }\n xhr.responseType = responseType;\n\n if (options && typeof(options.onProgress) === 'function') {\n if (method === 'PUT' || method === 'POST') {\n xhr.upload.addEventListener('progress', function (e) {\n options.onProgress(e)\n }, false)\n }\n else {\n xhr.addEventListener('progress', function (e) {\n options.onProgress(e)\n }, false)\n }\n }\n\n // Work around for edge\n if (body === undefined) {\n xhr.send();\n } else {\n xhr.send(body);\n }\n\n return new Promise(function(fulfill, reject) {\n\n xhr.onreadystatechange = function() {\n\n if (xhr.readyState !== 4) {\n return;\n }\n\n var resultBody = xhr.response;\n if (xhr.status === 207) {\n resultBody = self.parseMultiStatus(xhr.response);\n }\n\n fulfill({\n body: resultBody,\n status: xhr.status,\n xhr: xhr\n });\n\n };\n\n xhr.ontimeout = function() {\n\n reject(new Error('Timeout exceeded'));\n\n };\n\n });\n\n },\n\n /**\n * Returns an XMLHttpRequest object.\n *\n * This is in its own method, so it can be easily overridden.\n *\n * @return {XMLHttpRequest}\n */\n xhrProvider : function() {\n\n return new XMLHttpRequest();\n\n },\n\n /**\n * Parses a property node.\n *\n * Either returns a string if the node only contains text, or returns an\n * array of non-text subnodes.\n *\n * @param {Object} propNode node to parse\n * @return {string|Array} text content as string or array of subnodes, excluding text nodes\n */\n _parsePropNode: function(propNode) {\n var content = null;\n if (propNode.childNodes && propNode.childNodes.length > 0) {\n var subNodes = [];\n // filter out text nodes\n for (var j = 0; j < propNode.childNodes.length; j++) {\n var node = propNode.childNodes[j];\n if (node.nodeType === 1) {\n subNodes.push(node);\n }\n }\n if (subNodes.length) {\n content = subNodes;\n }\n }\n\n return content || propNode.textContent || propNode.text || '';\n },\n\n /**\n * Parses a multi-status response body.\n *\n * @param {string} xmlBody\n * @param {Array}\n */\n parseMultiStatus : function(xmlBody) {\n\n var parser = new DOMParser();\n var doc = parser.parseFromString(xmlBody, \"application/xml\");\n\n var resolver = function(foo) {\n var ii;\n for(ii in this.xmlNamespaces) {\n if (this.xmlNamespaces[ii] === foo) {\n return ii;\n }\n }\n }.bind(this);\n\n var responseIterator = doc.evaluate('/d:multistatus/d:response', doc, resolver, XPathResult.ANY_TYPE, null);\n\n var result = [];\n var responseNode = responseIterator.iterateNext();\n\n while(responseNode) {\n\n var response = {\n href : null,\n propStat : []\n };\n\n response.href = doc.evaluate('string(d:href)', responseNode, resolver, XPathResult.ANY_TYPE, null).stringValue;\n\n var propStatIterator = doc.evaluate('d:propstat', responseNode, resolver, XPathResult.ANY_TYPE, null);\n var propStatNode = propStatIterator.iterateNext();\n\n while(propStatNode) {\n var propStat = {\n status : doc.evaluate('string(d:status)', propStatNode, resolver, XPathResult.ANY_TYPE, null).stringValue,\n properties : {},\n };\n\n var propIterator = doc.evaluate('d:prop/*', propStatNode, resolver, XPathResult.ANY_TYPE, null);\n\n var propNode = propIterator.iterateNext();\n while(propNode) {\n var content = this._parsePropNode(propNode);\n propStat.properties['{' + propNode.namespaceURI + '}' + propNode.localName] = content;\n propNode = propIterator.iterateNext();\n\n }\n response.propStat.push(propStat);\n propStatNode = propStatIterator.iterateNext();\n\n\n }\n\n result.push(response);\n responseNode = responseIterator.iterateNext();\n\n }\n\n return result;\n\n },\n\n /**\n * Takes a relative url, and maps it to an absolute url, using the baseUrl\n *\n * @param {string} url\n * @return {string}\n */\n resolveUrl : function(url) {\n\n // Note: this is rudamentary.. not sure yet if it handles every case.\n if (/^https?:\\/\\//i.test(url)) {\n // absolute\n return url;\n }\n\n var baseParts = this.parseUrl(this.baseUrl);\n if (url.charAt('/')) {\n // Url starts with a slash\n return baseParts.root + url;\n }\n\n // Url does not start with a slash, we need grab the base url right up until the last slash.\n var newUrl = baseParts.root + '/';\n if (baseParts.path.lastIndexOf('/')!==-1) {\n newUrl = newUrl = baseParts.path.subString(0, baseParts.path.lastIndexOf('/')) + '/';\n }\n newUrl+=url;\n return url;\n\n },\n\n /**\n * Parses a url and returns its individual components.\n *\n * @param {String} url\n * @return {Object}\n */\n parseUrl : function(url) {\n\n var parts = url.match(/^(?:([A-Za-z]+):)?(\\/{0,3})([0-9.\\-A-Za-z]+)(?::(\\d+))?(?:\\/([^?#]*))?(?:\\?([^#]*))?(?:#(.*))?$/);\n var result = {\n url : parts[0],\n scheme : parts[1],\n host : parts[3],\n port : parts[4],\n path : parts[5],\n query : parts[6],\n fragment : parts[7],\n };\n result.root =\n result.scheme + '://' +\n result.host +\n (result.port ? ':' + result.port : '');\n\n return result;\n\n },\n\n parseClarkNotation : function(propertyName) {\n\n var result = propertyName.match(/^{([^}]+)}(.*)$/);\n if (!result) {\n return;\n }\n\n return {\n name : result[2],\n namespace : result[1]\n };\n\n }\n\n};\n\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\n module.exports.Client = dav.Client;\n}\n","var map = {\n\t\"./af\": 42786,\n\t\"./af.js\": 42786,\n\t\"./ar\": 30867,\n\t\"./ar-dz\": 14130,\n\t\"./ar-dz.js\": 14130,\n\t\"./ar-kw\": 96135,\n\t\"./ar-kw.js\": 96135,\n\t\"./ar-ly\": 56440,\n\t\"./ar-ly.js\": 56440,\n\t\"./ar-ma\": 47702,\n\t\"./ar-ma.js\": 47702,\n\t\"./ar-sa\": 16040,\n\t\"./ar-sa.js\": 16040,\n\t\"./ar-tn\": 37100,\n\t\"./ar-tn.js\": 37100,\n\t\"./ar.js\": 30867,\n\t\"./az\": 31083,\n\t\"./az.js\": 31083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 68338,\n\t\"./bg.js\": 68338,\n\t\"./bm\": 67438,\n\t\"./bm.js\": 67438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 76225,\n\t\"./bn-bd.js\": 76225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 11560,\n\t\"./bo.js\": 11560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 80622,\n\t\"./bs.js\": 80622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 50877,\n\t\"./cv.js\": 50877,\n\t\"./cy\": 47373,\n\t\"./cy.js\": 47373,\n\t\"./da\": 24780,\n\t\"./da.js\": 24780,\n\t\"./de\": 59740,\n\t\"./de-at\": 60217,\n\t\"./de-at.js\": 60217,\n\t\"./de-ch\": 60894,\n\t\"./de-ch.js\": 60894,\n\t\"./de.js\": 59740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 50837,\n\t\"./el.js\": 50837,\n\t\"./en-au\": 78348,\n\t\"./en-au.js\": 78348,\n\t\"./en-ca\": 77925,\n\t\"./en-ca.js\": 77925,\n\t\"./en-gb\": 22243,\n\t\"./en-gb.js\": 22243,\n\t\"./en-ie\": 46436,\n\t\"./en-ie.js\": 46436,\n\t\"./en-il\": 47207,\n\t\"./en-il.js\": 47207,\n\t\"./en-in\": 44175,\n\t\"./en-in.js\": 44175,\n\t\"./en-nz\": 76319,\n\t\"./en-nz.js\": 76319,\n\t\"./en-sg\": 31662,\n\t\"./en-sg.js\": 31662,\n\t\"./eo\": 92915,\n\t\"./eo.js\": 92915,\n\t\"./es\": 55655,\n\t\"./es-do\": 55251,\n\t\"./es-do.js\": 55251,\n\t\"./es-mx\": 96112,\n\t\"./es-mx.js\": 96112,\n\t\"./es-us\": 71146,\n\t\"./es-us.js\": 71146,\n\t\"./es.js\": 55655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 77763,\n\t\"./eu.js\": 77763,\n\t\"./fa\": 76959,\n\t\"./fa.js\": 76959,\n\t\"./fi\": 11897,\n\t\"./fi.js\": 11897,\n\t\"./fil\": 42549,\n\t\"./fil.js\": 42549,\n\t\"./fo\": 94694,\n\t\"./fo.js\": 94694,\n\t\"./fr\": 94470,\n\t\"./fr-ca\": 63049,\n\t\"./fr-ca.js\": 63049,\n\t\"./fr-ch\": 52330,\n\t\"./fr-ch.js\": 52330,\n\t\"./fr.js\": 94470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 29295,\n\t\"./ga.js\": 29295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 38794,\n\t\"./gl.js\": 38794,\n\t\"./gom-deva\": 27884,\n\t\"./gom-deva.js\": 27884,\n\t\"./gom-latn\": 23168,\n\t\"./gom-latn.js\": 23168,\n\t\"./gu\": 95349,\n\t\"./gu.js\": 95349,\n\t\"./he\": 24206,\n\t\"./he.js\": 24206,\n\t\"./hi\": 30094,\n\t\"./hi.js\": 30094,\n\t\"./hr\": 30316,\n\t\"./hr.js\": 30316,\n\t\"./hu\": 22138,\n\t\"./hu.js\": 22138,\n\t\"./hy-am\": 11423,\n\t\"./hy-am.js\": 11423,\n\t\"./id\": 29218,\n\t\"./id.js\": 29218,\n\t\"./is\": 90135,\n\t\"./is.js\": 90135,\n\t\"./it\": 90626,\n\t\"./it-ch\": 10150,\n\t\"./it-ch.js\": 10150,\n\t\"./it.js\": 90626,\n\t\"./ja\": 39183,\n\t\"./ja.js\": 39183,\n\t\"./jv\": 24286,\n\t\"./jv.js\": 24286,\n\t\"./ka\": 12105,\n\t\"./ka.js\": 12105,\n\t\"./kk\": 47772,\n\t\"./kk.js\": 47772,\n\t\"./km\": 18758,\n\t\"./km.js\": 18758,\n\t\"./kn\": 79282,\n\t\"./kn.js\": 79282,\n\t\"./ko\": 33730,\n\t\"./ko.js\": 33730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 33291,\n\t\"./ky.js\": 33291,\n\t\"./lb\": 36841,\n\t\"./lb.js\": 36841,\n\t\"./lo\": 55466,\n\t\"./lo.js\": 55466,\n\t\"./lt\": 57010,\n\t\"./lt.js\": 57010,\n\t\"./lv\": 37595,\n\t\"./lv.js\": 37595,\n\t\"./me\": 39861,\n\t\"./me.js\": 39861,\n\t\"./mi\": 35493,\n\t\"./mi.js\": 35493,\n\t\"./mk\": 95966,\n\t\"./mk.js\": 95966,\n\t\"./ml\": 87341,\n\t\"./ml.js\": 87341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 10370,\n\t\"./mr.js\": 10370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 41237,\n\t\"./ms-my.js\": 41237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 72126,\n\t\"./mt.js\": 72126,\n\t\"./my\": 56165,\n\t\"./my.js\": 56165,\n\t\"./nb\": 64924,\n\t\"./nb.js\": 64924,\n\t\"./ne\": 16744,\n\t\"./ne.js\": 16744,\n\t\"./nl\": 93901,\n\t\"./nl-be\": 59814,\n\t\"./nl-be.js\": 59814,\n\t\"./nl.js\": 93901,\n\t\"./nn\": 83877,\n\t\"./nn.js\": 83877,\n\t\"./oc-lnc\": 92135,\n\t\"./oc-lnc.js\": 92135,\n\t\"./pa-in\": 15858,\n\t\"./pa-in.js\": 15858,\n\t\"./pl\": 64495,\n\t\"./pl.js\": 64495,\n\t\"./pt\": 89520,\n\t\"./pt-br\": 57971,\n\t\"./pt-br.js\": 57971,\n\t\"./pt.js\": 89520,\n\t\"./ro\": 96459,\n\t\"./ro.js\": 96459,\n\t\"./ru\": 21793,\n\t\"./ru.js\": 21793,\n\t\"./sd\": 40950,\n\t\"./sd.js\": 40950,\n\t\"./se\": 10490,\n\t\"./se.js\": 10490,\n\t\"./si\": 90124,\n\t\"./si.js\": 90124,\n\t\"./sk\": 64249,\n\t\"./sk.js\": 64249,\n\t\"./sl\": 14985,\n\t\"./sl.js\": 14985,\n\t\"./sq\": 51104,\n\t\"./sq.js\": 51104,\n\t\"./sr\": 49131,\n\t\"./sr-cyrl\": 79915,\n\t\"./sr-cyrl.js\": 79915,\n\t\"./sr.js\": 49131,\n\t\"./ss\": 85893,\n\t\"./ss.js\": 85893,\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760,\n\t\"./sw\": 91172,\n\t\"./sw.js\": 91172,\n\t\"./ta\": 27333,\n\t\"./ta.js\": 27333,\n\t\"./te\": 23110,\n\t\"./te.js\": 23110,\n\t\"./tet\": 52095,\n\t\"./tet.js\": 52095,\n\t\"./tg\": 27321,\n\t\"./tg.js\": 27321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 19005,\n\t\"./tk.js\": 19005,\n\t\"./tl-ph\": 75768,\n\t\"./tl-ph.js\": 75768,\n\t\"./tlh\": 89444,\n\t\"./tlh.js\": 89444,\n\t\"./tr\": 72397,\n\t\"./tr.js\": 72397,\n\t\"./tzl\": 28254,\n\t\"./tzl.js\": 28254,\n\t\"./tzm\": 51106,\n\t\"./tzm-latn\": 30699,\n\t\"./tzm-latn.js\": 30699,\n\t\"./tzm.js\": 51106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 67691,\n\t\"./uk.js\": 67691,\n\t\"./ur\": 13795,\n\t\"./ur.js\": 13795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 60588,\n\t\"./uz-latn.js\": 60588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 65666,\n\t\"./vi.js\": 65666,\n\t\"./x-pseudo\": 14378,\n\t\"./x-pseudo.js\": 14378,\n\t\"./yo\": 75805,\n\t\"./yo.js\": 75805,\n\t\"./zh-cn\": 83839,\n\t\"./zh-cn.js\": 83839,\n\t\"./zh-hk\": 55726,\n\t\"./zh-hk.js\": 55726,\n\t\"./zh-mo\": 99807,\n\t\"./zh-mo.js\": 99807,\n\t\"./zh-tw\": 74152,\n\t\"./zh-tw.js\": 74152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","import { getCurrentUser as A, getRequestToken as ue } from \"@nextcloud/auth\";\nimport { getLoggerBuilder as q } from \"@nextcloud/logger\";\nimport { getCanonicalLocale as de } from \"@nextcloud/l10n\";\nimport { join as ae, basename as le, extname as fe, dirname as I } from \"path\";\nimport { encodePath as ce } from \"@nextcloud/paths\";\nimport { generateRemoteUrl as he } from \"@nextcloud/router\";\nimport { createClient as pe, getPatcher as ge } from \"webdav\";\nimport { request as we } from \"webdav/dist/node/request.js\";\n/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst me = (e) => e === null ? q().setApp(\"files\").build() : q().setApp(\"files\").setUid(e.uid).build(), m = me(A());\n/**\n * @copyright Copyright (c) 2021 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass Ne {\n _entries = [];\n registerEntry(t) {\n this.validateEntry(t), this._entries.push(t);\n }\n unregisterEntry(t) {\n const r = typeof t == \"string\" ? this.getEntryIndex(t) : this.getEntryIndex(t.id);\n if (r === -1) {\n m.warn(\"Entry not found, nothing removed\", { entry: t, entries: this.getEntries() });\n return;\n }\n this._entries.splice(r, 1);\n }\n /**\n * Get the list of registered entries\n *\n * @param {Folder} context the creation context. Usually the current folder\n */\n getEntries(t) {\n return t ? this._entries.filter((r) => typeof r.enabled == \"function\" ? r.enabled(t) : !0) : this._entries;\n }\n getEntryIndex(t) {\n return this._entries.findIndex((r) => r.id === t);\n }\n validateEntry(t) {\n if (!t.id || !t.displayName || !(t.iconSvgInline || t.iconClass) || !t.handler)\n throw new Error(\"Invalid entry\");\n if (typeof t.id != \"string\" || typeof t.displayName != \"string\")\n throw new Error(\"Invalid id or displayName property\");\n if (t.iconClass && typeof t.iconClass != \"string\" || t.iconSvgInline && typeof t.iconSvgInline != \"string\")\n throw new Error(\"Invalid icon provided\");\n if (t.enabled !== void 0 && typeof t.enabled != \"function\")\n throw new Error(\"Invalid enabled property\");\n if (typeof t.handler != \"function\")\n throw new Error(\"Invalid handler property\");\n if (\"order\" in t && typeof t.order != \"number\")\n throw new Error(\"Invalid order property\");\n if (this.getEntryIndex(t.id) !== -1)\n throw new Error(\"Duplicate entry\");\n }\n}\nconst F = function() {\n return typeof window._nc_newfilemenu > \"u\" && (window._nc_newfilemenu = new Ne(), m.debug(\"NewFileMenu initialized\")), window._nc_newfilemenu;\n};\n/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst C = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"], P = [\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\"];\nfunction Jt(e, t = !1, r = !0) {\n typeof e == \"string\" && (e = Number(e));\n let s = e > 0 ? Math.floor(Math.log(e) / Math.log(r ? 1024 : 1e3)) : 0;\n s = Math.min((r ? P.length : C.length) - 1, s);\n const n = r ? P[s] : C[s];\n let i = (e / Math.pow(r ? 1024 : 1e3, s)).toFixed(1);\n return t === !0 && s === 0 ? (i !== \"0.0\" ? \"< 1 \" : \"0 \") + (r ? P[1] : C[1]) : (s < 2 ? i = parseFloat(i).toFixed(0) : i = parseFloat(i).toLocaleString(de()), i + \" \" + n);\n}\nfunction Qt(e, t = !1) {\n try {\n e = `${e}`.toLocaleLowerCase().replaceAll(/\\s+/g, \"\").replaceAll(\",\", \".\");\n } catch {\n return null;\n }\n const r = e.match(/^([0-9]*(\\.[0-9]*)?)([kmgtp]?)(i?)b?$/);\n if (r === null || r[1] === \".\" || r[1] === \"\")\n return null;\n const s = {\n \"\": 0,\n k: 1,\n m: 2,\n g: 3,\n t: 4,\n p: 5,\n e: 6\n }, n = `${r[1]}`, i = r[4] === \"i\" || t ? 1024 : 1e3;\n return Math.round(Number.parseFloat(n) * i ** s[r[3]]);\n}\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nvar Z = /* @__PURE__ */ ((e) => (e.DEFAULT = \"default\", e.HIDDEN = \"hidden\", e))(Z || {});\nclass Dt {\n _action;\n constructor(t) {\n this.validateAction(t), this._action = t;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get title() {\n return this._action.title;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n get execBatch() {\n return this._action.execBatch;\n }\n get order() {\n return this._action.order;\n }\n get default() {\n return this._action.default;\n }\n get inline() {\n return this._action.inline;\n }\n get renderInline() {\n return this._action.renderInline;\n }\n validateAction(t) {\n if (!t.id || typeof t.id != \"string\")\n throw new Error(\"Invalid id\");\n if (!t.displayName || typeof t.displayName != \"function\")\n throw new Error(\"Invalid displayName function\");\n if (\"title\" in t && typeof t.title != \"function\")\n throw new Error(\"Invalid title function\");\n if (!t.iconSvgInline || typeof t.iconSvgInline != \"function\")\n throw new Error(\"Invalid iconSvgInline function\");\n if (!t.exec || typeof t.exec != \"function\")\n throw new Error(\"Invalid exec function\");\n if (\"enabled\" in t && typeof t.enabled != \"function\")\n throw new Error(\"Invalid enabled function\");\n if (\"execBatch\" in t && typeof t.execBatch != \"function\")\n throw new Error(\"Invalid execBatch function\");\n if (\"order\" in t && typeof t.order != \"number\")\n throw new Error(\"Invalid order\");\n if (t.default && !Object.values(Z).includes(t.default))\n throw new Error(\"Invalid default\");\n if (\"inline\" in t && typeof t.inline != \"function\")\n throw new Error(\"Invalid inline function\");\n if (\"renderInline\" in t && typeof t.renderInline != \"function\")\n throw new Error(\"Invalid renderInline function\");\n }\n}\nconst er = function(e) {\n if (typeof window._nc_fileactions > \"u\" && (window._nc_fileactions = [], m.debug(\"FileActions initialized\")), window._nc_fileactions.find((t) => t.id === e.id)) {\n m.error(`FileAction ${e.id} already registered`, { action: e });\n return;\n }\n window._nc_fileactions.push(e);\n}, tr = function() {\n return typeof window._nc_fileactions > \"u\" && (window._nc_fileactions = [], m.debug(\"FileActions initialized\")), window._nc_fileactions;\n};\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass rr {\n _header;\n constructor(t) {\n this.validateHeader(t), this._header = t;\n }\n get id() {\n return this._header.id;\n }\n get order() {\n return this._header.order;\n }\n get enabled() {\n return this._header.enabled;\n }\n get render() {\n return this._header.render;\n }\n get updated() {\n return this._header.updated;\n }\n validateHeader(t) {\n if (!t.id || !t.render || !t.updated)\n throw new Error(\"Invalid header: id, render and updated are required\");\n if (typeof t.id != \"string\")\n throw new Error(\"Invalid id property\");\n if (t.enabled !== void 0 && typeof t.enabled != \"function\")\n throw new Error(\"Invalid enabled property\");\n if (t.render && typeof t.render != \"function\")\n throw new Error(\"Invalid render property\");\n if (t.updated && typeof t.updated != \"function\")\n throw new Error(\"Invalid updated property\");\n }\n}\nconst nr = function(e) {\n if (typeof window._nc_filelistheader > \"u\" && (window._nc_filelistheader = [], m.debug(\"FileListHeaders initialized\")), window._nc_filelistheader.find((t) => t.id === e.id)) {\n m.error(`Header ${e.id} already registered`, { header: e });\n return;\n }\n window._nc_filelistheader.push(e);\n}, ir = function() {\n return typeof window._nc_filelistheader > \"u\" && (window._nc_filelistheader = [], m.debug(\"FileListHeaders initialized\")), window._nc_filelistheader;\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nvar N = /* @__PURE__ */ ((e) => (e[e.NONE = 0] = \"NONE\", e[e.CREATE = 4] = \"CREATE\", e[e.READ = 1] = \"READ\", e[e.UPDATE = 2] = \"UPDATE\", e[e.DELETE = 8] = \"DELETE\", e[e.SHARE = 16] = \"SHARE\", e[e.ALL = 31] = \"ALL\", e))(N || {});\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Ferdinand Thiessen <opensource@fthiessen.de>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst j = [\n \"d:getcontentlength\",\n \"d:getcontenttype\",\n \"d:getetag\",\n \"d:getlastmodified\",\n \"d:quota-available-bytes\",\n \"d:resourcetype\",\n \"nc:has-preview\",\n \"nc:is-encrypted\",\n \"nc:mount-type\",\n \"nc:share-attributes\",\n \"oc:comments-unread\",\n \"oc:favorite\",\n \"oc:fileid\",\n \"oc:owner-display-name\",\n \"oc:owner-id\",\n \"oc:permissions\",\n \"oc:share-types\",\n \"oc:size\",\n \"ocs:share-permissions\"\n], Y = {\n d: \"DAV:\",\n nc: \"http://nextcloud.org/ns\",\n oc: \"http://owncloud.org/ns\",\n ocs: \"http://open-collaboration-services.org/ns\"\n}, sr = function(e, t = { nc: \"http://nextcloud.org/ns\" }) {\n typeof window._nc_dav_properties > \"u\" && (window._nc_dav_properties = [...j], window._nc_dav_namespaces = { ...Y });\n const r = { ...window._nc_dav_namespaces, ...t };\n if (window._nc_dav_properties.find((n) => n === e))\n return m.error(`${e} already registered`, { prop: e }), !1;\n if (e.startsWith(\"<\") || e.split(\":\").length !== 2)\n return m.error(`${e} is not valid. See example: 'oc:fileid'`, { prop: e }), !1;\n const s = e.split(\":\")[0];\n return r[s] ? (window._nc_dav_properties.push(e), window._nc_dav_namespaces = r, !0) : (m.error(`${e} namespace unknown`, { prop: e, namespaces: r }), !1);\n}, V = function() {\n return typeof window._nc_dav_properties > \"u\" && (window._nc_dav_properties = [...j]), window._nc_dav_properties.map((e) => `<${e} />`).join(\" \");\n}, L = function() {\n return typeof window._nc_dav_namespaces > \"u\" && (window._nc_dav_namespaces = { ...Y }), Object.keys(window._nc_dav_namespaces).map((e) => `xmlns:${e}=\"${window._nc_dav_namespaces?.[e]}\"`).join(\" \");\n}, or = function() {\n return `<?xml version=\"1.0\"?>\n\t\t<d:propfind ${L()}>\n\t\t\t<d:prop>\n\t\t\t\t${V()}\n\t\t\t</d:prop>\n\t\t</d:propfind>`;\n}, Ee = function() {\n return `<?xml version=\"1.0\"?>\n\t\t<oc:filter-files ${L()}>\n\t\t\t<d:prop>\n\t\t\t\t${V()}\n\t\t\t</d:prop>\n\t\t\t<oc:filter-rules>\n\t\t\t\t<oc:favorite>1</oc:favorite>\n\t\t\t</oc:filter-rules>\n\t\t</oc:filter-files>`;\n}, ur = function(e) {\n return `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<d:searchrequest ${L()}\n\txmlns:ns=\"https://github.com/icewind1991/SearchDAV/ns\">\n\t<d:basicsearch>\n\t\t<d:select>\n\t\t\t<d:prop>\n\t\t\t\t${V()}\n\t\t\t</d:prop>\n\t\t</d:select>\n\t\t<d:from>\n\t\t\t<d:scope>\n\t\t\t\t<d:href>/files/${A()?.uid}/</d:href>\n\t\t\t\t<d:depth>infinity</d:depth>\n\t\t\t</d:scope>\n\t\t</d:from>\n\t\t<d:where>\n\t\t\t<d:and>\n\t\t\t\t<d:or>\n\t\t\t\t\t<d:not>\n\t\t\t\t\t\t<d:eq>\n\t\t\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t\t\t<d:getcontenttype/>\n\t\t\t\t\t\t\t</d:prop>\n\t\t\t\t\t\t\t<d:literal>httpd/unix-directory</d:literal>\n\t\t\t\t\t\t</d:eq>\n\t\t\t\t\t</d:not>\n\t\t\t\t\t<d:eq>\n\t\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t\t<oc:size/>\n\t\t\t\t\t\t</d:prop>\n\t\t\t\t\t\t<d:literal>0</d:literal>\n\t\t\t\t\t</d:eq>\n\t\t\t\t</d:or>\n\t\t\t\t<d:gt>\n\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t<d:getlastmodified/>\n\t\t\t\t\t</d:prop>\n\t\t\t\t\t<d:literal>${e}</d:literal>\n\t\t\t\t</d:gt>\n\t\t\t</d:and>\n\t\t</d:where>\n\t\t<d:orderby>\n\t\t\t<d:order>\n\t\t\t\t<d:prop>\n\t\t\t\t\t<d:getlastmodified/>\n\t\t\t\t</d:prop>\n\t\t\t\t<d:descending/>\n\t\t\t</d:order>\n\t\t</d:orderby>\n\t\t<d:limit>\n\t\t\t<d:nresults>100</d:nresults>\n\t\t\t<ns:firstresult>0</ns:firstresult>\n\t\t</d:limit>\n\t</d:basicsearch>\n</d:searchrequest>`;\n};\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Ferdinand Thiessen <opensource@fthiessen.de>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst be = function(e = \"\") {\n let t = N.NONE;\n return e && ((e.includes(\"C\") || e.includes(\"K\")) && (t |= N.CREATE), e.includes(\"G\") && (t |= N.READ), (e.includes(\"W\") || e.includes(\"N\") || e.includes(\"V\")) && (t |= N.UPDATE), e.includes(\"D\") && (t |= N.DELETE), e.includes(\"R\") && (t |= N.SHARE)), t;\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nvar S = /* @__PURE__ */ ((e) => (e.Folder = \"folder\", e.File = \"file\", e))(S || {});\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst J = function(e, t) {\n return e.match(t) !== null;\n}, X = (e, t) => {\n if (e.id && typeof e.id != \"number\")\n throw new Error(\"Invalid id type of value\");\n if (!e.source)\n throw new Error(\"Missing mandatory source\");\n try {\n new URL(e.source);\n } catch {\n throw new Error(\"Invalid source format, source must be a valid URL\");\n }\n if (!e.source.startsWith(\"http\"))\n throw new Error(\"Invalid source format, only http(s) is supported\");\n if (e.mtime && !(e.mtime instanceof Date))\n throw new Error(\"Invalid mtime type\");\n if (e.crtime && !(e.crtime instanceof Date))\n throw new Error(\"Invalid crtime type\");\n if (!e.mime || typeof e.mime != \"string\" || !e.mime.match(/^[-\\w.]+\\/[-+\\w.]+$/gi))\n throw new Error(\"Missing or invalid mandatory mime\");\n if (\"size\" in e && typeof e.size != \"number\" && e.size !== void 0)\n throw new Error(\"Invalid size type\");\n if (\"permissions\" in e && e.permissions !== void 0 && !(typeof e.permissions == \"number\" && e.permissions >= N.NONE && e.permissions <= N.ALL))\n throw new Error(\"Invalid permissions\");\n if (e.owner && e.owner !== null && typeof e.owner != \"string\")\n throw new Error(\"Invalid owner type\");\n if (e.attributes && typeof e.attributes != \"object\")\n throw new Error(\"Invalid attributes type\");\n if (e.root && typeof e.root != \"string\")\n throw new Error(\"Invalid root type\");\n if (e.root && !e.root.startsWith(\"/\"))\n throw new Error(\"Root must start with a leading slash\");\n if (e.root && !e.source.includes(e.root))\n throw new Error(\"Root must be part of the source\");\n if (e.root && J(e.source, t)) {\n const r = e.source.match(t)[0];\n if (!e.source.includes(ae(r, e.root)))\n throw new Error(\"The root must be relative to the service. e.g /files/emma\");\n }\n if (e.status && !Object.values(Q).includes(e.status))\n throw new Error(\"Status must be a valid NodeStatus\");\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nvar Q = /* @__PURE__ */ ((e) => (e.NEW = \"new\", e.FAILED = \"failed\", e.LOADING = \"loading\", e.LOCKED = \"locked\", e))(Q || {});\nclass D {\n _data;\n _attributes;\n _knownDavService = /(remote|public)\\.php\\/(web)?dav/i;\n constructor(t, r) {\n X(t, r || this._knownDavService), this._data = t;\n const s = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n set: (n, i, d) => (this.updateMtime(), Reflect.set(n, i, d)),\n deleteProperty: (n, i) => (this.updateMtime(), Reflect.deleteProperty(n, i))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n };\n this._attributes = new Proxy(t.attributes || {}, s), delete this._data.attributes, r && (this._knownDavService = r);\n }\n /**\n * Get the source url to this object\n */\n get source() {\n return this._data.source.replace(/\\/$/i, \"\");\n }\n /**\n * Get the encoded source url to this object for requests purposes\n */\n get encodedSource() {\n const { origin: t } = new URL(this.source);\n return t + ce(this.source.slice(t.length));\n }\n /**\n * Get this object name\n */\n get basename() {\n return le(this.source);\n }\n /**\n * Get this object's extension\n */\n get extension() {\n return fe(this.source);\n }\n /**\n * Get the directory path leading to this object\n * Will use the relative path to root if available\n */\n get dirname() {\n if (this.root) {\n const r = this.source.indexOf(this.root);\n return I(this.source.slice(r + this.root.length) || \"/\");\n }\n const t = new URL(this.source);\n return I(t.pathname);\n }\n /**\n * Get the file mime\n */\n get mime() {\n return this._data.mime;\n }\n /**\n * Get the file modification time\n */\n get mtime() {\n return this._data.mtime;\n }\n /**\n * Get the file creation time\n */\n get crtime() {\n return this._data.crtime;\n }\n /**\n * Get the file size\n */\n get size() {\n return this._data.size;\n }\n /**\n * Get the file attribute\n */\n get attributes() {\n return this._attributes;\n }\n /**\n * Get the file permissions\n */\n get permissions() {\n return this.owner === null && !this.isDavRessource ? N.READ : this._data.permissions !== void 0 ? this._data.permissions : N.NONE;\n }\n /**\n * Get the file owner\n */\n get owner() {\n return this.isDavRessource ? this._data.owner : null;\n }\n /**\n * Is this a dav-related ressource ?\n */\n get isDavRessource() {\n return J(this.source, this._knownDavService);\n }\n /**\n * Get the dav root of this object\n */\n get root() {\n return this._data.root ? this._data.root.replace(/^(.+)\\/$/, \"$1\") : this.isDavRessource && I(this.source).split(this._knownDavService).pop() || null;\n }\n /**\n * Get the absolute path of this object relative to the root\n */\n get path() {\n if (this.root) {\n const t = this.source.indexOf(this.root);\n return this.source.slice(t + this.root.length) || \"/\";\n }\n return (this.dirname + \"/\" + this.basename).replace(/\\/\\//g, \"/\");\n }\n /**\n * Get the node id if defined.\n * Will look for the fileid in attributes if undefined.\n */\n get fileid() {\n return this._data?.id || this.attributes?.fileid;\n }\n /**\n * Get the node status.\n */\n get status() {\n return this._data?.status;\n }\n /**\n * Set the node status.\n */\n set status(t) {\n this._data.status = t;\n }\n /**\n * Move the node to a new destination\n *\n * @param {string} destination the new source.\n * e.g. https://cloud.domain.com/remote.php/dav/files/emma/Photos/picture.jpg\n */\n move(t) {\n X({ ...this._data, source: t }, this._knownDavService), this._data.source = t, this.updateMtime();\n }\n /**\n * Rename the node\n * This aliases the move method for easier usage\n *\n * @param basename The new name of the node\n */\n rename(t) {\n if (t.includes(\"/\"))\n throw new Error(\"Invalid basename\");\n this.move(I(this.source) + \"/\" + t);\n }\n /**\n * Update the mtime if exists.\n */\n updateMtime() {\n this._data.mtime && (this._data.mtime = /* @__PURE__ */ new Date());\n }\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass ye extends D {\n get type() {\n return S.File;\n }\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass _e extends D {\n constructor(t) {\n super({\n ...t,\n mime: \"httpd/unix-directory\"\n });\n }\n get type() {\n return S.Folder;\n }\n get extension() {\n return null;\n }\n get mime() {\n return \"httpd/unix-directory\";\n }\n}\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Ferdinand Thiessen <opensource@fthiessen.de>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst ee = `/files/${A()?.uid}`, te = he(\"dav\"), dr = function(e = te) {\n const t = pe(e, {\n headers: {\n requesttoken: ue() || \"\"\n }\n });\n return ge().patch(\"request\", (s) => (s.headers?.method && (s.method = s.headers.method, delete s.headers.method), we(s))), t;\n}, ar = async (e, t = \"/\", r = ee) => (await e.getDirectoryContents(`${r}${t}`, {\n details: !0,\n data: Ee(),\n headers: {\n // see davGetClient for patched webdav client\n method: \"REPORT\"\n },\n includeSelf: !0\n})).data.filter((n) => n.filename !== t).map((n) => ve(n, r)), ve = function(e, t = ee, r = te) {\n const s = e.props, n = be(s?.permissions), i = A()?.uid, d = {\n id: s?.fileid || 0,\n source: `${r}${e.filename}`,\n mtime: new Date(Date.parse(e.lastmod)),\n mime: e.mime,\n size: s?.size || Number.parseInt(s.getcontentlength || \"0\"),\n permissions: n,\n owner: i,\n root: t,\n attributes: {\n ...e,\n ...s,\n hasPreview: s?.[\"has-preview\"]\n }\n };\n return delete d.attributes?.props, e.type === \"file\" ? new ye(d) : new _e(d);\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass Te {\n _views = [];\n _currentView = null;\n register(t) {\n if (this._views.find((r) => r.id === t.id))\n throw new Error(`View id ${t.id} is already registered`);\n this._views.push(t);\n }\n remove(t) {\n const r = this._views.findIndex((s) => s.id === t);\n r !== -1 && this._views.splice(r, 1);\n }\n get views() {\n return this._views;\n }\n setActive(t) {\n this._currentView = t;\n }\n get active() {\n return this._currentView;\n }\n}\nconst lr = function() {\n return typeof window._nc_navigation > \"u\" && (window._nc_navigation = new Te(), m.debug(\"Navigation service initialized\")), window._nc_navigation;\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass Ie {\n _column;\n constructor(t) {\n Ae(t), this._column = t;\n }\n get id() {\n return this._column.id;\n }\n get title() {\n return this._column.title;\n }\n get render() {\n return this._column.render;\n }\n get sort() {\n return this._column.sort;\n }\n get summary() {\n return this._column.summary;\n }\n}\nconst Ae = function(e) {\n if (!e.id || typeof e.id != \"string\")\n throw new Error(\"A column id is required\");\n if (!e.title || typeof e.title != \"string\")\n throw new Error(\"A column title is required\");\n if (!e.render || typeof e.render != \"function\")\n throw new Error(\"A render function is required\");\n if (e.sort && typeof e.sort != \"function\")\n throw new Error(\"Column sortFunction must be a function\");\n if (e.summary && typeof e.summary != \"function\")\n throw new Error(\"Column summary must be a function\");\n return !0;\n};\nvar R = {}, O = {};\n(function(e) {\n const t = \":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\", r = t + \"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\", s = \"[\" + t + \"][\" + r + \"]*\", n = new RegExp(\"^\" + s + \"$\"), i = function(u, o) {\n const a = [];\n let l = o.exec(u);\n for (; l; ) {\n const f = [];\n f.startIndex = o.lastIndex - l[0].length;\n const c = l.length;\n for (let g = 0; g < c; g++)\n f.push(l[g]);\n a.push(f), l = o.exec(u);\n }\n return a;\n }, d = function(u) {\n const o = n.exec(u);\n return !(o === null || typeof o > \"u\");\n };\n e.isExist = function(u) {\n return typeof u < \"u\";\n }, e.isEmptyObject = function(u) {\n return Object.keys(u).length === 0;\n }, e.merge = function(u, o, a) {\n if (o) {\n const l = Object.keys(o), f = l.length;\n for (let c = 0; c < f; c++)\n a === \"strict\" ? u[l[c]] = [o[l[c]]] : u[l[c]] = o[l[c]];\n }\n }, e.getValue = function(u) {\n return e.isExist(u) ? u : \"\";\n }, e.isName = d, e.getAllMatches = i, e.nameRegexp = s;\n})(O);\nconst M = O, Oe = {\n allowBooleanAttributes: !1,\n //A tag can have attributes without any value\n unpairedTags: []\n};\nR.validate = function(e, t) {\n t = Object.assign({}, Oe, t);\n const r = [];\n let s = !1, n = !1;\n e[0] === \"\\uFEFF\" && (e = e.substr(1));\n for (let i = 0; i < e.length; i++)\n if (e[i] === \"<\" && e[i + 1] === \"?\") {\n if (i += 2, i = G(e, i), i.err)\n return i;\n } else if (e[i] === \"<\") {\n let d = i;\n if (i++, e[i] === \"!\") {\n i = z(e, i);\n continue;\n } else {\n let u = !1;\n e[i] === \"/\" && (u = !0, i++);\n let o = \"\";\n for (; i < e.length && e[i] !== \">\" && e[i] !== \" \" && e[i] !== \"\t\" && e[i] !== `\n` && e[i] !== \"\\r\"; i++)\n o += e[i];\n if (o = o.trim(), o[o.length - 1] === \"/\" && (o = o.substring(0, o.length - 1), i--), !Se(o)) {\n let f;\n return o.trim().length === 0 ? f = \"Invalid space after '<'.\" : f = \"Tag '\" + o + \"' is an invalid name.\", p(\"InvalidTag\", f, w(e, i));\n }\n const a = xe(e, i);\n if (a === !1)\n return p(\"InvalidAttr\", \"Attributes for '\" + o + \"' have open quote.\", w(e, i));\n let l = a.value;\n if (i = a.index, l[l.length - 1] === \"/\") {\n const f = i - l.length;\n l = l.substring(0, l.length - 1);\n const c = H(l, t);\n if (c === !0)\n s = !0;\n else\n return p(c.err.code, c.err.msg, w(e, f + c.err.line));\n } else if (u)\n if (a.tagClosed) {\n if (l.trim().length > 0)\n return p(\"InvalidTag\", \"Closing tag '\" + o + \"' can't have attributes or invalid starting.\", w(e, d));\n {\n const f = r.pop();\n if (o !== f.tagName) {\n let c = w(e, f.tagStartPos);\n return p(\n \"InvalidTag\",\n \"Expected closing tag '\" + f.tagName + \"' (opened in line \" + c.line + \", col \" + c.col + \") instead of closing tag '\" + o + \"'.\",\n w(e, d)\n );\n }\n r.length == 0 && (n = !0);\n }\n } else\n return p(\"InvalidTag\", \"Closing tag '\" + o + \"' doesn't have proper closing.\", w(e, i));\n else {\n const f = H(l, t);\n if (f !== !0)\n return p(f.err.code, f.err.msg, w(e, i - l.length + f.err.line));\n if (n === !0)\n return p(\"InvalidXml\", \"Multiple possible root nodes found.\", w(e, i));\n t.unpairedTags.indexOf(o) !== -1 || r.push({ tagName: o, tagStartPos: d }), s = !0;\n }\n for (i++; i < e.length; i++)\n if (e[i] === \"<\")\n if (e[i + 1] === \"!\") {\n i++, i = z(e, i);\n continue;\n } else if (e[i + 1] === \"?\") {\n if (i = G(e, ++i), i.err)\n return i;\n } else\n break;\n else if (e[i] === \"&\") {\n const f = Ve(e, i);\n if (f == -1)\n return p(\"InvalidChar\", \"char '&' is not expected.\", w(e, i));\n i = f;\n } else if (n === !0 && !U(e[i]))\n return p(\"InvalidXml\", \"Extra text at the end\", w(e, i));\n e[i] === \"<\" && i--;\n }\n } else {\n if (U(e[i]))\n continue;\n return p(\"InvalidChar\", \"char '\" + e[i] + \"' is not expected.\", w(e, i));\n }\n if (s) {\n if (r.length == 1)\n return p(\"InvalidTag\", \"Unclosed tag '\" + r[0].tagName + \"'.\", w(e, r[0].tagStartPos));\n if (r.length > 0)\n return p(\"InvalidXml\", \"Invalid '\" + JSON.stringify(r.map((i) => i.tagName), null, 4).replace(/\\r?\\n/g, \"\") + \"' found.\", { line: 1, col: 1 });\n } else\n return p(\"InvalidXml\", \"Start tag expected.\", 1);\n return !0;\n};\nfunction U(e) {\n return e === \" \" || e === \"\t\" || e === `\n` || e === \"\\r\";\n}\nfunction G(e, t) {\n const r = t;\n for (; t < e.length; t++)\n if (e[t] == \"?\" || e[t] == \" \") {\n const s = e.substr(r, t - r);\n if (t > 5 && s === \"xml\")\n return p(\"InvalidXml\", \"XML declaration allowed only at the start of the document.\", w(e, t));\n if (e[t] == \"?\" && e[t + 1] == \">\") {\n t++;\n break;\n } else\n continue;\n }\n return t;\n}\nfunction z(e, t) {\n if (e.length > t + 5 && e[t + 1] === \"-\" && e[t + 2] === \"-\") {\n for (t += 3; t < e.length; t++)\n if (e[t] === \"-\" && e[t + 1] === \"-\" && e[t + 2] === \">\") {\n t += 2;\n break;\n }\n } else if (e.length > t + 8 && e[t + 1] === \"D\" && e[t + 2] === \"O\" && e[t + 3] === \"C\" && e[t + 4] === \"T\" && e[t + 5] === \"Y\" && e[t + 6] === \"P\" && e[t + 7] === \"E\") {\n let r = 1;\n for (t += 8; t < e.length; t++)\n if (e[t] === \"<\")\n r++;\n else if (e[t] === \">\" && (r--, r === 0))\n break;\n } else if (e.length > t + 9 && e[t + 1] === \"[\" && e[t + 2] === \"C\" && e[t + 3] === \"D\" && e[t + 4] === \"A\" && e[t + 5] === \"T\" && e[t + 6] === \"A\" && e[t + 7] === \"[\") {\n for (t += 8; t < e.length; t++)\n if (e[t] === \"]\" && e[t + 1] === \"]\" && e[t + 2] === \">\") {\n t += 2;\n break;\n }\n }\n return t;\n}\nconst Ce = '\"', Pe = \"'\";\nfunction xe(e, t) {\n let r = \"\", s = \"\", n = !1;\n for (; t < e.length; t++) {\n if (e[t] === Ce || e[t] === Pe)\n s === \"\" ? s = e[t] : s !== e[t] || (s = \"\");\n else if (e[t] === \">\" && s === \"\") {\n n = !0;\n break;\n }\n r += e[t];\n }\n return s !== \"\" ? !1 : {\n value: r,\n index: t,\n tagClosed: n\n };\n}\nconst $e = new RegExp(`(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\"])(([\\\\s\\\\S])*?)\\\\5)?`, \"g\");\nfunction H(e, t) {\n const r = M.getAllMatches(e, $e), s = {};\n for (let n = 0; n < r.length; n++) {\n if (r[n][1].length === 0)\n return p(\"InvalidAttr\", \"Attribute '\" + r[n][2] + \"' has no space in starting.\", v(r[n]));\n if (r[n][3] !== void 0 && r[n][4] === void 0)\n return p(\"InvalidAttr\", \"Attribute '\" + r[n][2] + \"' is without value.\", v(r[n]));\n if (r[n][3] === void 0 && !t.allowBooleanAttributes)\n return p(\"InvalidAttr\", \"boolean attribute '\" + r[n][2] + \"' is not allowed.\", v(r[n]));\n const i = r[n][2];\n if (!Le(i))\n return p(\"InvalidAttr\", \"Attribute '\" + i + \"' is an invalid name.\", v(r[n]));\n if (!s.hasOwnProperty(i))\n s[i] = 1;\n else\n return p(\"InvalidAttr\", \"Attribute '\" + i + \"' is repeated.\", v(r[n]));\n }\n return !0;\n}\nfunction Fe(e, t) {\n let r = /\\d/;\n for (e[t] === \"x\" && (t++, r = /[\\da-fA-F]/); t < e.length; t++) {\n if (e[t] === \";\")\n return t;\n if (!e[t].match(r))\n break;\n }\n return -1;\n}\nfunction Ve(e, t) {\n if (t++, e[t] === \";\")\n return -1;\n if (e[t] === \"#\")\n return t++, Fe(e, t);\n let r = 0;\n for (; t < e.length; t++, r++)\n if (!(e[t].match(/\\w/) && r < 20)) {\n if (e[t] === \";\")\n break;\n return -1;\n }\n return t;\n}\nfunction p(e, t, r) {\n return {\n err: {\n code: e,\n msg: t,\n line: r.line || r,\n col: r.col\n }\n };\n}\nfunction Le(e) {\n return M.isName(e);\n}\nfunction Se(e) {\n return M.isName(e);\n}\nfunction w(e, t) {\n const r = e.substring(0, t).split(/\\r?\\n/);\n return {\n line: r.length,\n // column number is last line's length + 1, because column numbering starts at 1:\n col: r[r.length - 1].length + 1\n };\n}\nfunction v(e) {\n return e.startIndex + e[1].length;\n}\nvar B = {};\nconst re = {\n preserveOrder: !1,\n attributeNamePrefix: \"@_\",\n attributesGroupName: !1,\n textNodeName: \"#text\",\n ignoreAttributes: !0,\n removeNSPrefix: !1,\n // remove NS from tag name or attribute name if true\n allowBooleanAttributes: !1,\n //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: !0,\n parseAttributeValue: !1,\n trimValues: !0,\n //Trim string values of tag and attributes\n cdataPropName: !1,\n numberParseOptions: {\n hex: !0,\n leadingZeros: !0,\n eNotation: !0\n },\n tagValueProcessor: function(e, t) {\n return t;\n },\n attributeValueProcessor: function(e, t) {\n return t;\n },\n stopNodes: [],\n //nested tags will not be parsed even for errors\n alwaysCreateTextNode: !1,\n isArray: () => !1,\n commentPropName: !1,\n unpairedTags: [],\n processEntities: !0,\n htmlEntities: !1,\n ignoreDeclaration: !1,\n ignorePiTags: !1,\n transformTagName: !1,\n transformAttributeName: !1,\n updateTag: function(e, t, r) {\n return e;\n }\n // skipEmptyListItem: false\n}, Re = function(e) {\n return Object.assign({}, re, e);\n};\nB.buildOptions = Re;\nB.defaultOptions = re;\nclass Me {\n constructor(t) {\n this.tagname = t, this.child = [], this[\":@\"] = {};\n }\n add(t, r) {\n t === \"__proto__\" && (t = \"#__proto__\"), this.child.push({ [t]: r });\n }\n addChild(t) {\n t.tagname === \"__proto__\" && (t.tagname = \"#__proto__\"), t[\":@\"] && Object.keys(t[\":@\"]).length > 0 ? this.child.push({ [t.tagname]: t.child, \":@\": t[\":@\"] }) : this.child.push({ [t.tagname]: t.child });\n }\n}\nvar Be = Me;\nconst ke = O;\nfunction qe(e, t) {\n const r = {};\n if (e[t + 3] === \"O\" && e[t + 4] === \"C\" && e[t + 5] === \"T\" && e[t + 6] === \"Y\" && e[t + 7] === \"P\" && e[t + 8] === \"E\") {\n t = t + 9;\n let s = 1, n = !1, i = !1, d = \"\";\n for (; t < e.length; t++)\n if (e[t] === \"<\" && !i) {\n if (n && Ge(e, t))\n t += 7, [entityName, val, t] = Xe(e, t + 1), val.indexOf(\"&\") === -1 && (r[We(entityName)] = {\n regx: RegExp(`&${entityName};`, \"g\"),\n val\n });\n else if (n && ze(e, t))\n t += 8;\n else if (n && He(e, t))\n t += 8;\n else if (n && Ke(e, t))\n t += 9;\n else if (Ue)\n i = !0;\n else\n throw new Error(\"Invalid DOCTYPE\");\n s++, d = \"\";\n } else if (e[t] === \">\") {\n if (i ? e[t - 1] === \"-\" && e[t - 2] === \"-\" && (i = !1, s--) : s--, s === 0)\n break;\n } else\n e[t] === \"[\" ? n = !0 : d += e[t];\n if (s !== 0)\n throw new Error(\"Unclosed DOCTYPE\");\n } else\n throw new Error(\"Invalid Tag instead of DOCTYPE\");\n return { entities: r, i: t };\n}\nfunction Xe(e, t) {\n let r = \"\";\n for (; t < e.length && e[t] !== \"'\" && e[t] !== '\"'; t++)\n r += e[t];\n if (r = r.trim(), r.indexOf(\" \") !== -1)\n throw new Error(\"External entites are not supported\");\n const s = e[t++];\n let n = \"\";\n for (; t < e.length && e[t] !== s; t++)\n n += e[t];\n return [r, n, t];\n}\nfunction Ue(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"-\" && e[t + 3] === \"-\";\n}\nfunction Ge(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"E\" && e[t + 3] === \"N\" && e[t + 4] === \"T\" && e[t + 5] === \"I\" && e[t + 6] === \"T\" && e[t + 7] === \"Y\";\n}\nfunction ze(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"E\" && e[t + 3] === \"L\" && e[t + 4] === \"E\" && e[t + 5] === \"M\" && e[t + 6] === \"E\" && e[t + 7] === \"N\" && e[t + 8] === \"T\";\n}\nfunction He(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"A\" && e[t + 3] === \"T\" && e[t + 4] === \"T\" && e[t + 5] === \"L\" && e[t + 6] === \"I\" && e[t + 7] === \"S\" && e[t + 8] === \"T\";\n}\nfunction Ke(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"N\" && e[t + 3] === \"O\" && e[t + 4] === \"T\" && e[t + 5] === \"A\" && e[t + 6] === \"T\" && e[t + 7] === \"I\" && e[t + 8] === \"O\" && e[t + 9] === \"N\";\n}\nfunction We(e) {\n if (ke.isName(e))\n return e;\n throw new Error(`Invalid entity name ${e}`);\n}\nvar Ze = qe;\nconst je = /^[-+]?0x[a-fA-F0-9]+$/, Ye = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\n!Number.parseInt && window.parseInt && (Number.parseInt = window.parseInt);\n!Number.parseFloat && window.parseFloat && (Number.parseFloat = window.parseFloat);\nconst Je = {\n hex: !0,\n leadingZeros: !0,\n decimalPoint: \".\",\n eNotation: !0\n //skipLike: /regex/\n};\nfunction Qe(e, t = {}) {\n if (t = Object.assign({}, Je, t), !e || typeof e != \"string\")\n return e;\n let r = e.trim();\n if (t.skipLike !== void 0 && t.skipLike.test(r))\n return e;\n if (t.hex && je.test(r))\n return Number.parseInt(r, 16);\n {\n const s = Ye.exec(r);\n if (s) {\n const n = s[1], i = s[2];\n let d = De(s[3]);\n const u = s[4] || s[6];\n if (!t.leadingZeros && i.length > 0 && n && r[2] !== \".\")\n return e;\n if (!t.leadingZeros && i.length > 0 && !n && r[1] !== \".\")\n return e;\n {\n const o = Number(r), a = \"\" + o;\n return a.search(/[eE]/) !== -1 || u ? t.eNotation ? o : e : r.indexOf(\".\") !== -1 ? a === \"0\" && d === \"\" || a === d || n && a === \"-\" + d ? o : e : i ? d === a || n + d === a ? o : e : r === a || r === n + a ? o : e;\n }\n } else\n return e;\n }\n}\nfunction De(e) {\n return e && e.indexOf(\".\") !== -1 && (e = e.replace(/0+$/, \"\"), e === \".\" ? e = \"0\" : e[0] === \".\" ? e = \"0\" + e : e[e.length - 1] === \".\" && (e = e.substr(0, e.length - 1))), e;\n}\nvar et = Qe;\nconst k = O, T = Be, tt = Ze, rt = et;\n\"<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)\".replace(/NAME/g, k.nameRegexp);\nlet nt = class {\n constructor(t) {\n this.options = t, this.currentNode = null, this.tagsNodeStack = [], this.docTypeEntities = {}, this.lastEntities = {\n apos: { regex: /&(apos|#39|#x27);/g, val: \"'\" },\n gt: { regex: /&(gt|#62|#x3E);/g, val: \">\" },\n lt: { regex: /&(lt|#60|#x3C);/g, val: \"<\" },\n quot: { regex: /&(quot|#34|#x22);/g, val: '\"' }\n }, this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: \"&\" }, this.htmlEntities = {\n space: { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n cent: { regex: /&(cent|#162);/g, val: \"¢\" },\n pound: { regex: /&(pound|#163);/g, val: \"£\" },\n yen: { regex: /&(yen|#165);/g, val: \"¥\" },\n euro: { regex: /&(euro|#8364);/g, val: \"€\" },\n copyright: { regex: /&(copy|#169);/g, val: \"©\" },\n reg: { regex: /&(reg|#174);/g, val: \"®\" },\n inr: { regex: /&(inr|#8377);/g, val: \"₹\" }\n }, this.addExternalEntities = it, this.parseXml = at, this.parseTextData = st, this.resolveNameSpace = ot, this.buildAttributesMap = dt, this.isItStopNode = ht, this.replaceEntitiesValue = ft, this.readStopNodeData = gt, this.saveTextToParentTag = ct, this.addChild = lt;\n }\n};\nfunction it(e) {\n const t = Object.keys(e);\n for (let r = 0; r < t.length; r++) {\n const s = t[r];\n this.lastEntities[s] = {\n regex: new RegExp(\"&\" + s + \";\", \"g\"),\n val: e[s]\n };\n }\n}\nfunction st(e, t, r, s, n, i, d) {\n if (e !== void 0 && (this.options.trimValues && !s && (e = e.trim()), e.length > 0)) {\n d || (e = this.replaceEntitiesValue(e));\n const u = this.options.tagValueProcessor(t, e, r, n, i);\n return u == null ? e : typeof u != typeof e || u !== e ? u : this.options.trimValues ? $(e, this.options.parseTagValue, this.options.numberParseOptions) : e.trim() === e ? $(e, this.options.parseTagValue, this.options.numberParseOptions) : e;\n }\n}\nfunction ot(e) {\n if (this.options.removeNSPrefix) {\n const t = e.split(\":\"), r = e.charAt(0) === \"/\" ? \"/\" : \"\";\n if (t[0] === \"xmlns\")\n return \"\";\n t.length === 2 && (e = r + t[1]);\n }\n return e;\n}\nconst ut = new RegExp(`([^\\\\s=]+)\\\\s*(=\\\\s*(['\"])([\\\\s\\\\S]*?)\\\\3)?`, \"gm\");\nfunction dt(e, t, r) {\n if (!this.options.ignoreAttributes && typeof e == \"string\") {\n const s = k.getAllMatches(e, ut), n = s.length, i = {};\n for (let d = 0; d < n; d++) {\n const u = this.resolveNameSpace(s[d][1]);\n let o = s[d][4], a = this.options.attributeNamePrefix + u;\n if (u.length)\n if (this.options.transformAttributeName && (a = this.options.transformAttributeName(a)), a === \"__proto__\" && (a = \"#__proto__\"), o !== void 0) {\n this.options.trimValues && (o = o.trim()), o = this.replaceEntitiesValue(o);\n const l = this.options.attributeValueProcessor(u, o, t);\n l == null ? i[a] = o : typeof l != typeof o || l !== o ? i[a] = l : i[a] = $(\n o,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n } else\n this.options.allowBooleanAttributes && (i[a] = !0);\n }\n if (!Object.keys(i).length)\n return;\n if (this.options.attributesGroupName) {\n const d = {};\n return d[this.options.attributesGroupName] = i, d;\n }\n return i;\n }\n}\nconst at = function(e) {\n e = e.replace(/\\r\\n?/g, `\n`);\n const t = new T(\"!xml\");\n let r = t, s = \"\", n = \"\";\n for (let i = 0; i < e.length; i++)\n if (e[i] === \"<\")\n if (e[i + 1] === \"/\") {\n const u = y(e, \">\", i, \"Closing Tag is not closed.\");\n let o = e.substring(i + 2, u).trim();\n if (this.options.removeNSPrefix) {\n const f = o.indexOf(\":\");\n f !== -1 && (o = o.substr(f + 1));\n }\n this.options.transformTagName && (o = this.options.transformTagName(o)), r && (s = this.saveTextToParentTag(s, r, n));\n const a = n.substring(n.lastIndexOf(\".\") + 1);\n if (o && this.options.unpairedTags.indexOf(o) !== -1)\n throw new Error(`Unpaired tag can not be used as closing tag: </${o}>`);\n let l = 0;\n a && this.options.unpairedTags.indexOf(a) !== -1 ? (l = n.lastIndexOf(\".\", n.lastIndexOf(\".\") - 1), this.tagsNodeStack.pop()) : l = n.lastIndexOf(\".\"), n = n.substring(0, l), r = this.tagsNodeStack.pop(), s = \"\", i = u;\n } else if (e[i + 1] === \"?\") {\n let u = x(e, i, !1, \"?>\");\n if (!u)\n throw new Error(\"Pi Tag is not closed.\");\n if (s = this.saveTextToParentTag(s, r, n), !(this.options.ignoreDeclaration && u.tagName === \"?xml\" || this.options.ignorePiTags)) {\n const o = new T(u.tagName);\n o.add(this.options.textNodeName, \"\"), u.tagName !== u.tagExp && u.attrExpPresent && (o[\":@\"] = this.buildAttributesMap(u.tagExp, n, u.tagName)), this.addChild(r, o, n);\n }\n i = u.closeIndex + 1;\n } else if (e.substr(i + 1, 3) === \"!--\") {\n const u = y(e, \"-->\", i + 4, \"Comment is not closed.\");\n if (this.options.commentPropName) {\n const o = e.substring(i + 4, u - 2);\n s = this.saveTextToParentTag(s, r, n), r.add(this.options.commentPropName, [{ [this.options.textNodeName]: o }]);\n }\n i = u;\n } else if (e.substr(i + 1, 2) === \"!D\") {\n const u = tt(e, i);\n this.docTypeEntities = u.entities, i = u.i;\n } else if (e.substr(i + 1, 2) === \"![\") {\n const u = y(e, \"]]>\", i, \"CDATA is not closed.\") - 2, o = e.substring(i + 9, u);\n if (s = this.saveTextToParentTag(s, r, n), this.options.cdataPropName)\n r.add(this.options.cdataPropName, [{ [this.options.textNodeName]: o }]);\n else {\n let a = this.parseTextData(o, r.tagname, n, !0, !1, !0);\n a == null && (a = \"\"), r.add(this.options.textNodeName, a);\n }\n i = u + 2;\n } else {\n let u = x(e, i, this.options.removeNSPrefix), o = u.tagName;\n const a = u.rawTagName;\n let l = u.tagExp, f = u.attrExpPresent, c = u.closeIndex;\n this.options.transformTagName && (o = this.options.transformTagName(o)), r && s && r.tagname !== \"!xml\" && (s = this.saveTextToParentTag(s, r, n, !1));\n const g = r;\n if (g && this.options.unpairedTags.indexOf(g.tagname) !== -1 && (r = this.tagsNodeStack.pop(), n = n.substring(0, n.lastIndexOf(\".\"))), o !== t.tagname && (n += n ? \".\" + o : o), this.isItStopNode(this.options.stopNodes, n, o)) {\n let h = \"\";\n if (l.length > 0 && l.lastIndexOf(\"/\") === l.length - 1)\n i = u.closeIndex;\n else if (this.options.unpairedTags.indexOf(o) !== -1)\n i = u.closeIndex;\n else {\n const E = this.readStopNodeData(e, a, c + 1);\n if (!E)\n throw new Error(`Unexpected end of ${a}`);\n i = E.i, h = E.tagContent;\n }\n const _ = new T(o);\n o !== l && f && (_[\":@\"] = this.buildAttributesMap(l, n, o)), h && (h = this.parseTextData(h, o, n, !0, f, !0, !0)), n = n.substr(0, n.lastIndexOf(\".\")), _.add(this.options.textNodeName, h), this.addChild(r, _, n);\n } else {\n if (l.length > 0 && l.lastIndexOf(\"/\") === l.length - 1) {\n o[o.length - 1] === \"/\" ? (o = o.substr(0, o.length - 1), n = n.substr(0, n.length - 1), l = o) : l = l.substr(0, l.length - 1), this.options.transformTagName && (o = this.options.transformTagName(o));\n const h = new T(o);\n o !== l && f && (h[\":@\"] = this.buildAttributesMap(l, n, o)), this.addChild(r, h, n), n = n.substr(0, n.lastIndexOf(\".\"));\n } else {\n const h = new T(o);\n this.tagsNodeStack.push(r), o !== l && f && (h[\":@\"] = this.buildAttributesMap(l, n, o)), this.addChild(r, h, n), r = h;\n }\n s = \"\", i = c;\n }\n }\n else\n s += e[i];\n return t.child;\n};\nfunction lt(e, t, r) {\n const s = this.options.updateTag(t.tagname, r, t[\":@\"]);\n s === !1 || (typeof s == \"string\" && (t.tagname = s), e.addChild(t));\n}\nconst ft = function(e) {\n if (this.options.processEntities) {\n for (let t in this.docTypeEntities) {\n const r = this.docTypeEntities[t];\n e = e.replace(r.regx, r.val);\n }\n for (let t in this.lastEntities) {\n const r = this.lastEntities[t];\n e = e.replace(r.regex, r.val);\n }\n if (this.options.htmlEntities)\n for (let t in this.htmlEntities) {\n const r = this.htmlEntities[t];\n e = e.replace(r.regex, r.val);\n }\n e = e.replace(this.ampEntity.regex, this.ampEntity.val);\n }\n return e;\n};\nfunction ct(e, t, r, s) {\n return e && (s === void 0 && (s = Object.keys(t.child).length === 0), e = this.parseTextData(\n e,\n t.tagname,\n r,\n !1,\n t[\":@\"] ? Object.keys(t[\":@\"]).length !== 0 : !1,\n s\n ), e !== void 0 && e !== \"\" && t.add(this.options.textNodeName, e), e = \"\"), e;\n}\nfunction ht(e, t, r) {\n const s = \"*.\" + r;\n for (const n in e) {\n const i = e[n];\n if (s === i || t === i)\n return !0;\n }\n return !1;\n}\nfunction pt(e, t, r = \">\") {\n let s, n = \"\";\n for (let i = t; i < e.length; i++) {\n let d = e[i];\n if (s)\n d === s && (s = \"\");\n else if (d === '\"' || d === \"'\")\n s = d;\n else if (d === r[0])\n if (r[1]) {\n if (e[i + 1] === r[1])\n return {\n data: n,\n index: i\n };\n } else\n return {\n data: n,\n index: i\n };\n else\n d === \"\t\" && (d = \" \");\n n += d;\n }\n}\nfunction y(e, t, r, s) {\n const n = e.indexOf(t, r);\n if (n === -1)\n throw new Error(s);\n return n + t.length - 1;\n}\nfunction x(e, t, r, s = \">\") {\n const n = pt(e, t + 1, s);\n if (!n)\n return;\n let i = n.data;\n const d = n.index, u = i.search(/\\s/);\n let o = i, a = !0;\n u !== -1 && (o = i.substr(0, u).replace(/\\s\\s*$/, \"\"), i = i.substr(u + 1));\n const l = o;\n if (r) {\n const f = o.indexOf(\":\");\n f !== -1 && (o = o.substr(f + 1), a = o !== n.data.substr(f + 1));\n }\n return {\n tagName: o,\n tagExp: i,\n closeIndex: d,\n attrExpPresent: a,\n rawTagName: l\n };\n}\nfunction gt(e, t, r) {\n const s = r;\n let n = 1;\n for (; r < e.length; r++)\n if (e[r] === \"<\")\n if (e[r + 1] === \"/\") {\n const i = y(e, \">\", r, `${t} is not closed`);\n if (e.substring(r + 2, i).trim() === t && (n--, n === 0))\n return {\n tagContent: e.substring(s, r),\n i\n };\n r = i;\n } else if (e[r + 1] === \"?\")\n r = y(e, \"?>\", r + 1, \"StopNode is not closed.\");\n else if (e.substr(r + 1, 3) === \"!--\")\n r = y(e, \"-->\", r + 3, \"StopNode is not closed.\");\n else if (e.substr(r + 1, 2) === \"![\")\n r = y(e, \"]]>\", r, \"StopNode is not closed.\") - 2;\n else {\n const i = x(e, r, \">\");\n i && ((i && i.tagName) === t && i.tagExp[i.tagExp.length - 1] !== \"/\" && n++, r = i.closeIndex);\n }\n}\nfunction $(e, t, r) {\n if (t && typeof e == \"string\") {\n const s = e.trim();\n return s === \"true\" ? !0 : s === \"false\" ? !1 : rt(e, r);\n } else\n return k.isExist(e) ? e : \"\";\n}\nvar wt = nt, ne = {};\nfunction mt(e, t) {\n return ie(e, t);\n}\nfunction ie(e, t, r) {\n let s;\n const n = {};\n for (let i = 0; i < e.length; i++) {\n const d = e[i], u = Nt(d);\n let o = \"\";\n if (r === void 0 ? o = u : o = r + \".\" + u, u === t.textNodeName)\n s === void 0 ? s = d[u] : s += \"\" + d[u];\n else {\n if (u === void 0)\n continue;\n if (d[u]) {\n let a = ie(d[u], t, o);\n const l = bt(a, t);\n d[\":@\"] ? Et(a, d[\":@\"], o, t) : Object.keys(a).length === 1 && a[t.textNodeName] !== void 0 && !t.alwaysCreateTextNode ? a = a[t.textNodeName] : Object.keys(a).length === 0 && (t.alwaysCreateTextNode ? a[t.textNodeName] = \"\" : a = \"\"), n[u] !== void 0 && n.hasOwnProperty(u) ? (Array.isArray(n[u]) || (n[u] = [n[u]]), n[u].push(a)) : t.isArray(u, o, l) ? n[u] = [a] : n[u] = a;\n }\n }\n }\n return typeof s == \"string\" ? s.length > 0 && (n[t.textNodeName] = s) : s !== void 0 && (n[t.textNodeName] = s), n;\n}\nfunction Nt(e) {\n const t = Object.keys(e);\n for (let r = 0; r < t.length; r++) {\n const s = t[r];\n if (s !== \":@\")\n return s;\n }\n}\nfunction Et(e, t, r, s) {\n if (t) {\n const n = Object.keys(t), i = n.length;\n for (let d = 0; d < i; d++) {\n const u = n[d];\n s.isArray(u, r + \".\" + u, !0, !0) ? e[u] = [t[u]] : e[u] = t[u];\n }\n }\n}\nfunction bt(e, t) {\n const { textNodeName: r } = t, s = Object.keys(e).length;\n return !!(s === 0 || s === 1 && (e[r] || typeof e[r] == \"boolean\" || e[r] === 0));\n}\nne.prettify = mt;\nconst { buildOptions: yt } = B, _t = wt, { prettify: vt } = ne, Tt = R;\nlet It = class {\n constructor(t) {\n this.externalEntities = {}, this.options = yt(t);\n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(t, r) {\n if (typeof t != \"string\")\n if (t.toString)\n t = t.toString();\n else\n throw new Error(\"XML data is accepted in String or Bytes[] form.\");\n if (r) {\n r === !0 && (r = {});\n const i = Tt.validate(t, r);\n if (i !== !0)\n throw Error(`${i.err.msg}:${i.err.line}:${i.err.col}`);\n }\n const s = new _t(this.options);\n s.addExternalEntities(this.externalEntities);\n const n = s.parseXml(t);\n return this.options.preserveOrder || n === void 0 ? n : vt(n, this.options);\n }\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(t, r) {\n if (r.indexOf(\"&\") !== -1)\n throw new Error(\"Entity value can't have '&'\");\n if (t.indexOf(\"&\") !== -1 || t.indexOf(\";\") !== -1)\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for '
'\");\n if (r === \"&\")\n throw new Error(\"An entity with value '&' is not permitted\");\n this.externalEntities[t] = r;\n }\n};\nvar At = It;\nconst Ot = `\n`;\nfunction Ct(e, t) {\n let r = \"\";\n return t.format && t.indentBy.length > 0 && (r = Ot), se(e, t, \"\", r);\n}\nfunction se(e, t, r, s) {\n let n = \"\", i = !1;\n for (let d = 0; d < e.length; d++) {\n const u = e[d], o = Pt(u);\n if (o === void 0)\n continue;\n let a = \"\";\n if (r.length === 0 ? a = o : a = `${r}.${o}`, o === t.textNodeName) {\n let h = u[o];\n xt(a, t) || (h = t.tagValueProcessor(o, h), h = oe(h, t)), i && (n += s), n += h, i = !1;\n continue;\n } else if (o === t.cdataPropName) {\n i && (n += s), n += `<![CDATA[${u[o][0][t.textNodeName]}]]>`, i = !1;\n continue;\n } else if (o === t.commentPropName) {\n n += s + `<!--${u[o][0][t.textNodeName]}-->`, i = !0;\n continue;\n } else if (o[0] === \"?\") {\n const h = K(u[\":@\"], t), _ = o === \"?xml\" ? \"\" : s;\n let E = u[o][0][t.textNodeName];\n E = E.length !== 0 ? \" \" + E : \"\", n += _ + `<${o}${E}${h}?>`, i = !0;\n continue;\n }\n let l = s;\n l !== \"\" && (l += t.indentBy);\n const f = K(u[\":@\"], t), c = s + `<${o}${f}`, g = se(u[o], t, a, l);\n t.unpairedTags.indexOf(o) !== -1 ? t.suppressUnpairedNode ? n += c + \">\" : n += c + \"/>\" : (!g || g.length === 0) && t.suppressEmptyNode ? n += c + \"/>\" : g && g.endsWith(\">\") ? n += c + `>${g}${s}</${o}>` : (n += c + \">\", g && s !== \"\" && (g.includes(\"/>\") || g.includes(\"</\")) ? n += s + t.indentBy + g + s : n += g, n += `</${o}>`), i = !0;\n }\n return n;\n}\nfunction Pt(e) {\n const t = Object.keys(e);\n for (let r = 0; r < t.length; r++) {\n const s = t[r];\n if (e.hasOwnProperty(s) && s !== \":@\")\n return s;\n }\n}\nfunction K(e, t) {\n let r = \"\";\n if (e && !t.ignoreAttributes)\n for (let s in e) {\n if (!e.hasOwnProperty(s))\n continue;\n let n = t.attributeValueProcessor(s, e[s]);\n n = oe(n, t), n === !0 && t.suppressBooleanAttributes ? r += ` ${s.substr(t.attributeNamePrefix.length)}` : r += ` ${s.substr(t.attributeNamePrefix.length)}=\"${n}\"`;\n }\n return r;\n}\nfunction xt(e, t) {\n e = e.substr(0, e.length - t.textNodeName.length - 1);\n let r = e.substr(e.lastIndexOf(\".\") + 1);\n for (let s in t.stopNodes)\n if (t.stopNodes[s] === e || t.stopNodes[s] === \"*.\" + r)\n return !0;\n return !1;\n}\nfunction oe(e, t) {\n if (e && e.length > 0 && t.processEntities)\n for (let r = 0; r < t.entities.length; r++) {\n const s = t.entities[r];\n e = e.replace(s.regex, s.val);\n }\n return e;\n}\nvar $t = Ct;\nconst Ft = $t, Vt = {\n attributeNamePrefix: \"@_\",\n attributesGroupName: !1,\n textNodeName: \"#text\",\n ignoreAttributes: !0,\n cdataPropName: !1,\n format: !1,\n indentBy: \" \",\n suppressEmptyNode: !1,\n suppressUnpairedNode: !0,\n suppressBooleanAttributes: !0,\n tagValueProcessor: function(e, t) {\n return t;\n },\n attributeValueProcessor: function(e, t) {\n return t;\n },\n preserveOrder: !1,\n commentPropName: !1,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&\" },\n //it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \">\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"<\" },\n { regex: new RegExp(\"'\", \"g\"), val: \"'\" },\n { regex: new RegExp('\"', \"g\"), val: \""\" }\n ],\n processEntities: !0,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n oneListGroup: !1\n};\nfunction b(e) {\n this.options = Object.assign({}, Vt, e), this.options.ignoreAttributes || this.options.attributesGroupName ? this.isAttribute = function() {\n return !1;\n } : (this.attrPrefixLen = this.options.attributeNamePrefix.length, this.isAttribute = Rt), this.processTextOrObjNode = Lt, this.options.format ? (this.indentate = St, this.tagEndChar = `>\n`, this.newLine = `\n`) : (this.indentate = function() {\n return \"\";\n }, this.tagEndChar = \">\", this.newLine = \"\");\n}\nb.prototype.build = function(e) {\n return this.options.preserveOrder ? Ft(e, this.options) : (Array.isArray(e) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1 && (e = {\n [this.options.arrayNodeName]: e\n }), this.j2x(e, 0).val);\n};\nb.prototype.j2x = function(e, t) {\n let r = \"\", s = \"\";\n for (let n in e)\n if (Object.prototype.hasOwnProperty.call(e, n))\n if (typeof e[n] > \"u\")\n this.isAttribute(n) && (s += \"\");\n else if (e[n] === null)\n this.isAttribute(n) ? s += \"\" : n[0] === \"?\" ? s += this.indentate(t) + \"<\" + n + \"?\" + this.tagEndChar : s += this.indentate(t) + \"<\" + n + \"/\" + this.tagEndChar;\n else if (e[n] instanceof Date)\n s += this.buildTextValNode(e[n], n, \"\", t);\n else if (typeof e[n] != \"object\") {\n const i = this.isAttribute(n);\n if (i)\n r += this.buildAttrPairStr(i, \"\" + e[n]);\n else if (n === this.options.textNodeName) {\n let d = this.options.tagValueProcessor(n, \"\" + e[n]);\n s += this.replaceEntitiesValue(d);\n } else\n s += this.buildTextValNode(e[n], n, \"\", t);\n } else if (Array.isArray(e[n])) {\n const i = e[n].length;\n let d = \"\";\n for (let u = 0; u < i; u++) {\n const o = e[n][u];\n typeof o > \"u\" || (o === null ? n[0] === \"?\" ? s += this.indentate(t) + \"<\" + n + \"?\" + this.tagEndChar : s += this.indentate(t) + \"<\" + n + \"/\" + this.tagEndChar : typeof o == \"object\" ? this.options.oneListGroup ? d += this.j2x(o, t + 1).val : d += this.processTextOrObjNode(o, n, t) : d += this.buildTextValNode(o, n, \"\", t));\n }\n this.options.oneListGroup && (d = this.buildObjectNode(d, n, \"\", t)), s += d;\n } else if (this.options.attributesGroupName && n === this.options.attributesGroupName) {\n const i = Object.keys(e[n]), d = i.length;\n for (let u = 0; u < d; u++)\n r += this.buildAttrPairStr(i[u], \"\" + e[n][i[u]]);\n } else\n s += this.processTextOrObjNode(e[n], n, t);\n return { attrStr: r, val: s };\n};\nb.prototype.buildAttrPairStr = function(e, t) {\n return t = this.options.attributeValueProcessor(e, \"\" + t), t = this.replaceEntitiesValue(t), this.options.suppressBooleanAttributes && t === \"true\" ? \" \" + e : \" \" + e + '=\"' + t + '\"';\n};\nfunction Lt(e, t, r) {\n const s = this.j2x(e, r + 1);\n return e[this.options.textNodeName] !== void 0 && Object.keys(e).length === 1 ? this.buildTextValNode(e[this.options.textNodeName], t, s.attrStr, r) : this.buildObjectNode(s.val, t, s.attrStr, r);\n}\nb.prototype.buildObjectNode = function(e, t, r, s) {\n if (e === \"\")\n return t[0] === \"?\" ? this.indentate(s) + \"<\" + t + r + \"?\" + this.tagEndChar : this.indentate(s) + \"<\" + t + r + this.closeTag(t) + this.tagEndChar;\n {\n let n = \"</\" + t + this.tagEndChar, i = \"\";\n return t[0] === \"?\" && (i = \"?\", n = \"\"), (r || r === \"\") && e.indexOf(\"<\") === -1 ? this.indentate(s) + \"<\" + t + r + i + \">\" + e + n : this.options.commentPropName !== !1 && t === this.options.commentPropName && i.length === 0 ? this.indentate(s) + `<!--${e}-->` + this.newLine : this.indentate(s) + \"<\" + t + r + i + this.tagEndChar + e + this.indentate(s) + n;\n }\n};\nb.prototype.closeTag = function(e) {\n let t = \"\";\n return this.options.unpairedTags.indexOf(e) !== -1 ? this.options.suppressUnpairedNode || (t = \"/\") : this.options.suppressEmptyNode ? t = \"/\" : t = `></${e}`, t;\n};\nb.prototype.buildTextValNode = function(e, t, r, s) {\n if (this.options.cdataPropName !== !1 && t === this.options.cdataPropName)\n return this.indentate(s) + `<![CDATA[${e}]]>` + this.newLine;\n if (this.options.commentPropName !== !1 && t === this.options.commentPropName)\n return this.indentate(s) + `<!--${e}-->` + this.newLine;\n if (t[0] === \"?\")\n return this.indentate(s) + \"<\" + t + r + \"?\" + this.tagEndChar;\n {\n let n = this.options.tagValueProcessor(t, e);\n return n = this.replaceEntitiesValue(n), n === \"\" ? this.indentate(s) + \"<\" + t + r + this.closeTag(t) + this.tagEndChar : this.indentate(s) + \"<\" + t + r + \">\" + n + \"</\" + t + this.tagEndChar;\n }\n};\nb.prototype.replaceEntitiesValue = function(e) {\n if (e && e.length > 0 && this.options.processEntities)\n for (let t = 0; t < this.options.entities.length; t++) {\n const r = this.options.entities[t];\n e = e.replace(r.regex, r.val);\n }\n return e;\n};\nfunction St(e) {\n return this.options.indentBy.repeat(e);\n}\nfunction Rt(e) {\n return e.startsWith(this.options.attributeNamePrefix) && e !== this.options.textNodeName ? e.substr(this.attrPrefixLen) : !1;\n}\nvar Mt = b;\nconst Bt = R, kt = At, qt = Mt;\nvar W = {\n XMLParser: kt,\n XMLValidator: Bt,\n XMLBuilder: qt\n};\nfunction Xt(e) {\n if (typeof e != \"string\")\n throw new TypeError(`Expected a \\`string\\`, got \\`${typeof e}\\``);\n if (e = e.trim(), e.length === 0 || W.XMLValidator.validate(e) !== !0)\n return !1;\n let t;\n const r = new W.XMLParser();\n try {\n t = r.parse(e);\n } catch {\n return !1;\n }\n return !(!t || !(\"svg\" in t));\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass hr {\n _view;\n constructor(t) {\n Ut(t), this._view = t;\n }\n get id() {\n return this._view.id;\n }\n get name() {\n return this._view.name;\n }\n get caption() {\n return this._view.caption;\n }\n get emptyTitle() {\n return this._view.emptyTitle;\n }\n get emptyCaption() {\n return this._view.emptyCaption;\n }\n get getContents() {\n return this._view.getContents;\n }\n get icon() {\n return this._view.icon;\n }\n set icon(t) {\n this._view.icon = t;\n }\n get order() {\n return this._view.order;\n }\n set order(t) {\n this._view.order = t;\n }\n get params() {\n return this._view.params;\n }\n set params(t) {\n this._view.params = t;\n }\n get columns() {\n return this._view.columns;\n }\n get emptyView() {\n return this._view.emptyView;\n }\n get parent() {\n return this._view.parent;\n }\n get sticky() {\n return this._view.sticky;\n }\n get expanded() {\n return this._view.expanded;\n }\n set expanded(t) {\n this._view.expanded = t;\n }\n get defaultSortKey() {\n return this._view.defaultSortKey;\n }\n}\nconst Ut = function(e) {\n if (!e.id || typeof e.id != \"string\")\n throw new Error(\"View id is required and must be a string\");\n if (!e.name || typeof e.name != \"string\")\n throw new Error(\"View name is required and must be a string\");\n if (e.columns && e.columns.length > 0 && (!e.caption || typeof e.caption != \"string\"))\n throw new Error(\"View caption is required for top-level views and must be a string\");\n if (!e.getContents || typeof e.getContents != \"function\")\n throw new Error(\"View getContents is required and must be a function\");\n if (!e.icon || typeof e.icon != \"string\" || !Xt(e.icon))\n throw new Error(\"View icon is required and must be a valid svg string\");\n if (!(\"order\" in e) || typeof e.order != \"number\")\n throw new Error(\"View order is required and must be a number\");\n if (e.columns && e.columns.forEach((t) => {\n if (!(t instanceof Ie))\n throw new Error(\"View columns must be an array of Column. Invalid column found\");\n }), e.emptyView && typeof e.emptyView != \"function\")\n throw new Error(\"View emptyView must be a function\");\n if (e.parent && typeof e.parent != \"string\")\n throw new Error(\"View parent must be a string\");\n if (\"sticky\" in e && typeof e.sticky != \"boolean\")\n throw new Error(\"View sticky must be a boolean\");\n if (\"expanded\" in e && typeof e.expanded != \"boolean\")\n throw new Error(\"View expanded must be a boolean\");\n if (e.defaultSortKey && typeof e.defaultSortKey != \"string\")\n throw new Error(\"View defaultSortKey must be a string\");\n return !0;\n};\n/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst pr = function(e) {\n return F().registerEntry(e);\n}, gr = function(e) {\n return F().unregisterEntry(e);\n}, wr = function(e) {\n return F().getEntries(e).sort((r, s) => r.order !== void 0 && s.order !== void 0 ? r.order - s.order : r.displayName.localeCompare(s.displayName));\n};\nexport {\n Ie as Column,\n Z as DefaultType,\n ye as File,\n Dt as FileAction,\n S as FileType,\n _e as Folder,\n rr as Header,\n Te as Navigation,\n D as Node,\n Q as NodeStatus,\n N as Permission,\n hr as View,\n pr as addNewFileMenuEntry,\n dr as davGetClient,\n or as davGetDefaultPropfind,\n Ee as davGetFavoritesReport,\n ur as davGetRecentSearch,\n be as davParsePermissions,\n te as davRemoteURL,\n ve as davResultToNode,\n ee as davRootPath,\n Y as defaultDavNamespaces,\n j as defaultDavProperties,\n Jt as formatFileSize,\n L as getDavNameSpaces,\n V as getDavProperties,\n ar as getFavoriteNodes,\n tr as getFileActions,\n ir as getFileListHeaders,\n lr as getNavigation,\n wr as getNewFileMenuEntries,\n Qt as parseFileSize,\n sr as registerDavProperty,\n er as registerFileAction,\n nr as registerFileListHeaders,\n gr as removeNewFileMenuEntry\n};\n","// Current version.\nexport var VERSION = '1.13.6';\n\n// Establish the root object, `window` (`self`) in the browser, `global`\n// on the server, or `this` in some virtual machines. We use `self`\n// instead of `window` for `WebWorker` support.\nexport var root = (typeof self == 'object' && self.self === self && self) ||\n (typeof global == 'object' && global.global === global && global) ||\n Function('return this')() ||\n {};\n\n// Save bytes in the minified (but not gzipped) version:\nexport var ArrayProto = Array.prototype, ObjProto = Object.prototype;\nexport var SymbolProto = typeof Symbol !== 'undefined' ? Symbol.prototype : null;\n\n// Create quick reference variables for speed access to core prototypes.\nexport var push = ArrayProto.push,\n slice = ArrayProto.slice,\n toString = ObjProto.toString,\n hasOwnProperty = ObjProto.hasOwnProperty;\n\n// Modern feature detection.\nexport var supportsArrayBuffer = typeof ArrayBuffer !== 'undefined',\n supportsDataView = typeof DataView !== 'undefined';\n\n// All **ECMAScript 5+** native function implementations that we hope to use\n// are declared here.\nexport var nativeIsArray = Array.isArray,\n nativeKeys = Object.keys,\n nativeCreate = Object.create,\n nativeIsView = supportsArrayBuffer && ArrayBuffer.isView;\n\n// Create references to these builtin functions because we override them.\nexport var _isNaN = isNaN,\n _isFinite = isFinite;\n\n// Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed.\nexport var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');\nexport var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString',\n 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n\n// The largest integer that can be represented exactly.\nexport var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;\n","// Some functions take a variable number of arguments, or a few expected\n// arguments at the beginning and then a variable number of values to operate\n// on. This helper accumulates all remaining arguments past the function’s\n// argument length (or an explicit `startIndex`), into an array that becomes\n// the last argument. Similar to ES6’s \"rest parameter\".\nexport default function restArguments(func, startIndex) {\n startIndex = startIndex == null ? func.length - 1 : +startIndex;\n return function() {\n var length = Math.max(arguments.length - startIndex, 0),\n rest = Array(length),\n index = 0;\n for (; index < length; index++) {\n rest[index] = arguments[index + startIndex];\n }\n switch (startIndex) {\n case 0: return func.call(this, rest);\n case 1: return func.call(this, arguments[0], rest);\n case 2: return func.call(this, arguments[0], arguments[1], rest);\n }\n var args = Array(startIndex + 1);\n for (index = 0; index < startIndex; index++) {\n args[index] = arguments[index];\n }\n args[startIndex] = rest;\n return func.apply(this, args);\n };\n}\n","// Is a given variable an object?\nexport default function isObject(obj) {\n var type = typeof obj;\n return type === 'function' || (type === 'object' && !!obj);\n}\n","// Is a given value equal to null?\nexport default function isNull(obj) {\n return obj === null;\n}\n","// Is a given variable undefined?\nexport default function isUndefined(obj) {\n return obj === void 0;\n}\n","import { toString } from './_setup.js';\n\n// Is a given value a boolean?\nexport default function isBoolean(obj) {\n return obj === true || obj === false || toString.call(obj) === '[object Boolean]';\n}\n","// Is a given value a DOM element?\nexport default function isElement(obj) {\n return !!(obj && obj.nodeType === 1);\n}\n","import { toString } from './_setup.js';\n\n// Internal function for creating a `toString`-based type tester.\nexport default function tagTester(name) {\n var tag = '[object ' + name + ']';\n return function(obj) {\n return toString.call(obj) === tag;\n };\n}\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('String');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Number');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Date');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('RegExp');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Error');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Symbol');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('ArrayBuffer');\n","import tagTester from './_tagTester.js';\nimport { root } from './_setup.js';\n\nvar isFunction = tagTester('Function');\n\n// Optimize `isFunction` if appropriate. Work around some `typeof` bugs in old\n// v8, IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236).\nvar nodelist = root.document && root.document.childNodes;\nif (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') {\n isFunction = function(obj) {\n return typeof obj == 'function' || false;\n };\n}\n\nexport default isFunction;\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Object');\n","import { supportsDataView } from './_setup.js';\nimport hasObjectTag from './_hasObjectTag.js';\n\n// In IE 10 - Edge 13, `DataView` has string tag `'[object Object]'`.\n// In IE 11, the most common among them, this problem also applies to\n// `Map`, `WeakMap` and `Set`.\nexport var hasStringTagBug = (\n supportsDataView && hasObjectTag(new DataView(new ArrayBuffer(8)))\n ),\n isIE11 = (typeof Map !== 'undefined' && hasObjectTag(new Map));\n","import tagTester from './_tagTester.js';\nimport isFunction from './isFunction.js';\nimport isArrayBuffer from './isArrayBuffer.js';\nimport { hasStringTagBug } from './_stringTagBug.js';\n\nvar isDataView = tagTester('DataView');\n\n// In IE 10 - Edge 13, we need a different heuristic\n// to determine whether an object is a `DataView`.\nfunction ie10IsDataView(obj) {\n return obj != null && isFunction(obj.getInt8) && isArrayBuffer(obj.buffer);\n}\n\nexport default (hasStringTagBug ? ie10IsDataView : isDataView);\n","import { nativeIsArray } from './_setup.js';\nimport tagTester from './_tagTester.js';\n\n// Is a given value an array?\n// Delegates to ECMA5's native `Array.isArray`.\nexport default nativeIsArray || tagTester('Array');\n","import { hasOwnProperty } from './_setup.js';\n\n// Internal function to check whether `key` is an own property name of `obj`.\nexport default function has(obj, key) {\n return obj != null && hasOwnProperty.call(obj, key);\n}\n","import tagTester from './_tagTester.js';\nimport has from './_has.js';\n\nvar isArguments = tagTester('Arguments');\n\n// Define a fallback version of the method in browsers (ahem, IE < 9), where\n// there isn't any inspectable \"Arguments\" type.\n(function() {\n if (!isArguments(arguments)) {\n isArguments = function(obj) {\n return has(obj, 'callee');\n };\n }\n}());\n\nexport default isArguments;\n","import { _isFinite } from './_setup.js';\nimport isSymbol from './isSymbol.js';\n\n// Is a given object a finite number?\nexport default function isFinite(obj) {\n return !isSymbol(obj) && _isFinite(obj) && !isNaN(parseFloat(obj));\n}\n","import { _isNaN } from './_setup.js';\nimport isNumber from './isNumber.js';\n\n// Is the given value `NaN`?\nexport default function isNaN(obj) {\n return isNumber(obj) && _isNaN(obj);\n}\n","// Predicate-generating function. Often useful outside of Underscore.\nexport default function constant(value) {\n return function() {\n return value;\n };\n}\n","import { MAX_ARRAY_INDEX } from './_setup.js';\n\n// Common internal logic for `isArrayLike` and `isBufferLike`.\nexport default function createSizePropertyCheck(getSizeProperty) {\n return function(collection) {\n var sizeProperty = getSizeProperty(collection);\n return typeof sizeProperty == 'number' && sizeProperty >= 0 && sizeProperty <= MAX_ARRAY_INDEX;\n }\n}\n","// Internal helper to generate a function to obtain property `key` from `obj`.\nexport default function shallowProperty(key) {\n return function(obj) {\n return obj == null ? void 0 : obj[key];\n };\n}\n","import shallowProperty from './_shallowProperty.js';\n\n// Internal helper to obtain the `byteLength` property of an object.\nexport default shallowProperty('byteLength');\n","import createSizePropertyCheck from './_createSizePropertyCheck.js';\nimport getByteLength from './_getByteLength.js';\n\n// Internal helper to determine whether we should spend extensive checks against\n// `ArrayBuffer` et al.\nexport default createSizePropertyCheck(getByteLength);\n","import { supportsArrayBuffer, nativeIsView, toString } from './_setup.js';\nimport isDataView from './isDataView.js';\nimport constant from './constant.js';\nimport isBufferLike from './_isBufferLike.js';\n\n// Is a given value a typed array?\nvar typedArrayPattern = /\\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\\]/;\nfunction isTypedArray(obj) {\n // `ArrayBuffer.isView` is the most future-proof, so use it when available.\n // Otherwise, fall back on the above regular expression.\n return nativeIsView ? (nativeIsView(obj) && !isDataView(obj)) :\n isBufferLike(obj) && typedArrayPattern.test(toString.call(obj));\n}\n\nexport default supportsArrayBuffer ? isTypedArray : constant(false);\n","import shallowProperty from './_shallowProperty.js';\n\n// Internal helper to obtain the `length` property of an object.\nexport default shallowProperty('length');\n","import { nonEnumerableProps, ObjProto } from './_setup.js';\nimport isFunction from './isFunction.js';\nimport has from './_has.js';\n\n// Internal helper to create a simple lookup structure.\n// `collectNonEnumProps` used to depend on `_.contains`, but this led to\n// circular imports. `emulatedSet` is a one-off solution that only works for\n// arrays of strings.\nfunction emulatedSet(keys) {\n var hash = {};\n for (var l = keys.length, i = 0; i < l; ++i) hash[keys[i]] = true;\n return {\n contains: function(key) { return hash[key] === true; },\n push: function(key) {\n hash[key] = true;\n return keys.push(key);\n }\n };\n}\n\n// Internal helper. Checks `keys` for the presence of keys in IE < 9 that won't\n// be iterated by `for key in ...` and thus missed. Extends `keys` in place if\n// needed.\nexport default function collectNonEnumProps(obj, keys) {\n keys = emulatedSet(keys);\n var nonEnumIdx = nonEnumerableProps.length;\n var constructor = obj.constructor;\n var proto = (isFunction(constructor) && constructor.prototype) || ObjProto;\n\n // Constructor is a special case.\n var prop = 'constructor';\n if (has(obj, prop) && !keys.contains(prop)) keys.push(prop);\n\n while (nonEnumIdx--) {\n prop = nonEnumerableProps[nonEnumIdx];\n if (prop in obj && obj[prop] !== proto[prop] && !keys.contains(prop)) {\n keys.push(prop);\n }\n }\n}\n","import isObject from './isObject.js';\nimport { nativeKeys, hasEnumBug } from './_setup.js';\nimport has from './_has.js';\nimport collectNonEnumProps from './_collectNonEnumProps.js';\n\n// Retrieve the names of an object's own properties.\n// Delegates to **ECMAScript 5**'s native `Object.keys`.\nexport default function keys(obj) {\n if (!isObject(obj)) return [];\n if (nativeKeys) return nativeKeys(obj);\n var keys = [];\n for (var key in obj) if (has(obj, key)) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n}\n","import getLength from './_getLength.js';\nimport isArray from './isArray.js';\nimport isString from './isString.js';\nimport isArguments from './isArguments.js';\nimport keys from './keys.js';\n\n// Is a given array, string, or object empty?\n// An \"empty\" object has no enumerable own-properties.\nexport default function isEmpty(obj) {\n if (obj == null) return true;\n // Skip the more expensive `toString`-based type checks if `obj` has no\n // `.length`.\n var length = getLength(obj);\n if (typeof length == 'number' && (\n isArray(obj) || isString(obj) || isArguments(obj)\n )) return length === 0;\n return getLength(keys(obj)) === 0;\n}\n","import keys from './keys.js';\n\n// Returns whether an object has a given set of `key:value` pairs.\nexport default function isMatch(object, attrs) {\n var _keys = keys(attrs), length = _keys.length;\n if (object == null) return !length;\n var obj = Object(object);\n for (var i = 0; i < length; i++) {\n var key = _keys[i];\n if (attrs[key] !== obj[key] || !(key in obj)) return false;\n }\n return true;\n}\n","import { VERSION } from './_setup.js';\n\n// If Underscore is called as a function, it returns a wrapped object that can\n// be used OO-style. This wrapper holds altered versions of all functions added\n// through `_.mixin`. Wrapped objects may be chained.\nexport default function _(obj) {\n if (obj instanceof _) return obj;\n if (!(this instanceof _)) return new _(obj);\n this._wrapped = obj;\n}\n\n_.VERSION = VERSION;\n\n// Extracts the result from a wrapped and chained object.\n_.prototype.value = function() {\n return this._wrapped;\n};\n\n// Provide unwrapping proxies for some methods used in engine operations\n// such as arithmetic and JSON stringification.\n_.prototype.valueOf = _.prototype.toJSON = _.prototype.value;\n\n_.prototype.toString = function() {\n return String(this._wrapped);\n};\n","import getByteLength from './_getByteLength.js';\n\n// Internal function to wrap or shallow-copy an ArrayBuffer,\n// typed array or DataView to a new view, reusing the buffer.\nexport default function toBufferView(bufferSource) {\n return new Uint8Array(\n bufferSource.buffer || bufferSource,\n bufferSource.byteOffset || 0,\n getByteLength(bufferSource)\n );\n}\n","import _ from './underscore.js';\nimport { toString, SymbolProto } from './_setup.js';\nimport getByteLength from './_getByteLength.js';\nimport isTypedArray from './isTypedArray.js';\nimport isFunction from './isFunction.js';\nimport { hasStringTagBug } from './_stringTagBug.js';\nimport isDataView from './isDataView.js';\nimport keys from './keys.js';\nimport has from './_has.js';\nimport toBufferView from './_toBufferView.js';\n\n// We use this string twice, so give it a name for minification.\nvar tagDataView = '[object DataView]';\n\n// Internal recursive comparison function for `_.isEqual`.\nfunction eq(a, b, aStack, bStack) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](https://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b) return a !== 0 || 1 / a === 1 / b;\n // `null` or `undefined` only equal to itself (strict comparison).\n if (a == null || b == null) return false;\n // `NaN`s are equivalent, but non-reflexive.\n if (a !== a) return b !== b;\n // Exhaust primitive checks\n var type = typeof a;\n if (type !== 'function' && type !== 'object' && typeof b != 'object') return false;\n return deepEq(a, b, aStack, bStack);\n}\n\n// Internal recursive comparison function for `_.isEqual`.\nfunction deepEq(a, b, aStack, bStack) {\n // Unwrap any wrapped objects.\n if (a instanceof _) a = a._wrapped;\n if (b instanceof _) b = b._wrapped;\n // Compare `[[Class]]` names.\n var className = toString.call(a);\n if (className !== toString.call(b)) return false;\n // Work around a bug in IE 10 - Edge 13.\n if (hasStringTagBug && className == '[object Object]' && isDataView(a)) {\n if (!isDataView(b)) return false;\n className = tagDataView;\n }\n switch (className) {\n // These types are compared by value.\n case '[object RegExp]':\n // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n case '[object String]':\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n // equivalent to `new String(\"5\")`.\n return '' + a === '' + b;\n case '[object Number]':\n // `NaN`s are equivalent, but non-reflexive.\n // Object(NaN) is equivalent to NaN.\n if (+a !== +a) return +b !== +b;\n // An `egal` comparison is performed for other numeric values.\n return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n case '[object Date]':\n case '[object Boolean]':\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n // millisecond representations. Note that invalid dates with millisecond representations\n // of `NaN` are not equivalent.\n return +a === +b;\n case '[object Symbol]':\n return SymbolProto.valueOf.call(a) === SymbolProto.valueOf.call(b);\n case '[object ArrayBuffer]':\n case tagDataView:\n // Coerce to typed array so we can fall through.\n return deepEq(toBufferView(a), toBufferView(b), aStack, bStack);\n }\n\n var areArrays = className === '[object Array]';\n if (!areArrays && isTypedArray(a)) {\n var byteLength = getByteLength(a);\n if (byteLength !== getByteLength(b)) return false;\n if (a.buffer === b.buffer && a.byteOffset === b.byteOffset) return true;\n areArrays = true;\n }\n if (!areArrays) {\n if (typeof a != 'object' || typeof b != 'object') return false;\n\n // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n // from different frames are.\n var aCtor = a.constructor, bCtor = b.constructor;\n if (aCtor !== bCtor && !(isFunction(aCtor) && aCtor instanceof aCtor &&\n isFunction(bCtor) && bCtor instanceof bCtor)\n && ('constructor' in a && 'constructor' in b)) {\n return false;\n }\n }\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n\n // Initializing stack of traversed objects.\n // It's done here since we only need them for objects and arrays comparison.\n aStack = aStack || [];\n bStack = bStack || [];\n var length = aStack.length;\n while (length--) {\n // Linear search. Performance is inversely proportional to the number of\n // unique nested structures.\n if (aStack[length] === a) return bStack[length] === b;\n }\n\n // Add the first object to the stack of traversed objects.\n aStack.push(a);\n bStack.push(b);\n\n // Recursively compare objects and arrays.\n if (areArrays) {\n // Compare array lengths to determine if a deep comparison is necessary.\n length = a.length;\n if (length !== b.length) return false;\n // Deep compare the contents, ignoring non-numeric properties.\n while (length--) {\n if (!eq(a[length], b[length], aStack, bStack)) return false;\n }\n } else {\n // Deep compare objects.\n var _keys = keys(a), key;\n length = _keys.length;\n // Ensure that both objects contain the same number of properties before comparing deep equality.\n if (keys(b).length !== length) return false;\n while (length--) {\n // Deep compare each member\n key = _keys[length];\n if (!(has(b, key) && eq(a[key], b[key], aStack, bStack))) return false;\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop();\n bStack.pop();\n return true;\n}\n\n// Perform a deep comparison to check if two objects are equal.\nexport default function isEqual(a, b) {\n return eq(a, b);\n}\n","import isObject from './isObject.js';\nimport { hasEnumBug } from './_setup.js';\nimport collectNonEnumProps from './_collectNonEnumProps.js';\n\n// Retrieve all the enumerable property names of an object.\nexport default function allKeys(obj) {\n if (!isObject(obj)) return [];\n var keys = [];\n for (var key in obj) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n}\n","import getLength from './_getLength.js';\nimport isFunction from './isFunction.js';\nimport allKeys from './allKeys.js';\n\n// Since the regular `Object.prototype.toString` type tests don't work for\n// some types in IE 11, we use a fingerprinting heuristic instead, based\n// on the methods. It's not great, but it's the best we got.\n// The fingerprint method lists are defined below.\nexport function ie11fingerprint(methods) {\n var length = getLength(methods);\n return function(obj) {\n if (obj == null) return false;\n // `Map`, `WeakMap` and `Set` have no enumerable keys.\n var keys = allKeys(obj);\n if (getLength(keys)) return false;\n for (var i = 0; i < length; i++) {\n if (!isFunction(obj[methods[i]])) return false;\n }\n // If we are testing against `WeakMap`, we need to ensure that\n // `obj` doesn't have a `forEach` method in order to distinguish\n // it from a regular `Map`.\n return methods !== weakMapMethods || !isFunction(obj[forEachName]);\n };\n}\n\n// In the interest of compact minification, we write\n// each string in the fingerprints only once.\nvar forEachName = 'forEach',\n hasName = 'has',\n commonInit = ['clear', 'delete'],\n mapTail = ['get', hasName, 'set'];\n\n// `Map`, `WeakMap` and `Set` each have slightly different\n// combinations of the above sublists.\nexport var mapMethods = commonInit.concat(forEachName, mapTail),\n weakMapMethods = commonInit.concat(mapTail),\n setMethods = ['add'].concat(commonInit, forEachName, hasName);\n","import tagTester from './_tagTester.js';\nimport { isIE11 } from './_stringTagBug.js';\nimport { ie11fingerprint, mapMethods } from './_methodFingerprint.js';\n\nexport default isIE11 ? ie11fingerprint(mapMethods) : tagTester('Map');\n","import tagTester from './_tagTester.js';\nimport { isIE11 } from './_stringTagBug.js';\nimport { ie11fingerprint, weakMapMethods } from './_methodFingerprint.js';\n\nexport default isIE11 ? ie11fingerprint(weakMapMethods) : tagTester('WeakMap');\n","import tagTester from './_tagTester.js';\nimport { isIE11 } from './_stringTagBug.js';\nimport { ie11fingerprint, setMethods } from './_methodFingerprint.js';\n\nexport default isIE11 ? ie11fingerprint(setMethods) : tagTester('Set');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('WeakSet');\n","import keys from './keys.js';\n\n// Retrieve the values of an object's properties.\nexport default function values(obj) {\n var _keys = keys(obj);\n var length = _keys.length;\n var values = Array(length);\n for (var i = 0; i < length; i++) {\n values[i] = obj[_keys[i]];\n }\n return values;\n}\n","import keys from './keys.js';\n\n// Convert an object into a list of `[key, value]` pairs.\n// The opposite of `_.object` with one argument.\nexport default function pairs(obj) {\n var _keys = keys(obj);\n var length = _keys.length;\n var pairs = Array(length);\n for (var i = 0; i < length; i++) {\n pairs[i] = [_keys[i], obj[_keys[i]]];\n }\n return pairs;\n}\n","import keys from './keys.js';\n\n// Invert the keys and values of an object. The values must be serializable.\nexport default function invert(obj) {\n var result = {};\n var _keys = keys(obj);\n for (var i = 0, length = _keys.length; i < length; i++) {\n result[obj[_keys[i]]] = _keys[i];\n }\n return result;\n}\n","import isFunction from './isFunction.js';\n\n// Return a sorted list of the function names available on the object.\nexport default function functions(obj) {\n var names = [];\n for (var key in obj) {\n if (isFunction(obj[key])) names.push(key);\n }\n return names.sort();\n}\n","// An internal function for creating assigner functions.\nexport default function createAssigner(keysFunc, defaults) {\n return function(obj) {\n var length = arguments.length;\n if (defaults) obj = Object(obj);\n if (length < 2 || obj == null) return obj;\n for (var index = 1; index < length; index++) {\n var source = arguments[index],\n keys = keysFunc(source),\n l = keys.length;\n for (var i = 0; i < l; i++) {\n var key = keys[i];\n if (!defaults || obj[key] === void 0) obj[key] = source[key];\n }\n }\n return obj;\n };\n}\n","import createAssigner from './_createAssigner.js';\nimport allKeys from './allKeys.js';\n\n// Extend a given object with all the properties in passed-in object(s).\nexport default createAssigner(allKeys);\n","import createAssigner from './_createAssigner.js';\nimport keys from './keys.js';\n\n// Assigns a given object with all the own properties in the passed-in\n// object(s).\n// (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\nexport default createAssigner(keys);\n","import createAssigner from './_createAssigner.js';\nimport allKeys from './allKeys.js';\n\n// Fill in a given object with default properties.\nexport default createAssigner(allKeys, true);\n","import isObject from './isObject.js';\nimport { nativeCreate } from './_setup.js';\n\n// Create a naked function reference for surrogate-prototype-swapping.\nfunction ctor() {\n return function(){};\n}\n\n// An internal function for creating a new object that inherits from another.\nexport default function baseCreate(prototype) {\n if (!isObject(prototype)) return {};\n if (nativeCreate) return nativeCreate(prototype);\n var Ctor = ctor();\n Ctor.prototype = prototype;\n var result = new Ctor;\n Ctor.prototype = null;\n return result;\n}\n","import baseCreate from './_baseCreate.js';\nimport extendOwn from './extendOwn.js';\n\n// Creates an object that inherits from the given prototype object.\n// If additional properties are provided then they will be added to the\n// created object.\nexport default function create(prototype, props) {\n var result = baseCreate(prototype);\n if (props) extendOwn(result, props);\n return result;\n}\n","import isObject from './isObject.js';\nimport isArray from './isArray.js';\nimport extend from './extend.js';\n\n// Create a (shallow-cloned) duplicate of an object.\nexport default function clone(obj) {\n if (!isObject(obj)) return obj;\n return isArray(obj) ? obj.slice() : extend({}, obj);\n}\n","// Invokes `interceptor` with the `obj` and then returns `obj`.\n// The primary purpose of this method is to \"tap into\" a method chain, in\n// order to perform operations on intermediate results within the chain.\nexport default function tap(obj, interceptor) {\n interceptor(obj);\n return obj;\n}\n","import _ from './underscore.js';\nimport isArray from './isArray.js';\n\n// Normalize a (deep) property `path` to array.\n// Like `_.iteratee`, this function can be customized.\nexport default function toPath(path) {\n return isArray(path) ? path : [path];\n}\n_.toPath = toPath;\n","import _ from './underscore.js';\nimport './toPath.js';\n\n// Internal wrapper for `_.toPath` to enable minification.\n// Similar to `cb` for `_.iteratee`.\nexport default function toPath(path) {\n return _.toPath(path);\n}\n","// Internal function to obtain a nested property in `obj` along `path`.\nexport default function deepGet(obj, path) {\n var length = path.length;\n for (var i = 0; i < length; i++) {\n if (obj == null) return void 0;\n obj = obj[path[i]];\n }\n return length ? obj : void 0;\n}\n","import toPath from './_toPath.js';\nimport deepGet from './_deepGet.js';\nimport isUndefined from './isUndefined.js';\n\n// Get the value of the (deep) property on `path` from `object`.\n// If any property in `path` does not exist or if the value is\n// `undefined`, return `defaultValue` instead.\n// The `path` is normalized through `_.toPath`.\nexport default function get(object, path, defaultValue) {\n var value = deepGet(object, toPath(path));\n return isUndefined(value) ? defaultValue : value;\n}\n","import _has from './_has.js';\nimport toPath from './_toPath.js';\n\n// Shortcut function for checking if an object has a given property directly on\n// itself (in other words, not on a prototype). Unlike the internal `has`\n// function, this public version can also traverse nested properties.\nexport default function has(obj, path) {\n path = toPath(path);\n var length = path.length;\n for (var i = 0; i < length; i++) {\n var key = path[i];\n if (!_has(obj, key)) return false;\n obj = obj[key];\n }\n return !!length;\n}\n","// Keep the identity function around for default iteratees.\nexport default function identity(value) {\n return value;\n}\n","import extendOwn from './extendOwn.js';\nimport isMatch from './isMatch.js';\n\n// Returns a predicate for checking whether an object has a given set of\n// `key:value` pairs.\nexport default function matcher(attrs) {\n attrs = extendOwn({}, attrs);\n return function(obj) {\n return isMatch(obj, attrs);\n };\n}\n","import deepGet from './_deepGet.js';\nimport toPath from './_toPath.js';\n\n// Creates a function that, when passed an object, will traverse that object’s\n// properties down the given `path`, specified as an array of keys or indices.\nexport default function property(path) {\n path = toPath(path);\n return function(obj) {\n return deepGet(obj, path);\n };\n}\n","// Internal function that returns an efficient (for current engines) version\n// of the passed-in callback, to be repeatedly applied in other Underscore\n// functions.\nexport default function optimizeCb(func, context, argCount) {\n if (context === void 0) return func;\n switch (argCount == null ? 3 : argCount) {\n case 1: return function(value) {\n return func.call(context, value);\n };\n // The 2-argument case is omitted because we’re not using it.\n case 3: return function(value, index, collection) {\n return func.call(context, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(context, accumulator, value, index, collection);\n };\n }\n return function() {\n return func.apply(context, arguments);\n };\n}\n","import identity from './identity.js';\nimport isFunction from './isFunction.js';\nimport isObject from './isObject.js';\nimport isArray from './isArray.js';\nimport matcher from './matcher.js';\nimport property from './property.js';\nimport optimizeCb from './_optimizeCb.js';\n\n// An internal function to generate callbacks that can be applied to each\n// element in a collection, returning the desired result — either `_.identity`,\n// an arbitrary callback, a property matcher, or a property accessor.\nexport default function baseIteratee(value, context, argCount) {\n if (value == null) return identity;\n if (isFunction(value)) return optimizeCb(value, context, argCount);\n if (isObject(value) && !isArray(value)) return matcher(value);\n return property(value);\n}\n","import _ from './underscore.js';\nimport baseIteratee from './_baseIteratee.js';\n\n// External wrapper for our callback generator. Users may customize\n// `_.iteratee` if they want additional predicate/iteratee shorthand styles.\n// This abstraction hides the internal-only `argCount` argument.\nexport default function iteratee(value, context) {\n return baseIteratee(value, context, Infinity);\n}\n_.iteratee = iteratee;\n","import _ from './underscore.js';\nimport baseIteratee from './_baseIteratee.js';\nimport iteratee from './iteratee.js';\n\n// The function we call internally to generate a callback. It invokes\n// `_.iteratee` if overridden, otherwise `baseIteratee`.\nexport default function cb(value, context, argCount) {\n if (_.iteratee !== iteratee) return _.iteratee(value, context);\n return baseIteratee(value, context, argCount);\n}\n","import cb from './_cb.js';\nimport keys from './keys.js';\n\n// Returns the results of applying the `iteratee` to each element of `obj`.\n// In contrast to `_.map` it returns an object.\nexport default function mapObject(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var _keys = keys(obj),\n length = _keys.length,\n results = {};\n for (var index = 0; index < length; index++) {\n var currentKey = _keys[index];\n results[currentKey] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n}\n","// Predicate-generating function. Often useful outside of Underscore.\nexport default function noop(){}\n","import noop from './noop.js';\nimport get from './get.js';\n\n// Generates a function for a given object that returns a given property.\nexport default function propertyOf(obj) {\n if (obj == null) return noop;\n return function(path) {\n return get(obj, path);\n };\n}\n","import optimizeCb from './_optimizeCb.js';\n\n// Run a function **n** times.\nexport default function times(n, iteratee, context) {\n var accum = Array(Math.max(0, n));\n iteratee = optimizeCb(iteratee, context, 1);\n for (var i = 0; i < n; i++) accum[i] = iteratee(i);\n return accum;\n}\n","// Return a random integer between `min` and `max` (inclusive).\nexport default function random(min, max) {\n if (max == null) {\n max = min;\n min = 0;\n }\n return min + Math.floor(Math.random() * (max - min + 1));\n}\n","// A (possibly faster) way to get the current timestamp as an integer.\nexport default Date.now || function() {\n return new Date().getTime();\n};\n","import keys from './keys.js';\n\n// Internal helper to generate functions for escaping and unescaping strings\n// to/from HTML interpolation.\nexport default function createEscaper(map) {\n var escaper = function(match) {\n return map[match];\n };\n // Regexes for identifying a key that needs to be escaped.\n var source = '(?:' + keys(map).join('|') + ')';\n var testRegexp = RegExp(source);\n var replaceRegexp = RegExp(source, 'g');\n return function(string) {\n string = string == null ? '' : '' + string;\n return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\n };\n}\n","// Internal list of HTML entities for escaping.\nexport default {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`'\n};\n","import createEscaper from './_createEscaper.js';\nimport escapeMap from './_escapeMap.js';\n\n// Function for escaping strings to HTML interpolation.\nexport default createEscaper(escapeMap);\n","import createEscaper from './_createEscaper.js';\nimport unescapeMap from './_unescapeMap.js';\n\n// Function for unescaping strings from HTML interpolation.\nexport default createEscaper(unescapeMap);\n","import invert from './invert.js';\nimport escapeMap from './_escapeMap.js';\n\n// Internal list of HTML entities for unescaping.\nexport default invert(escapeMap);\n","import _ from './underscore.js';\n\n// By default, Underscore uses ERB-style template delimiters. Change the\n// following template settings to use alternative delimiters.\nexport default _.templateSettings = {\n evaluate: /<%([\\s\\S]+?)%>/g,\n interpolate: /<%=([\\s\\S]+?)%>/g,\n escape: /<%-([\\s\\S]+?)%>/g\n};\n","import defaults from './defaults.js';\nimport _ from './underscore.js';\nimport './templateSettings.js';\n\n// When customizing `_.templateSettings`, if you don't want to define an\n// interpolation, evaluation or escaping regex, we need one that is\n// guaranteed not to match.\nvar noMatch = /(.)^/;\n\n// Certain characters need to be escaped so that they can be put into a\n// string literal.\nvar escapes = {\n \"'\": \"'\",\n '\\\\': '\\\\',\n '\\r': 'r',\n '\\n': 'n',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n};\n\nvar escapeRegExp = /\\\\|'|\\r|\\n|\\u2028|\\u2029/g;\n\nfunction escapeChar(match) {\n return '\\\\' + escapes[match];\n}\n\n// In order to prevent third-party code injection through\n// `_.templateSettings.variable`, we test it against the following regular\n// expression. It is intentionally a bit more liberal than just matching valid\n// identifiers, but still prevents possible loopholes through defaults or\n// destructuring assignment.\nvar bareIdentifier = /^\\s*(\\w|\\$)+\\s*$/;\n\n// JavaScript micro-templating, similar to John Resig's implementation.\n// Underscore templating handles arbitrary delimiters, preserves whitespace,\n// and correctly escapes quotes within interpolated code.\n// NB: `oldSettings` only exists for backwards compatibility.\nexport default function template(text, settings, oldSettings) {\n if (!settings && oldSettings) settings = oldSettings;\n settings = defaults({}, settings, _.templateSettings);\n\n // Combine delimiters into one regular expression via alternation.\n var matcher = RegExp([\n (settings.escape || noMatch).source,\n (settings.interpolate || noMatch).source,\n (settings.evaluate || noMatch).source\n ].join('|') + '|$', 'g');\n\n // Compile the template source, escaping string literals appropriately.\n var index = 0;\n var source = \"__p+='\";\n text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {\n source += text.slice(index, offset).replace(escapeRegExp, escapeChar);\n index = offset + match.length;\n\n if (escape) {\n source += \"'+\\n((__t=(\" + escape + \"))==null?'':_.escape(__t))+\\n'\";\n } else if (interpolate) {\n source += \"'+\\n((__t=(\" + interpolate + \"))==null?'':__t)+\\n'\";\n } else if (evaluate) {\n source += \"';\\n\" + evaluate + \"\\n__p+='\";\n }\n\n // Adobe VMs need the match returned to produce the correct offset.\n return match;\n });\n source += \"';\\n\";\n\n var argument = settings.variable;\n if (argument) {\n // Insure against third-party code injection. (CVE-2021-23358)\n if (!bareIdentifier.test(argument)) throw new Error(\n 'variable is not a bare identifier: ' + argument\n );\n } else {\n // If a variable is not specified, place data values in local scope.\n source = 'with(obj||{}){\\n' + source + '}\\n';\n argument = 'obj';\n }\n\n source = \"var __t,__p='',__j=Array.prototype.join,\" +\n \"print=function(){__p+=__j.call(arguments,'');};\\n\" +\n source + 'return __p;\\n';\n\n var render;\n try {\n render = new Function(argument, '_', source);\n } catch (e) {\n e.source = source;\n throw e;\n }\n\n var template = function(data) {\n return render.call(this, data, _);\n };\n\n // Provide the compiled source as a convenience for precompilation.\n template.source = 'function(' + argument + '){\\n' + source + '}';\n\n return template;\n}\n","import isFunction from './isFunction.js';\nimport toPath from './_toPath.js';\n\n// Traverses the children of `obj` along `path`. If a child is a function, it\n// is invoked with its parent as context. Returns the value of the final\n// child, or `fallback` if any child is undefined.\nexport default function result(obj, path, fallback) {\n path = toPath(path);\n var length = path.length;\n if (!length) {\n return isFunction(fallback) ? fallback.call(obj) : fallback;\n }\n for (var i = 0; i < length; i++) {\n var prop = obj == null ? void 0 : obj[path[i]];\n if (prop === void 0) {\n prop = fallback;\n i = length; // Ensure we don't continue iterating.\n }\n obj = isFunction(prop) ? prop.call(obj) : prop;\n }\n return obj;\n}\n","// Generate a unique integer id (unique within the entire client session).\n// Useful for temporary DOM ids.\nvar idCounter = 0;\nexport default function uniqueId(prefix) {\n var id = ++idCounter + '';\n return prefix ? prefix + id : id;\n}\n","import _ from './underscore.js';\n\n// Start chaining a wrapped Underscore object.\nexport default function chain(obj) {\n var instance = _(obj);\n instance._chain = true;\n return instance;\n}\n","import baseCreate from './_baseCreate.js';\nimport isObject from './isObject.js';\n\n// Internal function to execute `sourceFunc` bound to `context` with optional\n// `args`. Determines whether to execute a function as a constructor or as a\n// normal function.\nexport default function executeBound(sourceFunc, boundFunc, context, callingContext, args) {\n if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args);\n var self = baseCreate(sourceFunc.prototype);\n var result = sourceFunc.apply(self, args);\n if (isObject(result)) return result;\n return self;\n}\n","import restArguments from './restArguments.js';\nimport executeBound from './_executeBound.js';\nimport _ from './underscore.js';\n\n// Partially apply a function by creating a version that has had some of its\n// arguments pre-filled, without changing its dynamic `this` context. `_` acts\n// as a placeholder by default, allowing any combination of arguments to be\n// pre-filled. Set `_.partial.placeholder` for a custom placeholder argument.\nvar partial = restArguments(function(func, boundArgs) {\n var placeholder = partial.placeholder;\n var bound = function() {\n var position = 0, length = boundArgs.length;\n var args = Array(length);\n for (var i = 0; i < length; i++) {\n args[i] = boundArgs[i] === placeholder ? arguments[position++] : boundArgs[i];\n }\n while (position < arguments.length) args.push(arguments[position++]);\n return executeBound(func, bound, this, this, args);\n };\n return bound;\n});\n\npartial.placeholder = _;\nexport default partial;\n","import restArguments from './restArguments.js';\nimport isFunction from './isFunction.js';\nimport executeBound from './_executeBound.js';\n\n// Create a function bound to a given object (assigning `this`, and arguments,\n// optionally).\nexport default restArguments(function(func, context, args) {\n if (!isFunction(func)) throw new TypeError('Bind must be called on a function');\n var bound = restArguments(function(callArgs) {\n return executeBound(func, bound, context, this, args.concat(callArgs));\n });\n return bound;\n});\n","import createSizePropertyCheck from './_createSizePropertyCheck.js';\nimport getLength from './_getLength.js';\n\n// Internal helper for collection methods to determine whether a collection\n// should be iterated as an array or as an object.\n// Related: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength\n// Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094\nexport default createSizePropertyCheck(getLength);\n","import getLength from './_getLength.js';\nimport isArrayLike from './_isArrayLike.js';\nimport isArray from './isArray.js';\nimport isArguments from './isArguments.js';\n\n// Internal implementation of a recursive `flatten` function.\nexport default function flatten(input, depth, strict, output) {\n output = output || [];\n if (!depth && depth !== 0) {\n depth = Infinity;\n } else if (depth <= 0) {\n return output.concat(input);\n }\n var idx = output.length;\n for (var i = 0, length = getLength(input); i < length; i++) {\n var value = input[i];\n if (isArrayLike(value) && (isArray(value) || isArguments(value))) {\n // Flatten current level of array or arguments object.\n if (depth > 1) {\n flatten(value, depth - 1, strict, output);\n idx = output.length;\n } else {\n var j = 0, len = value.length;\n while (j < len) output[idx++] = value[j++];\n }\n } else if (!strict) {\n output[idx++] = value;\n }\n }\n return output;\n}\n","import restArguments from './restArguments.js';\nimport flatten from './_flatten.js';\nimport bind from './bind.js';\n\n// Bind a number of an object's methods to that object. Remaining arguments\n// are the method names to be bound. Useful for ensuring that all callbacks\n// defined on an object belong to it.\nexport default restArguments(function(obj, keys) {\n keys = flatten(keys, false, false);\n var index = keys.length;\n if (index < 1) throw new Error('bindAll must be passed function names');\n while (index--) {\n var key = keys[index];\n obj[key] = bind(obj[key], obj);\n }\n return obj;\n});\n","import has from './_has.js';\n\n// Memoize an expensive function by storing its results.\nexport default function memoize(func, hasher) {\n var memoize = function(key) {\n var cache = memoize.cache;\n var address = '' + (hasher ? hasher.apply(this, arguments) : key);\n if (!has(cache, address)) cache[address] = func.apply(this, arguments);\n return cache[address];\n };\n memoize.cache = {};\n return memoize;\n}\n","import restArguments from './restArguments.js';\n\n// Delays a function for the given number of milliseconds, and then calls\n// it with the arguments supplied.\nexport default restArguments(function(func, wait, args) {\n return setTimeout(function() {\n return func.apply(null, args);\n }, wait);\n});\n","import partial from './partial.js';\nimport delay from './delay.js';\nimport _ from './underscore.js';\n\n// Defers a function, scheduling it to run after the current call stack has\n// cleared.\nexport default partial(delay, _, 1);\n","import now from './now.js';\n\n// Returns a function, that, when invoked, will only be triggered at most once\n// during a given window of time. Normally, the throttled function will run\n// as much as it can, without ever going more than once per `wait` duration;\n// but if you'd like to disable the execution on the leading edge, pass\n// `{leading: false}`. To disable execution on the trailing edge, ditto.\nexport default function throttle(func, wait, options) {\n var timeout, context, args, result;\n var previous = 0;\n if (!options) options = {};\n\n var later = function() {\n previous = options.leading === false ? 0 : now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n };\n\n var throttled = function() {\n var _now = now();\n if (!previous && options.leading === false) previous = _now;\n var remaining = wait - (_now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = _now;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n\n throttled.cancel = function() {\n clearTimeout(timeout);\n previous = 0;\n timeout = context = args = null;\n };\n\n return throttled;\n}\n","import restArguments from './restArguments.js';\nimport now from './now.js';\n\n// When a sequence of calls of the returned function ends, the argument\n// function is triggered. The end of a sequence is defined by the `wait`\n// parameter. If `immediate` is passed, the argument function will be\n// triggered at the beginning of the sequence instead of at the end.\nexport default function debounce(func, wait, immediate) {\n var timeout, previous, args, result, context;\n\n var later = function() {\n var passed = now() - previous;\n if (wait > passed) {\n timeout = setTimeout(later, wait - passed);\n } else {\n timeout = null;\n if (!immediate) result = func.apply(context, args);\n // This check is needed because `func` can recursively invoke `debounced`.\n if (!timeout) args = context = null;\n }\n };\n\n var debounced = restArguments(function(_args) {\n context = this;\n args = _args;\n previous = now();\n if (!timeout) {\n timeout = setTimeout(later, wait);\n if (immediate) result = func.apply(context, args);\n }\n return result;\n });\n\n debounced.cancel = function() {\n clearTimeout(timeout);\n timeout = args = context = null;\n };\n\n return debounced;\n}\n","import partial from './partial.js';\n\n// Returns the first function passed as an argument to the second,\n// allowing you to adjust arguments, run code before and after, and\n// conditionally execute the original function.\nexport default function wrap(func, wrapper) {\n return partial(wrapper, func);\n}\n","// Returns a negated version of the passed-in predicate.\nexport default function negate(predicate) {\n return function() {\n return !predicate.apply(this, arguments);\n };\n}\n","// Returns a function that is the composition of a list of functions, each\n// consuming the return value of the function that follows.\nexport default function compose() {\n var args = arguments;\n var start = args.length - 1;\n return function() {\n var i = start;\n var result = args[start].apply(this, arguments);\n while (i--) result = args[i].call(this, result);\n return result;\n };\n}\n","// Returns a function that will only be executed on and after the Nth call.\nexport default function after(times, func) {\n return function() {\n if (--times < 1) {\n return func.apply(this, arguments);\n }\n };\n}\n","// Returns a function that will only be executed up to (but not including) the\n// Nth call.\nexport default function before(times, func) {\n var memo;\n return function() {\n if (--times > 0) {\n memo = func.apply(this, arguments);\n }\n if (times <= 1) func = null;\n return memo;\n };\n}\n","import partial from './partial.js';\nimport before from './before.js';\n\n// Returns a function that will be executed at most one time, no matter how\n// often you call it. Useful for lazy initialization.\nexport default partial(before, 2);\n","import cb from './_cb.js';\nimport keys from './keys.js';\n\n// Returns the first key on an object that passes a truth test.\nexport default function findKey(obj, predicate, context) {\n predicate = cb(predicate, context);\n var _keys = keys(obj), key;\n for (var i = 0, length = _keys.length; i < length; i++) {\n key = _keys[i];\n if (predicate(obj[key], key, obj)) return key;\n }\n}\n","import cb from './_cb.js';\nimport getLength from './_getLength.js';\n\n// Internal function to generate `_.findIndex` and `_.findLastIndex`.\nexport default function createPredicateIndexFinder(dir) {\n return function(array, predicate, context) {\n predicate = cb(predicate, context);\n var length = getLength(array);\n var index = dir > 0 ? 0 : length - 1;\n for (; index >= 0 && index < length; index += dir) {\n if (predicate(array[index], index, array)) return index;\n }\n return -1;\n };\n}\n","import createPredicateIndexFinder from './_createPredicateIndexFinder.js';\n\n// Returns the first index on an array-like that passes a truth test.\nexport default createPredicateIndexFinder(1);\n","import createPredicateIndexFinder from './_createPredicateIndexFinder.js';\n\n// Returns the last index on an array-like that passes a truth test.\nexport default createPredicateIndexFinder(-1);\n","import cb from './_cb.js';\nimport getLength from './_getLength.js';\n\n// Use a comparator function to figure out the smallest index at which\n// an object should be inserted so as to maintain order. Uses binary search.\nexport default function sortedIndex(array, obj, iteratee, context) {\n iteratee = cb(iteratee, context, 1);\n var value = iteratee(obj);\n var low = 0, high = getLength(array);\n while (low < high) {\n var mid = Math.floor((low + high) / 2);\n if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;\n }\n return low;\n}\n","import getLength from './_getLength.js';\nimport { slice } from './_setup.js';\nimport isNaN from './isNaN.js';\n\n// Internal function to generate the `_.indexOf` and `_.lastIndexOf` functions.\nexport default function createIndexFinder(dir, predicateFind, sortedIndex) {\n return function(array, item, idx) {\n var i = 0, length = getLength(array);\n if (typeof idx == 'number') {\n if (dir > 0) {\n i = idx >= 0 ? idx : Math.max(idx + length, i);\n } else {\n length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;\n }\n } else if (sortedIndex && idx && length) {\n idx = sortedIndex(array, item);\n return array[idx] === item ? idx : -1;\n }\n if (item !== item) {\n idx = predicateFind(slice.call(array, i, length), isNaN);\n return idx >= 0 ? idx + i : -1;\n }\n for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {\n if (array[idx] === item) return idx;\n }\n return -1;\n };\n}\n","import sortedIndex from './sortedIndex.js';\nimport findIndex from './findIndex.js';\nimport createIndexFinder from './_createIndexFinder.js';\n\n// Return the position of the first occurrence of an item in an array,\n// or -1 if the item is not included in the array.\n// If the array is large and already in sort order, pass `true`\n// for **isSorted** to use binary search.\nexport default createIndexFinder(1, findIndex, sortedIndex);\n","import findLastIndex from './findLastIndex.js';\nimport createIndexFinder from './_createIndexFinder.js';\n\n// Return the position of the last occurrence of an item in an array,\n// or -1 if the item is not included in the array.\nexport default createIndexFinder(-1, findLastIndex);\n","import isArrayLike from './_isArrayLike.js';\nimport findIndex from './findIndex.js';\nimport findKey from './findKey.js';\n\n// Return the first value which passes a truth test.\nexport default function find(obj, predicate, context) {\n var keyFinder = isArrayLike(obj) ? findIndex : findKey;\n var key = keyFinder(obj, predicate, context);\n if (key !== void 0 && key !== -1) return obj[key];\n}\n","import find from './find.js';\nimport matcher from './matcher.js';\n\n// Convenience version of a common use case of `_.find`: getting the first\n// object containing specific `key:value` pairs.\nexport default function findWhere(obj, attrs) {\n return find(obj, matcher(attrs));\n}\n","import optimizeCb from './_optimizeCb.js';\nimport isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// The cornerstone for collection functions, an `each`\n// implementation, aka `forEach`.\n// Handles raw objects in addition to array-likes. Treats all\n// sparse array-likes as if they were dense.\nexport default function each(obj, iteratee, context) {\n iteratee = optimizeCb(iteratee, context);\n var i, length;\n if (isArrayLike(obj)) {\n for (i = 0, length = obj.length; i < length; i++) {\n iteratee(obj[i], i, obj);\n }\n } else {\n var _keys = keys(obj);\n for (i = 0, length = _keys.length; i < length; i++) {\n iteratee(obj[_keys[i]], _keys[i], obj);\n }\n }\n return obj;\n}\n","import cb from './_cb.js';\nimport isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// Return the results of applying the iteratee to each element.\nexport default function map(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length,\n results = Array(length);\n for (var index = 0; index < length; index++) {\n var currentKey = _keys ? _keys[index] : index;\n results[index] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n}\n","import isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\nimport optimizeCb from './_optimizeCb.js';\n\n// Internal helper to create a reducing function, iterating left or right.\nexport default function createReduce(dir) {\n // Wrap code that reassigns argument variables in a separate function than\n // the one that accesses `arguments.length` to avoid a perf hit. (#1991)\n var reducer = function(obj, iteratee, memo, initial) {\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length,\n index = dir > 0 ? 0 : length - 1;\n if (!initial) {\n memo = obj[_keys ? _keys[index] : index];\n index += dir;\n }\n for (; index >= 0 && index < length; index += dir) {\n var currentKey = _keys ? _keys[index] : index;\n memo = iteratee(memo, obj[currentKey], currentKey, obj);\n }\n return memo;\n };\n\n return function(obj, iteratee, memo, context) {\n var initial = arguments.length >= 3;\n return reducer(obj, optimizeCb(iteratee, context, 4), memo, initial);\n };\n}\n","import createReduce from './_createReduce.js';\n\n// **Reduce** builds up a single result from a list of values, aka `inject`,\n// or `foldl`.\nexport default createReduce(1);\n","import createReduce from './_createReduce.js';\n\n// The right-associative version of reduce, also known as `foldr`.\nexport default createReduce(-1);\n","import cb from './_cb.js';\nimport each from './each.js';\n\n// Return all the elements that pass a truth test.\nexport default function filter(obj, predicate, context) {\n var results = [];\n predicate = cb(predicate, context);\n each(obj, function(value, index, list) {\n if (predicate(value, index, list)) results.push(value);\n });\n return results;\n}\n","import filter from './filter.js';\nimport negate from './negate.js';\nimport cb from './_cb.js';\n\n// Return all the elements for which a truth test fails.\nexport default function reject(obj, predicate, context) {\n return filter(obj, negate(cb(predicate)), context);\n}\n","import cb from './_cb.js';\nimport isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// Determine whether all of the elements pass a truth test.\nexport default function every(obj, predicate, context) {\n predicate = cb(predicate, context);\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = _keys ? _keys[index] : index;\n if (!predicate(obj[currentKey], currentKey, obj)) return false;\n }\n return true;\n}\n","import cb from './_cb.js';\nimport isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// Determine if at least one element in the object passes a truth test.\nexport default function some(obj, predicate, context) {\n predicate = cb(predicate, context);\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = _keys ? _keys[index] : index;\n if (predicate(obj[currentKey], currentKey, obj)) return true;\n }\n return false;\n}\n","import isArrayLike from './_isArrayLike.js';\nimport values from './values.js';\nimport indexOf from './indexOf.js';\n\n// Determine if the array or object contains a given item (using `===`).\nexport default function contains(obj, item, fromIndex, guard) {\n if (!isArrayLike(obj)) obj = values(obj);\n if (typeof fromIndex != 'number' || guard) fromIndex = 0;\n return indexOf(obj, item, fromIndex) >= 0;\n}\n","import restArguments from './restArguments.js';\nimport isFunction from './isFunction.js';\nimport map from './map.js';\nimport deepGet from './_deepGet.js';\nimport toPath from './_toPath.js';\n\n// Invoke a method (with arguments) on every item in a collection.\nexport default restArguments(function(obj, path, args) {\n var contextPath, func;\n if (isFunction(path)) {\n func = path;\n } else {\n path = toPath(path);\n contextPath = path.slice(0, -1);\n path = path[path.length - 1];\n }\n return map(obj, function(context) {\n var method = func;\n if (!method) {\n if (contextPath && contextPath.length) {\n context = deepGet(context, contextPath);\n }\n if (context == null) return void 0;\n method = context[path];\n }\n return method == null ? method : method.apply(context, args);\n });\n});\n","import map from './map.js';\nimport property from './property.js';\n\n// Convenience version of a common use case of `_.map`: fetching a property.\nexport default function pluck(obj, key) {\n return map(obj, property(key));\n}\n","import filter from './filter.js';\nimport matcher from './matcher.js';\n\n// Convenience version of a common use case of `_.filter`: selecting only\n// objects containing specific `key:value` pairs.\nexport default function where(obj, attrs) {\n return filter(obj, matcher(attrs));\n}\n","import isArrayLike from './_isArrayLike.js';\nimport values from './values.js';\nimport cb from './_cb.js';\nimport each from './each.js';\n\n// Return the maximum element (or element-based computation).\nexport default function max(obj, iteratee, context) {\n var result = -Infinity, lastComputed = -Infinity,\n value, computed;\n if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) {\n obj = isArrayLike(obj) ? obj : values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value != null && value > result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n each(obj, function(v, index, list) {\n computed = iteratee(v, index, list);\n if (computed > lastComputed || (computed === -Infinity && result === -Infinity)) {\n result = v;\n lastComputed = computed;\n }\n });\n }\n return result;\n}\n","import isArrayLike from './_isArrayLike.js';\nimport values from './values.js';\nimport cb from './_cb.js';\nimport each from './each.js';\n\n// Return the minimum element (or element-based computation).\nexport default function min(obj, iteratee, context) {\n var result = Infinity, lastComputed = Infinity,\n value, computed;\n if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) {\n obj = isArrayLike(obj) ? obj : values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value != null && value < result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n each(obj, function(v, index, list) {\n computed = iteratee(v, index, list);\n if (computed < lastComputed || (computed === Infinity && result === Infinity)) {\n result = v;\n lastComputed = computed;\n }\n });\n }\n return result;\n}\n","import isArray from './isArray.js';\nimport { slice } from './_setup.js';\nimport isString from './isString.js';\nimport isArrayLike from './_isArrayLike.js';\nimport map from './map.js';\nimport identity from './identity.js';\nimport values from './values.js';\n\n// Safely create a real, live array from anything iterable.\nvar reStrSymbol = /[^\\ud800-\\udfff]|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff]/g;\nexport default function toArray(obj) {\n if (!obj) return [];\n if (isArray(obj)) return slice.call(obj);\n if (isString(obj)) {\n // Keep surrogate pair characters together.\n return obj.match(reStrSymbol);\n }\n if (isArrayLike(obj)) return map(obj, identity);\n return values(obj);\n}\n","import isArrayLike from './_isArrayLike.js';\nimport values from './values.js';\nimport getLength from './_getLength.js';\nimport random from './random.js';\nimport toArray from './toArray.js';\n\n// Sample **n** random values from a collection using the modern version of the\n// [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher–Yates_shuffle).\n// If **n** is not specified, returns a single random element.\n// The internal `guard` argument allows it to work with `_.map`.\nexport default function sample(obj, n, guard) {\n if (n == null || guard) {\n if (!isArrayLike(obj)) obj = values(obj);\n return obj[random(obj.length - 1)];\n }\n var sample = toArray(obj);\n var length = getLength(sample);\n n = Math.max(Math.min(n, length), 0);\n var last = length - 1;\n for (var index = 0; index < n; index++) {\n var rand = random(index, last);\n var temp = sample[index];\n sample[index] = sample[rand];\n sample[rand] = temp;\n }\n return sample.slice(0, n);\n}\n","import sample from './sample.js';\n\n// Shuffle a collection.\nexport default function shuffle(obj) {\n return sample(obj, Infinity);\n}\n","import cb from './_cb.js';\nimport pluck from './pluck.js';\nimport map from './map.js';\n\n// Sort the object's values by a criterion produced by an iteratee.\nexport default function sortBy(obj, iteratee, context) {\n var index = 0;\n iteratee = cb(iteratee, context);\n return pluck(map(obj, function(value, key, list) {\n return {\n value: value,\n index: index++,\n criteria: iteratee(value, key, list)\n };\n }).sort(function(left, right) {\n var a = left.criteria;\n var b = right.criteria;\n if (a !== b) {\n if (a > b || a === void 0) return 1;\n if (a < b || b === void 0) return -1;\n }\n return left.index - right.index;\n }), 'value');\n}\n","import cb from './_cb.js';\nimport each from './each.js';\n\n// An internal function used for aggregate \"group by\" operations.\nexport default function group(behavior, partition) {\n return function(obj, iteratee, context) {\n var result = partition ? [[], []] : {};\n iteratee = cb(iteratee, context);\n each(obj, function(value, index) {\n var key = iteratee(value, index, obj);\n behavior(result, value, key);\n });\n return result;\n };\n}\n","import group from './_group.js';\nimport has from './_has.js';\n\n// Groups the object's values by a criterion. Pass either a string attribute\n// to group by, or a function that returns the criterion.\nexport default group(function(result, value, key) {\n if (has(result, key)) result[key].push(value); else result[key] = [value];\n});\n","import group from './_group.js';\n\n// Indexes the object's values by a criterion, similar to `_.groupBy`, but for\n// when you know that your index values will be unique.\nexport default group(function(result, value, key) {\n result[key] = value;\n});\n","import group from './_group.js';\nimport has from './_has.js';\n\n// Counts instances of an object that group by a certain criterion. Pass\n// either a string attribute to count by, or a function that returns the\n// criterion.\nexport default group(function(result, value, key) {\n if (has(result, key)) result[key]++; else result[key] = 1;\n});\n","import group from './_group.js';\n\n// Split a collection into two arrays: one whose elements all pass the given\n// truth test, and one whose elements all do not pass the truth test.\nexport default group(function(result, value, pass) {\n result[pass ? 0 : 1].push(value);\n}, true);\n","import isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// Return the number of elements in a collection.\nexport default function size(obj) {\n if (obj == null) return 0;\n return isArrayLike(obj) ? obj.length : keys(obj).length;\n}\n","// Internal `_.pick` helper function to determine whether `key` is an enumerable\n// property name of `obj`.\nexport default function keyInObj(value, key, obj) {\n return key in obj;\n}\n","import restArguments from './restArguments.js';\nimport isFunction from './isFunction.js';\nimport optimizeCb from './_optimizeCb.js';\nimport allKeys from './allKeys.js';\nimport keyInObj from './_keyInObj.js';\nimport flatten from './_flatten.js';\n\n// Return a copy of the object only containing the allowed properties.\nexport default restArguments(function(obj, keys) {\n var result = {}, iteratee = keys[0];\n if (obj == null) return result;\n if (isFunction(iteratee)) {\n if (keys.length > 1) iteratee = optimizeCb(iteratee, keys[1]);\n keys = allKeys(obj);\n } else {\n iteratee = keyInObj;\n keys = flatten(keys, false, false);\n obj = Object(obj);\n }\n for (var i = 0, length = keys.length; i < length; i++) {\n var key = keys[i];\n var value = obj[key];\n if (iteratee(value, key, obj)) result[key] = value;\n }\n return result;\n});\n","import restArguments from './restArguments.js';\nimport isFunction from './isFunction.js';\nimport negate from './negate.js';\nimport map from './map.js';\nimport flatten from './_flatten.js';\nimport contains from './contains.js';\nimport pick from './pick.js';\n\n// Return a copy of the object without the disallowed properties.\nexport default restArguments(function(obj, keys) {\n var iteratee = keys[0], context;\n if (isFunction(iteratee)) {\n iteratee = negate(iteratee);\n if (keys.length > 1) context = keys[1];\n } else {\n keys = map(flatten(keys, false, false), String);\n iteratee = function(value, key) {\n return !contains(keys, key);\n };\n }\n return pick(obj, iteratee, context);\n});\n","import { slice } from './_setup.js';\n\n// Returns everything but the last entry of the array. Especially useful on\n// the arguments object. Passing **n** will return all the values in\n// the array, excluding the last N.\nexport default function initial(array, n, guard) {\n return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));\n}\n","import initial from './initial.js';\n\n// Get the first element of an array. Passing **n** will return the first N\n// values in the array. The **guard** check allows it to work with `_.map`.\nexport default function first(array, n, guard) {\n if (array == null || array.length < 1) return n == null || guard ? void 0 : [];\n if (n == null || guard) return array[0];\n return initial(array, array.length - n);\n}\n","import { slice } from './_setup.js';\n\n// Returns everything but the first entry of the `array`. Especially useful on\n// the `arguments` object. Passing an **n** will return the rest N values in the\n// `array`.\nexport default function rest(array, n, guard) {\n return slice.call(array, n == null || guard ? 1 : n);\n}\n","import rest from './rest.js';\n\n// Get the last element of an array. Passing **n** will return the last N\n// values in the array.\nexport default function last(array, n, guard) {\n if (array == null || array.length < 1) return n == null || guard ? void 0 : [];\n if (n == null || guard) return array[array.length - 1];\n return rest(array, Math.max(0, array.length - n));\n}\n","import filter from './filter.js';\n\n// Trim out all falsy values from an array.\nexport default function compact(array) {\n return filter(array, Boolean);\n}\n","import _flatten from './_flatten.js';\n\n// Flatten out an array, either recursively (by default), or up to `depth`.\n// Passing `true` or `false` as `depth` means `1` or `Infinity`, respectively.\nexport default function flatten(array, depth) {\n return _flatten(array, depth, false);\n}\n","import restArguments from './restArguments.js';\nimport flatten from './_flatten.js';\nimport filter from './filter.js';\nimport contains from './contains.js';\n\n// Take the difference between one array and a number of other arrays.\n// Only the elements present in just the first array will remain.\nexport default restArguments(function(array, rest) {\n rest = flatten(rest, true, true);\n return filter(array, function(value){\n return !contains(rest, value);\n });\n});\n","import restArguments from './restArguments.js';\nimport difference from './difference.js';\n\n// Return a version of the array that does not contain the specified value(s).\nexport default restArguments(function(array, otherArrays) {\n return difference(array, otherArrays);\n});\n","import isBoolean from './isBoolean.js';\nimport cb from './_cb.js';\nimport getLength from './_getLength.js';\nimport contains from './contains.js';\n\n// Produce a duplicate-free version of the array. If the array has already\n// been sorted, you have the option of using a faster algorithm.\n// The faster algorithm will not work with an iteratee if the iteratee\n// is not a one-to-one function, so providing an iteratee will disable\n// the faster algorithm.\nexport default function uniq(array, isSorted, iteratee, context) {\n if (!isBoolean(isSorted)) {\n context = iteratee;\n iteratee = isSorted;\n isSorted = false;\n }\n if (iteratee != null) iteratee = cb(iteratee, context);\n var result = [];\n var seen = [];\n for (var i = 0, length = getLength(array); i < length; i++) {\n var value = array[i],\n computed = iteratee ? iteratee(value, i, array) : value;\n if (isSorted && !iteratee) {\n if (!i || seen !== computed) result.push(value);\n seen = computed;\n } else if (iteratee) {\n if (!contains(seen, computed)) {\n seen.push(computed);\n result.push(value);\n }\n } else if (!contains(result, value)) {\n result.push(value);\n }\n }\n return result;\n}\n","import restArguments from './restArguments.js';\nimport uniq from './uniq.js';\nimport flatten from './_flatten.js';\n\n// Produce an array that contains the union: each distinct element from all of\n// the passed-in arrays.\nexport default restArguments(function(arrays) {\n return uniq(flatten(arrays, true, true));\n});\n","import getLength from './_getLength.js';\nimport contains from './contains.js';\n\n// Produce an array that contains every item shared between all the\n// passed-in arrays.\nexport default function intersection(array) {\n var result = [];\n var argsLength = arguments.length;\n for (var i = 0, length = getLength(array); i < length; i++) {\n var item = array[i];\n if (contains(result, item)) continue;\n var j;\n for (j = 1; j < argsLength; j++) {\n if (!contains(arguments[j], item)) break;\n }\n if (j === argsLength) result.push(item);\n }\n return result;\n}\n","import max from './max.js';\nimport getLength from './_getLength.js';\nimport pluck from './pluck.js';\n\n// Complement of zip. Unzip accepts an array of arrays and groups\n// each array's elements on shared indices.\nexport default function unzip(array) {\n var length = (array && max(array, getLength).length) || 0;\n var result = Array(length);\n\n for (var index = 0; index < length; index++) {\n result[index] = pluck(array, index);\n }\n return result;\n}\n","import restArguments from './restArguments.js';\nimport unzip from './unzip.js';\n\n// Zip together multiple lists into a single array -- elements that share\n// an index go together.\nexport default restArguments(unzip);\n","import getLength from './_getLength.js';\n\n// Converts lists into objects. Pass either a single array of `[key, value]`\n// pairs, or two parallel arrays of the same length -- one of keys, and one of\n// the corresponding values. Passing by pairs is the reverse of `_.pairs`.\nexport default function object(list, values) {\n var result = {};\n for (var i = 0, length = getLength(list); i < length; i++) {\n if (values) {\n result[list[i]] = values[i];\n } else {\n result[list[i][0]] = list[i][1];\n }\n }\n return result;\n}\n","// Generate an integer Array containing an arithmetic progression. A port of\n// the native Python `range()` function. See\n// [the Python documentation](https://docs.python.org/library/functions.html#range).\nexport default function range(start, stop, step) {\n if (stop == null) {\n stop = start || 0;\n start = 0;\n }\n if (!step) {\n step = stop < start ? -1 : 1;\n }\n\n var length = Math.max(Math.ceil((stop - start) / step), 0);\n var range = Array(length);\n\n for (var idx = 0; idx < length; idx++, start += step) {\n range[idx] = start;\n }\n\n return range;\n}\n","import { slice } from './_setup.js';\n\n// Chunk a single array into multiple arrays, each containing `count` or fewer\n// items.\nexport default function chunk(array, count) {\n if (count == null || count < 1) return [];\n var result = [];\n var i = 0, length = array.length;\n while (i < length) {\n result.push(slice.call(array, i, i += count));\n }\n return result;\n}\n","import _ from './underscore.js';\n\n// Helper function to continue chaining intermediate results.\nexport default function chainResult(instance, obj) {\n return instance._chain ? _(obj).chain() : obj;\n}\n","import _ from './underscore.js';\nimport each from './each.js';\nimport functions from './functions.js';\nimport { push } from './_setup.js';\nimport chainResult from './_chainResult.js';\n\n// Add your own custom functions to the Underscore object.\nexport default function mixin(obj) {\n each(functions(obj), function(name) {\n var func = _[name] = obj[name];\n _.prototype[name] = function() {\n var args = [this._wrapped];\n push.apply(args, arguments);\n return chainResult(this, func.apply(_, args));\n };\n });\n return _;\n}\n","import _ from './underscore.js';\nimport each from './each.js';\nimport { ArrayProto } from './_setup.js';\nimport chainResult from './_chainResult.js';\n\n// Add all mutator `Array` functions to the wrapper.\neach(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n var obj = this._wrapped;\n if (obj != null) {\n method.apply(obj, arguments);\n if ((name === 'shift' || name === 'splice') && obj.length === 0) {\n delete obj[0];\n }\n }\n return chainResult(this, obj);\n };\n});\n\n// Add all accessor `Array` functions to the wrapper.\neach(['concat', 'join', 'slice'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n var obj = this._wrapped;\n if (obj != null) obj = method.apply(obj, arguments);\n return chainResult(this, obj);\n };\n});\n\nexport default _;\n","// Default Export\n// ==============\n// In this module, we mix our bundled exports into the `_` object and export\n// the result. This is analogous to setting `module.exports = _` in CommonJS.\n// Hence, this module is also the entry point of our UMD bundle and the package\n// entry point for CommonJS and AMD users. In other words, this is (the source\n// of) the module you are interfacing with when you do any of the following:\n//\n// ```js\n// // CommonJS\n// var _ = require('underscore');\n//\n// // AMD\n// define(['underscore'], function(_) {...});\n//\n// // UMD in the browser\n// // _ is available as a global variable\n// ```\nimport * as allExports from './index.js';\nimport { mixin } from './index.js';\n\n// Add all of the Underscore functions to the wrapper object.\nvar _ = mixin(allExports);\n// Legacy Node.js API.\n_._ = _;\n// Export the Underscore API.\nexport default _;\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 = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(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 = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(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 = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"2250\":\"9c98ca37abd9ee1927b3\",\"7996\":\"39e55a09e2da8534cf16\"}[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 = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(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 = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 4577;","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) 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\t4577: 0\n};\n\n__webpack_require__.f.j = function(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(function(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 = function(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 = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(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(function(id) { return 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, [7874], function() { return __webpack_require__(2060); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","updatableNotification","getDefaultNotificationFunction","setDefault","callback","this","hide","$row","_","undefined","each","$","toastify","hideToast","console","error","call","showHtml","html","options","isHTML","timeout","TOAST_PERMANENT_TIMEOUT","toast","showMessage","toastElement","show","text","toString","split","join","escapeHTML","showUpdate","showTemporary","TOAST_DEFAULT_TIMEOUT","isHidden","find","length","ajaxConnectionLostHandler","Notification","t","trailing","enableDynamicSlideToggle","Apps","$el","removeClass","trigger","addClass","method","endpoint","OC","PasswordConfirmation","requiresPasswordConfirmation","type","toUpperCase","url","generateOcsUrl","data","success","requirePasswordConfirmation","bind","appConfig","window","oc_appconfig","AppConfig","getValue","app","key","defaultValue","setValue","value","getApps","getKeys","deleteKey","_oc_appswebroots","methodMap","create","update","patch","delete","read","parsePropFindResult","result","davProperties","subResult","props","href","propStat","status","properties","propKey","id","parseIdFromLocation","queryPos","indexOf","substr","parts","pop","isSuccessStatus","callPropPatch","client","model","headers","propPatch","attrs","changedProp","warn","convertModelAttributesToDavProperties","changed","then","toJSON","Backbone","VendorBackbone","Object","assign","davCall","dav","Client","baseUrl","xmlNamespaces","resolveUrl","requestToken","propFind","depth","response","propsMapping","results","body","shift","callPropFind","request","callMkCol","responseJson","locationHeader","xhr","getResponseHeader","callMethod","davSync","params","isCollection","Collection","hasInnerCollection","usePUT","collection","Error","urlError","JSON","stringify","processData","prototype","textStatus","errorThrown","context","_oc_config","rawUid","document","getElementsByTagName","getAttribute","displayName","currentUser","Dialogs","YES_NO_BUTTONS","OK_BUTTONS","FILEPICKER_TYPE_CHOOSE","FILEPICKER_TYPE_MOVE","FILEPICKER_TYPE_COPY","FILEPICKER_TYPE_COPY_MOVE","FILEPICKER_TYPE_CUSTOM","dialogsCounter","alert","title","modal","message","OK_BUTTON","info","confirm","confirmDestructive","buttons","confirmHtml","prompt","name","password","_getMessageTemplate","$tmpl","dialogName","dialogId","$dlg","octemplate","dialog_name","input","attr","label","append","buttonlist","click","val","ocdialog","defaultButton","closeOnEscape","close","focus","filepicker","_this","multiselect","arguments","mimetype","FilePickerType","Choose","path","legacyCallback","fn","getPath","node","root","startsWith","slice","nodes","map","builder","getFilePickerBuilder","forEach","button","addButton","setButtonFactory","_nodes$","_nodes$2","attributes","basename","target","push","multiSelect","file","CopyMove","Copy","icon","IconCopy","Move","IconMove","setMimeTypeFilter","filter","setFilter","_node$mtime","_node$attributes","_node$attributes2","_node$attributes3","_node$attributes4","_node$attributes5","fileid","mime","mtime","getTime","permissions","etag","hasPreview","mountType","quotaAvailableBytes","sharePermissions","nodeToLegacyFile","allowDirectories","allowDirectoryChooser","includes","setMultiSelect","startAt","build","pick","content","dialogType","allowHtml","escapeFunction","_typeof","cancel","classes","confirmClasses","closeCallback","fail","_fileexistsshown","fileexists","original","replacement","controller","self","dialogDeferred","resampleHermite","canvas","W","H","W2","H2","Math","round","img","getContext","getImageData","img2","data2","ratio_w","ratio_h","ratio_w_half","ceil","ratio_h_half","j","i","x2","weight","weights","weights_alpha","gx_r","gx_g","gx_b","gx_a","center_y","yy","floor","dy","abs","center_x","w0","xx","dx","w","sqrt","clearRect","max","width","height","putImageData","addConflict","$conflicts","$conflict","clone","$originalDiv","$replacementDiv","Util","humanFileSize","size","formatDate","lastModified","directory","urlSpec","x","y","c","forceIcon","previewpath","Files","generatePreviewUrl","replace","css","FileReader","reader","onload","e","blob","Blob","URL","webkitURL","originalUrl","createObjectURL","image","Image","src","createElement","min","drawImage","toDataURL","resolve","readAsArrayBuffer","reject","getCroppedPreview","MimeType","getIconUrl","checkboxId","prop","count","n","parent","children","_getFileExistsTemplate","allnewfiles","allexistingfiles","why","what","onCancel","onContinue","closeButton","remove","$primaryButton","closest","updatePrimaryButton","checkedCount","on","$checkbox","promise","defer","$messageTemplate","filePath","tmpl","jqXHR","$fileexistsTemplate","manageFromDocument","global","emit","token","getToken","setToken","newToken","manageToken","OCEventSource","joinChar","dataStr","typelessListeners","closed","listeners","encodeURIComponent","useFallBack","EventSource","iframeId","iframeCount","fallBackSources","iframe","source","onmessage","parse","listen","fallBackCallBack","done","lastLength","addEventListener","currentMenu","currentMenuToggle","hideMenus","complete","lastMenu","slideUp","apply","isAdmin","_oc_isadmin","load","loadTranslations","register","_unregister","unregister","translate","translatePlural","Handlebars","startSaving","selector","startAction","stop","finishedSaving","finishedAction","finishedSuccess","finishedError","delay","fadeOut","isPasswordConfirmationRequired","rejectCallback","confirmPassword","theme","_theme","_handlers","_pushState","strParams","buildQueryString","history","pushState","location","pathname","navigator","userAgent","toLowerCase","parseInt","pattern","patterns","querySelectorAll","ii","style","fill","stroke","removeAttribute","setAttribute","replaceState","hash","_cancelPop","addOnPopStateHandler","handler","_parseHashQuery","pos","_decodeQuery","query","parseUrlQuery","parseQueryString","search","_onPopState","state","chunkify","tz","charAt","m","History","computerFileSize","string","s","trim","bytes","matches","match","parseFloat","isFinite","b","k","kb","mb","gb","g","tb","pb","p","timestamp","format","TESTING","debug","moment","relativeModifiedDate","diff","fromNow","getScrollBarWidth","_scrollBarWidth","inner","outer","position","top","left","visibility","overflow","appendChild","w1","offsetWidth","w2","clientWidth","removeChild","stripTime","date","Date","getFullYear","getMonth","getDate","naturalSortCompare","a","aa","bb","aNum","Number","bNum","localeCompare","getLanguage","waitFor","interval","internalCallback","setTimeout","isCookieSetToValue","cookies","cookie","_oc_debug","webroot","_oc_webroot","lastIndexOf","coreApps","menuSpeed","PERMISSION_ALL","PERMISSION_CREATE","PERMISSION_DELETE","PERMISSION_NONE","PERMISSION_READ","PERMISSION_SHARE","PERMISSION_UPDATE","TAG_FAVORITE","fileIsBlacklisted","Config","blacklist_files_regex","appswebroots","config","dialogs","getCurrentUser","uid","isUserAdmin","L10N","_ajaxConnectionLostHandler","_processAjaxError","statusText","_reloadCalled","_userIsNavigatingAway","timer","setInterval","clearInterval","reload","registerXHRForErrorProcessing","readyState","getCapabilities","realGetCapabilities","registerMenu","$toggle","$menuEl","toggle","headerMenu","isClickableElement","event","preventDefault","is","slideToggle","showMenu","unregisterMenu","off","encodePath","dirname","isSamePath","joinPaths","getHost","host","getHostName","hostname","getPort","port","getProtocol","protocol","getCanonicalLocale","getLocale","queryString","components","part","decodeURIComponent","msg","Plugins","_plugins","targetName","plugin","plugins","getPlugins","attach","targetObject","detach","generateFilePath","generateUrl","get","namespaces","tail","set","getRootPath","getRootUrl","imagePath","redirect","targetURL","getRequestToken","linkTo","linkToOCS","service","version","ocsVersion","linkToRemote","generateRemoteUrl","linkToRemoteBase","realGetRootUrl","subscribe","singleMatcher","RegExp","multiMatcher","decodeComponents","right","Array","concat","decode","tokens","splitOnFirst","separator","TypeError","separatorIndex","includeKeys","object","predicate","isArray","descriptor","getOwnPropertyDescriptor","enumerable","defineProperty","Reflect","ownKeys","isNullOrUndefined","strictUriEncode","charCodeAt","encodeFragmentIdentifier","Symbol","validateArrayFormatSeparator","encode","strict","encodedURI","replaceMap","exec","entries","keys","customDecodeURIComponent","keysSorter","sort","removeHash","hashStart","parseValue","parseNumbers","isNaN","parseBooleans","extract","queryStart","arrayFormat","arrayFormatSeparator","formatter","accumulator","isEncodedArray","newValue","item","test","arrayValue","flat","parserForArrayFormat","returnValue","parameter","parameter_","key2","value2","reduce","Boolean","shouldFilter","skipNull","skipEmptyString","index","keyValueSep","encoderForArrayFormat","objectCopy","parseUrl","url_","parseFragmentIdentifier","fragmentIdentifier","stringifyUrl","getHash","urlObjectForFragmentEncode","exclude","ArrowRight","NcButton","String","default","valueLoading","loading","required","invertedColors","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","_c","_self","$event","$emit","scopedSlots","_u","staticClass","proxy","_v","_s","LoginButton","NcPasswordField","NcTextField","NcNoteCard","username","redirectUrl","errors","messages","throttleDelay","autoCompleteAllowed","directLogin","_Intl$DateTimeFormat","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","timezoneOffset","getTimezoneOffset","headline","productName","user","computed","isError","invalidPassword","userDisabled","errorLabel","apacheAuthFailed","internalException","loadingIcon","loginActionUrl","mounted","$refs","inputField","methods","updateUsername","submit","ref","_e","_l","class","staticStyle","domProps","shake","emits","fillColor","_b","$attrs","NoValidCredentials","_Error","_inherits","_super","_classCallCheck","_wrapNativeSuper","InformationIcon","LockOpenIcon","isHttps","isLocalhost","hasPublicKeyCredential","validCredentials","authenticate","loginForm","checkValidity","getAuthenticationData","publicKey","sign","completeAuthentication","catch","changeUsername","loginName","base64urlDecode","pad","atob","Axios","post","resp","hasOwnProperty","challenge","Uint8Array","from","allowCredentials","_objectSpread","arrayToBase64String","btoa","fromCharCode","_toConsumableArray","credentials","rawId","authenticatorData","clientDataJSON","signature","userHandle","_ref","defaultRedirectUrl","resetPasswordLink","watch","axios","_regeneratorRuntime","exports","Op","hasOwn","obj","desc","$Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","configurable","writable","err","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","makeInvokeMethod","tryCatch","arg","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","_invoke","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","return","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","doneResult","isGeneratorFunction","genFun","ctor","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","reverse","skipTempReset","prev","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","resetPasswordTarget","encrypted","proceed","_callee","_yield$Axios$post","_context","encryption","t0","args","directives","rawName","expression","composing","_i","$$a","$$el","$$c","checked","$$i","warning","clear","localStorage","sessionStorage","LoginForm","PasswordLessLoginForm","ResetPassword","UpdatePassword","loadState","passwordlessLogin","resetPassword","canResetPassword","resetPasswordUser","direct","hasPasswordless","countAlternativeLogins","alternativeLogins","PublicKeyCredential","hideLoginForm","passwordResetFinished","alternativeLogin","L10n","Vue","mixin","Nextcloud","extend","LoginView","$mount","previousBackbone","VERSION","noConflict","emulateHTTP","emulateJSON","_listening","Events","eventSplitter","eventsApi","iteratee","events","opts","names","_events","onApi","ctx","listening","_listeners","interop","listenTo","_listenId","uniqueId","listeningTo","_listeningTo","Listening","tryCatchOn","handlers","offApi","stopListening","ids","isEmpty","remaining","_callback","cleanup","once","onceMap","listenToOnce","offer","triggerApi","objEvents","allEvents","all","triggerEvents","ev","l","a1","a2","a3","listener","unbind","Model","preinitialize","cid","cidPrefix","defaults","initialize","validationError","idAttribute","sync","escape","has","_validate","unset","silent","changes","changing","_changing","_previousAttributes","current","isEqual","prevId","_pending","hasChanged","changedAttributes","old","previous","previousAttributes","fetch","serverAttrs","wrapError","save","wait","validate","isNew","destroy","base","isValid","models","comparator","_reset","setOptions","add","merge","addOptions","splice","array","at","singular","removed","_removeModels","added","merged","_isModel","toAdd","toMerge","toRemove","modelMap","sortable","sortAttr","isString","existing","_prepareModel","_addReference","orderChanged","some","_removeReference","previousModels","unshift","_byId","modelId","where","first","findWhere","isFunction","sortBy","pluck","callbackOpts","_forwardPristineError","CollectionIterator","ITERATOR_VALUES","ITERATOR_KEYS","ITERATOR_KEYSVALUES","_onModelEvent","$$iterator","kind","_collection","_kind","_index","View","viewOptions","_ensureElement","delegateEventSplitter","tagName","render","_removeElement","setElement","element","undelegateEvents","_setElement","delegateEvents","el","eventName","undelegate","_createElement","className","_setAttributes","addUnderscoreMethods","Class","attribute","cb","defaultVal","addMethod","instance","isObject","modelMatcher","matcher","collect","foldl","inject","reduceRight","foldr","detect","select","every","any","include","contains","toArray","head","take","initial","rest","drop","last","without","difference","shuffle","chain","sample","partition","groupBy","countBy","indexBy","findIndex","findLastIndex","pairs","invert","omit","Base","mappings","functions","memo","dataType","contentType","_method","beforeSend","setRequestHeader","ajax","Router","routes","_bindRoutes","optionalParam","namedParam","splatParam","escapeRegExp","route","isRegExp","_routeToRegExp","router","fragment","_extractParameters","execute","navigate","optional","param","checkUrl","routeStripper","rootStripper","pathStripper","started","atRoot","getSearch","matchRoot","decodeFragment","decodeURI","getFragment","_usePushState","_wantsHashChange","start","_trailingSlash","trailingSlash","hashChange","_hasHashChange","documentMode","_useHashChange","_wantsPushState","_hasPushState","rootPath","display","tabIndex","iWindow","insertBefore","firstChild","contentWindow","open","attachEvent","_checkUrlInterval","loadUrl","removeEventListener","detachEvent","decodedFragment","_updateHash","protoProps","staticProps","child","__super__","factory","___CSS_LOADER_EXPORT___","module","_XML_CHAR_MAP","_escapeXml","ch","userName","namespace","property","parseClarkNotation","_renderPropSet","propName","propValue","mkcol","responseType","xhrProvider","onProgress","upload","send","fulfill","onreadystatechange","resultBody","parseMultiStatus","ontimeout","XMLHttpRequest","_parsePropNode","propNode","childNodes","subNodes","nodeType","textContent","xmlBody","doc","DOMParser","parseFromString","resolver","foo","responseIterator","evaluate","XPathResult","ANY_TYPE","responseNode","iterateNext","stringValue","propStatIterator","propStatNode","propIterator","namespaceURI","localName","baseParts","subString","scheme","propertyName","webpackContext","req","webpackContextResolve","__webpack_require__","o","code","setApp","setUid","C","P","Jt","r","log","pow","toFixed","toLocaleString","N","NONE","CREATE","READ","UPDATE","DELETE","SHARE","ALL","Y","d","nc","oc","ocs","V","_nc_dav_properties","L","_nc_dav_namespaces","or","ur","S","Folder","File","J","X","crtime","owner","Q","NEW","FAILED","LOADING","LOCKED","D","_data","_attributes","_knownDavService","updateMtime","deleteProperty","Proxy","encodedSource","origin","extension","isDavRessource","move","rename","ye","super","ee","te","dr","requesttoken","ar","getDirectoryContents","details","includeSelf","filename","ve","be","lastmod","getcontentlength","O","isExist","u","isEmptyObject","f","isName","getAllMatches","startIndex","lastIndex","nameRegexp","B","re","preserveOrder","attributeNamePrefix","attributesGroupName","textNodeName","ignoreAttributes","removeNSPrefix","allowBooleanAttributes","parseTagValue","parseAttributeValue","trimValues","cdataPropName","numberParseOptions","hex","leadingZeros","eNotation","tagValueProcessor","attributeValueProcessor","stopNodes","alwaysCreateTextNode","commentPropName","unpairedTags","processEntities","htmlEntities","ignoreDeclaration","ignorePiTags","transformTagName","transformAttributeName","updateTag","buildOptions","defaultOptions","ne","ie","Nt","bt","Et","prettify","yt","vt","se","Pt","h","xt","oe","K","E","indentBy","suppressUnpairedNode","suppressEmptyNode","endsWith","suppressBooleanAttributes","entities","regex","Ft","Vt","oneListGroup","isAttribute","attrPrefixLen","Rt","processTextOrObjNode","Lt","indentate","St","tagEndChar","newLine","j2x","buildTextValNode","attrStr","buildObjectNode","repeat","arrayNodeName","buildAttrPairStr","replaceEntitiesValue","closeTag","Function","ArrayProto","ObjProto","SymbolProto","supportsArrayBuffer","ArrayBuffer","supportsDataView","DataView","nativeIsArray","nativeKeys","nativeCreate","nativeIsView","isView","_isNaN","_isFinite","hasEnumBug","propertyIsEnumerable","nonEnumerableProps","MAX_ARRAY_INDEX","restArguments","func","isNull","isUndefined","isBoolean","isElement","tagTester","tag","nodelist","Int8Array","hasStringTagBug","isIE11","Map","isDataView","getInt8","isArrayBuffer","buffer","isArguments","isSymbol","isNumber","constant","createSizePropertyCheck","getSizeProperty","sizeProperty","shallowProperty","typedArrayPattern","collectNonEnumProps","emulatedSet","nonEnumIdx","proto","isMatch","_keys","_wrapped","toBufferView","bufferSource","byteOffset","valueOf","tagDataView","eq","aStack","bStack","deepEq","areArrays","aCtor","bCtor","allKeys","ie11fingerprint","weakMapMethods","forEachName","commonInit","mapTail","mapMethods","setMethods","createAssigner","keysFunc","baseCreate","Ctor","extendOwn","tap","interceptor","toPath","deepGet","identity","optimizeCb","argCount","baseIteratee","Infinity","mapObject","currentKey","noop","propertyOf","times","accum","random","now","createEscaper","escaper","testRegexp","replaceRegexp","templateSettings","interpolate","noMatch","escapes","escapeChar","bareIdentifier","template","settings","oldSettings","offset","argument","variable","fallback","idCounter","prefix","_chain","executeBound","sourceFunc","boundFunc","callingContext","partial","boundArgs","placeholder","bound","callArgs","flatten","output","idx","len","memoize","hasher","cache","address","throttle","later","leading","throttled","_now","clearTimeout","debounce","immediate","passed","debounced","_args","wrapper","negate","compose","after","before","findKey","createPredicateIndexFinder","dir","sortedIndex","low","high","mid","createIndexFinder","predicateFind","createReduce","reducer","list","fromIndex","guard","contextPath","lastComputed","v","reStrSymbol","rand","temp","criteria","group","behavior","pass","keyInObj","compact","otherArrays","uniq","isSorted","seen","arrays","intersection","argsLength","unzip","range","step","chunk","chainResult","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","chunkIds","priority","notFulfilled","fulfilled","getter","__esModule","definition","chunkId","promises","globalThis","script","needAttach","scripts","charset","onScriptComplete","onerror","doneFns","parentNode","nmd","paths","scriptUrl","importScripts","currentScript","baseURI","installedChunks","installedChunkData","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"file":"core-login.js?v=8561c06b2311ccf155d6","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/core/src/OC/notification.js","webpack:///nextcloud/core/src/OC/xhr-error.js","webpack:///nextcloud/core/src/OC/apps.js","webpack:///nextcloud/core/src/OCP/appconfig.js","webpack:///nextcloud/core/src/OC/appconfig.js","webpack:///nextcloud/core/src/OC/appswebroots.js","webpack:///nextcloud/core/src/OC/backbone-webdav.js","webpack:///nextcloud/core/src/OC/backbone.js","webpack:///nextcloud/core/src/OC/config.js","webpack:///nextcloud/core/src/OC/currentuser.js","webpack:///nextcloud/core/src/OC/dialogs.js","webpack:///nextcloud/core/src/OC/requesttoken.js","webpack:///nextcloud/core/src/OC/eventsource.js","webpack:///nextcloud/core/src/OC/menu.js","webpack:///nextcloud/core/src/OC/constants.js","webpack:///nextcloud/core/src/OC/admin.js","webpack:///nextcloud/core/src/OC/l10n.js","webpack:///nextcloud/core/src/OC/routing.js","webpack:///nextcloud/core/src/OC/msg.js","webpack:///nextcloud/core/src/OC/password-confirmation.js","webpack:///nextcloud/core/src/OC/theme.js","webpack:///nextcloud/core/src/OC/util-history.js","webpack:///nextcloud/core/src/OC/util.js","webpack:///nextcloud/core/src/OC/debug.js","webpack:///nextcloud/core/src/OC/webroot.js","webpack:///nextcloud/core/src/OC/get_set.js","webpack:///nextcloud/core/src/OC/index.js","webpack:///nextcloud/core/src/OC/capabilities.js","webpack:///nextcloud/core/src/OC/host.js","webpack:///nextcloud/core/src/OC/query-string.js","webpack:///nextcloud/core/src/OC/plugins.js","webpack:///nextcloud/core/src/OC/navigation.js","webpack://nextcloud/./core/src/views/Login.vue?ae59","webpack:///nextcloud/node_modules/decode-uri-component/index.js","webpack:///nextcloud/node_modules/split-on-first/index.js","webpack:///nextcloud/node_modules/query-string/node_modules/filter-obj/index.js","webpack:///nextcloud/node_modules/query-string/base.js","webpack:///nextcloud/node_modules/query-string/index.js","webpack:///nextcloud/core/src/components/login/LoginButton.vue?vue&type=script&lang=js&","webpack:///nextcloud/core/src/components/login/LoginButton.vue","webpack://nextcloud/./core/src/components/login/LoginButton.vue?b703","webpack://nextcloud/./core/src/components/login/LoginButton.vue?14f0","webpack://nextcloud/./core/src/components/login/LoginButton.vue?82aa","webpack:///nextcloud/core/src/components/login/LoginForm.vue?vue&type=script&lang=js&","webpack:///nextcloud/core/src/components/login/LoginForm.vue","webpack://nextcloud/./core/src/components/login/LoginForm.vue?8908","webpack://nextcloud/./core/src/components/login/LoginForm.vue?a678","webpack://nextcloud/./core/src/components/login/LoginForm.vue?4366","webpack:///nextcloud/node_modules/vue-material-design-icons/LockOpen.vue?vue&type=script&lang=js&","webpack:///nextcloud/node_modules/vue-material-design-icons/LockOpen.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/LockOpen.vue?104d","webpack:///nextcloud/node_modules/vue-material-design-icons/LockOpen.vue?vue&type=template&id=043c34a0&","webpack:///nextcloud/core/src/components/login/PasswordLessLoginForm.vue","webpack:///nextcloud/core/src/components/login/PasswordLessLoginForm.vue?vue&type=script&lang=js&","webpack:///nextcloud/core/src/services/WebAuthnAuthenticationService.js","webpack://nextcloud/./core/src/components/login/PasswordLessLoginForm.vue?57f9","webpack://nextcloud/./core/src/components/login/PasswordLessLoginForm.vue?09eb","webpack://nextcloud/./core/src/components/login/PasswordLessLoginForm.vue?16ec","webpack:///nextcloud/core/src/components/login/ResetPassword.vue?vue&type=script&lang=js&","webpack:///nextcloud/core/src/components/login/ResetPassword.vue","webpack://nextcloud/./core/src/components/login/ResetPassword.vue?8d5c","webpack://nextcloud/./core/src/components/login/ResetPassword.vue?9d75","webpack://nextcloud/./core/src/components/login/ResetPassword.vue?7cf3","webpack:///nextcloud/core/src/components/login/UpdatePassword.vue","webpack:///nextcloud/core/src/components/login/UpdatePassword.vue?vue&type=script&lang=js&","webpack://nextcloud/./core/src/components/login/UpdatePassword.vue?fe78","webpack://nextcloud/./core/src/components/login/UpdatePassword.vue?30ca","webpack://nextcloud/./core/src/components/login/UpdatePassword.vue?1c8f","webpack:///nextcloud/core/src/views/Login.vue","webpack:///nextcloud/core/src/views/Login.vue?vue&type=script&lang=js&","webpack://nextcloud/./core/src/views/Login.vue?5b7f","webpack://nextcloud/./core/src/views/Login.vue?3468","webpack:///nextcloud/core/src/mixins/Nextcloud.js","webpack:///nextcloud/core/src/login.js","webpack:///nextcloud/node_modules/backbone/backbone.js","webpack:///nextcloud/core/src/components/login/LoginButton.vue?vue&type=style&index=0&id=3fa8511b&prod&lang=scss&scoped=true&","webpack:///nextcloud/core/src/components/login/LoginForm.vue?vue&type=style&index=0&id=0fbfcc31&prod&lang=scss&scoped=true&","webpack:///nextcloud/core/src/components/login/PasswordLessLoginForm.vue?vue&type=style&index=0&id=3ea2fa78&prod&lang=scss&scoped=true&","webpack:///nextcloud/core/src/components/login/ResetPassword.vue?vue&type=style&index=0&id=179b3658&prod&lang=scss&scoped=true&","webpack:///nextcloud/core/src/views/Login.vue?vue&type=style&index=0&id=2148d59c&prod&lang=scss&","webpack:///nextcloud/core/src/components/login/UpdatePassword.vue?vue&type=style&index=0&id=b9d4933a&prod&scoped=true&lang=css&","webpack:///nextcloud/node_modules/davclient.js/lib/client.js","webpack:///nextcloud/node_modules/moment/locale|sync|/^\\.\\/.*$","webpack:///nextcloud/node_modules/@nextcloud/files/dist/index.mjs","webpack:///nextcloud/node_modules/underscore/modules/_setup.js","webpack:///nextcloud/node_modules/underscore/modules/restArguments.js","webpack:///nextcloud/node_modules/underscore/modules/isObject.js","webpack:///nextcloud/node_modules/underscore/modules/isNull.js","webpack:///nextcloud/node_modules/underscore/modules/isUndefined.js","webpack:///nextcloud/node_modules/underscore/modules/isBoolean.js","webpack:///nextcloud/node_modules/underscore/modules/isElement.js","webpack:///nextcloud/node_modules/underscore/modules/_tagTester.js","webpack:///nextcloud/node_modules/underscore/modules/isString.js","webpack:///nextcloud/node_modules/underscore/modules/isNumber.js","webpack:///nextcloud/node_modules/underscore/modules/isDate.js","webpack:///nextcloud/node_modules/underscore/modules/isRegExp.js","webpack:///nextcloud/node_modules/underscore/modules/isError.js","webpack:///nextcloud/node_modules/underscore/modules/isSymbol.js","webpack:///nextcloud/node_modules/underscore/modules/isArrayBuffer.js","webpack:///nextcloud/node_modules/underscore/modules/isFunction.js","webpack:///nextcloud/node_modules/underscore/modules/_hasObjectTag.js","webpack:///nextcloud/node_modules/underscore/modules/_stringTagBug.js","webpack:///nextcloud/node_modules/underscore/modules/isDataView.js","webpack:///nextcloud/node_modules/underscore/modules/isArray.js","webpack:///nextcloud/node_modules/underscore/modules/_has.js","webpack:///nextcloud/node_modules/underscore/modules/isArguments.js","webpack:///nextcloud/node_modules/underscore/modules/isFinite.js","webpack:///nextcloud/node_modules/underscore/modules/isNaN.js","webpack:///nextcloud/node_modules/underscore/modules/constant.js","webpack:///nextcloud/node_modules/underscore/modules/_createSizePropertyCheck.js","webpack:///nextcloud/node_modules/underscore/modules/_shallowProperty.js","webpack:///nextcloud/node_modules/underscore/modules/_getByteLength.js","webpack:///nextcloud/node_modules/underscore/modules/_isBufferLike.js","webpack:///nextcloud/node_modules/underscore/modules/isTypedArray.js","webpack:///nextcloud/node_modules/underscore/modules/_getLength.js","webpack:///nextcloud/node_modules/underscore/modules/_collectNonEnumProps.js","webpack:///nextcloud/node_modules/underscore/modules/keys.js","webpack:///nextcloud/node_modules/underscore/modules/isEmpty.js","webpack:///nextcloud/node_modules/underscore/modules/isMatch.js","webpack:///nextcloud/node_modules/underscore/modules/underscore.js","webpack:///nextcloud/node_modules/underscore/modules/_toBufferView.js","webpack:///nextcloud/node_modules/underscore/modules/isEqual.js","webpack:///nextcloud/node_modules/underscore/modules/allKeys.js","webpack:///nextcloud/node_modules/underscore/modules/_methodFingerprint.js","webpack:///nextcloud/node_modules/underscore/modules/isMap.js","webpack:///nextcloud/node_modules/underscore/modules/isWeakMap.js","webpack:///nextcloud/node_modules/underscore/modules/isSet.js","webpack:///nextcloud/node_modules/underscore/modules/isWeakSet.js","webpack:///nextcloud/node_modules/underscore/modules/values.js","webpack:///nextcloud/node_modules/underscore/modules/pairs.js","webpack:///nextcloud/node_modules/underscore/modules/invert.js","webpack:///nextcloud/node_modules/underscore/modules/functions.js","webpack:///nextcloud/node_modules/underscore/modules/_createAssigner.js","webpack:///nextcloud/node_modules/underscore/modules/extend.js","webpack:///nextcloud/node_modules/underscore/modules/extendOwn.js","webpack:///nextcloud/node_modules/underscore/modules/defaults.js","webpack:///nextcloud/node_modules/underscore/modules/_baseCreate.js","webpack:///nextcloud/node_modules/underscore/modules/create.js","webpack:///nextcloud/node_modules/underscore/modules/clone.js","webpack:///nextcloud/node_modules/underscore/modules/tap.js","webpack:///nextcloud/node_modules/underscore/modules/toPath.js","webpack:///nextcloud/node_modules/underscore/modules/_toPath.js","webpack:///nextcloud/node_modules/underscore/modules/_deepGet.js","webpack:///nextcloud/node_modules/underscore/modules/get.js","webpack:///nextcloud/node_modules/underscore/modules/has.js","webpack:///nextcloud/node_modules/underscore/modules/identity.js","webpack:///nextcloud/node_modules/underscore/modules/matcher.js","webpack:///nextcloud/node_modules/underscore/modules/property.js","webpack:///nextcloud/node_modules/underscore/modules/_optimizeCb.js","webpack:///nextcloud/node_modules/underscore/modules/_baseIteratee.js","webpack:///nextcloud/node_modules/underscore/modules/iteratee.js","webpack:///nextcloud/node_modules/underscore/modules/_cb.js","webpack:///nextcloud/node_modules/underscore/modules/mapObject.js","webpack:///nextcloud/node_modules/underscore/modules/noop.js","webpack:///nextcloud/node_modules/underscore/modules/propertyOf.js","webpack:///nextcloud/node_modules/underscore/modules/times.js","webpack:///nextcloud/node_modules/underscore/modules/random.js","webpack:///nextcloud/node_modules/underscore/modules/now.js","webpack:///nextcloud/node_modules/underscore/modules/_createEscaper.js","webpack:///nextcloud/node_modules/underscore/modules/_escapeMap.js","webpack:///nextcloud/node_modules/underscore/modules/escape.js","webpack:///nextcloud/node_modules/underscore/modules/unescape.js","webpack:///nextcloud/node_modules/underscore/modules/_unescapeMap.js","webpack:///nextcloud/node_modules/underscore/modules/templateSettings.js","webpack:///nextcloud/node_modules/underscore/modules/template.js","webpack:///nextcloud/node_modules/underscore/modules/result.js","webpack:///nextcloud/node_modules/underscore/modules/uniqueId.js","webpack:///nextcloud/node_modules/underscore/modules/chain.js","webpack:///nextcloud/node_modules/underscore/modules/_executeBound.js","webpack:///nextcloud/node_modules/underscore/modules/partial.js","webpack:///nextcloud/node_modules/underscore/modules/bind.js","webpack:///nextcloud/node_modules/underscore/modules/_isArrayLike.js","webpack:///nextcloud/node_modules/underscore/modules/_flatten.js","webpack:///nextcloud/node_modules/underscore/modules/bindAll.js","webpack:///nextcloud/node_modules/underscore/modules/memoize.js","webpack:///nextcloud/node_modules/underscore/modules/delay.js","webpack:///nextcloud/node_modules/underscore/modules/defer.js","webpack:///nextcloud/node_modules/underscore/modules/throttle.js","webpack:///nextcloud/node_modules/underscore/modules/debounce.js","webpack:///nextcloud/node_modules/underscore/modules/wrap.js","webpack:///nextcloud/node_modules/underscore/modules/negate.js","webpack:///nextcloud/node_modules/underscore/modules/compose.js","webpack:///nextcloud/node_modules/underscore/modules/after.js","webpack:///nextcloud/node_modules/underscore/modules/before.js","webpack:///nextcloud/node_modules/underscore/modules/once.js","webpack:///nextcloud/node_modules/underscore/modules/findKey.js","webpack:///nextcloud/node_modules/underscore/modules/_createPredicateIndexFinder.js","webpack:///nextcloud/node_modules/underscore/modules/findIndex.js","webpack:///nextcloud/node_modules/underscore/modules/findLastIndex.js","webpack:///nextcloud/node_modules/underscore/modules/sortedIndex.js","webpack:///nextcloud/node_modules/underscore/modules/_createIndexFinder.js","webpack:///nextcloud/node_modules/underscore/modules/indexOf.js","webpack:///nextcloud/node_modules/underscore/modules/lastIndexOf.js","webpack:///nextcloud/node_modules/underscore/modules/find.js","webpack:///nextcloud/node_modules/underscore/modules/findWhere.js","webpack:///nextcloud/node_modules/underscore/modules/each.js","webpack:///nextcloud/node_modules/underscore/modules/map.js","webpack:///nextcloud/node_modules/underscore/modules/_createReduce.js","webpack:///nextcloud/node_modules/underscore/modules/reduce.js","webpack:///nextcloud/node_modules/underscore/modules/reduceRight.js","webpack:///nextcloud/node_modules/underscore/modules/filter.js","webpack:///nextcloud/node_modules/underscore/modules/reject.js","webpack:///nextcloud/node_modules/underscore/modules/every.js","webpack:///nextcloud/node_modules/underscore/modules/some.js","webpack:///nextcloud/node_modules/underscore/modules/contains.js","webpack:///nextcloud/node_modules/underscore/modules/invoke.js","webpack:///nextcloud/node_modules/underscore/modules/pluck.js","webpack:///nextcloud/node_modules/underscore/modules/where.js","webpack:///nextcloud/node_modules/underscore/modules/max.js","webpack:///nextcloud/node_modules/underscore/modules/min.js","webpack:///nextcloud/node_modules/underscore/modules/toArray.js","webpack:///nextcloud/node_modules/underscore/modules/sample.js","webpack:///nextcloud/node_modules/underscore/modules/shuffle.js","webpack:///nextcloud/node_modules/underscore/modules/sortBy.js","webpack:///nextcloud/node_modules/underscore/modules/_group.js","webpack:///nextcloud/node_modules/underscore/modules/groupBy.js","webpack:///nextcloud/node_modules/underscore/modules/indexBy.js","webpack:///nextcloud/node_modules/underscore/modules/countBy.js","webpack:///nextcloud/node_modules/underscore/modules/partition.js","webpack:///nextcloud/node_modules/underscore/modules/size.js","webpack:///nextcloud/node_modules/underscore/modules/_keyInObj.js","webpack:///nextcloud/node_modules/underscore/modules/pick.js","webpack:///nextcloud/node_modules/underscore/modules/omit.js","webpack:///nextcloud/node_modules/underscore/modules/initial.js","webpack:///nextcloud/node_modules/underscore/modules/first.js","webpack:///nextcloud/node_modules/underscore/modules/rest.js","webpack:///nextcloud/node_modules/underscore/modules/last.js","webpack:///nextcloud/node_modules/underscore/modules/compact.js","webpack:///nextcloud/node_modules/underscore/modules/flatten.js","webpack:///nextcloud/node_modules/underscore/modules/difference.js","webpack:///nextcloud/node_modules/underscore/modules/without.js","webpack:///nextcloud/node_modules/underscore/modules/uniq.js","webpack:///nextcloud/node_modules/underscore/modules/union.js","webpack:///nextcloud/node_modules/underscore/modules/intersection.js","webpack:///nextcloud/node_modules/underscore/modules/unzip.js","webpack:///nextcloud/node_modules/underscore/modules/zip.js","webpack:///nextcloud/node_modules/underscore/modules/object.js","webpack:///nextcloud/node_modules/underscore/modules/range.js","webpack:///nextcloud/node_modules/underscore/modules/chunk.js","webpack:///nextcloud/node_modules/underscore/modules/_chainResult.js","webpack:///nextcloud/node_modules/underscore/modules/mixin.js","webpack:///nextcloud/node_modules/underscore/modules/underscore-array-methods.js","webpack:///nextcloud/node_modules/underscore/modules/index-default.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 = function(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(function(key) { return __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 = function(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 = function(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(function(fn) { return 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 * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Daniel Calviño Sánchez <danxuliu@gmail.com>\n * @author Joas Schilling <coding@schilljs.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author npmbuildbot[bot] \"npmbuildbot[bot]@users.noreply.github.com\"\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport _ from 'underscore'\n/** @typedef {import('jquery')} jQuery */\nimport $ from 'jquery'\nimport { showMessage, TOAST_DEFAULT_TIMEOUT, TOAST_PERMANENT_TIMEOUT } from '@nextcloud/dialogs'\n\n/**\n * @todo Write documentation\n * @deprecated 17.0.0 use the `@nextcloud/dialogs` package instead\n * @namespace OC.Notification\n */\nexport default {\n\n\tupdatableNotification: null,\n\n\tgetDefaultNotificationFunction: null,\n\n\t/**\n\t * @param {Function} callback callback function\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tsetDefault(callback) {\n\t\tthis.getDefaultNotificationFunction = callback\n\t},\n\n\t/**\n\t * Hides a notification.\n\t *\n\t * If a row is given, only hide that one.\n\t * If no row is given, hide all notifications.\n\t *\n\t * @param {jQuery} [$row] notification row\n\t * @param {Function} [callback] callback\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\thide($row, callback) {\n\t\tif (_.isFunction($row)) {\n\t\t\t// first arg is the callback\n\t\t\tcallback = $row\n\t\t\t$row = undefined\n\t\t}\n\n\t\tif (!$row) {\n\t\t\tconsole.error('Missing argument $row in OC.Notification.hide() call, caller needs to be adjusted to only dismiss its own notification')\n\t\t\treturn\n\t\t}\n\n\t\t// remove the row directly\n\t\t$row.each(function() {\n\t\t\tif ($(this)[0].toastify) {\n\t\t\t\t$(this)[0].toastify.hideToast()\n\t\t\t} else {\n\t\t\t\tconsole.error('cannot hide toast because object is not set')\n\t\t\t}\n\t\t\tif (this === this.updatableNotification) {\n\t\t\t\tthis.updatableNotification = null\n\t\t\t}\n\t\t})\n\t\tif (callback) {\n\t\t\tcallback.call()\n\t\t}\n\t\tif (this.getDefaultNotificationFunction) {\n\t\t\tthis.getDefaultNotificationFunction()\n\t\t}\n\t},\n\n\t/**\n\t * Shows a notification as HTML without being sanitized before.\n\t * If you pass unsanitized user input this may lead to a XSS vulnerability.\n\t * Consider using show() instead of showHTML()\n\t *\n\t * @param {string} html Message to display\n\t * @param {object} [options] options\n\t * @param {string} [options.type] notification type\n\t * @param {number} [options.timeout=0] timeout value, defaults to 0 (permanent)\n\t * @return {jQuery} jQuery element for notification row\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tshowHtml(html, options) {\n\t\toptions = options || {}\n\t\toptions.isHTML = true\n\t\toptions.timeout = (!options.timeout) ? TOAST_PERMANENT_TIMEOUT : options.timeout\n\t\tconst toast = showMessage(html, options)\n\t\ttoast.toastElement.toastify = toast\n\t\treturn $(toast.toastElement)\n\t},\n\n\t/**\n\t * Shows a sanitized notification\n\t *\n\t * @param {string} text Message to display\n\t * @param {object} [options] options\n\t * @param {string} [options.type] notification type\n\t * @param {number} [options.timeout=0] timeout value, defaults to 0 (permanent)\n\t * @return {jQuery} jQuery element for notification row\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tshow(text, options) {\n\t\tconst escapeHTML = function(text) {\n\t\t\treturn text.toString()\n\t\t\t\t.split('&').join('&')\n\t\t\t\t.split('<').join('<')\n\t\t\t\t.split('>').join('>')\n\t\t\t\t.split('\"').join('"')\n\t\t\t\t.split('\\'').join(''')\n\t\t}\n\n\t\toptions = options || {}\n\t\toptions.timeout = (!options.timeout) ? TOAST_PERMANENT_TIMEOUT : options.timeout\n\t\tconst toast = showMessage(escapeHTML(text), options)\n\t\ttoast.toastElement.toastify = toast\n\t\treturn $(toast.toastElement)\n\t},\n\n\t/**\n\t * Updates (replaces) a sanitized notification.\n\t *\n\t * @param {string} text Message to display\n\t * @return {jQuery} JQuery element for notificaiton row\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tshowUpdate(text) {\n\t\tif (this.updatableNotification) {\n\t\t\tthis.updatableNotification.hideToast()\n\t\t}\n\t\tthis.updatableNotification = showMessage(text, { timeout: TOAST_PERMANENT_TIMEOUT })\n\t\tthis.updatableNotification.toastElement.toastify = this.updatableNotification\n\t\treturn $(this.updatableNotification.toastElement)\n\t},\n\n\t/**\n\t * Shows a notification that disappears after x seconds, default is\n\t * 7 seconds\n\t *\n\t * @param {string} text Message to show\n\t * @param {Array} [options] options array\n\t * @param {number} [options.timeout=7] timeout in seconds, if this is 0 it will show the message permanently\n\t * @param {boolean} [options.isHTML=false] an indicator for HTML notifications (true) or text (false)\n\t * @param {string} [options.type] notification type\n\t * @return {JQuery} the toast element\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tshowTemporary(text, options) {\n\t\toptions = options || {}\n\t\toptions.timeout = options.timeout || TOAST_DEFAULT_TIMEOUT\n\t\tconst toast = showMessage(text, options)\n\t\ttoast.toastElement.toastify = toast\n\t\treturn $(toast.toastElement)\n\t},\n\n\t/**\n\t * Returns whether a notification is hidden.\n\t *\n\t * @return {boolean}\n\t * @deprecated 17.0.0 use the `@nextcloud/dialogs` package\n\t */\n\tisHidden() {\n\t\treturn !$('#content').find('.toastify').length\n\t},\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport _ from 'underscore'\nimport $ from 'jquery'\n\nimport OC from './index.js'\nimport Notification from './notification.js'\n\n/**\n * Warn users that the connection to the server was lost temporarily\n *\n * This function is throttled to prevent stacked notfications.\n * After 7sec the first notification is gone, then we can show another one\n * if necessary.\n */\nexport const ajaxConnectionLostHandler = _.throttle(() => {\n\tNotification.showTemporary(t('core', 'Connection to server lost'))\n}, 7 * 1000, { trailing: false })\n\n/**\n * Process ajax error, redirects to main page\n * if an error/auth error status was returned.\n *\n * @param {XMLHttpRequest} xhr xhr request\n */\nexport const processAjaxError = xhr => {\n\t// purposefully aborted request ?\n\t// OC._userIsNavigatingAway needed to distinguish ajax calls cancelled by navigating away\n\t// from calls cancelled by failed cross-domain ajax due to SSO redirect\n\tif (xhr.status === 0 && (xhr.statusText === 'abort' || xhr.statusText === 'timeout' || OC._reloadCalled)) {\n\t\treturn\n\t}\n\n\tif (_.contains([302, 303, 307, 401], xhr.status) && OC.currentUser) {\n\t\t// sometimes \"beforeunload\" happens later, so need to defer the reload a bit\n\t\tsetTimeout(function() {\n\t\t\tif (!OC._userIsNavigatingAway && !OC._reloadCalled) {\n\t\t\t\tlet timer = 0\n\t\t\t\tconst seconds = 5\n\t\t\t\tconst interval = setInterval(function() {\n\t\t\t\t\tNotification.showUpdate(n('core', 'Problem loading page, reloading in %n second', 'Problem loading page, reloading in %n seconds', seconds - timer))\n\t\t\t\t\tif (timer >= seconds) {\n\t\t\t\t\t\tclearInterval(interval)\n\t\t\t\t\t\tOC.reload()\n\t\t\t\t\t}\n\t\t\t\t\ttimer++\n\t\t\t\t}, 1000 // 1 second interval\n\t\t\t\t)\n\n\t\t\t\t// only call reload once\n\t\t\t\tOC._reloadCalled = true\n\t\t\t}\n\t\t}, 100)\n\t} else if (xhr.status === 0) {\n\t\t// Connection lost (e.g. WiFi disconnected or server is down)\n\t\tsetTimeout(function() {\n\t\t\tif (!OC._userIsNavigatingAway && !OC._reloadCalled) {\n\t\t\t\t// TODO: call method above directly\n\t\t\t\tOC._ajaxConnectionLostHandler()\n\t\t\t}\n\t\t}, 100)\n\t}\n}\n\n/**\n * Registers XmlHttpRequest object for global error processing.\n *\n * This means that if this XHR object returns 401 or session timeout errors,\n * the current page will automatically be reloaded.\n *\n * @param {XMLHttpRequest} xhr xhr request\n */\nexport const registerXHRForErrorProcessing = xhr => {\n\tconst loadCallback = () => {\n\t\tif (xhr.readyState !== 4) {\n\t\t\treturn\n\t\t}\n\n\t\tif ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304) {\n\t\t\treturn\n\t\t}\n\n\t\t// fire jquery global ajax error handler\n\t\t$(document).trigger(new $.Event('ajaxError'), xhr)\n\t}\n\n\tconst errorCallback = () => {\n\t\t// fire jquery global ajax error handler\n\t\t$(document).trigger(new $.Event('ajaxError'), xhr)\n\t}\n\n\tif (xhr.addEventListener) {\n\t\txhr.addEventListener('load', loadCallback)\n\t\txhr.addEventListener('error', errorCallback)\n\t}\n\n}\n","/**\n * @copyright Bernhard Posselt 2014\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport $ from 'jquery'\n\nlet dynamicSlideToggleEnabled = false\n\nconst Apps = {\n\tenableDynamicSlideToggle() {\n\t\tdynamicSlideToggleEnabled = true\n\t},\n}\n\n/**\n * Shows the #app-sidebar and add .with-app-sidebar to subsequent siblings\n *\n * @param {object} [$el] sidebar element to show, defaults to $('#app-sidebar')\n */\nApps.showAppSidebar = function($el) {\n\tconst $appSidebar = $el || $('#app-sidebar')\n\t$appSidebar.removeClass('disappear').show()\n\t$('#app-content').trigger(new $.Event('appresized'))\n}\n\n/**\n * Shows the #app-sidebar and removes .with-app-sidebar from subsequent\n * siblings\n *\n * @param {object} [$el] sidebar element to hide, defaults to $('#app-sidebar')\n */\nApps.hideAppSidebar = function($el) {\n\tconst $appSidebar = $el || $('#app-sidebar')\n\t$appSidebar.hide().addClass('disappear')\n\t$('#app-content').trigger(new $.Event('appresized'))\n}\n\n/**\n * Provides a way to slide down a target area through a button and slide it\n * up if the user clicks somewhere else. Used for the news app settings and\n * add new field.\n *\n * Usage:\n * <button data-apps-slide-toggle=\".slide-area\">slide</button>\n * <div class=\".slide-area\" class=\"hidden\">I'm sliding up</div>\n */\nexport const registerAppsSlideToggle = () => {\n\tlet buttons = $('[data-apps-slide-toggle]')\n\n\tif (buttons.length === 0) {\n\t\t$('#app-navigation').addClass('without-app-settings')\n\t}\n\n\t$(document).click(function(event) {\n\n\t\tif (dynamicSlideToggleEnabled) {\n\t\t\tbuttons = $('[data-apps-slide-toggle]')\n\t\t}\n\n\t\tbuttons.each(function(index, button) {\n\n\t\t\tconst areaSelector = $(button).data('apps-slide-toggle')\n\t\t\tconst area = $(areaSelector)\n\n\t\t\t/**\n\t\t\t *\n\t\t\t */\n\t\t\tfunction hideArea() {\n\t\t\t\tarea.slideUp(OC.menuSpeed * 4, function() {\n\t\t\t\t\tarea.trigger(new $.Event('hide'))\n\t\t\t\t})\n\t\t\t\tarea.removeClass('opened')\n\t\t\t\t$(button).removeClass('opened')\n\t\t\t\t$(button).attr('aria-expanded', 'false')\n\t\t\t}\n\n\t\t\t/**\n\t\t\t *\n\t\t\t */\n\t\t\tfunction showArea() {\n\t\t\t\tarea.slideDown(OC.menuSpeed * 4, function() {\n\t\t\t\t\tarea.trigger(new $.Event('show'))\n\t\t\t\t})\n\t\t\t\tarea.addClass('opened')\n\t\t\t\t$(button).addClass('opened')\n\t\t\t\t$(button).attr('aria-expanded', 'true')\n\t\t\t\tconst input = $(areaSelector + ' [autofocus]')\n\t\t\t\tif (input.length === 1) {\n\t\t\t\t\tinput.focus()\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// do nothing if the area is animated\n\t\t\tif (!area.is(':animated')) {\n\n\t\t\t\t// button toggles the area\n\t\t\t\tif ($(button).is($(event.target).closest('[data-apps-slide-toggle]'))) {\n\t\t\t\t\tif (area.is(':visible')) {\n\t\t\t\t\t\thideArea()\n\t\t\t\t\t} else {\n\t\t\t\t\t\tshowArea()\n\t\t\t\t\t}\n\n\t\t\t\t\t// all other areas that have not been clicked but are open\n\t\t\t\t\t// should be slid up\n\t\t\t\t} else {\n\t\t\t\t\tconst closest = $(event.target).closest(areaSelector)\n\t\t\t\t\tif (area.is(':visible') && closest[0] !== area[0]) {\n\t\t\t\t\t\thideArea()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t})\n}\n\nexport default Apps\n","/**\n * @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport $ from 'jquery'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nimport OC from '../OC/index.js'\n\n/**\n * @param {string} method 'post' or 'delete'\n * @param {string} endpoint endpoint\n * @param {object} [options] destructuring object\n * @param {object} [options.data] option data\n * @param {Function} [options.success] success callback\n * @param {Function} [options.error] error callback\n */\nfunction call(method, endpoint, options) {\n\tif ((method === 'post' || method === 'delete') && OC.PasswordConfirmation.requiresPasswordConfirmation()) {\n\t\tOC.PasswordConfirmation.requirePasswordConfirmation(_.bind(call, this, method, endpoint, options))\n\t\treturn\n\t}\n\n\toptions = options || {}\n\t$.ajax({\n\t\ttype: method.toUpperCase(),\n\t\turl: generateOcsUrl('apps/provisioning_api/api/v1/config/apps') + endpoint,\n\t\tdata: options.data || {},\n\t\tsuccess: options.success,\n\t\terror: options.error,\n\t})\n}\n\n/**\n * @param {object} [options] destructuring object\n * @param {Function} [options.success] success callback\n * @since 11.0.0\n */\nexport function getApps(options) {\n\tcall('get', '', options)\n}\n\n/**\n * @param {string} app app id\n * @param {object} [options] destructuring object\n * @param {Function} [options.success] success callback\n * @param {Function} [options.error] error callback\n * @since 11.0.0\n */\nexport function getKeys(app, options) {\n\tcall('get', '/' + app, options)\n}\n\n/**\n * @param {string} app app id\n * @param {string} key key\n * @param {string | Function} defaultValue default value\n * @param {object} [options] destructuring object\n * @param {Function} [options.success] success callback\n * @param {Function} [options.error] error callback\n * @since 11.0.0\n */\nexport function getValue(app, key, defaultValue, options) {\n\toptions = options || {}\n\toptions.data = {\n\t\tdefaultValue,\n\t}\n\n\tcall('get', '/' + app + '/' + key, options)\n}\n\n/**\n * @param {string} app app id\n * @param {string} key key\n * @param {string} value value\n * @param {object} [options] destructuring object\n * @param {Function} [options.success] success callback\n * @param {Function} [options.error] error callback\n * @since 11.0.0\n */\nexport function setValue(app, key, value, options) {\n\toptions = options || {}\n\toptions.data = {\n\t\tvalue,\n\t}\n\n\tcall('post', '/' + app + '/' + key, options)\n}\n\n/**\n * @param {string} app app id\n * @param {string} key key\n * @param {object} [options] destructuring object\n * @param {Function} [options.success] success callback\n * @param {Function} [options.error] error callback\n * @since 11.0.0\n */\nexport function deleteKey(app, key, options) {\n\tcall('delete', '/' + app + '/' + key, options)\n}\n","/**\n * @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Joas Schilling <coding@schilljs.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Jörn Friedrich Dreyer <jfd@butonic.de>\n * @author Robin Appelman <robin@icewind.nl>\n * @author Vincent Petry <vincent@nextcloud.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* eslint-disable */\n import { getValue, setValue, getApps, getKeys, deleteKey } from '../OCP/appconfig.js'\n\nexport const appConfig = window.oc_appconfig || {}\n\n/**\n * @namespace\n * @deprecated 16.0.0 Use OCP.AppConfig instead\n */\nexport const AppConfig = {\n\t/**\n\t * @deprecated Use OCP.AppConfig.getValue() instead\n\t */\n\tgetValue: function(app, key, defaultValue, callback) {\n\t\tgetValue(app, key, defaultValue, {\n\t\t\tsuccess: callback\n\t\t})\n\t},\n\n\t/**\n\t * @deprecated Use OCP.AppConfig.setValue() instead\n\t */\n\tsetValue: function(app, key, value) {\n\t\tsetValue(app, key, value)\n\t},\n\n\t/**\n\t * @deprecated Use OCP.AppConfig.getApps() instead\n\t */\n\tgetApps: function(callback) {\n\t\tgetApps({\n\t\t\tsuccess: callback\n\t\t})\n\t},\n\n\t/**\n\t * @deprecated Use OCP.AppConfig.getKeys() instead\n\t */\n\tgetKeys: function(app, callback) {\n\t\tgetKeys(app, {\n\t\t\tsuccess: callback\n\t\t})\n\t},\n\n\t/**\n\t * @deprecated Use OCP.AppConfig.deleteKey() instead\n\t */\n\tdeleteKey: function(app, key) {\n\t\tdeleteKey(app, key)\n\t}\n\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst appswebroots = (window._oc_appswebroots !== undefined) ? window._oc_appswebroots : false\n\nexport default appswebroots\n","/**\n * Copyright (c) 2015\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* eslint-disable */\nimport _ from 'underscore'\nimport { dav } from 'davclient.js'\n\nconst methodMap = {\n\tcreate: 'POST',\n\tupdate: 'PROPPATCH',\n\tpatch: 'PROPPATCH',\n\tdelete: 'DELETE',\n\tread: 'PROPFIND'\n}\n\n// Throw an error when a URL is needed, and none is supplied.\nfunction urlError() {\n\tthrow new Error('A \"url\" property or function must be specified')\n}\n\n/**\n * Convert a single propfind result to JSON\n *\n * @param {Object} result\n * @param {Object} davProperties properties mapping\n */\nfunction parsePropFindResult(result, davProperties) {\n\tif (_.isArray(result)) {\n\t\treturn _.map(result, function(subResult) {\n\t\t\treturn parsePropFindResult(subResult, davProperties)\n\t\t})\n\t}\n\tvar props = {\n\t\thref: result.href\n\t}\n\n\t_.each(result.propStat, function(propStat) {\n\t\tif (propStat.status !== 'HTTP/1.1 200 OK') {\n\t\t\treturn\n\t\t}\n\n\t\tfor (var key in propStat.properties) {\n\t\t\tvar propKey = key\n\t\t\tif (key in davProperties) {\n\t\t\t\tpropKey = davProperties[key]\n\t\t\t}\n\t\t\tprops[propKey] = propStat.properties[key]\n\t\t}\n\t})\n\n\tif (!props.id) {\n\t\t// parse id from href\n\t\tprops.id = parseIdFromLocation(props.href)\n\t}\n\n\treturn props\n}\n\n/**\n * Parse ID from location\n *\n * @param {string} url url\n * @returns {string} id\n */\nfunction parseIdFromLocation(url) {\n\tvar queryPos = url.indexOf('?')\n\tif (queryPos > 0) {\n\t\turl = url.substr(0, queryPos)\n\t}\n\n\tvar parts = url.split('/')\n\tvar result\n\tdo {\n\t\tresult = parts[parts.length - 1]\n\t\tparts.pop()\n\t\t// note: first result can be empty when there is a trailing slash,\n\t\t// so we take the part before that\n\t} while (!result && parts.length > 0)\n\n\treturn result\n}\n\nfunction isSuccessStatus(status) {\n\treturn status >= 200 && status <= 299\n}\n\nfunction convertModelAttributesToDavProperties(attrs, davProperties) {\n\tvar props = {}\n\tvar key\n\tfor (key in attrs) {\n\t\tvar changedProp = davProperties[key]\n\t\tvar value = attrs[key]\n\t\tif (!changedProp) {\n\t\t\tconsole.warn('No matching DAV property for property \"' + key)\n\t\t\tchangedProp = key\n\t\t}\n\t\tif (_.isBoolean(value) || _.isNumber(value)) {\n\t\t\t// convert to string\n\t\t\tvalue = '' + value\n\t\t}\n\t\tprops[changedProp] = value\n\t}\n\treturn props\n}\n\nfunction callPropFind(client, options, model, headers) {\n\treturn client.propFind(\n\t\toptions.url,\n\t\t_.values(options.davProperties) || [],\n\t\toptions.depth,\n\t\theaders\n\t).then(function(response) {\n\t\tif (isSuccessStatus(response.status)) {\n\t\t\tif (_.isFunction(options.success)) {\n\t\t\t\tvar propsMapping = _.invert(options.davProperties)\n\t\t\t\tvar results = parsePropFindResult(response.body, propsMapping)\n\t\t\t\tif (options.depth > 0) {\n\t\t\t\t\t// discard root entry\n\t\t\t\t\tresults.shift()\n\t\t\t\t}\n\n\t\t\t\toptions.success(results)\n\n\t\t\t}\n\t\t} else if (_.isFunction(options.error)) {\n\t\t\toptions.error(response)\n\t\t}\n\t})\n}\n\nfunction callPropPatch(client, options, model, headers) {\n\treturn client.propPatch(\n\t\toptions.url,\n\t\tconvertModelAttributesToDavProperties(model.changed, options.davProperties),\n\t\theaders\n\t).then(function(result) {\n\t\tif (isSuccessStatus(result.status)) {\n\t\t\tif (_.isFunction(options.success)) {\n\t\t\t\t// pass the object's own values because the server\n\t\t\t\t// does not return the updated model\n\t\t\t\toptions.success(model.toJSON())\n\t\t\t}\n\t\t} else if (_.isFunction(options.error)) {\n\t\t\toptions.error(result)\n\t\t}\n\t})\n\n}\n\nfunction callMkCol(client, options, model, headers) {\n\t// call MKCOL without data, followed by PROPPATCH\n\treturn client.request(\n\t\toptions.type,\n\t\toptions.url,\n\t\theaders,\n\t\tnull\n\t).then(function(result) {\n\t\tif (!isSuccessStatus(result.status)) {\n\t\t\tif (_.isFunction(options.error)) {\n\t\t\t\toptions.error(result)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\tcallPropPatch(client, options, model, headers)\n\t})\n}\n\nfunction callMethod(client, options, model, headers) {\n\theaders['Content-Type'] = 'application/json'\n\treturn client.request(\n\t\toptions.type,\n\t\toptions.url,\n\t\theaders,\n\t\toptions.data\n\t).then(function(result) {\n\t\tif (!isSuccessStatus(result.status)) {\n\t\t\tif (_.isFunction(options.error)) {\n\t\t\t\toptions.error(result)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\tif (_.isFunction(options.success)) {\n\t\t\tif (options.type === 'PUT' || options.type === 'POST' || options.type === 'MKCOL') {\n\t\t\t\t// pass the object's own values because the server\n\t\t\t\t// does not return anything\n\t\t\t\tvar responseJson = result.body || model.toJSON()\n\t\t\t\tvar locationHeader = result.xhr.getResponseHeader('Content-Location')\n\t\t\t\tif (options.type === 'POST' && locationHeader) {\n\t\t\t\t\tresponseJson.id = parseIdFromLocation(locationHeader)\n\t\t\t\t}\n\t\t\t\toptions.success(responseJson)\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// if multi-status, parse\n\t\t\tif (result.status === 207) {\n\t\t\t\tvar propsMapping = _.invert(options.davProperties)\n\t\t\t\toptions.success(parsePropFindResult(result.body, propsMapping))\n\t\t\t} else {\n\t\t\t\toptions.success(result.body)\n\t\t\t}\n\t\t}\n\t})\n}\n\nexport const davCall = (options, model) => {\n\tvar client = new dav.Client({\n\t\tbaseUrl: options.url,\n\t\txmlNamespaces: _.extend({\n\t\t\t'DAV:': 'd',\n\t\t\t'http://owncloud.org/ns': 'oc'\n\t\t}, options.xmlNamespaces || {})\n\t})\n\tclient.resolveUrl = function() {\n\t\treturn options.url\n\t}\n\tvar headers = _.extend({\n\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t'requesttoken': OC.requestToken\n\t}, options.headers)\n\tif (options.type === 'PROPFIND') {\n\t\treturn callPropFind(client, options, model, headers)\n\t} else if (options.type === 'PROPPATCH') {\n\t\treturn callPropPatch(client, options, model, headers)\n\t} else if (options.type === 'MKCOL') {\n\t\treturn callMkCol(client, options, model, headers)\n\t} else {\n\t\treturn callMethod(client, options, model, headers)\n\t}\n}\n\n/**\n * DAV transport\n */\nexport const davSync = Backbone => (method, model, options) => {\n\tvar params = { type: methodMap[method] || method }\n\tvar isCollection = (model instanceof Backbone.Collection)\n\n\tif (method === 'update') {\n\t\t// if a model has an inner collection, it must define an\n\t\t// attribute \"hasInnerCollection\" that evaluates to true\n\t\tif (model.hasInnerCollection) {\n\t\t\t// if the model itself is a Webdav collection, use MKCOL\n\t\t\tparams.type = 'MKCOL'\n\t\t} else if (model.usePUT || (model.collection && model.collection.usePUT)) {\n\t\t\t// use PUT instead of PROPPATCH\n\t\t\tparams.type = 'PUT'\n\t\t}\n\t}\n\n\t// Ensure that we have a URL.\n\tif (!options.url) {\n\t\tparams.url = _.result(model, 'url') || urlError()\n\t}\n\n\t// Ensure that we have the appropriate request data.\n\tif (options.data == null && model && (method === 'create' || method === 'update' || method === 'patch')) {\n\t\tparams.data = JSON.stringify(options.attrs || model.toJSON(options))\n\t}\n\n\t// Don't process data on a non-GET request.\n\tif (params.type !== 'PROPFIND') {\n\t\tparams.processData = false\n\t}\n\n\tif (params.type === 'PROPFIND' || params.type === 'PROPPATCH') {\n\t\tvar davProperties = model.davProperties\n\t\tif (!davProperties && model.model) {\n\t\t\t// use dav properties from model in case of collection\n\t\t\tdavProperties = model.model.prototype.davProperties\n\t\t}\n\t\tif (davProperties) {\n\t\t\tif (_.isFunction(davProperties)) {\n\t\t\t\tparams.davProperties = davProperties.call(model)\n\t\t\t} else {\n\t\t\t\tparams.davProperties = davProperties\n\t\t\t}\n\t\t}\n\n\t\tparams.davProperties = _.extend(params.davProperties || {}, options.davProperties)\n\n\t\tif (_.isUndefined(options.depth)) {\n\t\t\tif (isCollection) {\n\t\t\t\toptions.depth = 1\n\t\t\t} else {\n\t\t\t\toptions.depth = 0\n\t\t\t}\n\t\t}\n\t}\n\n\t// Pass along `textStatus` and `errorThrown` from jQuery.\n\tvar error = options.error\n\toptions.error = function(xhr, textStatus, errorThrown) {\n\t\toptions.textStatus = textStatus\n\t\toptions.errorThrown = errorThrown\n\t\tif (error) {\n\t\t\terror.call(options.context, xhr, textStatus, errorThrown)\n\t\t}\n\t}\n\n\t// Make the request, allowing the user to override any Ajax options.\n\tvar xhr = options.xhr = Backbone.davCall(_.extend(params, options), model)\n\tmodel.trigger('request', model, xhr, options)\n\treturn xhr\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport VendorBackbone from 'backbone'\nimport { davCall, davSync } from './backbone-webdav.js'\n\nconst Backbone = VendorBackbone.noConflict()\n\n// Patch Backbone for DAV\nObject.assign(Backbone, {\n\tdavCall,\n\tdavSync: davSync(Backbone),\n})\n\nexport default Backbone\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst config = window._oc_config || {}\n\nexport default config\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Joas Schilling <coding@schilljs.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst rawUid = document\n\t.getElementsByTagName('head')[0]\n\t.getAttribute('data-user')\nconst displayName = document\n\t.getElementsByTagName('head')[0]\n\t.getAttribute('data-user-displayname')\n\nexport const currentUser = rawUid !== undefined ? rawUid : false\n\nexport const getCurrentUser = () => {\n\treturn {\n\t\tuid: currentUser,\n\t\tdisplayName,\n\t}\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n * @copyright Copyright (c) 2019 Gary Kim <gary@garykim.dev>\n *\n * @author Bartek Przybylski <bart.p.pl@gmail.com>\n * @author Christopher Schäpers <kondou@ts.unde.re>\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Daniel Calviño Sánchez <danxuliu@gmail.com>\n * @author Daniel Kesselberg <mail@danielkesselberg.de>\n * @author Florian Schunk <florian.schunk@rwth-aachen.de>\n * @author Gary Kim <gary@garykim.dev>\n * @author Hendrik Leppelsack <hendrik@leppelsack.de>\n * @author Jan-Christoph Borchardt <hey@jancborchardt.net>\n * @author Joas Schilling <coding@schilljs.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Jörn Friedrich Dreyer <jfd@butonic.de>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Loïc Hermann <loic.hermann@sciam.fr>\n * @author Morris Jobke <hey@morrisjobke.de>\n * @author Olivier Paroz <github@oparoz.com>\n * @author Robin Appelman <robin@icewind.nl>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n * @author Sujith Haridasan <Sujith_Haridasan@mentor.com>\n * @author Thomas Citharel <nextcloud@tcit.fr>\n * @author Thomas Müller <thomas.mueller@tmit.eu>\n * @author Thomas Tanghus <thomas@tanghus.net>\n * @author Vincent Petry <vincent@nextcloud.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* eslint-disable */\nimport _ from 'underscore'\nimport $ from 'jquery'\n\nimport IconMove from '@mdi/svg/svg/folder-move.svg?raw'\nimport IconCopy from '@mdi/svg/svg/folder-multiple.svg?raw'\n\nimport OC from './index.js'\nimport { FilePickerType, getFilePickerBuilder } from '@nextcloud/dialogs'\nimport { basename } from 'path'\n\n/**\n * this class to ease the usage of jquery dialogs\n */\nconst Dialogs = {\n\t// dialog button types\n\tYES_NO_BUTTONS: 70,\n\tOK_BUTTONS: 71,\n\n\t/** @deprecated use FilePickerType from `@nextcloud/dialogs` */\n\tFILEPICKER_TYPE_CHOOSE: 1,\n\t/** @deprecated use FilePickerType from `@nextcloud/dialogs` */\n\tFILEPICKER_TYPE_MOVE: 2,\n\t/** @deprecated use FilePickerType from `@nextcloud/dialogs` */\n\tFILEPICKER_TYPE_COPY: 3,\n\t/** @deprecated use FilePickerType from `@nextcloud/dialogs` */\n\tFILEPICKER_TYPE_COPY_MOVE: 4,\n\t/** @deprecated use FilePickerType from `@nextcloud/dialogs` */\n\tFILEPICKER_TYPE_CUSTOM: 5,\n\n\t// used to name each dialog\n\tdialogsCounter: 0,\n\n\t/**\n\t * displays alert dialog\n\t * @param {string} text content of dialog\n\t * @param {string} title dialog title\n\t * @param {function} callback which will be triggered when user presses OK\n\t * @param {boolean} [modal] make the dialog modal\n\t */\n\talert: function(text, title, callback, modal) {\n\t\tthis.message(\n\t\t\ttext,\n\t\t\ttitle,\n\t\t\t'alert',\n\t\t\tDialogs.OK_BUTTON,\n\t\t\tcallback,\n\t\t\tmodal\n\t\t)\n\t},\n\t/**\n\t * displays info dialog\n\t * @param {string} text content of dialog\n\t * @param {string} title dialog title\n\t * @param {function} callback which will be triggered when user presses OK\n\t * @param {boolean} [modal] make the dialog modal\n\t */\n\tinfo: function(text, title, callback, modal) {\n\t\tthis.message(text, title, 'info', Dialogs.OK_BUTTON, callback, modal)\n\t},\n\n\t/**\n\t * displays confirmation dialog\n\t * @param {string} text content of dialog\n\t * @param {string} title dialog title\n\t * @param {function} callback which will be triggered when user presses OK (true or false would be passed to callback respectively)\n\t * @param {boolean} [modal] make the dialog modal\n\t * @returns {Promise}\n\t */\n\tconfirm: function(text, title, callback, modal) {\n\t\treturn this.message(\n\t\t\ttext,\n\t\t\ttitle,\n\t\t\t'notice',\n\t\t\tDialogs.YES_NO_BUTTONS,\n\t\t\tcallback,\n\t\t\tmodal\n\t\t)\n\t},\n\t/**\n\t * displays confirmation dialog\n\t * @param {string} text content of dialog\n\t * @param {string} title dialog title\n\t * @param {(number|{type: number, confirm: string, cancel: string, confirmClasses: string})} buttons text content of buttons\n\t * @param {function} callback which will be triggered when user presses OK (true or false would be passed to callback respectively)\n\t * @param {boolean} [modal] make the dialog modal\n\t * @returns {Promise}\n\t */\n\tconfirmDestructive: function(text, title, buttons, callback, modal) {\n\t\treturn this.message(\n\t\t\ttext,\n\t\t\ttitle,\n\t\t\t'none',\n\t\t\tbuttons,\n\t\t\tcallback,\n\t\t\tmodal === undefined ? true : modal\n\t\t)\n\t},\n\t/**\n\t * displays confirmation dialog\n\t * @param {string} text content of dialog\n\t * @param {string} title dialog title\n\t * @param {function} callback which will be triggered when user presses OK (true or false would be passed to callback respectively)\n\t * @param {boolean} [modal] make the dialog modal\n\t * @returns {Promise}\n\t */\n\tconfirmHtml: function(text, title, callback, modal) {\n\t\treturn this.message(\n\t\t\ttext,\n\t\t\ttitle,\n\t\t\t'notice',\n\t\t\tDialogs.YES_NO_BUTTONS,\n\t\t\tcallback,\n\t\t\tmodal,\n\t\t\ttrue\n\t\t)\n\t},\n\t/**\n\t * displays prompt dialog\n\t * @param {string} text content of dialog\n\t * @param {string} title dialog title\n\t * @param {function} callback which will be triggered when user presses OK (true or false would be passed to callback respectively)\n\t * @param {boolean} [modal] make the dialog modal\n\t * @param {string} name name of the input field\n\t * @param {boolean} password whether the input should be a password input\n\t * @returns {Promise}\n\t */\n\tprompt: function(text, title, callback, modal, name, password) {\n\t\treturn $.when(this._getMessageTemplate()).then(function($tmpl) {\n\t\t\tvar dialogName = 'oc-dialog-' + Dialogs.dialogsCounter + '-content'\n\t\t\tvar dialogId = '#' + dialogName\n\t\t\tvar $dlg = $tmpl.octemplate({\n\t\t\t\tdialog_name: dialogName,\n\t\t\t\ttitle: title,\n\t\t\t\tmessage: text,\n\t\t\t\ttype: 'notice'\n\t\t\t})\n\t\t\tvar input = $('<input/>')\n\t\t\tinput.attr('type', password ? 'password' : 'text').attr('id', dialogName + '-input').attr('placeholder', name)\n\t\t\tvar label = $('<label/>').attr('for', dialogName + '-input').text(name + ': ')\n\t\t\t$dlg.append(label)\n\t\t\t$dlg.append(input)\n\t\t\tif (modal === undefined) {\n\t\t\t\tmodal = false\n\t\t\t}\n\t\t\t$('body').append($dlg)\n\n\t\t\t// wrap callback in _.once():\n\t\t\t// only call callback once and not twice (button handler and close\n\t\t\t// event) but call it for the close event, if ESC or the x is hit\n\t\t\tif (callback !== undefined) {\n\t\t\t\tcallback = _.once(callback)\n\t\t\t}\n\n\t\t\tvar buttonlist = [{\n\t\t\t\ttext: t('core', 'No'),\n\t\t\t\tclick: function() {\n\t\t\t\t\tif (callback !== undefined) {\n\t\t\t\t\t\t// eslint-disable-next-line standard/no-callback-literal\n\t\t\t\t\t\tcallback(false, input.val())\n\t\t\t\t\t}\n\t\t\t\t\t$(dialogId).ocdialog('close')\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\ttext: t('core', 'Yes'),\n\t\t\t\tclick: function() {\n\t\t\t\t\tif (callback !== undefined) {\n\t\t\t\t\t\t// eslint-disable-next-line standard/no-callback-literal\n\t\t\t\t\t\tcallback(true, input.val())\n\t\t\t\t\t}\n\t\t\t\t\t$(dialogId).ocdialog('close')\n\t\t\t\t},\n\t\t\t\tdefaultButton: true\n\t\t\t}]\n\n\t\t\t$(dialogId).ocdialog({\n\t\t\t\tcloseOnEscape: true,\n\t\t\t\tmodal: modal,\n\t\t\t\tbuttons: buttonlist,\n\t\t\t\tclose: function() {\n\t\t\t\t\t// callback is already fired if Yes/No is clicked directly\n\t\t\t\t\tif (callback !== undefined) {\n\t\t\t\t\t\t// eslint-disable-next-line standard/no-callback-literal\n\t\t\t\t\t\tcallback(false, input.val())\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t\tinput.focus()\n\t\t\tDialogs.dialogsCounter++\n\t\t})\n\t},\n\n\t/**\n\t * Legacy wrapper to the new Vue based filepicker from `@nextcloud/dialogs`\n\t *\n\t * Prefer to use the Vue filepicker directly instead.\n\t *\n\t * In order to pick several types of mime types they need to be passed as an\n\t * array of strings.\n\t *\n\t * When no mime type filter is given only files can be selected. In order to\n\t * be able to select both files and folders \"['*', 'httpd/unix-directory']\"\n\t * should be used instead.\n\t *\n\t * @param {string} title dialog title\n\t * @param {Function} callback which will be triggered when user presses Choose\n\t * @param {boolean} [multiselect] whether it should be possible to select multiple files\n\t * @param {string[]} [mimetype] mimetype to filter by - directories will always be included\n\t * @param {boolean} [_modal] do not use\n\t * @param {string} [type] Type of file picker : Choose, copy, move, copy and move\n\t * @param {string} [path] path to the folder that the the file can be picket from\n\t * @param {object} [options] additonal options that need to be set\n\t * @param {Function} [options.filter] filter function for advanced filtering\n\t * @param {boolean} [options.allowDirectoryChooser] Allow to select directories\n\t * @deprecated since 27.1.0 use the filepicker from `@nextcloud/dialogs` instead\n\t */\n\tfilepicker(title, callback, multiselect = false, mimetype = undefined, _modal = undefined, type = FilePickerType.Choose, path = undefined, options = undefined) {\n\n\t\t/**\n\t\t * Create legacy callback wrapper to support old filepicker syntax\n\t\t * @param fn The original callback\n\t\t * @param type The file picker type which was used to pick the file(s)\n\t\t */\n\t\tconst legacyCallback = (fn, type) => {\n\t\t\tconst getPath = (node) => {\n\t\t\t\tconst root = node?.root || ''\n\t\t\t\tlet path = node?.path || ''\n\t\t\t\t// TODO: Fix this in @nextcloud/files\n\t\t\t\tif (path.startsWith(root)) {\n\t\t\t\t\tpath = path.slice(root.length) || '/'\n\t\t\t\t}\n\t\t\t\treturn path\n\t\t\t}\n\n\t\t\tif (multiselect) {\n\t\t\t\treturn (nodes) => fn(nodes.map(getPath), type)\n\t\t\t} else {\n\t\t\t\treturn (nodes) => fn(getPath(nodes[0]), type)\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Coverting a Node into a legacy file info to support the OC.dialogs.filepicker filter function\n\t\t * @param node The node to convert\n\t\t */\n\t\tconst nodeToLegacyFile = (node) => ({\n\t\t\tid: node.fileid || null,\n\t\t\tpath: node.path,\n\t\t\tmimetype: node.mime || null,\n\t\t\tmtime: node.mtime?.getTime() || null,\n\t\t\tpermissions: node.permissions,\n\t\t\tname: node.attributes?.displayName || node.basename,\n\t\t\tetag: node.attributes?.etag || null,\n\t\t\thasPreview: node.attributes?.hasPreview || null,\n\t\t\tmountType: node.attributes?.mountType || null,\n\t\t\tquotaAvailableBytes: node.attributes?.quotaAvailableBytes || null,\n\t\t\ticon: null,\n\t\t\tsharePermissions: null,\n\t\t})\n\n\t\tconst builder = getFilePickerBuilder(title)\n\n\t\t// Setup buttons\n\t\tif (type === this.FILEPICKER_TYPE_CUSTOM) {\n\t\t\t(options.buttons || []).forEach((button) => {\n\t\t\t\tbuilder.addButton({\n\t\t\t\t\tcallback: legacyCallback(callback, button.type),\n\t\t\t\t\tlabel: button.text,\n\t\t\t\t\ttype: button.defaultButton ? 'primary' : 'secondary',\n\t\t\t\t})\n\t\t\t})\n\t\t} else {\n\t\t\tbuilder.setButtonFactory((nodes, path) => {\n\t\t\t\tconst buttons = []\n\t\t\t\tconst node = nodes?.[0]?.attributes?.displayName || nodes?.[0]?.basename\n\t\t\t\tconst target = node || basename(path)\n\n\t\t\t\tif (type === FilePickerType.Choose) {\n\t\t\t\t\tbuttons.push({\n\t\t\t\t\t\tcallback: legacyCallback(callback, FilePickerType.Choose),\n\t\t\t\t\t\tlabel: node && !this.multiSelect ? t('core', 'Choose {file}', { file: node }) : t('core', 'Choose'),\n\t\t\t\t\t\ttype: 'primary',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tif (type === FilePickerType.CopyMove || type === FilePickerType.Copy) {\n\t\t\t\t\tbuttons.push({\n\t\t\t\t\t\tcallback: legacyCallback(callback, FilePickerType.Copy),\n\t\t\t\t\t\tlabel: target ? t('core', 'Copy to {target}', { target }) : t('core', 'Copy'),\n\t\t\t\t\t\ttype: 'primary',\n\t\t\t\t\t\ticon: IconCopy,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tif (type === FilePickerType.Move || type === FilePickerType.CopyMove) {\n\t\t\t\t\tbuttons.push({\n\t\t\t\t\t\tcallback: legacyCallback(callback, FilePickerType.Move),\n\t\t\t\t\t\tlabel: target ? t('core', 'Move to {target}', { target }) : t('core', 'Move'),\n\t\t\t\t\t\ttype: type === FilePickerType.Move ? 'primary' : 'secondary',\n\t\t\t\t\t\ticon: IconMove,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn buttons\n\t\t\t})\n\t\t}\n\n\t\tif (mimetype) {\n\t\t\tbuilder.setMimeTypeFilter(typeof mimetype === 'string' ? [mimetype] : (mimetype || []))\n\t\t}\n\t\tif (typeof options?.filter === 'function') {\n\t\t\tbuilder.setFilter((node) => options.filter(nodeToLegacyFile(node)))\n\t\t}\n\t\tbuilder.allowDirectories(options?.allowDirectoryChooser === true || mimetype?.includes('httpd/unix-directory') || false)\n\t\t\t.setMultiSelect(multiselect)\n\t\t\t.startAt(path)\n\t\t\t.build()\n\t\t\t.pick()\n\t},\n\n\t/**\n\t * Displays raw dialog\n\t * You better use a wrapper instead ...\n\t */\n\tmessage: function(content, title, dialogType, buttons, callback, modal, allowHtml) {\n\t\treturn $.when(this._getMessageTemplate()).then(function($tmpl) {\n\t\t\tvar dialogName = 'oc-dialog-' + Dialogs.dialogsCounter + '-content'\n\t\t\tvar dialogId = '#' + dialogName\n\t\t\tvar $dlg = $tmpl.octemplate({\n\t\t\t\tdialog_name: dialogName,\n\t\t\t\ttitle: title,\n\t\t\t\tmessage: content,\n\t\t\t\ttype: dialogType\n\t\t\t}, allowHtml ? { escapeFunction: '' } : {})\n\t\t\tif (modal === undefined) {\n\t\t\t\tmodal = false\n\t\t\t}\n\t\t\t$('body').append($dlg)\n\t\t\tvar buttonlist = []\n\t\t\tswitch (buttons) {\n\t\t\tcase Dialogs.YES_NO_BUTTONS:\n\t\t\t\tbuttonlist = [{\n\t\t\t\t\ttext: t('core', 'No'),\n\t\t\t\t\tclick: function() {\n\t\t\t\t\t\tif (callback !== undefined) {\n\t\t\t\t\t\t\tcallback(false)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$(dialogId).ocdialog('close')\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttext: t('core', 'Yes'),\n\t\t\t\t\tclick: function() {\n\t\t\t\t\t\tif (callback !== undefined) {\n\t\t\t\t\t\t\tcallback(true)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$(dialogId).ocdialog('close')\n\t\t\t\t\t},\n\t\t\t\t\tdefaultButton: true\n\t\t\t\t}]\n\t\t\t\tbreak\n\t\t\tcase Dialogs.OK_BUTTON:\n\t\t\t\tvar functionToCall = function() {\n\t\t\t\t\t$(dialogId).ocdialog('close')\n\t\t\t\t\tif (callback !== undefined) {\n\t\t\t\t\t\tcallback()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbuttonlist[0] = {\n\t\t\t\t\ttext: t('core', 'OK'),\n\t\t\t\t\tclick: functionToCall,\n\t\t\t\t\tdefaultButton: true\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tif (typeof(buttons) === 'object') {\n\t\t\t\t\tswitch (buttons.type) {\n\t\t\t\t\t\tcase Dialogs.YES_NO_BUTTONS:\n\t\t\t\t\t\t\tbuttonlist = [{\n\t\t\t\t\t\t\t\ttext: buttons.cancel || t('core', 'No'),\n\t\t\t\t\t\t\t\tclick: function() {\n\t\t\t\t\t\t\t\t\tif (callback !== undefined) {\n\t\t\t\t\t\t\t\t\t\tcallback(false)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t$(dialogId).ocdialog('close')\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttext: buttons.confirm || t('core', 'Yes'),\n\t\t\t\t\t\t\t\t\tclick: function() {\n\t\t\t\t\t\t\t\t\t\tif (callback !== undefined) {\n\t\t\t\t\t\t\t\t\t\t\tcallback(true)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t$(dialogId).ocdialog('close')\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tdefaultButton: true,\n\t\t\t\t\t\t\t\t\tclasses: buttons.confirmClasses\n\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\n\t\t\t$(dialogId).ocdialog({\n\t\t\t\tcloseOnEscape: true,\n\t\t\t\tcloseCallback: () => { callback && callback(false) },\n\t\t\t\tmodal: modal,\n\t\t\t\tbuttons: buttonlist\n\t\t\t})\n\t\t\tDialogs.dialogsCounter++\n\t\t})\n\t\t\t.fail(function(status, error) {\n\t\t\t\t// If the method is called while navigating away from\n\t\t\t\t// the page, we still want to deliver the message.\n\t\t\t\tif (status === 0) {\n\t\t\t\t\talert(title + ': ' + content)\n\t\t\t\t} else {\n\t\t\t\t\talert(t('core', 'Error loading message template: {error}', { error: error }))\n\t\t\t\t}\n\t\t\t})\n\t},\n\t_fileexistsshown: false,\n\t/**\n\t * Displays file exists dialog\n\t * @param {object} data upload object\n\t * @param {object} original file with name, size and mtime\n\t * @param {object} replacement file with name, size and mtime\n\t * @param {object} controller with onCancel, onSkip, onReplace and onRename methods\n\t * @returns {Promise} jquery promise that resolves after the dialog template was loaded\n\t */\n\tfileexists: function(data, original, replacement, controller) {\n\t\tvar self = this\n\t\tvar dialogDeferred = new $.Deferred()\n\n\t\tvar getCroppedPreview = function(file) {\n\t\t\tvar deferred = new $.Deferred()\n\t\t\t// Only process image files.\n\t\t\tvar type = file.type && file.type.split('/').shift()\n\t\t\tif (window.FileReader && type === 'image') {\n\t\t\t\tvar reader = new FileReader()\n\t\t\t\treader.onload = function(e) {\n\t\t\t\t\tvar blob = new Blob([e.target.result])\n\t\t\t\t\twindow.URL = window.URL || window.webkitURL\n\t\t\t\t\tvar originalUrl = window.URL.createObjectURL(blob)\n\t\t\t\t\tvar image = new Image()\n\t\t\t\t\timage.src = originalUrl\n\t\t\t\t\timage.onload = function() {\n\t\t\t\t\t\tvar url = crop(image)\n\t\t\t\t\t\tdeferred.resolve(url)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treader.readAsArrayBuffer(file)\n\t\t\t} else {\n\t\t\t\tdeferred.reject()\n\t\t\t}\n\t\t\treturn deferred\n\t\t}\n\n\t\tvar crop = function(img) {\n\t\t\tvar canvas = document.createElement('canvas')\n\t\t\tvar targetSize = 96\n\t\t\tvar width = img.width\n\t\t\tvar height = img.height\n\t\t\tvar x; var y; var size\n\n\t\t\t// Calculate the width and height, constraining the proportions\n\t\t\tif (width > height) {\n\t\t\t\ty = 0\n\t\t\t\tx = (width - height) / 2\n\t\t\t} else {\n\t\t\t\ty = (height - width) / 2\n\t\t\t\tx = 0\n\t\t\t}\n\t\t\tsize = Math.min(width, height)\n\n\t\t\t// Set canvas size to the cropped area\n\t\t\tcanvas.width = size\n\t\t\tcanvas.height = size\n\t\t\tvar ctx = canvas.getContext('2d')\n\t\t\tctx.drawImage(img, x, y, size, size, 0, 0, size, size)\n\n\t\t\t// Resize the canvas to match the destination (right size uses 96px)\n\t\t\tresampleHermite(canvas, size, size, targetSize, targetSize)\n\n\t\t\treturn canvas.toDataURL('image/png', 0.7)\n\t\t}\n\n\t\t/**\n\t\t * Fast image resize/resample using Hermite filter with JavaScript.\n\t\t *\n\t\t * @author: ViliusL\n\t\t *\n\t\t * @param {*} canvas\n\t\t * @param {number} W\n\t\t * @param {number} H\n\t\t * @param {number} W2\n\t\t * @param {number} H2\n\t\t */\n\t\tvar resampleHermite = function(canvas, W, H, W2, H2) {\n\t\t\tW2 = Math.round(W2)\n\t\t\tH2 = Math.round(H2)\n\t\t\tvar img = canvas.getContext('2d').getImageData(0, 0, W, H)\n\t\t\tvar img2 = canvas.getContext('2d').getImageData(0, 0, W2, H2)\n\t\t\tvar data = img.data\n\t\t\tvar data2 = img2.data\n\t\t\tvar ratio_w = W / W2\n\t\t\tvar ratio_h = H / H2\n\t\t\tvar ratio_w_half = Math.ceil(ratio_w / 2)\n\t\t\tvar ratio_h_half = Math.ceil(ratio_h / 2)\n\n\t\t\tfor (var j = 0; j < H2; j++) {\n\t\t\t\tfor (var i = 0; i < W2; i++) {\n\t\t\t\t\tvar x2 = (i + j * W2) * 4\n\t\t\t\t\tvar weight = 0\n\t\t\t\t\tvar weights = 0\n\t\t\t\t\tvar weights_alpha = 0\n\t\t\t\t\tvar gx_r = 0\n\t\t\t\t\tvar gx_g = 0\n\t\t\t\t\tvar gx_b = 0\n\t\t\t\t\tvar gx_a = 0\n\t\t\t\t\tvar center_y = (j + 0.5) * ratio_h\n\t\t\t\t\tfor (var yy = Math.floor(j * ratio_h); yy < (j + 1) * ratio_h; yy++) {\n\t\t\t\t\t\tvar dy = Math.abs(center_y - (yy + 0.5)) / ratio_h_half\n\t\t\t\t\t\tvar center_x = (i + 0.5) * ratio_w\n\t\t\t\t\t\tvar w0 = dy * dy // pre-calc part of w\n\t\t\t\t\t\tfor (var xx = Math.floor(i * ratio_w); xx < (i + 1) * ratio_w; xx++) {\n\t\t\t\t\t\t\tvar dx = Math.abs(center_x - (xx + 0.5)) / ratio_w_half\n\t\t\t\t\t\t\tvar w = Math.sqrt(w0 + dx * dx)\n\t\t\t\t\t\t\tif (w >= -1 && w <= 1) {\n\t\t\t\t\t\t\t\t// hermite filter\n\t\t\t\t\t\t\t\tweight = 2 * w * w * w - 3 * w * w + 1\n\t\t\t\t\t\t\t\tif (weight > 0) {\n\t\t\t\t\t\t\t\t\tdx = 4 * (xx + yy * W)\n\t\t\t\t\t\t\t\t\t// alpha\n\t\t\t\t\t\t\t\t\tgx_a += weight * data[dx + 3]\n\t\t\t\t\t\t\t\t\tweights_alpha += weight\n\t\t\t\t\t\t\t\t\t// colors\n\t\t\t\t\t\t\t\t\tif (data[dx + 3] < 255) { weight = weight * data[dx + 3] / 250 }\n\t\t\t\t\t\t\t\t\tgx_r += weight * data[dx]\n\t\t\t\t\t\t\t\t\tgx_g += weight * data[dx + 1]\n\t\t\t\t\t\t\t\t\tgx_b += weight * data[dx + 2]\n\t\t\t\t\t\t\t\t\tweights += weight\n\t\t\t\t\t\t\t\t}\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\tdata2[x2] = gx_r / weights\n\t\t\t\t\tdata2[x2 + 1] = gx_g / weights\n\t\t\t\t\tdata2[x2 + 2] = gx_b / weights\n\t\t\t\t\tdata2[x2 + 3] = gx_a / weights_alpha\n\t\t\t\t}\n\t\t\t}\n\t\t\tcanvas.getContext('2d').clearRect(0, 0, Math.max(W, W2), Math.max(H, H2))\n\t\t\tcanvas.width = W2\n\t\t\tcanvas.height = H2\n\t\t\tcanvas.getContext('2d').putImageData(img2, 0, 0)\n\t\t}\n\n\t\tvar addConflict = function($conflicts, original, replacement) {\n\n\t\t\tvar $conflict = $conflicts.find('.template').clone().removeClass('template').addClass('conflict')\n\t\t\tvar $originalDiv = $conflict.find('.original')\n\t\t\tvar $replacementDiv = $conflict.find('.replacement')\n\n\t\t\t$conflict.data('data', data)\n\n\t\t\t$conflict.find('.filename').text(original.name)\n\t\t\t$originalDiv.find('.size').text(OC.Util.humanFileSize(original.size))\n\t\t\t$originalDiv.find('.mtime').text(OC.Util.formatDate(original.mtime))\n\t\t\t// ie sucks\n\t\t\tif (replacement.size && replacement.lastModified) {\n\t\t\t\t$replacementDiv.find('.size').text(OC.Util.humanFileSize(replacement.size))\n\t\t\t\t$replacementDiv.find('.mtime').text(OC.Util.formatDate(replacement.lastModified))\n\t\t\t}\n\t\t\tvar path = original.directory + '/' + original.name\n\t\t\tvar urlSpec = {\n\t\t\t\tfile: path,\n\t\t\t\tx: 96,\n\t\t\t\ty: 96,\n\t\t\t\tc: original.etag,\n\t\t\t\tforceIcon: 0\n\t\t\t}\n\t\t\tvar previewpath = Files.generatePreviewUrl(urlSpec)\n\t\t\t// Escaping single quotes\n\t\t\tpreviewpath = previewpath.replace(/'/g, '%27')\n\t\t\t$originalDiv.find('.icon').css({ 'background-image': \"url('\" + previewpath + \"')\" })\n\t\t\tgetCroppedPreview(replacement).then(\n\t\t\t\tfunction(path) {\n\t\t\t\t\t$replacementDiv.find('.icon').css('background-image', 'url(' + path + ')')\n\t\t\t\t}, function() {\n\t\t\t\t\tpath = OC.MimeType.getIconUrl(replacement.type)\n\t\t\t\t\t$replacementDiv.find('.icon').css('background-image', 'url(' + path + ')')\n\t\t\t\t}\n\t\t\t)\n\t\t\t// connect checkboxes with labels\n\t\t\tvar checkboxId = $conflicts.find('.conflict').length\n\t\t\t$originalDiv.find('input:checkbox').attr('id', 'checkbox_original_' + checkboxId)\n\t\t\t$replacementDiv.find('input:checkbox').attr('id', 'checkbox_replacement_' + checkboxId)\n\n\t\t\t$conflicts.append($conflict)\n\n\t\t\t// set more recent mtime bold\n\t\t\t// ie sucks\n\t\t\tif (replacement.lastModified > original.mtime) {\n\t\t\t\t$replacementDiv.find('.mtime').css('font-weight', 'bold')\n\t\t\t} else if (replacement.lastModified < original.mtime) {\n\t\t\t\t$originalDiv.find('.mtime').css('font-weight', 'bold')\n\t\t\t} else {\n\t\t\t\t// TODO add to same mtime collection?\n\t\t\t}\n\n\t\t\t// set bigger size bold\n\t\t\tif (replacement.size && replacement.size > original.size) {\n\t\t\t\t$replacementDiv.find('.size').css('font-weight', 'bold')\n\t\t\t} else if (replacement.size && replacement.size < original.size) {\n\t\t\t\t$originalDiv.find('.size').css('font-weight', 'bold')\n\t\t\t} else {\n\t\t\t\t// TODO add to same size collection?\n\t\t\t}\n\n\t\t\t// TODO show skip action for files with same size and mtime in bottom row\n\n\t\t\t// always keep readonly files\n\n\t\t\tif (original.status === 'readonly') {\n\t\t\t\t$originalDiv\n\t\t\t\t\t.addClass('readonly')\n\t\t\t\t\t.find('input[type=\"checkbox\"]')\n\t\t\t\t\t.prop('checked', true)\n\t\t\t\t\t.prop('disabled', true)\n\t\t\t\t$originalDiv.find('.message')\n\t\t\t\t\t.text(t('core', 'read-only'))\n\t\t\t}\n\t\t}\n\t\t// var selection = controller.getSelection(data.originalFiles);\n\t\t// if (selection.defaultAction) {\n\t\t//\tcontroller[selection.defaultAction](data);\n\t\t// } else {\n\t\tvar dialogName = 'oc-dialog-fileexists-content'\n\t\tvar dialogId = '#' + dialogName\n\t\tif (this._fileexistsshown) {\n\t\t\t// add conflict\n\n\t\t\tvar $conflicts = $(dialogId + ' .conflicts')\n\t\t\taddConflict($conflicts, original, replacement)\n\n\t\t\tvar count = $(dialogId + ' .conflict').length\n\t\t\tvar title = n('core',\n\t\t\t\t'{count} file conflict',\n\t\t\t\t'{count} file conflicts',\n\t\t\t\tcount,\n\t\t\t\t{ count: count }\n\t\t\t)\n\t\t\t$(dialogId).parent().children('.oc-dialog-title').text(title)\n\n\t\t\t// recalculate dimensions\n\t\t\t$(window).trigger('resize')\n\t\t\tdialogDeferred.resolve()\n\t\t} else {\n\t\t\t// create dialog\n\t\t\tthis._fileexistsshown = true\n\t\t\t$.when(this._getFileExistsTemplate()).then(function($tmpl) {\n\t\t\t\tvar title = t('core', 'One file conflict')\n\t\t\t\tvar $dlg = $tmpl.octemplate({\n\t\t\t\t\tdialog_name: dialogName,\n\t\t\t\t\ttitle: title,\n\t\t\t\t\ttype: 'fileexists',\n\n\t\t\t\t\tallnewfiles: t('core', 'New Files'),\n\t\t\t\t\tallexistingfiles: t('core', 'Already existing files'),\n\n\t\t\t\t\twhy: t('core', 'Which files do you want to keep?'),\n\t\t\t\t\twhat: t('core', 'If you select both versions, the copied file will have a number added to its name.')\n\t\t\t\t})\n\t\t\t\t$('body').append($dlg)\n\n\t\t\t\tif (original && replacement) {\n\t\t\t\t\tvar $conflicts = $dlg.find('.conflicts')\n\t\t\t\t\taddConflict($conflicts, original, replacement)\n\t\t\t\t}\n\n\t\t\t\tvar buttonlist = [{\n\t\t\t\t\ttext: t('core', 'Cancel'),\n\t\t\t\t\tclasses: 'cancel',\n\t\t\t\t\tclick: function() {\n\t\t\t\t\t\tif (typeof controller.onCancel !== 'undefined') {\n\t\t\t\t\t\t\tcontroller.onCancel(data)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$(dialogId).ocdialog('close')\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttext: t('core', 'Continue'),\n\t\t\t\t\tclasses: 'continue',\n\t\t\t\t\tclick: function() {\n\t\t\t\t\t\tif (typeof controller.onContinue !== 'undefined') {\n\t\t\t\t\t\t\tcontroller.onContinue($(dialogId + ' .conflict'))\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$(dialogId).ocdialog('close')\n\t\t\t\t\t}\n\t\t\t\t}]\n\n\t\t\t\t$(dialogId).ocdialog({\n\t\t\t\t\twidth: 500,\n\t\t\t\t\tcloseOnEscape: true,\n\t\t\t\t\tmodal: true,\n\t\t\t\t\tbuttons: buttonlist,\n\t\t\t\t\tcloseButton: null,\n\t\t\t\t\tclose: function() {\n\t\t\t\t\t\tself._fileexistsshown = false\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t$(this).ocdialog('destroy').remove()\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t// ignore\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\t$(dialogId).css('height', 'auto')\n\n\t\t\t\tvar $primaryButton = $dlg.closest('.oc-dialog').find('button.continue')\n\t\t\t\t$primaryButton.prop('disabled', true)\n\n\t\t\t\tfunction updatePrimaryButton() {\n\t\t\t\t\tvar checkedCount = $dlg.find('.conflicts .checkbox:checked').length\n\t\t\t\t\t$primaryButton.prop('disabled', checkedCount === 0)\n\t\t\t\t}\n\n\t\t\t\t// add checkbox toggling actions\n\t\t\t\t$(dialogId).find('.allnewfiles').on('click', function() {\n\t\t\t\t\tvar $checkboxes = $(dialogId).find('.conflict .replacement input[type=\"checkbox\"]')\n\t\t\t\t\t$checkboxes.prop('checked', $(this).prop('checked'))\n\t\t\t\t})\n\t\t\t\t$(dialogId).find('.allexistingfiles').on('click', function() {\n\t\t\t\t\tvar $checkboxes = $(dialogId).find('.conflict .original:not(.readonly) input[type=\"checkbox\"]')\n\t\t\t\t\t$checkboxes.prop('checked', $(this).prop('checked'))\n\t\t\t\t})\n\t\t\t\t$(dialogId).find('.conflicts').on('click', '.replacement,.original:not(.readonly)', function() {\n\t\t\t\t\tvar $checkbox = $(this).find('input[type=\"checkbox\"]')\n\t\t\t\t\t$checkbox.prop('checked', !$checkbox.prop('checked'))\n\t\t\t\t})\n\t\t\t\t$(dialogId).find('.conflicts').on('click', '.replacement input[type=\"checkbox\"],.original:not(.readonly) input[type=\"checkbox\"]', function() {\n\t\t\t\t\tvar $checkbox = $(this)\n\t\t\t\t\t$checkbox.prop('checked', !$checkbox.prop('checked'))\n\t\t\t\t})\n\n\t\t\t\t// update counters\n\t\t\t\t$(dialogId).on('click', '.replacement,.allnewfiles', function() {\n\t\t\t\t\tvar count = $(dialogId).find('.conflict .replacement input[type=\"checkbox\"]:checked').length\n\t\t\t\t\tif (count === $(dialogId + ' .conflict').length) {\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles').prop('checked', true)\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles + .count').text(t('core', '(all selected)'))\n\t\t\t\t\t} else if (count > 0) {\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles').prop('checked', false)\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles + .count').text(t('core', '({count} selected)', { count: count }))\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles').prop('checked', false)\n\t\t\t\t\t\t$(dialogId).find('.allnewfiles + .count').text('')\n\t\t\t\t\t}\n\t\t\t\t\tupdatePrimaryButton()\n\t\t\t\t})\n\t\t\t\t$(dialogId).on('click', '.original,.allexistingfiles', function() {\n\t\t\t\t\tvar count = $(dialogId).find('.conflict .original input[type=\"checkbox\"]:checked').length\n\t\t\t\t\tif (count === $(dialogId + ' .conflict').length) {\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles').prop('checked', true)\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles + .count').text(t('core', '(all selected)'))\n\t\t\t\t\t} else if (count > 0) {\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles').prop('checked', false)\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles + .count')\n\t\t\t\t\t\t\t.text(t('core', '({count} selected)', { count: count }))\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles').prop('checked', false)\n\t\t\t\t\t\t$(dialogId).find('.allexistingfiles + .count').text('')\n\t\t\t\t\t}\n\t\t\t\t\tupdatePrimaryButton()\n\t\t\t\t})\n\n\t\t\t\tdialogDeferred.resolve()\n\t\t\t})\n\t\t\t\t.fail(function() {\n\t\t\t\t\tdialogDeferred.reject()\n\t\t\t\t\talert(t('core', 'Error loading file exists template'))\n\t\t\t\t})\n\t\t}\n\t\t// }\n\t\treturn dialogDeferred.promise()\n\t},\n\n\t_getMessageTemplate: function() {\n\t\tvar defer = $.Deferred()\n\t\tif (!this.$messageTemplate) {\n\t\t\tvar self = this\n\t\t\t$.get(OC.filePath('core', 'templates', 'message.html'), function(tmpl) {\n\t\t\t\tself.$messageTemplate = $(tmpl)\n\t\t\t\tdefer.resolve(self.$messageTemplate)\n\t\t\t})\n\t\t\t\t.fail(function(jqXHR, textStatus, errorThrown) {\n\t\t\t\t\tdefer.reject(jqXHR.status, errorThrown)\n\t\t\t\t})\n\t\t} else {\n\t\t\tdefer.resolve(this.$messageTemplate)\n\t\t}\n\t\treturn defer.promise()\n\t},\n\t_getFileExistsTemplate: function() {\n\t\tvar defer = $.Deferred()\n\t\tif (!this.$fileexistsTemplate) {\n\t\t\tvar self = this\n\t\t\t$.get(OC.filePath('files', 'templates', 'fileexists.html'), function(tmpl) {\n\t\t\t\tself.$fileexistsTemplate = $(tmpl)\n\t\t\t\tdefer.resolve(self.$fileexistsTemplate)\n\t\t\t})\n\t\t\t\t.fail(function() {\n\t\t\t\t\tdefer.reject()\n\t\t\t\t})\n\t\t} else {\n\t\t\tdefer.resolve(this.$fileexistsTemplate)\n\t\t}\n\t\treturn defer.promise()\n\t},\n}\n\nexport default Dialogs\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { emit } from '@nextcloud/event-bus'\n\n/**\n * @private\n * @param {Document} global the document to read the initial value from\n * @param {Function} emit the function to invoke for every new token\n * @return {object}\n */\nexport const manageToken = (global, emit) => {\n\tlet token = global.getElementsByTagName('head')[0].getAttribute('data-requesttoken')\n\n\treturn {\n\t\tgetToken: () => token,\n\t\tsetToken: newToken => {\n\t\t\ttoken = newToken\n\n\t\t\temit('csrf-token-update', {\n\t\t\t\ttoken,\n\t\t\t})\n\t\t},\n\t}\n}\n\nconst manageFromDocument = manageToken(document, emit)\n\n/**\n * @return {string}\n */\nexport const getToken = manageFromDocument.getToken\n\n/**\n * @param {string} newToken new token\n */\nexport const setToken = manageFromDocument.setToken\n","/**\n * @copyright 2012 Robin Appelman icewind1991@gmail.com\n *\n * @author Arthur Schiwon <blizzz@arthur-schiwon.de>\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Lukas Reschke <lukas@statuscode.ch>\n * @author Robin Appelman <robin@icewind.nl>\n * @author Thomas Müller <thomas.mueller@tmit.eu>\n * @author Vincent Petry <vincent@nextcloud.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/* eslint-disable */\nimport $ from 'jquery'\n\nimport { getToken } from './requesttoken.js'\n\n/**\n * Create a new event source\n * @param {string} src\n * @param {object} [data] to be send as GET\n *\n * @constructs OCEventSource\n */\nconst OCEventSource = function(src, data) {\n\tvar dataStr = ''\n\tvar name\n\tvar joinChar\n\tthis.typelessListeners = []\n\tthis.closed = false\n\tthis.listeners = {}\n\tif (data) {\n\t\tfor (name in data) {\n\t\t\tdataStr += name + '=' + encodeURIComponent(data[name]) + '&'\n\t\t}\n\t}\n\tdataStr += 'requesttoken=' + encodeURIComponent(getToken())\n\tif (!this.useFallBack && typeof EventSource !== 'undefined') {\n\t\tjoinChar = '&'\n\t\tif (src.indexOf('?') === -1) {\n\t\t\tjoinChar = '?'\n\t\t}\n\t\tthis.source = new EventSource(src + joinChar + dataStr)\n\t\tthis.source.onmessage = function(e) {\n\t\t\tfor (var i = 0; i < this.typelessListeners.length; i++) {\n\t\t\t\tthis.typelessListeners[i](JSON.parse(e.data))\n\t\t\t}\n\t\t}.bind(this)\n\t} else {\n\t\tvar iframeId = 'oc_eventsource_iframe_' + OCEventSource.iframeCount\n\t\tOCEventSource.fallBackSources[OCEventSource.iframeCount] = this\n\t\tthis.iframe = $('<iframe></iframe>')\n\t\tthis.iframe.attr('id', iframeId)\n\t\tthis.iframe.hide()\n\n\t\tjoinChar = '&'\n\t\tif (src.indexOf('?') === -1) {\n\t\t\tjoinChar = '?'\n\t\t}\n\t\tthis.iframe.attr('src', src + joinChar + 'fallback=true&fallback_id=' + OCEventSource.iframeCount + '&' + dataStr)\n\t\t$('body').append(this.iframe)\n\t\tthis.useFallBack = true\n\t\tOCEventSource.iframeCount++\n\t}\n\t// add close listener\n\tthis.listen('__internal__', function(data) {\n\t\tif (data === 'close') {\n\t\t\tthis.close()\n\t\t}\n\t}.bind(this))\n}\nOCEventSource.fallBackSources = []\nOCEventSource.iframeCount = 0// number of fallback iframes\nOCEventSource.fallBackCallBack = function(id, type, data) {\n\tOCEventSource.fallBackSources[id].fallBackCallBack(type, data)\n}\nOCEventSource.prototype = {\n\ttypelessListeners: [],\n\tiframe: null,\n\tlisteners: {}, // only for fallback\n\tuseFallBack: false,\n\t/**\n\t * Fallback callback for browsers that don't have the\n\t * native EventSource object.\n\t *\n\t * Calls the registered listeners.\n\t *\n\t * @private\n\t * @param {String} type event type\n\t * @param {Object} data received data\n\t */\n\tfallBackCallBack: function(type, data) {\n\t\tvar i\n\t\t// ignore messages that might appear after closing\n\t\tif (this.closed) {\n\t\t\treturn\n\t\t}\n\t\tif (type) {\n\t\t\tif (typeof this.listeners.done !== 'undefined') {\n\t\t\t\tfor (i = 0; i < this.listeners[type].length; i++) {\n\t\t\t\t\tthis.listeners[type][i](data)\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor (i = 0; i < this.typelessListeners.length; i++) {\n\t\t\t\tthis.typelessListeners[i](data)\n\t\t\t}\n\t\t}\n\t},\n\tlastLength: 0, // for fallback\n\t/**\n\t * Listen to a given type of events.\n\t *\n\t * @param {String} type event type\n\t * @param {Function} callback event callback\n\t */\n\tlisten: function(type, callback) {\n\t\tif (callback && callback.call) {\n\n\t\t\tif (type) {\n\t\t\t\tif (this.useFallBack) {\n\t\t\t\t\tif (!this.listeners[type]) {\n\t\t\t\t\t\tthis.listeners[type] = []\n\t\t\t\t\t}\n\t\t\t\t\tthis.listeners[type].push(callback)\n\t\t\t\t} else {\n\t\t\t\t\tthis.source.addEventListener(type, function(e) {\n\t\t\t\t\t\tif (typeof e.data !== 'undefined') {\n\t\t\t\t\t\t\tcallback(JSON.parse(e.data))\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcallback('')\n\t\t\t\t\t\t}\n\t\t\t\t\t}, false)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.typelessListeners.push(callback)\n\t\t\t}\n\t\t}\n\t},\n\t/**\n\t * Closes this event source.\n\t */\n\tclose: function() {\n\t\tthis.closed = true\n\t\tif (typeof this.source !== 'undefined') {\n\t\t\tthis.source.close()\n\t\t}\n\t}\n}\n\nexport default OCEventSource\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Daniel Calviño Sánchez <danxuliu@gmail.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport _ from 'underscore'\n/** @typedef {import('jquery')} jQuery */\nimport $ from 'jquery'\n\nimport { menuSpeed } from './constants.js'\n\nexport let currentMenu = null\nexport let currentMenuToggle = null\n\n/**\n * For menu toggling\n *\n * @param {jQuery} $toggle the toggle element\n * @param {jQuery} $menuEl the menu container element\n * @param {Function | undefined} toggle callback invoked everytime the menu is opened\n * @param {boolean} headerMenu is this a top right header menu?\n * @return {void}\n */\nexport const registerMenu = function($toggle, $menuEl, toggle, headerMenu) {\n\t$menuEl.addClass('menu')\n\tconst isClickableElement = $toggle.prop('tagName') === 'A' || $toggle.prop('tagName') === 'BUTTON'\n\n\t// On link and button, the enter key trigger a click event\n\t// Only use the click to avoid two fired events\n\t$toggle.on(isClickableElement ? 'click.menu' : 'click.menu keyup.menu', function(event) {\n\t\t// prevent the link event (append anchor to URL)\n\t\tevent.preventDefault()\n\n\t\t// allow enter key as a trigger\n\t\tif (event.key && event.key !== 'Enter') {\n\t\t\treturn\n\t\t}\n\n\t\tif ($menuEl.is(currentMenu)) {\n\t\t\thideMenus()\n\t\t\treturn\n\t\t} else if (currentMenu) {\n\t\t\t// another menu was open?\n\t\t\t// close it\n\t\t\thideMenus()\n\t\t}\n\n\t\tif (headerMenu === true) {\n\t\t\t$menuEl.parent().addClass('openedMenu')\n\t\t}\n\n\t\t// Set menu to expanded\n\t\t$toggle.attr('aria-expanded', true)\n\n\t\t$menuEl.slideToggle(menuSpeed, toggle)\n\t\tcurrentMenu = $menuEl\n\t\tcurrentMenuToggle = $toggle\n\t})\n}\n\n/**\n * Unregister a previously registered menu\n *\n * @param {jQuery} $toggle the toggle element\n * @param {jQuery} $menuEl the menu container element\n */\nexport const unregisterMenu = ($toggle, $menuEl) => {\n\t// close menu if opened\n\tif ($menuEl.is(currentMenu)) {\n\t\thideMenus()\n\t}\n\t$toggle.off('click.menu').removeClass('menutoggle')\n\t$menuEl.removeClass('menu')\n}\n\n/**\n * Hides any open menus\n *\n * @param {Function} complete callback when the hiding animation is done\n */\nexport const hideMenus = function(complete) {\n\tif (currentMenu) {\n\t\tconst lastMenu = currentMenu\n\t\tcurrentMenu.trigger(new $.Event('beforeHide'))\n\t\tcurrentMenu.slideUp(menuSpeed, function() {\n\t\t\tlastMenu.trigger(new $.Event('afterHide'))\n\t\t\tif (complete) {\n\t\t\t\tcomplete.apply(this, arguments)\n\t\t\t}\n\t\t})\n\t}\n\n\t// Set menu to closed\n\t$('.menutoggle').attr('aria-expanded', false)\n\tif (currentMenuToggle) {\n\t\tcurrentMenuToggle.attr('aria-expanded', false)\n\t}\n\n\t$('.openedMenu').removeClass('openedMenu')\n\tcurrentMenu = null\n\tcurrentMenuToggle = null\n}\n\n/**\n * Shows a given element as menu\n *\n * @param {object} [$toggle=null] menu toggle\n * @param {object} $menuEl menu element\n * @param {Function} complete callback when the showing animation is done\n */\nexport const showMenu = ($toggle, $menuEl, complete) => {\n\tif ($menuEl.is(currentMenu)) {\n\t\treturn\n\t}\n\thideMenus()\n\tcurrentMenu = $menuEl\n\tcurrentMenuToggle = $toggle\n\t$menuEl.trigger(new $.Event('beforeShow'))\n\t$menuEl.show()\n\t$menuEl.trigger(new $.Event('afterShow'))\n\t// no animation\n\tif (_.isFunction(complete)) {\n\t\tcomplete()\n\t}\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport const coreApps = ['', 'admin', 'log', 'core/search', 'core', '3rdparty']\nexport const menuSpeed = 50\nexport const PERMISSION_NONE = 0\nexport const PERMISSION_CREATE = 4\nexport const PERMISSION_READ = 1\nexport const PERMISSION_UPDATE = 2\nexport const PERMISSION_DELETE = 8\nexport const PERMISSION_SHARE = 16\nexport const PERMISSION_ALL = 31\nexport const TAG_FAVORITE = '_$!<Favorite>!$_'\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst isAdmin = !!window._oc_isadmin\n\n/**\n * Returns whether the current user is an administrator\n *\n * @return {boolean} true if the user is an admin, false otherwise\n * @since 9.0.0\n */\nexport const isUserAdmin = () => isAdmin\n","/**\n * Copyright (c) 2014 Vincent Petry <pvince81@owncloud.com>\n * Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Daniel Kesselberg <mail@danielkesselberg.de>\n * @author Joas Schilling <coding@schilljs.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Morris Jobke <hey@morrisjobke.de>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n * @author Vincent Petry <vincent@nextcloud.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Handlebars from 'handlebars'\nimport {\n\tloadTranslations,\n\ttranslate,\n\ttranslatePlural,\n\tregister,\n\tunregister,\n} from '@nextcloud/l10n'\n\n/**\n * L10N namespace with localization functions.\n *\n * @namespace OC.L10n\n * @deprecated 26.0.0 use https://www.npmjs.com/package/@nextcloud/l10n\n */\nconst L10n = {\n\n\t/**\n\t * Load an app's translation bundle if not loaded already.\n\t *\n\t * @deprecated 26.0.0 use `loadTranslations` from https://www.npmjs.com/package/@nextcloud/l10n\n\t *\n\t * @param {string} appName name of the app\n\t * @param {Function} callback callback to be called when\n\t * the translations are loaded\n\t * @return {Promise} promise\n\t */\n\tload: loadTranslations,\n\n\t/**\n\t * Register an app's translation bundle.\n\t *\n\t * @deprecated 26.0.0 use `register` from https://www.npmjs.com/package/@nextcloud/l10\n\t *\n\t * @param {string} appName name of the app\n\t * @param {Object<string, string>} bundle bundle\n\t */\n\tregister,\n\n\t/**\n\t * @private\n\t * @deprecated 26.0.0 use `unregister` from https://www.npmjs.com/package/@nextcloud/l10n\n\t */\n\t_unregister: unregister,\n\n\t/**\n\t * Translate a string\n\t *\n\t * @deprecated 26.0.0 use `translate` from https://www.npmjs.com/package/@nextcloud/l10n\n\t *\n\t * @param {string} app the id of the app for which to translate the string\n\t * @param {string} text the string to translate\n\t * @param {object} [vars] map of placeholder key to value\n\t * @param {number} [count] number to replace %n with\n\t * @param {Array} [options] options array\n\t * @param {boolean} [options.escape=true] enable/disable auto escape of placeholders (by default enabled)\n\t * @param {boolean} [options.sanitize=true] enable/disable sanitization (by default enabled)\n\t * @return {string}\n\t */\n\ttranslate,\n\n\t/**\n\t * Translate a plural string\n\t *\n\t * @deprecated 26.0.0 use `translatePlural` from https://www.npmjs.com/package/@nextcloud/l10n\n\t *\n\t * @param {string} app the id of the app for which to translate the string\n\t * @param {string} textSingular the string to translate for exactly one object\n\t * @param {string} textPlural the string to translate for n objects\n\t * @param {number} count number to determine whether to use singular or plural\n\t * @param {object} [vars] map of placeholder key to value\n\t * @param {Array} [options] options array\n\t * @param {boolean} [options.escape=true] enable/disable auto escape of placeholders (by default enabled)\n\t * @return {string} Translated string\n\t */\n\ttranslatePlural,\n}\n\nexport default L10n\n\nHandlebars.registerHelper('t', function(app, text) {\n\treturn translate(app, text)\n})\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport {\n\tgetRootUrl as realGetRootUrl,\n} from '@nextcloud/router'\n\n/**\n * Creates a relative url for remote use\n *\n * @param {string} service id\n * @return {string} the url\n */\nexport const linkToRemoteBase = service => {\n\treturn realGetRootUrl() + '/remote.php/' + service\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author rakekniven <mark.ziegler@rakekniven.de>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport $ from 'jquery'\n\n/**\n * A little class to manage a status field for a \"saving\" process.\n * It can be used to display a starting message (e.g. \"Saving...\") and then\n * replace it with a green success message or a red error message.\n *\n * @namespace OC.msg\n */\nexport default {\n\t/**\n\t * Displayes a \"Saving...\" message in the given message placeholder\n\t *\n\t * @param {object} selector Placeholder to display the message in\n\t */\n\tstartSaving(selector) {\n\t\tthis.startAction(selector, t('core', 'Saving …'))\n\t},\n\n\t/**\n\t * Displayes a custom message in the given message placeholder\n\t *\n\t * @param {object} selector Placeholder to display the message in\n\t * @param {string} message Plain text message to display (no HTML allowed)\n\t */\n\tstartAction(selector, message) {\n\t\t$(selector).text(message)\n\t\t\t.removeClass('success')\n\t\t\t.removeClass('error')\n\t\t\t.stop(true, true)\n\t\t\t.show()\n\t},\n\n\t/**\n\t * Displayes an success/error message in the given selector\n\t *\n\t * @param {object} selector Placeholder to display the message in\n\t * @param {object} response Response of the server\n\t * @param {object} response.data Data of the servers response\n\t * @param {string} response.data.message Plain text message to display (no HTML allowed)\n\t * @param {string} response.status is being used to decide whether the message\n\t * is displayed as an error/success\n\t */\n\tfinishedSaving(selector, response) {\n\t\tthis.finishedAction(selector, response)\n\t},\n\n\t/**\n\t * Displayes an success/error message in the given selector\n\t *\n\t * @param {object} selector Placeholder to display the message in\n\t * @param {object} response Response of the server\n\t * @param {object} response.data Data of the servers response\n\t * @param {string} response.data.message Plain text message to display (no HTML allowed)\n\t * @param {string} response.status is being used to decide whether the message\n\t * is displayed as an error/success\n\t */\n\tfinishedAction(selector, response) {\n\t\tif (response.status === 'success') {\n\t\t\tthis.finishedSuccess(selector, response.data.message)\n\t\t} else {\n\t\t\tthis.finishedError(selector, response.data.message)\n\t\t}\n\t},\n\n\t/**\n\t * Displayes an success message in the given selector\n\t *\n\t * @param {object} selector Placeholder to display the message in\n\t * @param {string} message Plain text success message to display (no HTML allowed)\n\t */\n\tfinishedSuccess(selector, message) {\n\t\t$(selector).text(message)\n\t\t\t.addClass('success')\n\t\t\t.removeClass('error')\n\t\t\t.stop(true, true)\n\t\t\t.delay(3000)\n\t\t\t.fadeOut(900)\n\t\t\t.show()\n\t},\n\n\t/**\n\t * Displayes an error message in the given selector\n\t *\n\t * @param {object} selector Placeholder to display the message in\n\t * @param {string} message Plain text error message to display (no HTML allowed)\n\t */\n\tfinishedError(selector, message) {\n\t\t$(selector).text(message)\n\t\t\t.addClass('error')\n\t\t\t.removeClass('success')\n\t\t\t.show()\n\t},\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { confirmPassword, isPasswordConfirmationRequired } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\n\n/**\n * @namespace OC.PasswordConfirmation\n */\nexport default {\n\n\trequiresPasswordConfirmation() {\n\t\treturn isPasswordConfirmationRequired()\n\t},\n\n\t/**\n\t * @param {Function} callback success callback function\n\t * @param {object} options options currently not used by confirmPassword\n\t * @param {Function} rejectCallback error callback function\n\t */\n\trequirePasswordConfirmation(callback, options, rejectCallback) {\n\t\tconfirmPassword().then(callback, rejectCallback)\n\t},\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport const theme = window._theme || {}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport _ from 'underscore'\nimport OC from './index.js'\n\n/**\n * Utility class for the history API,\n * includes fallback to using the URL hash when\n * the browser doesn't support the history API.\n *\n * @namespace OC.Util.History\n */\nexport default {\n\n\t_handlers: [],\n\n\t/**\n\t * Push the current URL parameters to the history stack\n\t * and change the visible URL.\n\t * Note: this includes a workaround for IE8/IE9 that uses\n\t * the hash part instead of the search part.\n\t *\n\t * @param {object | string} params to append to the URL, can be either a string\n\t * or a map\n\t * @param {string} [url] URL to be used, otherwise the current URL will be used,\n\t * using the params as query string\n\t * @param {boolean} [replace=false] whether to replace instead of pushing\n\t */\n\t_pushState(params, url, replace) {\n\t\tlet strParams\n\t\tif (typeof (params) === 'string') {\n\t\t\tstrParams = params\n\t\t} else {\n\t\t\tstrParams = OC.buildQueryString(params)\n\t\t}\n\n\t\tif (window.history.pushState) {\n\t\t\turl = url || location.pathname + '?' + strParams\n\t\t\t// Workaround for bug with SVG and window.history.pushState on Firefox < 51\n\t\t\t// https://bugzilla.mozilla.org/show_bug.cgi?id=652991\n\t\t\tconst isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1\n\t\t\tif (isFirefox && parseInt(navigator.userAgent.split('/').pop()) < 51) {\n\t\t\t\tconst patterns = document.querySelectorAll('[fill^=\"url(#\"], [stroke^=\"url(#\"], [filter^=\"url(#invert\"]')\n\t\t\t\tfor (let i = 0, ii = patterns.length, pattern; i < ii; i++) {\n\t\t\t\t\tpattern = patterns[i]\n\t\t\t\t\t// eslint-disable-next-line no-self-assign\n\t\t\t\t\tpattern.style.fill = pattern.style.fill\n\t\t\t\t\t// eslint-disable-next-line no-self-assign\n\t\t\t\t\tpattern.style.stroke = pattern.style.stroke\n\t\t\t\t\tpattern.removeAttribute('filter')\n\t\t\t\t\tpattern.setAttribute('filter', 'url(#invert)')\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (replace) {\n\t\t\t\twindow.history.replaceState(params, '', url)\n\t\t\t} else {\n\t\t\t\twindow.history.pushState(params, '', url)\n\t\t\t}\n\t\t} else {\n\t\t\t// use URL hash for IE8\n\t\t\twindow.location.hash = '?' + strParams\n\t\t\t// inhibit next onhashchange that just added itself\n\t\t\t// to the event queue\n\t\t\tthis._cancelPop = true\n\t\t}\n\t},\n\n\t/**\n\t * Push the current URL parameters to the history stack\n\t * and change the visible URL.\n\t * Note: this includes a workaround for IE8/IE9 that uses\n\t * the hash part instead of the search part.\n\t *\n\t * @param {object | string} params to append to the URL, can be either a string or a map\n\t * @param {string} [url] URL to be used, otherwise the current URL will be used, using the params as query string\n\t */\n\tpushState(params, url) {\n\t\tthis._pushState(params, url, false)\n\t},\n\n\t/**\n\t * Push the current URL parameters to the history stack\n\t * and change the visible URL.\n\t * Note: this includes a workaround for IE8/IE9 that uses\n\t * the hash part instead of the search part.\n\t *\n\t * @param {object | string} params to append to the URL, can be either a string\n\t * or a map\n\t * @param {string} [url] URL to be used, otherwise the current URL will be used,\n\t * using the params as query string\n\t */\n\treplaceState(params, url) {\n\t\tthis._pushState(params, url, true)\n\t},\n\n\t/**\n\t * Add a popstate handler\n\t *\n\t * @param {Function} handler handler\n\t */\n\taddOnPopStateHandler(handler) {\n\t\tthis._handlers.push(handler)\n\t},\n\n\t/**\n\t * Parse a query string from the hash part of the URL.\n\t * (workaround for IE8 / IE9)\n\t *\n\t * @return {string}\n\t */\n\t_parseHashQuery() {\n\t\tconst hash = window.location.hash\n\t\tconst pos = hash.indexOf('?')\n\t\tif (pos >= 0) {\n\t\t\treturn hash.substr(pos + 1)\n\t\t}\n\t\tif (hash.length) {\n\t\t\t// remove hash sign\n\t\t\treturn hash.substr(1)\n\t\t}\n\t\treturn ''\n\t},\n\n\t_decodeQuery(query) {\n\t\treturn query.replace(/\\+/g, ' ')\n\t},\n\n\t/**\n\t * Parse the query/search part of the URL.\n\t * Also try and parse it from the URL hash (for IE8)\n\t *\n\t * @return {object} map of parameters\n\t */\n\tparseUrlQuery() {\n\t\tconst query = this._parseHashQuery()\n\t\tlet params\n\t\t// try and parse from URL hash first\n\t\tif (query) {\n\t\t\tparams = OC.parseQueryString(this._decodeQuery(query))\n\t\t}\n\t\t// else read from query attributes\n\t\tparams = _.extend(params || {}, OC.parseQueryString(this._decodeQuery(location.search)))\n\t\treturn params || {}\n\t},\n\n\t_onPopState(e) {\n\t\tif (this._cancelPop) {\n\t\t\tthis._cancelPop = false\n\t\t\treturn\n\t\t}\n\t\tlet params\n\t\tif (!this._handlers.length) {\n\t\t\treturn\n\t\t}\n\t\tparams = (e && e.state)\n\t\tif (_.isString(params)) {\n\t\t\tparams = OC.parseQueryString(params)\n\t\t} else if (!params) {\n\t\t\tparams = this.parseUrlQuery() || {}\n\t\t}\n\t\tfor (let i = 0; i < this._handlers.length; i++) {\n\t\t\tthis._handlers[i](params)\n\t\t}\n\t},\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport moment from 'moment'\n\nimport History from './util-history.js'\nimport OC from './index.js'\nimport { formatFileSize as humanFileSize } from '@nextcloud/files'\n\n/**\n * @param {any} t -\n */\nfunction chunkify(t) {\n\t// Adapted from http://my.opera.com/GreyWyvern/blog/show.dml/1671288\n\tconst tz = []\n\tlet x = 0\n\tlet y = -1\n\tlet n = 0\n\tlet c\n\n\twhile (x < t.length) {\n\t\tc = t.charAt(x)\n\t\t// only include the dot in strings\n\t\tconst m = ((!n && c === '.') || (c >= '0' && c <= '9'))\n\t\tif (m !== n) {\n\t\t\t// next chunk\n\t\t\ty++\n\t\t\ttz[y] = ''\n\t\t\tn = m\n\t\t}\n\t\ttz[y] += c\n\t\tx++\n\t}\n\treturn tz\n}\n\n/**\n * Utility functions\n *\n * @namespace OC.Util\n */\nexport default {\n\n\tHistory,\n\n\t/**\n\t * @deprecated use https://nextcloud.github.io/nextcloud-files/functions/formatFileSize.html\n\t */\n\thumanFileSize,\n\n\t/**\n\t * Returns a file size in bytes from a humanly readable string\n\t * Makes 2kB to 2048.\n\t * Inspired by computerFileSize in helper.php\n\t *\n\t * @param {string} string file size in human-readable format\n\t * @return {number} or null if string could not be parsed\n\t *\n\t *\n\t */\n\tcomputerFileSize(string) {\n\t\tif (typeof string !== 'string') {\n\t\t\treturn null\n\t\t}\n\n\t\tconst s = string.toLowerCase().trim()\n\t\tlet bytes = null\n\n\t\tconst bytesArray = {\n\t\t\tb: 1,\n\t\t\tk: 1024,\n\t\t\tkb: 1024,\n\t\t\tmb: 1024 * 1024,\n\t\t\tm: 1024 * 1024,\n\t\t\tgb: 1024 * 1024 * 1024,\n\t\t\tg: 1024 * 1024 * 1024,\n\t\t\ttb: 1024 * 1024 * 1024 * 1024,\n\t\t\tt: 1024 * 1024 * 1024 * 1024,\n\t\t\tpb: 1024 * 1024 * 1024 * 1024 * 1024,\n\t\t\tp: 1024 * 1024 * 1024 * 1024 * 1024,\n\t\t}\n\n\t\tconst matches = s.match(/^[\\s+]?([0-9]*)(\\.([0-9]+))?( +)?([kmgtp]?b?)$/i)\n\t\tif (matches !== null) {\n\t\t\tbytes = parseFloat(s)\n\t\t\tif (!isFinite(bytes)) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t} else {\n\t\t\treturn null\n\t\t}\n\t\tif (matches[5]) {\n\t\t\tbytes = bytes * bytesArray[matches[5]]\n\t\t}\n\n\t\tbytes = Math.round(bytes)\n\t\treturn bytes\n\t},\n\n\t/**\n\t * @param {string|number} timestamp timestamp\n\t * @param {string} format date format, see momentjs docs\n\t * @return {string} timestamp formatted as requested\n\t */\n\tformatDate(timestamp, format) {\n\t\tif (window.TESTING === undefined) {\n\t\t\tOC.debug && console.warn('OC.Util.formatDate is deprecated and will be removed in Nextcloud 21. See @nextcloud/moment')\n\t\t}\n\t\tformat = format || 'LLL'\n\t\treturn moment(timestamp).format(format)\n\t},\n\n\t/**\n\t * @param {string|number} timestamp timestamp\n\t * @return {string} human readable difference from now\n\t */\n\trelativeModifiedDate(timestamp) {\n\t\tif (window.TESTING === undefined) {\n\t\t\tOC.debug && console.warn('OC.Util.relativeModifiedDate is deprecated and will be removed in Nextcloud 21. See @nextcloud/moment')\n\t\t}\n\t\tconst diff = moment().diff(moment(timestamp))\n\t\tif (diff >= 0 && diff < 45000) {\n\t\t\treturn t('core', 'seconds ago')\n\t\t}\n\t\treturn moment(timestamp).fromNow()\n\t},\n\n\t/**\n\t * Returns the width of a generic browser scrollbar\n\t *\n\t * @return {number} width of scrollbar\n\t */\n\tgetScrollBarWidth() {\n\t\tif (this._scrollBarWidth) {\n\t\t\treturn this._scrollBarWidth\n\t\t}\n\n\t\tconst inner = document.createElement('p')\n\t\tinner.style.width = '100%'\n\t\tinner.style.height = '200px'\n\n\t\tconst outer = document.createElement('div')\n\t\touter.style.position = 'absolute'\n\t\touter.style.top = '0px'\n\t\touter.style.left = '0px'\n\t\touter.style.visibility = 'hidden'\n\t\touter.style.width = '200px'\n\t\touter.style.height = '150px'\n\t\touter.style.overflow = 'hidden'\n\t\touter.appendChild(inner)\n\n\t\tdocument.body.appendChild(outer)\n\t\tconst w1 = inner.offsetWidth\n\t\touter.style.overflow = 'scroll'\n\t\tlet w2 = inner.offsetWidth\n\t\tif (w1 === w2) {\n\t\t\tw2 = outer.clientWidth\n\t\t}\n\n\t\tdocument.body.removeChild(outer)\n\n\t\tthis._scrollBarWidth = (w1 - w2)\n\n\t\treturn this._scrollBarWidth\n\t},\n\n\t/**\n\t * Remove the time component from a given date\n\t *\n\t * @param {Date} date date\n\t * @return {Date} date with stripped time\n\t */\n\tstripTime(date) {\n\t\t// FIXME: likely to break when crossing DST\n\t\t// would be better to use a library like momentJS\n\t\treturn new Date(date.getFullYear(), date.getMonth(), date.getDate())\n\t},\n\n\t/**\n\t * Compare two strings to provide a natural sort\n\t *\n\t * @param {string} a first string to compare\n\t * @param {string} b second string to compare\n\t * @return {number} -1 if b comes before a, 1 if a comes before b\n\t * or 0 if the strings are identical\n\t */\n\tnaturalSortCompare(a, b) {\n\t\tlet x\n\t\tconst aa = chunkify(a)\n\t\tconst bb = chunkify(b)\n\n\t\tfor (x = 0; aa[x] && bb[x]; x++) {\n\t\t\tif (aa[x] !== bb[x]) {\n\t\t\t\tconst aNum = Number(aa[x]); const bNum = Number(bb[x])\n\t\t\t\t// note: == is correct here\n\t\t\t\t/* eslint-disable-next-line */\n\t\t\t\tif (aNum == aa[x] && bNum == bb[x]) {\n\t\t\t\t\treturn aNum - bNum\n\t\t\t\t} else {\n\t\t\t\t\t// Note: This locale setting isn't supported by all browsers but for the ones\n\t\t\t\t\t// that do there will be more consistency between client-server sorting\n\t\t\t\t\treturn aa[x].localeCompare(bb[x], OC.getLanguage())\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn aa.length - bb.length\n\t},\n\n\t/**\n\t * Calls the callback in a given interval until it returns true\n\t *\n\t * @param {Function} callback function to call on success\n\t * @param {number} interval in milliseconds\n\t */\n\twaitFor(callback, interval) {\n\t\tconst internalCallback = function() {\n\t\t\tif (callback() !== true) {\n\t\t\t\tsetTimeout(internalCallback, interval)\n\t\t\t}\n\t\t}\n\n\t\tinternalCallback()\n\t},\n\n\t/**\n\t * Checks if a cookie with the given name is present and is set to the provided value.\n\t *\n\t * @param {string} name name of the cookie\n\t * @param {string} value value of the cookie\n\t * @return {boolean} true if the cookie with the given name has the given value\n\t */\n\tisCookieSetToValue(name, value) {\n\t\tconst cookies = document.cookie.split(';')\n\t\tfor (let i = 0; i < cookies.length; i++) {\n\t\t\tconst cookie = cookies[i].split('=')\n\t\t\tif (cookie[0].trim() === name && cookie[1].trim() === value) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t}\n\t\treturn false\n\t},\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst base = window._oc_debug\n\nexport const debug = base\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nlet webroot = window._oc_webroot\n\nif (typeof webroot === 'undefined') {\n\twebroot = location.pathname\n\tconst pos = webroot.indexOf('/index.php/')\n\tif (pos !== -1) {\n\t\twebroot = webroot.substr(0, pos)\n\t} else {\n\t\twebroot = webroot.substr(0, webroot.lastIndexOf('/'))\n\t}\n}\n\nexport default webroot\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport const get = context => name => {\n\tconst namespaces = name.split('.')\n\tconst tail = namespaces.pop()\n\n\tfor (let i = 0; i < namespaces.length; i++) {\n\t\tcontext = context[namespaces[i]]\n\t\tif (!context) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn context[tail]\n}\n\n/**\n * Set a variable by name\n *\n * @param {string} context context\n * @return {Function} setter\n * @deprecated 19.0.0 use https://lodash.com/docs#set\n */\nexport const set = context => (name, value) => {\n\tconst namespaces = name.split('.')\n\tconst tail = namespaces.pop()\n\n\tfor (let i = 0; i < namespaces.length; i++) {\n\t\tif (!context[namespaces[i]]) {\n\t\t\tcontext[namespaces[i]] = {}\n\t\t}\n\t\tcontext = context[namespaces[i]]\n\t}\n\tcontext[tail] = value\n\treturn value\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { subscribe } from '@nextcloud/event-bus'\n\nimport {\n\tajaxConnectionLostHandler,\n\tprocessAjaxError,\n\tregisterXHRForErrorProcessing,\n} from './xhr-error.js'\nimport Apps from './apps.js'\nimport { AppConfig, appConfig } from './appconfig.js'\nimport appswebroots from './appswebroots.js'\nimport Backbone from './backbone.js'\nimport {\n\tbasename,\n\tdirname,\n\tencodePath,\n\tisSamePath,\n\tjoinPaths,\n} from '@nextcloud/paths'\nimport {\n\tbuild as buildQueryString,\n\tparse as parseQueryString,\n} from './query-string.js'\nimport Config from './config.js'\nimport {\n\tcoreApps,\n\tmenuSpeed,\n\tPERMISSION_ALL,\n\tPERMISSION_CREATE,\n\tPERMISSION_DELETE,\n\tPERMISSION_NONE,\n\tPERMISSION_READ,\n\tPERMISSION_SHARE,\n\tPERMISSION_UPDATE,\n\tTAG_FAVORITE,\n} from './constants.js'\nimport { currentUser, getCurrentUser } from './currentuser.js'\nimport Dialogs from './dialogs.js'\nimport EventSource from './eventsource.js'\nimport { get, set } from './get_set.js'\nimport { getCapabilities } from './capabilities.js'\nimport {\n\tgetHost,\n\tgetHostName,\n\tgetPort,\n\tgetProtocol,\n} from './host.js'\nimport {\n\tgetToken as getRequestToken,\n} from './requesttoken.js'\nimport {\n\thideMenus,\n\tregisterMenu,\n\tshowMenu,\n\tunregisterMenu,\n} from './menu.js'\nimport { isUserAdmin } from './admin.js'\nimport L10N from './l10n.js'\nimport {\n\tgetCanonicalLocale,\n\tgetLanguage,\n\tgetLocale,\n} from '@nextcloud/l10n'\n\nimport {\n\tgenerateUrl,\n\tgenerateFilePath,\n\tgenerateOcsUrl,\n\tgenerateRemoteUrl,\n\tgetRootUrl,\n\timagePath,\n\tlinkTo,\n} from '@nextcloud/router'\n\nimport {\n\tlinkToRemoteBase,\n} from './routing.js'\nimport msg from './msg.js'\nimport Notification from './notification.js'\nimport PasswordConfirmation from './password-confirmation.js'\nimport Plugins from './plugins.js'\nimport { theme } from './theme.js'\nimport Util from './util.js'\nimport { debug } from './debug.js'\nimport { redirect, reload } from './navigation.js'\nimport webroot from './webroot.js'\n\n/** @namespace OC */\nexport default {\n\t/*\n\t * Constants\n\t */\n\tcoreApps,\n\tmenuSpeed,\n\tPERMISSION_ALL,\n\tPERMISSION_CREATE,\n\tPERMISSION_DELETE,\n\tPERMISSION_NONE,\n\tPERMISSION_READ,\n\tPERMISSION_SHARE,\n\tPERMISSION_UPDATE,\n\tTAG_FAVORITE,\n\n\t/*\n\t * Deprecated helpers to be removed\n\t */\n\t/**\n\t * Check if a user file is allowed to be handled.\n\t *\n\t * @param {string} file to check\n\t * @return {boolean}\n\t * @deprecated 17.0.0\n\t */\n\tfileIsBlacklisted: file => !!(file.match(Config.blacklist_files_regex)),\n\tApps,\n\tAppConfig,\n\tappConfig,\n\tappswebroots,\n\tBackbone,\n\tconfig: Config,\n\t/**\n\t * Currently logged in user or null if none\n\t *\n\t * @type {string}\n\t * @deprecated use `getCurrentUser` from https://www.npmjs.com/package/@nextcloud/auth\n\t */\n\tcurrentUser,\n\tdialogs: Dialogs,\n\tEventSource,\n\t/**\n\t * Returns the currently logged in user or null if there is no logged in\n\t * user (public page mode)\n\t *\n\t * @since 9.0.0\n\t * @deprecated 19.0.0 use `getCurrentUser` from https://www.npmjs.com/package/@nextcloud/auth\n\t */\n\tgetCurrentUser,\n\tisUserAdmin,\n\tL10N,\n\n\t/**\n\t * Ajax error handlers\n\t *\n\t * @todo remove from here and keep internally -> requires new tests\n\t */\n\t_ajaxConnectionLostHandler: ajaxConnectionLostHandler,\n\t_processAjaxError: processAjaxError,\n\tregisterXHRForErrorProcessing,\n\n\t/**\n\t * Capabilities\n\t *\n\t * @type {Array}\n\t * @deprecated 20.0.0 use @nextcloud/capabilities instead\n\t */\n\tgetCapabilities,\n\n\t/*\n\t * Legacy menu helpers\n\t */\n\thideMenus,\n\tregisterMenu,\n\tshowMenu,\n\tunregisterMenu,\n\n\t/*\n\t * Path helpers\n\t */\n\t/**\n\t * @deprecated 18.0.0 use https://www.npmjs.com/package/@nextcloud/paths\n\t */\n\tbasename,\n\t/**\n\t * @deprecated 18.0.0 use https://www.npmjs.com/package/@nextcloud/paths\n\t */\n\tencodePath,\n\t/**\n\t * @deprecated 18.0.0 use https://www.npmjs.com/package/@nextcloud/paths\n\t */\n\tdirname,\n\t/**\n\t * @deprecated 18.0.0 use https://www.npmjs.com/package/@nextcloud/paths\n\t */\n\tisSamePath,\n\t/**\n\t * @deprecated 18.0.0 use https://www.npmjs.com/package/@nextcloud/paths\n\t */\n\tjoinPaths,\n\n\t/**\n\t * Host (url) helpers\n\t */\n\tgetHost,\n\tgetHostName,\n\tgetPort,\n\tgetProtocol,\n\n\t/**\n\t * @deprecated 20.0.0 use `getCanonicalLocale` from https://www.npmjs.com/package/@nextcloud/l10n\n\t */\n\tgetCanonicalLocale,\n\t/**\n\t * @deprecated 26.0.0 use `getLocale` from https://www.npmjs.com/package/@nextcloud/l10n\n\t */\n\tgetLocale,\n\t/**\n\t * @deprecated 26.0.0 use `getLanguage` from https://www.npmjs.com/package/@nextcloud/l10n\n\t */\n\tgetLanguage,\n\n\t/**\n\t * Query string helpers\n\t */\n\tbuildQueryString,\n\tparseQueryString,\n\n\tmsg,\n\tNotification,\n\t/**\n\t * @deprecated 28.0.0 use methods from '@nextcloud/password-confirmation'\n\t */\n\tPasswordConfirmation,\n\tPlugins,\n\ttheme,\n\tUtil,\n\tdebug,\n\t/**\n\t * @deprecated 19.0.0 use `generateFilePath` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\tfilePath: generateFilePath,\n\t/**\n\t * @deprecated 19.0.0 use `generateUrl` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\tgenerateUrl,\n\t/**\n\t * @deprecated 19.0.0 use https://lodash.com/docs#get\n\t */\n\tget: get(window),\n\t/**\n\t * @deprecated 19.0.0 use https://lodash.com/docs#set\n\t */\n\tset: set(window),\n\t/**\n\t * @deprecated 19.0.0 use `getRootUrl` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\tgetRootPath: getRootUrl,\n\t/**\n\t * @deprecated 19.0.0 use `imagePath` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\timagePath,\n\tredirect,\n\treload,\n\trequestToken: getRequestToken(),\n\t/**\n\t * @deprecated 19.0.0 use `linkTo` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\tlinkTo,\n\t/**\n\t * @param {string} service service name\n\t * @param {number} version OCS API version\n\t * @return {string} OCS API base path\n\t * @deprecated 19.0.0 use `generateOcsUrl` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\tlinkToOCS: (service, version) => {\n\t\treturn generateOcsUrl(service, {}, {\n\t\t\tocsVersion: version || 1,\n\t\t}) + '/'\n\t},\n\t/**\n\t * @deprecated 19.0.0 use `generateRemoteUrl` from https://www.npmjs.com/package/@nextcloud/router\n\t */\n\tlinkToRemote: generateRemoteUrl,\n\tlinkToRemoteBase,\n\t/**\n\t * Relative path to Nextcloud root.\n\t * For example: \"/nextcloud\"\n\t *\n\t * @type {string}\n\t *\n\t * @deprecated 19.0.0 use `getRootUrl` from https://www.npmjs.com/package/@nextcloud/router\n\t * @see OC#getRootPath\n\t */\n\twebroot,\n}\n\n// Keep the request token prop in sync\nsubscribe('csrf-token-update', e => {\n\tOC.requestToken = e.token\n\n\t// Logging might help debug (Sentry) issues\n\tconsole.info('OC.requestToken changed', e.token)\n})\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { getCapabilities as realGetCapabilities } from '@nextcloud/capabilities'\n\n/**\n * Returns the capabilities\n *\n * @return {Array} capabilities\n *\n * @since 14.0.0\n */\nexport const getCapabilities = () => {\n\tOC.debug && console.warn('OC.getCapabilities is deprecated and will be removed in Nextcloud 21. See @nextcloud/capabilities')\n\treturn realGetCapabilities()\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport const getProtocol = () => window.location.protocol.split(':')[0]\n\n/**\n * Returns the host used to access this Nextcloud instance\n * Host is sometimes the same as the hostname but now always.\n *\n * Examples:\n * http://example.com => example.com\n * https://example.com => example.com\n * http://example.com:8080 => example.com:8080\n *\n * @return {string} host\n *\n * @since 8.2.0\n * @deprecated 17.0.0 use window.location.host directly\n */\nexport const getHost = () => window.location.host\n\n/**\n * Returns the hostname used to access this Nextcloud instance\n * The hostname is always stripped of the port\n *\n * @return {string} hostname\n * @since 9.0.0\n * @deprecated 17.0.0 use window.location.hostname directly\n */\nexport const getHostName = () => window.location.hostname\n\n/**\n * Returns the port number used to access this Nextcloud instance\n *\n * @return {number} port number\n *\n * @since 8.2.0\n * @deprecated 17.0.0 use window.location.port directly\n */\nexport const getPort = () => window.location.port\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport $ from 'jquery'\n\n/**\n * Parses a URL query string into a JS map\n *\n * @param {string} queryString query string in the format param1=1234¶m2=abcde¶m3=xyz\n * @return {Object<string, string>} map containing key/values matching the URL parameters\n */\nexport const parse = queryString => {\n\tlet pos\n\tlet components\n\tconst result = {}\n\tlet key\n\tif (!queryString) {\n\t\treturn null\n\t}\n\tpos = queryString.indexOf('?')\n\tif (pos >= 0) {\n\t\tqueryString = queryString.substr(pos + 1)\n\t}\n\tconst parts = queryString.replace(/\\+/g, '%20').split('&')\n\tfor (let i = 0; i < parts.length; i++) {\n\t\t// split on first equal sign\n\t\tconst part = parts[i]\n\t\tpos = part.indexOf('=')\n\t\tif (pos >= 0) {\n\t\t\tcomponents = [\n\t\t\t\tpart.substr(0, pos),\n\t\t\t\tpart.substr(pos + 1),\n\t\t\t]\n\t\t} else {\n\t\t\t// key only\n\t\t\tcomponents = [part]\n\t\t}\n\t\tif (!components.length) {\n\t\t\tcontinue\n\t\t}\n\t\tkey = decodeURIComponent(components[0])\n\t\tif (!key) {\n\t\t\tcontinue\n\t\t}\n\t\t// if equal sign was there, return string\n\t\tif (components.length > 1) {\n\t\t\tresult[key] = decodeURIComponent(components[1])\n\t\t} else {\n\t\t\t// no equal sign => null value\n\t\t\tresult[key] = null\n\t\t}\n\t}\n\treturn result\n}\n\n/**\n * Builds a URL query from a JS map.\n *\n * @param {Object<string, string>} params map containing key/values matching the URL parameters\n * @return {string} String containing a URL query (without question) mark\n */\nexport const build = params => {\n\tif (!params) {\n\t\treturn ''\n\t}\n\treturn $.map(params, function(value, key) {\n\t\tlet s = encodeURIComponent(key)\n\t\tif (value !== null && typeof (value) !== 'undefined') {\n\t\t\ts += '=' + encodeURIComponent(value)\n\t\t}\n\t\treturn s\n\t}).join('&')\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default {\n\n\t/**\n\t * @type {Array.<OC.Plugin>}\n\t */\n\t_plugins: {},\n\n\t/**\n\t * Register plugin\n\t *\n\t * @param {string} targetName app name / class name to hook into\n\t * @param {OC.Plugin} plugin plugin\n\t */\n\tregister(targetName, plugin) {\n\t\tlet plugins = this._plugins[targetName]\n\t\tif (!plugins) {\n\t\t\tplugins = this._plugins[targetName] = []\n\t\t}\n\t\tplugins.push(plugin)\n\t},\n\n\t/**\n\t * Returns all plugin registered to the given target\n\t * name / app name / class name.\n\t *\n\t * @param {string} targetName app name / class name to hook into\n\t * @return {Array.<OC.Plugin>} array of plugins\n\t */\n\tgetPlugins(targetName) {\n\t\treturn this._plugins[targetName] || []\n\t},\n\n\t/**\n\t * Call attach() on all plugins registered to the given target name.\n\t *\n\t * @param {string} targetName app name / class name\n\t * @param {object} targetObject to be extended\n\t * @param {object} [options] options\n\t */\n\tattach(targetName, targetObject, options) {\n\t\tconst plugins = this.getPlugins(targetName)\n\t\tfor (let i = 0; i < plugins.length; i++) {\n\t\t\tif (plugins[i].attach) {\n\t\t\t\tplugins[i].attach(targetObject, options)\n\t\t\t}\n\t\t}\n\t},\n\n\t/**\n\t * Call detach() on all plugins registered to the given target name.\n\t *\n\t * @param {string} targetName app name / class name\n\t * @param {object} targetObject to be extended\n\t * @param {object} [options] options\n\t */\n\tdetach(targetName, targetObject, options) {\n\t\tconst plugins = this.getPlugins(targetName)\n\t\tfor (let i = 0; i < plugins.length; i++) {\n\t\t\tif (plugins[i].detach) {\n\t\t\t\tplugins[i].detach(targetObject, options)\n\t\t\t}\n\t\t}\n\t},\n\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport const redirect = targetURL => { window.location = targetURL }\n\n/**\n * Reloads the current page\n *\n * @deprecated 17.0.0 use window.location.reload directly\n */\nexport const reload = () => { window.location.reload() }\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"guest-box login-box\"},[(!_vm.hideLoginForm || _vm.directLogin)?[_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\"}},[(!_vm.passwordlessLogin && !_vm.resetPassword && _vm.resetPasswordTarget === '')?_c('div',[_c('LoginForm',{attrs:{\"username\":_vm.user,\"redirect-url\":_vm.redirectUrl,\"direct-login\":_vm.directLogin,\"messages\":_vm.messages,\"errors\":_vm.errors,\"throttle-delay\":_vm.throttleDelay,\"auto-complete-allowed\":_vm.autoCompleteAllowed},on:{\"update:username\":function($event){_vm.user=$event},\"submit\":function($event){_vm.loading = true}}}),_vm._v(\" \"),(_vm.canResetPassword && _vm.resetPasswordLink !== '')?_c('a',{staticClass:\"login-box__link\",attrs:{\"id\":\"lost-password\",\"href\":_vm.resetPasswordLink}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Forgot password?'))+\"\\n\\t\\t\\t\\t\")]):(_vm.canResetPassword && !_vm.resetPassword)?_c('a',{staticClass:\"login-box__link\",attrs:{\"id\":\"lost-password\",\"href\":_vm.resetPasswordLink},on:{\"click\":function($event){$event.preventDefault();_vm.resetPassword = true}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Forgot password?'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.hasPasswordless)?[(_vm.countAlternativeLogins)?_c('div',{staticClass:\"alternative-logins\"},[(_vm.hasPasswordless)?_c('a',{staticClass:\"button\",class:{ 'single-alt-login-option': _vm.countAlternativeLogins },attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();_vm.passwordlessLogin = true}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Log in with a device'))+\"\\n\\t\\t\\t\\t\\t\\t\")]):_vm._e()]):_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();_vm.passwordlessLogin = true}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Log in with a device'))+\"\\n\\t\\t\\t\\t\\t\")])]:_vm._e()],2):(!_vm.loading && _vm.passwordlessLogin)?_c('div',{key:\"reset\",staticClass:\"login-additional login-passwordless\"},[_c('PasswordLessLoginForm',{attrs:{\"username\":_vm.user,\"redirect-url\":_vm.redirectUrl,\"auto-complete-allowed\":_vm.autoCompleteAllowed,\"is-https\":_vm.isHttps,\"is-localhost\":_vm.isLocalhost,\"has-public-key-credential\":_vm.hasPublicKeyCredential},on:{\"update:username\":function($event){_vm.user=$event},\"submit\":function($event){_vm.loading = true}}}),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"tertiary\",\"aria-label\":_vm.t('core', 'Back to login form'),\"wide\":true},on:{\"click\":function($event){_vm.passwordlessLogin = false}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Back'))+\"\\n\\t\\t\\t\\t\")])],1):(!_vm.loading && _vm.canResetPassword)?_c('div',{key:\"reset\",staticClass:\"login-additional\"},[_c('div',{staticClass:\"lost-password-container\"},[(_vm.resetPassword)?_c('ResetPassword',{attrs:{\"username\":_vm.user,\"reset-password-link\":_vm.resetPasswordLink},on:{\"update:username\":function($event){_vm.user=$event},\"abort\":function($event){_vm.resetPassword = false}}}):_vm._e()],1)]):(_vm.resetPasswordTarget !== '')?_c('div',[_c('UpdatePassword',{attrs:{\"username\":_vm.user,\"reset-password-target\":_vm.resetPasswordTarget},on:{\"update:username\":function($event){_vm.user=$event},\"done\":_vm.passwordResetFinished}})],1):_vm._e()])]:[_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\"}},[_c('NcNoteCard',{attrs:{\"type\":\"warning\",\"title\":_vm.t('core', 'Login form is disabled.')}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Please contact your administrator.'))+\"\\n\\t\\t\\t\")])],1)],_vm._v(\" \"),_c('div',{staticClass:\"alternative-logins\",attrs:{\"id\":\"alternative-logins\"}},_vm._l((_vm.alternativeLogins),function(alternativeLogin,index){return _c('NcButton',{key:index,class:[alternativeLogin.class],attrs:{\"type\":\"secondary\",\"wide\":true,\"role\":\"link\",\"href\":alternativeLogin.href}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(alternativeLogin.name)+\"\\n\\t\\t\")])}),1)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","const token = '%[a-f0-9]{2}';\nconst singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nconst multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tconst left = components.slice(0, split);\n\tconst right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch {\n\t\tlet tokens = input.match(singleMatcher) || [];\n\n\t\tfor (let i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tconst replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD',\n\t};\n\n\tlet match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch {\n\t\t\tconst result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tconst entries = Object.keys(replaceMap);\n\n\tfor (const key of entries) {\n\t\t// Replace all decoded components\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nexport default function decodeUriComponent(encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n}\n","export default function splitOnFirst(string, separator) {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (string === '' || separator === '') {\n\t\treturn [];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n}\n","export function includeKeys(object, predicate) {\n\tconst result = {};\n\n\tif (Array.isArray(predicate)) {\n\t\tfor (const key of predicate) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor?.enumerable) {\n\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// `Reflect.ownKeys()` is required to retrieve symbol properties\n\t\tfor (const key of Reflect.ownKeys(object)) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor.enumerable) {\n\t\t\t\tconst value = object[key];\n\t\t\t\tif (predicate(key, value, object)) {\n\t\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function excludeKeys(object, predicate) {\n\tif (Array.isArray(predicate)) {\n\t\tconst set = new Set(predicate);\n\t\treturn includeKeys(object, key => !set.has(key));\n\t}\n\n\treturn includeKeys(object, (key, value, object) => !predicate(key, value, object));\n}\n","import decodeComponent from 'decode-uri-component';\nimport splitOnFirst from 'split-on-first';\nimport {includeKeys} from 'filter-obj';\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\n// eslint-disable-next-line unicorn/prefer-code-point\nconst strictUriEncode = string => encodeURIComponent(string).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result, [encode(key, options), '[', index, ']'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), '[]'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[]=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), ':list='].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), ':list=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSep = options.arrayFormat === 'bracket-separator'\n\t\t\t\t? '[]='\n\t\t\t\t: '=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), keyValueSep, encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\tencode(key, options),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(:list)$/.exec(key);\n\t\t\t\tkey = key.replace(/:list$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : (value === null ? value : decode(value, options));\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null\n\t\t\t\t\t? []\n\t\t\t\t\t: value.split(options.arrayFormatSeparator).map(item => decode(item, options));\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], ...arrayValue];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...[accumulator[key]].flat(), value];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nexport function extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nexport function parse(query, options) {\n\toptions = {\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false,\n\t\t...options,\n\t};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst returnValue = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn returnValue;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn returnValue;\n\t}\n\n\tfor (const parameter of query.split('&')) {\n\t\tif (parameter === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst parameter_ = options.decode ? parameter.replace(/\\+/g, ' ') : parameter;\n\n\t\tlet [key, value] = splitOnFirst(parameter_, '=');\n\n\t\tif (key === undefined) {\n\t\t\tkey = parameter_;\n\t\t}\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : (['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options));\n\t\tformatter(decode(key, options), value, returnValue);\n\t}\n\n\tfor (const [key, value] of Object.entries(returnValue)) {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const [key2, value2] of Object.entries(value)) {\n\t\t\t\tvalue[key2] = parseValue(value2, options);\n\t\t\t}\n\t\t} else {\n\t\t\treturnValue[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn returnValue;\n\t}\n\n\t// TODO: Remove the use of `reduce`.\n\t// eslint-disable-next-line unicorn/no-array-reduce\n\treturn (options.sort === true ? Object.keys(returnValue).sort() : Object.keys(returnValue).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = returnValue[key];\n\t\tif (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(value);\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexport function stringify(object, options) {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = {encode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',', ...options};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key]))\n\t\t|| (options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const [key, value] of Object.entries(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = value;\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n}\n\nexport function parseUrl(url, options) {\n\toptions = {\n\t\tdecode: true,\n\t\t...options,\n\t};\n\n\tlet [url_, hash] = splitOnFirst(url, '#');\n\n\tif (url_ === undefined) {\n\t\turl_ = url;\n\t}\n\n\treturn {\n\t\turl: url_?.split('?')?.[0] ?? '',\n\t\tquery: parse(extract(url), options),\n\t\t...(options && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}),\n\t};\n}\n\nexport function stringifyUrl(object, options) {\n\toptions = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true,\n\t\t...options,\n\t};\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = extract(object.url);\n\n\tconst query = {\n\t\t...parse(queryFromUrl, {sort: false}),\n\t\t...object.query,\n\t};\n\n\tlet queryString = stringify(query, options);\n\tif (queryString) {\n\t\tqueryString = `?${queryString}`;\n\t}\n\n\tlet hash = getHash(object.url);\n\tif (object.fragmentIdentifier) {\n\t\tconst urlObjectForFragmentEncode = new URL(url);\n\t\turlObjectForFragmentEncode.hash = object.fragmentIdentifier;\n\t\thash = options[encodeFragmentIdentifier] ? urlObjectForFragmentEncode.hash : `#${object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n}\n\nexport function pick(input, filter, options) {\n\toptions = {\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false,\n\t\t...options,\n\t};\n\n\tconst {url, query, fragmentIdentifier} = parseUrl(input, options);\n\n\treturn stringifyUrl({\n\t\turl,\n\t\tquery: includeKeys(query, filter),\n\t\tfragmentIdentifier,\n\t}, options);\n}\n\nexport function exclude(input, filter, options) {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn pick(input, exclusionFilter, options);\n}\n","import * as queryString from './base.js';\n\nexport default queryString;\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginButton.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!./LoginButton.vue?vue&type=script&lang=js&\"","<!--\n - @copyright 2020 Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @author 2020 Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -->\n\n<template>\n\t<NcButton type=\"primary\"\n\t\tnative-type=\"submit\"\n\t\t:wide=\"true\"\n\t\t@click=\"$emit('click')\">\n\t\t{{ !loading ? value : valueLoading }}\n\t\t<template #icon>\n\t\t\t<div v-if=\"loading\" class=\"submit-wrapper__icon icon-loading-small-dark\" />\n\t\t\t<ArrowRight v-else class=\"submit-wrapper__icon\" />\n\t\t</template>\n\t</NcButton>\n</template>\n\n<script>\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport ArrowRight from 'vue-material-design-icons/ArrowRight.vue'\n\nexport default {\n\tname: 'LoginButton',\n\tcomponents: {\n\t\tArrowRight,\n\t\tNcButton,\n\t},\n\tprops: {\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\tdefault: t('core', 'Log in'),\n\t\t},\n\t\tvalueLoading: {\n\t\t\ttype: String,\n\t\t\tdefault: t('core', 'Logging in …'),\n\t\t},\n\t\tloading: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tinvertedColors: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.button-vue {\n\tmargin-top: .5rem;\n}\n</style>\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginButton.vue?vue&type=style&index=0&id=3fa8511b&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!./LoginButton.vue?vue&type=style&index=0&id=3fa8511b&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./LoginButton.vue?vue&type=template&id=3fa8511b&scoped=true&\"\nimport script from \"./LoginButton.vue?vue&type=script&lang=js&\"\nexport * from \"./LoginButton.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LoginButton.vue?vue&type=style&index=0&id=3fa8511b&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 \"3fa8511b\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcButton',{attrs:{\"type\":\"primary\",\"native-type\":\"submit\",\"wide\":true},on:{\"click\":function($event){return _vm.$emit('click')}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading)?_c('div',{staticClass:\"submit-wrapper__icon icon-loading-small-dark\"}):_c('ArrowRight',{staticClass:\"submit-wrapper__icon\"})]},proxy:true}])},[_vm._v(\"\\n\\t\"+_vm._s(!_vm.loading ? _vm.value : _vm.valueLoading)+\"\\n\\t\")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginForm.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!./LoginForm.vue?vue&type=script&lang=js&\"","<!--\n - @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @author 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -->\n\n<template>\n\t<form ref=\"loginForm\"\n\t\tclass=\"login-form\"\n\t\tmethod=\"post\"\n\t\tname=\"login\"\n\t\t:action=\"loginActionUrl\"\n\t\t@submit=\"submit\">\n\t\t<fieldset class=\"login-form__fieldset\" data-login-form>\n\t\t\t<NcNoteCard v-if=\"apacheAuthFailed\"\n\t\t\t\t:title=\"t('core', 'Server side authentication failed!')\"\n\t\t\t\ttype=\"warning\">\n\t\t\t\t{{ t('core', 'Please contact your administrator.') }}\n\t\t\t</NcNoteCard>\n\t\t\t<NcNoteCard v-if=\"messages.length > 0\">\n\t\t\t\t<div v-for=\"(message, index) in messages\"\n\t\t\t\t\t:key=\"index\">\n\t\t\t\t\t{{ message }}<br>\n\t\t\t\t</div>\n\t\t\t</NcNoteCard>\n\t\t\t<NcNoteCard v-if=\"internalException\"\n\t\t\t\t:class=\"t('core', 'An internal error occurred.')\"\n\t\t\t\ttype=\"warning\">\n\t\t\t\t{{ t('core', 'Please try again or contact your administrator.') }}\n\t\t\t</NcNoteCard>\n\t\t\t<div id=\"message\"\n\t\t\t\tclass=\"hidden\">\n\t\t\t\t<img class=\"float-spinner\"\n\t\t\t\t\talt=\"\"\n\t\t\t\t\t:src=\"loadingIcon\">\n\t\t\t\t<span id=\"messageText\" />\n\t\t\t\t<!-- the following div ensures that the spinner is always inside the #message div -->\n\t\t\t\t<div style=\"clear: both;\" />\n\t\t\t</div>\n\t\t\t<h2 class=\"login-form__headline\" data-login-form-headline v-html=\"headline\" />\n\t\t\t<NcTextField id=\"user\"\n\t\t\t\tref=\"user\"\n\t\t\t\t:label=\"t('core', 'Account name or email')\"\n\t\t\t\tname=\"user\"\n\t\t\t\t:value.sync=\"user\"\n\t\t\t\t:class=\"{shake: invalidPassword}\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\t:spellchecking=\"false\"\n\t\t\t\t:autocomplete=\"autoCompleteAllowed ? 'username' : 'off'\"\n\t\t\t\trequired\n\t\t\t\tdata-login-form-input-user\n\t\t\t\t@change=\"updateUsername\" />\n\n\t\t\t<NcPasswordField id=\"password\"\n\t\t\t\tref=\"password\"\n\t\t\t\tname=\"password\"\n\t\t\t\t:class=\"{shake: invalidPassword}\"\n\t\t\t\t:value.sync=\"password\"\n\t\t\t\t:spellchecking=\"false\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\t:autocomplete=\"autoCompleteAllowed ? 'current-password' : 'off'\"\n\t\t\t\t:label=\"t('core', 'Password')\"\n\t\t\t\t:helper-text=\"errorLabel\"\n\t\t\t\t:error=\"isError\"\n\t\t\t\tdata-login-form-input-password\n\t\t\t\trequired />\n\n\t\t\t<LoginButton data-login-form-submit :loading=\"loading\" />\n\n\t\t\t<input v-if=\"redirectUrl\"\n\t\t\t\ttype=\"hidden\"\n\t\t\t\tname=\"redirect_url\"\n\t\t\t\t:value=\"redirectUrl\">\n\t\t\t<input type=\"hidden\"\n\t\t\t\tname=\"timezone\"\n\t\t\t\t:value=\"timezone\">\n\t\t\t<input type=\"hidden\"\n\t\t\t\tname=\"timezone_offset\"\n\t\t\t\t:value=\"timezoneOffset\">\n\t\t\t<input type=\"hidden\"\n\t\t\t\tname=\"requesttoken\"\n\t\t\t\t:value=\"OC.requestToken\">\n\t\t\t<input v-if=\"directLogin\"\n\t\t\t\ttype=\"hidden\"\n\t\t\t\tname=\"direct\"\n\t\t\t\tvalue=\"1\">\n\t\t</fieldset>\n\t</form>\n</template>\n\n<script>\nimport { generateUrl, imagePath } from '@nextcloud/router'\n\nimport NcPasswordField from '@nextcloud/vue/dist/Components/NcPasswordField.js'\nimport NcTextField from '@nextcloud/vue/dist/Components/NcTextField.js'\nimport NcNoteCard from '@nextcloud/vue/dist/Components/NcNoteCard.js'\n\nimport LoginButton from './LoginButton.vue'\n\nexport default {\n\tname: 'LoginForm',\n\n\tcomponents: {\n\t\tLoginButton,\n\t\tNcPasswordField,\n\t\tNcTextField,\n\t\tNcNoteCard,\n\t},\n\n\tprops: {\n\t\tusername: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tredirectUrl: {\n\t\t\ttype: [String, Boolean],\n\t\t\tdefault: false,\n\t\t},\n\t\terrors: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\tmessages: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\tthrottleDelay: {\n\t\t\ttype: Number,\n\t\t\tdefault: 0,\n\t\t},\n\t\tautoCompleteAllowed: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tdirectLogin: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tloading: false,\n\t\t\ttimezone: (new Intl.DateTimeFormat())?.resolvedOptions()?.timeZone,\n\t\t\ttimezoneOffset: (-new Date().getTimezoneOffset() / 60),\n\t\t\theadline: t('core', 'Log in to {productName}', { productName: OC.theme.name }),\n\t\t\tuser: '',\n\t\t\tpassword: '',\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tisError() {\n\t\t\treturn this.invalidPassword || this.userDisabled\n\t\t\t\t|| this.throttleDelay > 5000\n\t\t},\n\t\terrorLabel() {\n\t\t\tif (this.invalidPassword) {\n\t\t\t\treturn t('core', 'Wrong username or password.')\n\t\t\t}\n\t\t\tif (this.userDisabled) {\n\t\t\t\treturn t('core', 'User disabled')\n\t\t\t}\n\t\t\tif (this.throttleDelay > 5000) {\n\t\t\t\treturn t('core', 'We have detected multiple invalid login attempts from your IP. Therefore your next login is throttled up to 30 seconds.')\n\t\t\t}\n\t\t\treturn undefined\n\t\t},\n\t\tapacheAuthFailed() {\n\t\t\treturn this.errors.indexOf('apacheAuthFailed') !== -1\n\t\t},\n\t\tinternalException() {\n\t\t\treturn this.errors.indexOf('internalexception') !== -1\n\t\t},\n\t\tinvalidPassword() {\n\t\t\treturn this.errors.indexOf('invalidpassword') !== -1\n\t\t},\n\t\tuserDisabled() {\n\t\t\treturn this.errors.indexOf('userdisabled') !== -1\n\t\t},\n\t\tloadingIcon() {\n\t\t\treturn imagePath('core', 'loading-dark.gif')\n\t\t},\n\t\tloginActionUrl() {\n\t\t\treturn generateUrl('login')\n\t\t},\n\t},\n\n\tmounted() {\n\t\tif (this.username === '') {\n\t\t\tthis.$refs.user.$refs.inputField.$refs.input.focus()\n\t\t} else {\n\t\t\tthis.user = this.username\n\t\t\tthis.$refs.password.$refs.inputField.$refs.input.focus()\n\t\t}\n\t},\n\n\tmethods: {\n\t\tupdateUsername() {\n\t\t\tthis.$emit('update:username', this.user)\n\t\t},\n\t\tsubmit() {\n\t\t\tthis.loading = true\n\t\t\tthis.$emit('submit')\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.login-form {\n\ttext-align: left;\n\tfont-size: 1rem;\n\n\t&__fieldset {\n\t\twidth: 100%;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: .5rem;\n\t}\n\n\t&__headline {\n\t\ttext-align: center;\n\t\toverflow-wrap: anywhere;\n\t}\n}\n</style>\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginForm.vue?vue&type=style&index=0&id=0fbfcc31&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!./LoginForm.vue?vue&type=style&index=0&id=0fbfcc31&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./LoginForm.vue?vue&type=template&id=0fbfcc31&scoped=true&\"\nimport script from \"./LoginForm.vue?vue&type=script&lang=js&\"\nexport * from \"./LoginForm.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LoginForm.vue?vue&type=style&index=0&id=0fbfcc31&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 \"0fbfcc31\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('form',{ref:\"loginForm\",staticClass:\"login-form\",attrs:{\"method\":\"post\",\"name\":\"login\",\"action\":_vm.loginActionUrl},on:{\"submit\":_vm.submit}},[_c('fieldset',{staticClass:\"login-form__fieldset\",attrs:{\"data-login-form\":\"\"}},[(_vm.apacheAuthFailed)?_c('NcNoteCard',{attrs:{\"title\":_vm.t('core', 'Server side authentication failed!'),\"type\":\"warning\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('core', 'Please contact your administrator.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.messages.length > 0)?_c('NcNoteCard',_vm._l((_vm.messages),function(message,index){return _c('div',{key:index},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(message)),_c('br')])}),0):_vm._e(),_vm._v(\" \"),(_vm.internalException)?_c('NcNoteCard',{class:_vm.t('core', 'An internal error occurred.'),attrs:{\"type\":\"warning\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('core', 'Please try again or contact your administrator.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"hidden\",attrs:{\"id\":\"message\"}},[_c('img',{staticClass:\"float-spinner\",attrs:{\"alt\":\"\",\"src\":_vm.loadingIcon}}),_vm._v(\" \"),_c('span',{attrs:{\"id\":\"messageText\"}}),_vm._v(\" \"),_c('div',{staticStyle:{\"clear\":\"both\"}})]),_vm._v(\" \"),_c('h2',{staticClass:\"login-form__headline\",attrs:{\"data-login-form-headline\":\"\"},domProps:{\"innerHTML\":_vm._s(_vm.headline)}}),_vm._v(\" \"),_c('NcTextField',{ref:\"user\",class:{shake: _vm.invalidPassword},attrs:{\"id\":\"user\",\"label\":_vm.t('core', 'Account name or email'),\"name\":\"user\",\"value\":_vm.user,\"autocapitalize\":\"none\",\"spellchecking\":false,\"autocomplete\":_vm.autoCompleteAllowed ? 'username' : 'off',\"required\":\"\",\"data-login-form-input-user\":\"\"},on:{\"update:value\":function($event){_vm.user=$event},\"change\":_vm.updateUsername}}),_vm._v(\" \"),_c('NcPasswordField',{ref:\"password\",class:{shake: _vm.invalidPassword},attrs:{\"id\":\"password\",\"name\":\"password\",\"value\":_vm.password,\"spellchecking\":false,\"autocapitalize\":\"none\",\"autocomplete\":_vm.autoCompleteAllowed ? 'current-password' : 'off',\"label\":_vm.t('core', 'Password'),\"helper-text\":_vm.errorLabel,\"error\":_vm.isError,\"data-login-form-input-password\":\"\",\"required\":\"\"},on:{\"update:value\":function($event){_vm.password=$event}}}),_vm._v(\" \"),_c('LoginButton',{attrs:{\"data-login-form-submit\":\"\",\"loading\":_vm.loading}}),_vm._v(\" \"),(_vm.redirectUrl)?_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"redirect_url\"},domProps:{\"value\":_vm.redirectUrl}}):_vm._e(),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"timezone\"},domProps:{\"value\":_vm.timezone}}),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"timezone_offset\"},domProps:{\"value\":_vm.timezoneOffset}}),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"requesttoken\"},domProps:{\"value\":_vm.OC.requestToken}}),_vm._v(\" \"),(_vm.directLogin)?_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"direct\",\"value\":\"1\"}}):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./LockOpen.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./LockOpen.vue?vue&type=script&lang=js&\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon lock-open-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V10A2,2 0 0,1 6,8H15V6A3,3 0 0,0 12,3A3,3 0 0,0 9,6H7A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,17A2,2 0 0,0 14,15A2,2 0 0,0 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"LockOpenIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./LockOpen.vue?vue&type=template&id=043c34a0&\"\nimport script from \"./LockOpen.vue?vue&type=script&lang=js&\"\nexport * from \"./LockOpen.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 lock-open-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V10A2,2 0 0,1 6,8H15V6A3,3 0 0,0 12,3A3,3 0 0,0 9,6H7A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,17A2,2 0 0,0 14,15A2,2 0 0,0 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<form v-if=\"(isHttps || isLocalhost) && hasPublicKeyCredential\"\n\t\tref=\"loginForm\"\n\t\tmethod=\"post\"\n\t\tname=\"login\"\n\t\t@submit.prevent=\"submit\">\n\t\t<h2>{{ t('core', 'Log in with a device') }}</h2>\n\t\t<fieldset>\n\t\t\t<NcTextField required\n\t\t\t\t:value=\"user\"\n\t\t\t\t:autocomplete=\"autoCompleteAllowed ? 'on' : 'off'\"\n\t\t\t\t:error=\"!validCredentials\"\n\t\t\t\t:label=\"t('core', 'Username or email')\"\n\t\t\t\t:placeholder=\"t('core', 'Username or email')\"\n\t\t\t\t:helper-text=\"!validCredentials ? t('core', 'Your account is not setup for passwordless login.') : ''\"\n\t\t\t\t@update:value=\"changeUsername\" />\n\n\t\t\t<LoginButton v-if=\"validCredentials\"\n\t\t\t\t:loading=\"loading\"\n\t\t\t\t@click=\"authenticate\" />\n\t\t</fieldset>\n\t</form>\n\t<div v-else-if=\"!hasPublicKeyCredential\" class=\"update\">\n\t\t<InformationIcon size=\"70\" />\n\t\t<h2>{{ t('core', 'Browser not supported') }}</h2>\n\t\t<p class=\"infogroup\">\n\t\t\t{{ t('core', 'Passwordless authentication is not supported in your browser.') }}\n\t\t</p>\n\t</div>\n\t<div v-else-if=\"!isHttps && !isLocalhost\" class=\"update\">\n\t\t<LockOpenIcon size=\"70\" />\n\t\t<h2>{{ t('core', 'Your connection is not secure') }}</h2>\n\t\t<p class=\"infogroup\">\n\t\t\t{{ t('core', 'Passwordless authentication is only available over a secure connection.') }}\n\t\t</p>\n\t</div>\n</template>\n\n<script>\nimport {\n\tstartAuthentication,\n\tfinishAuthentication,\n} from '../../services/WebAuthnAuthenticationService.js'\nimport LoginButton from './LoginButton.vue'\nimport InformationIcon from 'vue-material-design-icons/Information.vue'\nimport LockOpenIcon from 'vue-material-design-icons/LockOpen.vue'\nimport NcTextField from '@nextcloud/vue/dist/Components/NcTextField.js'\n\nclass NoValidCredentials extends Error {\n\n}\n\nexport default {\n\tname: 'PasswordLessLoginForm',\n\tcomponents: {\n\t\tLoginButton,\n\t\tInformationIcon,\n\t\tLockOpenIcon,\n\t\tNcTextField,\n\t},\n\tprops: {\n\t\tusername: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tredirectUrl: {\n\t\t\ttype: [String, Boolean],\n\t\t\tdefault: false,\n\t\t},\n\t\tautoCompleteAllowed: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tisHttps: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tisLocalhost: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\thasPublicKeyCredential: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tuser: this.username,\n\t\t\tloading: false,\n\t\t\tvalidCredentials: true,\n\t\t}\n\t},\n\tmethods: {\n\t\tauthenticate() {\n\t\t\t// check required fields\n\t\t\tif (!this.$refs.loginForm.checkValidity()) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconsole.debug('passwordless login initiated')\n\n\t\t\tthis.getAuthenticationData(this.user)\n\t\t\t\t.then(publicKey => {\n\t\t\t\t\tconsole.debug(publicKey)\n\t\t\t\t\treturn publicKey\n\t\t\t\t})\n\t\t\t\t.then(this.sign)\n\t\t\t\t.then(this.completeAuthentication)\n\t\t\t\t.catch(error => {\n\t\t\t\t\tif (error instanceof NoValidCredentials) {\n\t\t\t\t\t\tthis.validCredentials = false\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tconsole.debug(error)\n\t\t\t\t})\n\t\t},\n\t\tchangeUsername(username) {\n\t\t\tthis.user = username\n\t\t\tthis.$emit('update:username', this.user)\n\t\t},\n\t\tgetAuthenticationData(uid) {\n\t\t\tconst base64urlDecode = function(input) {\n\t\t\t\t// Replace non-url compatible chars with base64 standard chars\n\t\t\t\tinput = input\n\t\t\t\t\t.replace(/-/g, '+')\n\t\t\t\t\t.replace(/_/g, '/')\n\n\t\t\t\t// Pad out with standard base64 required padding characters\n\t\t\t\tconst pad = input.length % 4\n\t\t\t\tif (pad) {\n\t\t\t\t\tif (pad === 1) {\n\t\t\t\t\t\tthrow new Error('InvalidLengthError: Input base64url string is the wrong length to determine padding')\n\t\t\t\t\t}\n\t\t\t\t\tinput += new Array(5 - pad).join('=')\n\t\t\t\t}\n\n\t\t\t\treturn window.atob(input)\n\t\t\t}\n\n\t\t\treturn startAuthentication(uid)\n\t\t\t\t.then(publicKey => {\n\t\t\t\t\tconsole.debug('Obtained PublicKeyCredentialRequestOptions')\n\t\t\t\t\tconsole.debug(publicKey)\n\n\t\t\t\t\tif (!Object.prototype.hasOwnProperty.call(publicKey, 'allowCredentials')) {\n\t\t\t\t\t\tconsole.debug('No credentials found.')\n\t\t\t\t\t\tthrow new NoValidCredentials()\n\t\t\t\t\t}\n\n\t\t\t\t\tpublicKey.challenge = Uint8Array.from(base64urlDecode(publicKey.challenge), c => c.charCodeAt(0))\n\t\t\t\t\tpublicKey.allowCredentials = publicKey.allowCredentials.map(function(data) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...data,\n\t\t\t\t\t\t\tid: Uint8Array.from(base64urlDecode(data.id), c => c.charCodeAt(0)),\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\n\t\t\t\t\tconsole.debug('Converted PublicKeyCredentialRequestOptions')\n\t\t\t\t\tconsole.debug(publicKey)\n\t\t\t\t\treturn publicKey\n\t\t\t\t})\n\t\t\t\t.catch(error => {\n\t\t\t\t\tconsole.debug('Error while obtaining data')\n\t\t\t\t\tthrow error\n\t\t\t\t})\n\t\t},\n\t\tsign(publicKey) {\n\t\t\tconst arrayToBase64String = function(a) {\n\t\t\t\treturn window.btoa(String.fromCharCode(...a))\n\t\t\t}\n\n\t\t\tconst arrayToString = function(a) {\n\t\t\t\treturn String.fromCharCode(...a)\n\t\t\t}\n\n\t\t\treturn navigator.credentials.get({ publicKey })\n\t\t\t\t.then(data => {\n\t\t\t\t\tconsole.debug(data)\n\t\t\t\t\tconsole.debug(new Uint8Array(data.rawId))\n\t\t\t\t\tconsole.debug(arrayToBase64String(new Uint8Array(data.rawId)))\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid: data.id,\n\t\t\t\t\t\ttype: data.type,\n\t\t\t\t\t\trawId: arrayToBase64String(new Uint8Array(data.rawId)),\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tauthenticatorData: arrayToBase64String(new Uint8Array(data.response.authenticatorData)),\n\t\t\t\t\t\t\tclientDataJSON: arrayToBase64String(new Uint8Array(data.response.clientDataJSON)),\n\t\t\t\t\t\t\tsignature: arrayToBase64String(new Uint8Array(data.response.signature)),\n\t\t\t\t\t\t\tuserHandle: data.response.userHandle ? arrayToString(new Uint8Array(data.response.userHandle)) : null,\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.then(challenge => {\n\t\t\t\t\tconsole.debug(challenge)\n\t\t\t\t\treturn challenge\n\t\t\t\t})\n\t\t\t\t.catch(error => {\n\t\t\t\t\tconsole.debug('GOT AN ERROR!')\n\t\t\t\t\tconsole.debug(error) // Example: timeout, interaction refused...\n\t\t\t\t})\n\t\t},\n\t\tcompleteAuthentication(challenge) {\n\t\t\tconsole.debug('TIME TO COMPLETE')\n\n\t\t\tconst redirectUrl = this.redirectUrl\n\n\t\t\treturn finishAuthentication(JSON.stringify(challenge))\n\t\t\t\t.then(({ defaultRedirectUrl }) => {\n\t\t\t\t\tconsole.debug('Logged in redirecting')\n\t\t\t\t\t// Redirect url might be false so || should be used instead of ??.\n\t\t\t\t\twindow.location.href = redirectUrl || defaultRedirectUrl\n\t\t\t\t})\n\t\t\t\t.catch(error => {\n\t\t\t\t\tconsole.debug('GOT AN ERROR WHILE SUBMITTING CHALLENGE!')\n\t\t\t\t\tconsole.debug(error) // Example: timeout, interaction refused...\n\t\t\t\t})\n\t\t},\n\t\tsubmit() {\n\t\t\t// noop\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\tfieldset {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 0.5rem;\n\n\t\t:deep(label) {\n\t\t\ttext-align: initial;\n\t\t}\n\t}\n\n\t.update {\n\t\tmargin: 0 auto;\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordLessLoginForm.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!./PasswordLessLoginForm.vue?vue&type=script&lang=js&\"","/**\n * @copyright 2020, Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\n\n/**\n * @param {any} loginName -\n */\nexport function startAuthentication(loginName) {\n\tconst url = generateUrl('/login/webauthn/start')\n\n\treturn Axios.post(url, { loginName })\n\t\t.then(resp => resp.data)\n}\n\n/**\n * @param {any} data -\n */\nexport function finishAuthentication(data) {\n\tconst url = generateUrl('/login/webauthn/finish')\n\n\treturn Axios.post(url, { data })\n\t\t.then(resp => resp.data)\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!./PasswordLessLoginForm.vue?vue&type=style&index=0&id=3ea2fa78&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!./PasswordLessLoginForm.vue?vue&type=style&index=0&id=3ea2fa78&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./PasswordLessLoginForm.vue?vue&type=template&id=3ea2fa78&scoped=true&\"\nimport script from \"./PasswordLessLoginForm.vue?vue&type=script&lang=js&\"\nexport * from \"./PasswordLessLoginForm.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PasswordLessLoginForm.vue?vue&type=style&index=0&id=3ea2fa78&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 \"3ea2fa78\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return ((_vm.isHttps || _vm.isLocalhost) && _vm.hasPublicKeyCredential)?_c('form',{ref:\"loginForm\",attrs:{\"method\":\"post\",\"name\":\"login\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.submit.apply(null, arguments)}}},[_c('h2',[_vm._v(_vm._s(_vm.t('core', 'Log in with a device')))]),_vm._v(\" \"),_c('fieldset',[_c('NcTextField',{attrs:{\"required\":\"\",\"value\":_vm.user,\"autocomplete\":_vm.autoCompleteAllowed ? 'on' : 'off',\"error\":!_vm.validCredentials,\"label\":_vm.t('core', 'Username or email'),\"placeholder\":_vm.t('core', 'Username or email'),\"helper-text\":!_vm.validCredentials ? _vm.t('core', 'Your account is not setup for passwordless login.') : ''},on:{\"update:value\":_vm.changeUsername}}),_vm._v(\" \"),(_vm.validCredentials)?_c('LoginButton',{attrs:{\"loading\":_vm.loading},on:{\"click\":_vm.authenticate}}):_vm._e()],1)]):(!_vm.hasPublicKeyCredential)?_c('div',{staticClass:\"update\"},[_c('InformationIcon',{attrs:{\"size\":\"70\"}}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.t('core', 'Browser not supported')))]),_vm._v(\" \"),_c('p',{staticClass:\"infogroup\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('core', 'Passwordless authentication is not supported in your browser.'))+\"\\n\\t\")])],1):(!_vm.isHttps && !_vm.isLocalhost)?_c('div',{staticClass:\"update\"},[_c('LockOpenIcon',{attrs:{\"size\":\"70\"}}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.t('core', 'Your connection is not secure')))]),_vm._v(\" \"),_c('p',{staticClass:\"infogroup\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('core', 'Passwordless authentication is only available over a secure connection.'))+\"\\n\\t\")])],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetPassword.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!./ResetPassword.vue?vue&type=script&lang=js&\"","<!--\n - @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @author 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -->\n\n<template>\n\t<form class=\"login-form\" @submit.prevent=\"submit\">\n\t\t<fieldset class=\"login-form__fieldset\">\n\t\t\t<NcTextField id=\"user\"\n\t\t\t\t:value.sync=\"user\"\n\t\t\t\tname=\"user\"\n\t\t\t\tautocapitalize=\"off\"\n\t\t\t\t:label=\"t('core', 'Account name or email')\"\n\t\t\t\trequired\n\t\t\t\t@change=\"updateUsername\" />\n\t\t\t<LoginButton :value=\"t('core', 'Reset password')\" />\n\n\t\t\t<NcNoteCard v-if=\"message === 'send-success'\"\n\t\t\t\ttype=\"success\">\n\t\t\t\t{{ t('core', 'If this account exists, a password reset message has been sent to its email address. If you do not receive it, verify your email address and/or account name, check your spam/junk folders or ask your local administration for help.') }}\n\t\t\t</NcNoteCard>\n\t\t\t<NcNoteCard v-else-if=\"message === 'send-error'\"\n\t\t\t\ttype=\"error\">\n\t\t\t\t{{ t('core', 'Couldn\\'t send reset email. Please contact your administrator.') }}\n\t\t\t</NcNoteCard>\n\t\t\t<NcNoteCard v-else-if=\"message === 'reset-error'\"\n\t\t\t\ttype=\"error\">\n\t\t\t\t{{ t('core', 'Password cannot be changed. Please contact your administrator.') }}\n\t\t\t</NcNoteCard>\n\n\t\t\t<a class=\"login-form__link\"\n\t\t\t\thref=\"#\"\n\t\t\t\t@click.prevent=\"$emit('abort')\">\n\t\t\t\t{{ t('core', 'Back to login') }}\n\t\t\t</a>\n\t\t</fieldset>\n\t</form>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\nimport LoginButton from './LoginButton.vue'\nimport NcTextField from '@nextcloud/vue/dist/Components/NcTextField.js'\nimport NcNoteCard from '@nextcloud/vue/dist/Components/NcNoteCard.js'\n\nexport default {\n\tname: 'ResetPassword',\n\tcomponents: {\n\t\tLoginButton,\n\t\tNcNoteCard,\n\t\tNcTextField,\n\t},\n\tprops: {\n\t\tusername: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tresetPasswordLink: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\terror: false,\n\t\t\tloading: false,\n\t\t\tmessage: undefined,\n\t\t\tuser: this.username,\n\t\t}\n\t},\n\twatch: {\n\t\tusername(value) {\n\t\t\tthis.user = value\n\t\t},\n\t},\n\tmethods: {\n\t\tupdateUsername() {\n\t\t\tthis.$emit('update:username', this.user)\n\t\t},\n\t\tsubmit() {\n\t\t\tthis.loading = true\n\t\t\tthis.error = false\n\t\t\tthis.message = ''\n\t\t\tconst url = generateUrl('/lostpassword/email')\n\n\t\t\tconst data = {\n\t\t\t\tuser: this.user,\n\t\t\t}\n\n\t\t\treturn axios.post(url, data)\n\t\t\t\t.then(resp => resp.data)\n\t\t\t\t.then(data => {\n\t\t\t\t\tif (data.status !== 'success') {\n\t\t\t\t\t\tthrow new Error(`got status ${data.status}`)\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.message = 'send-success'\n\t\t\t\t})\n\t\t\t\t.catch(e => {\n\t\t\t\t\tconsole.error('could not send reset email request', e)\n\n\t\t\t\t\tthis.error = true\n\t\t\t\t\tthis.message = 'send-error'\n\t\t\t\t})\n\t\t\t\t.then(() => { this.loading = false })\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.login-form {\n\ttext-align: left;\n\tfont-size: 1rem;\n\n\t&__fieldset {\n\t\twidth: 100%;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: .5rem;\n\t}\n\n\t&__link {\n\t\tdisplay: block;\n\t\tfont-weight: normal !important;\n\t\tpadding-bottom: 1rem;\n\t\tcursor: pointer;\n\t\tfont-size: var(--default-font-size);\n\t\ttext-align: center;\n\t\tpadding: .5rem 1rem 1rem 1rem;\n\t}\n}\n</style>\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetPassword.vue?vue&type=style&index=0&id=179b3658&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!./ResetPassword.vue?vue&type=style&index=0&id=179b3658&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ResetPassword.vue?vue&type=template&id=179b3658&scoped=true&\"\nimport script from \"./ResetPassword.vue?vue&type=script&lang=js&\"\nexport * from \"./ResetPassword.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ResetPassword.vue?vue&type=style&index=0&id=179b3658&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 \"179b3658\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('form',{staticClass:\"login-form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.submit.apply(null, arguments)}}},[_c('fieldset',{staticClass:\"login-form__fieldset\"},[_c('NcTextField',{attrs:{\"id\":\"user\",\"value\":_vm.user,\"name\":\"user\",\"autocapitalize\":\"off\",\"label\":_vm.t('core', 'Account name or email'),\"required\":\"\"},on:{\"update:value\":function($event){_vm.user=$event},\"change\":_vm.updateUsername}}),_vm._v(\" \"),_c('LoginButton',{attrs:{\"value\":_vm.t('core', 'Reset password')}}),_vm._v(\" \"),(_vm.message === 'send-success')?_c('NcNoteCard',{attrs:{\"type\":\"success\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('core', 'If this account exists, a password reset message has been sent to its email address. If you do not receive it, verify your email address and/or account name, check your spam/junk folders or ask your local administration for help.'))+\"\\n\\t\\t\")]):(_vm.message === 'send-error')?_c('NcNoteCard',{attrs:{\"type\":\"error\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('core', 'Couldn\\'t send reset email. Please contact your administrator.'))+\"\\n\\t\\t\")]):(_vm.message === 'reset-error')?_c('NcNoteCard',{attrs:{\"type\":\"error\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('core', 'Password cannot be changed. Please contact your administrator.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('a',{staticClass:\"login-form__link\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.$emit('abort')}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('core', 'Back to login'))+\"\\n\\t\\t\")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<form @submit.prevent=\"submit\">\n\t\t<fieldset>\n\t\t\t<p>\n\t\t\t\t<label for=\"password\" class=\"infield\">{{ t('core', 'New password') }}</label>\n\t\t\t\t<input id=\"password\"\n\t\t\t\t\tv-model=\"password\"\n\t\t\t\t\ttype=\"password\"\n\t\t\t\t\tname=\"password\"\n\t\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\t\tautocapitalize=\"none\"\n\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\trequired\n\t\t\t\t\t:placeholder=\"t('core', 'New password')\">\n\t\t\t</p>\n\n\t\t\t<div v-if=\"encrypted\" class=\"update\">\n\t\t\t\t<p>\n\t\t\t\t\t{{ t('core', 'Your files are encrypted. There will be no way to get your data back after your password is reset. If you are not sure what to do, please contact your administrator before you continue. Do you really want to continue?') }}\n\t\t\t\t</p>\n\t\t\t\t<input id=\"encrypted-continue\"\n\t\t\t\t\tv-model=\"proceed\"\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tclass=\"checkbox\">\n\t\t\t\t<label for=\"encrypted-continue\">\n\t\t\t\t\t{{ t('core', 'I know what I\\'m doing') }}\n\t\t\t\t</label>\n\t\t\t</div>\n\n\t\t\t<LoginButton :loading=\"loading\"\n\t\t\t\t:value=\"t('core', 'Reset password')\"\n\t\t\t\t:value-loading=\"t('core', 'Resetting password')\" />\n\n\t\t\t<p v-if=\"error && message\" :class=\"{warning: error}\">\n\t\t\t\t{{ message }}\n\t\t\t</p>\n\t\t</fieldset>\n\t</form>\n</template>\n\n<script>\nimport Axios from '@nextcloud/axios'\nimport LoginButton from './LoginButton.vue'\n\nexport default {\n\tname: 'UpdatePassword',\n\tcomponents: {\n\t\tLoginButton,\n\t},\n\tprops: {\n\t\tusername: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tresetPasswordTarget: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\terror: false,\n\t\t\tloading: false,\n\t\t\tmessage: undefined,\n\t\t\tuser: this.username,\n\t\t\tpassword: '',\n\t\t\tencrypted: false,\n\t\t\tproceed: false,\n\t\t}\n\t},\n\twatch: {\n\t\tusername(value) {\n\t\t\tthis.user = value\n\t\t},\n\t},\n\tmethods: {\n\t\tasync submit() {\n\t\t\tthis.loading = true\n\t\t\tthis.error = false\n\t\t\tthis.message = ''\n\n\t\t\ttry {\n\t\t\t\tconst { data } = await Axios.post(this.resetPasswordTarget, {\n\t\t\t\t\tpassword: this.password,\n\t\t\t\t\tproceed: this.proceed,\n\t\t\t\t})\n\t\t\t\tif (data && data.status === 'success') {\n\t\t\t\t\tthis.message = 'send-success'\n\t\t\t\t\tthis.$emit('update:username', this.user)\n\t\t\t\t\tthis.$emit('done')\n\t\t\t\t} else if (data && data.encryption) {\n\t\t\t\t\tthis.encrypted = true\n\t\t\t\t} else if (data && data.msg) {\n\t\t\t\t\tthrow new Error(data.msg)\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error()\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tthis.error = true\n\t\t\t\tthis.message = e.message ? e.message : t('core', 'Password cannot be changed. Please contact your administrator.')\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style scoped>\n\tfieldset {\n\t\ttext-align: center;\n\t}\n\n\tinput[type=submit] {\n\t\tmargin-top: 20px;\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdatePassword.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!./UpdatePassword.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!./UpdatePassword.vue?vue&type=style&index=0&id=b9d4933a&prod&scoped=true&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!./UpdatePassword.vue?vue&type=style&index=0&id=b9d4933a&prod&scoped=true&lang=css&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UpdatePassword.vue?vue&type=template&id=b9d4933a&scoped=true&\"\nimport script from \"./UpdatePassword.vue?vue&type=script&lang=js&\"\nexport * from \"./UpdatePassword.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UpdatePassword.vue?vue&type=style&index=0&id=b9d4933a&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b9d4933a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.submit.apply(null, arguments)}}},[_c('fieldset',[_c('p',[_c('label',{staticClass:\"infield\",attrs:{\"for\":\"password\"}},[_vm._v(_vm._s(_vm.t('core', 'New password')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],attrs:{\"id\":\"password\",\"type\":\"password\",\"name\":\"password\",\"autocomplete\":\"new-password\",\"autocapitalize\":\"none\",\"spellcheck\":\"false\",\"required\":\"\",\"placeholder\":_vm.t('core', 'New password')},domProps:{\"value\":(_vm.password)},on:{\"input\":function($event){if($event.target.composing)return;_vm.password=$event.target.value}}})]),_vm._v(\" \"),(_vm.encrypted)?_c('div',{staticClass:\"update\"},[_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Your files are encrypted. There will be no way to get your data back after your password is reset. If you are not sure what to do, please contact your administrator before you continue. Do you really want to continue?'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.proceed),expression:\"proceed\"}],staticClass:\"checkbox\",attrs:{\"id\":\"encrypted-continue\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.proceed)?_vm._i(_vm.proceed,null)>-1:(_vm.proceed)},on:{\"change\":function($event){var $$a=_vm.proceed,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.proceed=$$a.concat([$$v]))}else{$$i>-1&&(_vm.proceed=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.proceed=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"encrypted-continue\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'I know what I\\'m doing'))+\"\\n\\t\\t\\t\")])]):_vm._e(),_vm._v(\" \"),_c('LoginButton',{attrs:{\"loading\":_vm.loading,\"value\":_vm.t('core', 'Reset password'),\"value-loading\":_vm.t('core', 'Resetting password')}}),_vm._v(\" \"),(_vm.error && _vm.message)?_c('p',{class:{warning: _vm.error}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.message)+\"\\n\\t\\t\")]):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @author 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n - @author Richard Steinmetz <richard@steinmetz.cloud>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -->\n\n<template>\n\t<div class=\"guest-box login-box\">\n\t\t<template v-if=\"!hideLoginForm || directLogin\">\n\t\t\t<transition name=\"fade\" mode=\"out-in\">\n\t\t\t\t<div v-if=\"!passwordlessLogin && !resetPassword && resetPasswordTarget === ''\">\n\t\t\t\t\t<LoginForm :username.sync=\"user\"\n\t\t\t\t\t\t:redirect-url=\"redirectUrl\"\n\t\t\t\t\t\t:direct-login=\"directLogin\"\n\t\t\t\t\t\t:messages=\"messages\"\n\t\t\t\t\t\t:errors=\"errors\"\n\t\t\t\t\t\t:throttle-delay=\"throttleDelay\"\n\t\t\t\t\t\t:auto-complete-allowed=\"autoCompleteAllowed\"\n\t\t\t\t\t\t@submit=\"loading = true\" />\n\t\t\t\t\t<a v-if=\"canResetPassword && resetPasswordLink !== ''\"\n\t\t\t\t\t\tid=\"lost-password\"\n\t\t\t\t\t\tclass=\"login-box__link\"\n\t\t\t\t\t\t:href=\"resetPasswordLink\">\n\t\t\t\t\t\t{{ t('core', 'Forgot password?') }}\n\t\t\t\t\t</a>\n\t\t\t\t\t<a v-else-if=\"canResetPassword && !resetPassword\"\n\t\t\t\t\t\tid=\"lost-password\"\n\t\t\t\t\t\tclass=\"login-box__link\"\n\t\t\t\t\t\t:href=\"resetPasswordLink\"\n\t\t\t\t\t\t@click.prevent=\"resetPassword = true\">\n\t\t\t\t\t\t{{ t('core', 'Forgot password?') }}\n\t\t\t\t\t</a>\n\t\t\t\t\t<template v-if=\"hasPasswordless\">\n\t\t\t\t\t\t<div v-if=\"countAlternativeLogins\"\n\t\t\t\t\t\t\tclass=\"alternative-logins\">\n\t\t\t\t\t\t\t<a v-if=\"hasPasswordless\"\n\t\t\t\t\t\t\t\tclass=\"button\"\n\t\t\t\t\t\t\t\t:class=\"{ 'single-alt-login-option': countAlternativeLogins }\"\n\t\t\t\t\t\t\t\thref=\"#\"\n\t\t\t\t\t\t\t\t@click.prevent=\"passwordlessLogin = true\">\n\t\t\t\t\t\t\t\t{{ t('core', 'Log in with a device') }}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<a v-else\n\t\t\t\t\t\t\thref=\"#\"\n\t\t\t\t\t\t\t@click.prevent=\"passwordlessLogin = true\">\n\t\t\t\t\t\t\t{{ t('core', 'Log in with a device') }}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</template>\n\t\t\t\t</div>\n\t\t\t\t<div v-else-if=\"!loading && passwordlessLogin\"\n\t\t\t\t\tkey=\"reset\"\n\t\t\t\t\tclass=\"login-additional login-passwordless\">\n\t\t\t\t\t<PasswordLessLoginForm :username.sync=\"user\"\n\t\t\t\t\t\t:redirect-url=\"redirectUrl\"\n\t\t\t\t\t\t:auto-complete-allowed=\"autoCompleteAllowed\"\n\t\t\t\t\t\t:is-https=\"isHttps\"\n\t\t\t\t\t\t:is-localhost=\"isLocalhost\"\n\t\t\t\t\t\t:has-public-key-credential=\"hasPublicKeyCredential\"\n\t\t\t\t\t\t@submit=\"loading = true\" />\n\t\t\t\t\t<NcButton type=\"tertiary\"\n\t\t\t\t\t\t:aria-label=\"t('core', 'Back to login form')\"\n\t\t\t\t\t\t:wide=\"true\"\n\t\t\t\t\t\t@click=\"passwordlessLogin = false\">\n\t\t\t\t\t\t{{ t('core', 'Back') }}\n\t\t\t\t\t</NcButton>\n\t\t\t\t</div>\n\t\t\t\t<div v-else-if=\"!loading && canResetPassword\"\n\t\t\t\t\tkey=\"reset\"\n\t\t\t\t\tclass=\"login-additional\">\n\t\t\t\t\t<div class=\"lost-password-container\">\n\t\t\t\t\t\t<ResetPassword v-if=\"resetPassword\"\n\t\t\t\t\t\t\t:username.sync=\"user\"\n\t\t\t\t\t\t\t:reset-password-link=\"resetPasswordLink\"\n\t\t\t\t\t\t\t@abort=\"resetPassword = false\" />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div v-else-if=\"resetPasswordTarget !== ''\">\n\t\t\t\t\t<UpdatePassword :username.sync=\"user\"\n\t\t\t\t\t\t:reset-password-target=\"resetPasswordTarget\"\n\t\t\t\t\t\t@done=\"passwordResetFinished\" />\n\t\t\t\t</div>\n\t\t\t</transition>\n\t\t</template>\n\t\t<template v-else>\n\t\t\t<transition name=\"fade\" mode=\"out-in\">\n\t\t\t\t<NcNoteCard type=\"warning\" :title=\"t('core', 'Login form is disabled.')\">\n\t\t\t\t\t{{ t('core', 'Please contact your administrator.') }}\n\t\t\t\t</NcNoteCard>\n\t\t\t</transition>\n\t\t</template>\n\n\t\t<div id=\"alternative-logins\" class=\"alternative-logins\">\n\t\t\t<NcButton v-for=\"(alternativeLogin, index) in alternativeLogins\"\n\t\t\t\t:key=\"index\"\n\t\t\t\ttype=\"secondary\"\n\t\t\t\t:wide=\"true\"\n\t\t\t\t:class=\"[alternativeLogin.class]\"\n\t\t\t\trole=\"link\"\n\t\t\t\t:href=\"alternativeLogin.href\">\n\t\t\t\t{{ alternativeLogin.name }}\n\t\t\t</NcButton>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\nimport queryString from 'query-string'\n\nimport LoginForm from '../components/login/LoginForm.vue'\nimport PasswordLessLoginForm from '../components/login/PasswordLessLoginForm.vue'\nimport ResetPassword from '../components/login/ResetPassword.vue'\nimport UpdatePassword from '../components/login/UpdatePassword.vue'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport NcNoteCard from '@nextcloud/vue/dist/Components/NcNoteCard.js'\n\nconst query = queryString.parse(location.search)\nif (query.clear === '1') {\n\ttry {\n\t\twindow.localStorage.clear()\n\t\twindow.sessionStorage.clear()\n\t\tconsole.debug('Browser storage cleared')\n\t} catch (e) {\n\t\tconsole.error('Could not clear browser storage', e)\n\t}\n}\n\nexport default {\n\tname: 'Login',\n\n\tcomponents: {\n\t\tLoginForm,\n\t\tPasswordLessLoginForm,\n\t\tResetPassword,\n\t\tUpdatePassword,\n\t\tNcButton,\n\t\tNcNoteCard,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tloading: false,\n\t\t\tuser: loadState('core', 'loginUsername', ''),\n\t\t\tpasswordlessLogin: false,\n\t\t\tresetPassword: false,\n\n\t\t\t// Initial data\n\t\t\terrors: loadState('core', 'loginErrors', []),\n\t\t\tmessages: loadState('core', 'loginMessages', []),\n\t\t\tredirectUrl: loadState('core', 'loginRedirectUrl', false),\n\t\t\tthrottleDelay: loadState('core', 'loginThrottleDelay', 0),\n\t\t\tcanResetPassword: loadState('core', 'loginCanResetPassword', false),\n\t\t\tresetPasswordLink: loadState('core', 'loginResetPasswordLink', ''),\n\t\t\tautoCompleteAllowed: loadState('core', 'loginAutocomplete', true),\n\t\t\tresetPasswordTarget: loadState('core', 'resetPasswordTarget', ''),\n\t\t\tresetPasswordUser: loadState('core', 'resetPasswordUser', ''),\n\t\t\tdirectLogin: query.direct === '1',\n\t\t\thasPasswordless: loadState('core', 'webauthn-available', false),\n\t\t\tcountAlternativeLogins: loadState('core', 'countAlternativeLogins', false),\n\t\t\talternativeLogins: loadState('core', 'alternativeLogins', []),\n\t\t\tisHttps: window.location.protocol === 'https:',\n\t\t\tisLocalhost: window.location.hostname === 'localhost',\n\t\t\thasPublicKeyCredential: typeof (window.PublicKeyCredential) !== 'undefined',\n\t\t\thideLoginForm: loadState('core', 'hideLoginForm', false),\n\t\t}\n\t},\n\n\tmethods: {\n\t\tpasswordResetFinished() {\n\t\t\tthis.resetPasswordTarget = ''\n\t\t\tthis.directLogin = true\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\">\nbody {\n\tfont-size: var(--default-font-size);\n}\n\n.login-box {\n\t// Same size as dashboard panels\n\twidth: 320px;\n\tbox-sizing: border-box;\n\n\t&__link {\n\t\tdisplay: block;\n\t\tpadding: 1rem;\n\t\tfont-size: var(--default-font-size);\n\t\ttext-align: center;\n\t\tfont-weight: normal !important;\n\t}\n}\n\n.fade-enter-active, .fade-leave-active {\n\ttransition: opacity .3s;\n}\n.fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ {\n\topacity: 0;\n}\n\n.alternative-logins {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 0.75rem;\n\n\t.button-vue {\n\t\tbox-sizing: border-box;\n\t}\n}\n\n.login-passwordless {\n\t.button-vue {\n\t\tmargin-top: 0.5rem;\n\t}\n}\n</style>\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.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!./Login.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!./Login.vue?vue&type=style&index=0&id=2148d59c&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!./Login.vue?vue&type=style&index=0&id=2148d59c&prod&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=2148d59c&\"\nimport script from \"./Login.vue?vue&type=script&lang=js&\"\nexport * from \"./Login.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Login.vue?vue&type=style&index=0&id=2148d59c&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","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport L10n from '../OC/l10n.js'\nimport OC from '../OC/index.js'\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tOC,\n\t\t}\n\t},\n\tmethods: {\n\t\tt: L10n.translate.bind(L10n),\n\t\tn: L10n.translatePlural.bind(L10n),\n\t},\n}\n","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\n\n// eslint-disable-next-line no-unused-vars\nimport OC from './OC/index.js' // TODO: Not needed but L10n breaks if removed\nimport LoginView from './views/Login.vue'\nimport Nextcloud from './mixins/Nextcloud.js'\n\nVue.mixin(Nextcloud)\n\nconst View = Vue.extend(LoginView)\nnew View().$mount('#login')\n","// Backbone.js 1.5.0\n\n// (c) 2010-2022 Jeremy Ashkenas and DocumentCloud\n// Backbone may be freely distributed under the MIT license.\n// For all details and documentation:\n// http://backbonejs.org\n\n(function(factory) {\n\n // Establish the root object, `window` (`self`) in the browser, or `global` on the server.\n // We use `self` instead of `window` for `WebWorker` support.\n var root = typeof self == 'object' && self.self === self && self ||\n typeof global == 'object' && global.global === global && global;\n\n // Set up Backbone appropriately for the environment. Start with AMD.\n if (typeof define === 'function' && define.amd) {\n define(['underscore', 'jquery', 'exports'], function(_, $, exports) {\n // Export global even in AMD case in case this script is loaded with\n // others that may still expect a global Backbone.\n root.Backbone = factory(root, exports, _, $);\n });\n\n // Next for Node.js or CommonJS. jQuery may not be needed as a module.\n } else if (typeof exports !== 'undefined') {\n var _ = require('underscore'), $;\n try { $ = require('jquery'); } catch (e) {}\n factory(root, exports, _, $);\n\n // Finally, as a browser global.\n } else {\n root.Backbone = factory(root, {}, root._, root.jQuery || root.Zepto || root.ender || root.$);\n }\n\n})(function(root, Backbone, _, $) {\n\n // Initial Setup\n // -------------\n\n // Save the previous value of the `Backbone` variable, so that it can be\n // restored later on, if `noConflict` is used.\n var previousBackbone = root.Backbone;\n\n // Create a local reference to a common array method we'll want to use later.\n var slice = Array.prototype.slice;\n\n // Current version of the library. Keep in sync with `package.json`.\n Backbone.VERSION = '1.5.0';\n\n // For Backbone's purposes, jQuery, Zepto, Ender, or My Library (kidding) owns\n // the `$` variable.\n Backbone.$ = $;\n\n // Runs Backbone.js in *noConflict* mode, returning the `Backbone` variable\n // to its previous owner. Returns a reference to this Backbone object.\n Backbone.noConflict = function() {\n root.Backbone = previousBackbone;\n return this;\n };\n\n // Turn on `emulateHTTP` to support legacy HTTP servers. Setting this option\n // will fake `\"PATCH\"`, `\"PUT\"` and `\"DELETE\"` requests via the `_method` parameter and\n // set a `X-Http-Method-Override` header.\n Backbone.emulateHTTP = false;\n\n // Turn on `emulateJSON` to support legacy servers that can't deal with direct\n // `application/json` requests ... this will encode the body as\n // `application/x-www-form-urlencoded` instead and will send the model in a\n // form param named `model`.\n Backbone.emulateJSON = false;\n\n // Backbone.Events\n // ---------------\n\n // A module that can be mixed in to *any object* in order to provide it with\n // a custom event channel. You may bind a callback to an event with `on` or\n // remove with `off`; `trigger`-ing an event fires all callbacks in\n // succession.\n //\n // var object = {};\n // _.extend(object, Backbone.Events);\n // object.on('expand', function(){ alert('expanded'); });\n // object.trigger('expand');\n //\n var Events = Backbone.Events = {};\n\n // Regular expression used to split event strings.\n var eventSplitter = /\\s+/;\n\n // A private global variable to share between listeners and listenees.\n var _listening;\n\n // Iterates over the standard `event, callback` (as well as the fancy multiple\n // space-separated events `\"change blur\", callback` and jQuery-style event\n // maps `{event: callback}`).\n var eventsApi = function(iteratee, events, name, callback, opts) {\n var i = 0, names;\n if (name && typeof name === 'object') {\n // Handle event maps.\n if (callback !== void 0 && 'context' in opts && opts.context === void 0) opts.context = callback;\n for (names = _.keys(name); i < names.length ; i++) {\n events = eventsApi(iteratee, events, names[i], name[names[i]], opts);\n }\n } else if (name && eventSplitter.test(name)) {\n // Handle space-separated event names by delegating them individually.\n for (names = name.split(eventSplitter); i < names.length; i++) {\n events = iteratee(events, names[i], callback, opts);\n }\n } else {\n // Finally, standard events.\n events = iteratee(events, name, callback, opts);\n }\n return events;\n };\n\n // Bind an event to a `callback` function. Passing `\"all\"` will bind\n // the callback to all events fired.\n Events.on = function(name, callback, context) {\n this._events = eventsApi(onApi, this._events || {}, name, callback, {\n context: context,\n ctx: this,\n listening: _listening\n });\n\n if (_listening) {\n var listeners = this._listeners || (this._listeners = {});\n listeners[_listening.id] = _listening;\n // Allow the listening to use a counter, instead of tracking\n // callbacks for library interop\n _listening.interop = false;\n }\n\n return this;\n };\n\n // Inversion-of-control versions of `on`. Tell *this* object to listen to\n // an event in another object... keeping track of what it's listening to\n // for easier unbinding later.\n Events.listenTo = function(obj, name, callback) {\n if (!obj) return this;\n var id = obj._listenId || (obj._listenId = _.uniqueId('l'));\n var listeningTo = this._listeningTo || (this._listeningTo = {});\n var listening = _listening = listeningTo[id];\n\n // This object is not listening to any other events on `obj` yet.\n // Setup the necessary references to track the listening callbacks.\n if (!listening) {\n this._listenId || (this._listenId = _.uniqueId('l'));\n listening = _listening = listeningTo[id] = new Listening(this, obj);\n }\n\n // Bind callbacks on obj.\n var error = tryCatchOn(obj, name, callback, this);\n _listening = void 0;\n\n if (error) throw error;\n // If the target obj is not Backbone.Events, track events manually.\n if (listening.interop) listening.on(name, callback);\n\n return this;\n };\n\n // The reducing API that adds a callback to the `events` object.\n var onApi = function(events, name, callback, options) {\n if (callback) {\n var handlers = events[name] || (events[name] = []);\n var context = options.context, ctx = options.ctx, listening = options.listening;\n if (listening) listening.count++;\n\n handlers.push({callback: callback, context: context, ctx: context || ctx, listening: listening});\n }\n return events;\n };\n\n // An try-catch guarded #on function, to prevent poisoning the global\n // `_listening` variable.\n var tryCatchOn = function(obj, name, callback, context) {\n try {\n obj.on(name, callback, context);\n } catch (e) {\n return e;\n }\n };\n\n // Remove one or many callbacks. If `context` is null, removes all\n // callbacks with that function. If `callback` is null, removes all\n // callbacks for the event. If `name` is null, removes all bound\n // callbacks for all events.\n Events.off = function(name, callback, context) {\n if (!this._events) return this;\n this._events = eventsApi(offApi, this._events, name, callback, {\n context: context,\n listeners: this._listeners\n });\n\n return this;\n };\n\n // Tell this object to stop listening to either specific events ... or\n // to every object it's currently listening to.\n Events.stopListening = function(obj, name, callback) {\n var listeningTo = this._listeningTo;\n if (!listeningTo) return this;\n\n var ids = obj ? [obj._listenId] : _.keys(listeningTo);\n for (var i = 0; i < ids.length; i++) {\n var listening = listeningTo[ids[i]];\n\n // If listening doesn't exist, this object is not currently\n // listening to obj. Break out early.\n if (!listening) break;\n\n listening.obj.off(name, callback, this);\n if (listening.interop) listening.off(name, callback);\n }\n if (_.isEmpty(listeningTo)) this._listeningTo = void 0;\n\n return this;\n };\n\n // The reducing API that removes a callback from the `events` object.\n var offApi = function(events, name, callback, options) {\n if (!events) return;\n\n var context = options.context, listeners = options.listeners;\n var i = 0, names;\n\n // Delete all event listeners and \"drop\" events.\n if (!name && !context && !callback) {\n for (names = _.keys(listeners); i < names.length; i++) {\n listeners[names[i]].cleanup();\n }\n return;\n }\n\n names = name ? [name] : _.keys(events);\n for (; i < names.length; i++) {\n name = names[i];\n var handlers = events[name];\n\n // Bail out if there are no events stored.\n if (!handlers) break;\n\n // Find any remaining events.\n var remaining = [];\n for (var j = 0; j < handlers.length; j++) {\n var handler = handlers[j];\n if (\n callback && callback !== handler.callback &&\n callback !== handler.callback._callback ||\n context && context !== handler.context\n ) {\n remaining.push(handler);\n } else {\n var listening = handler.listening;\n if (listening) listening.off(name, callback);\n }\n }\n\n // Replace events if there are any remaining. Otherwise, clean up.\n if (remaining.length) {\n events[name] = remaining;\n } else {\n delete events[name];\n }\n }\n\n return events;\n };\n\n // Bind an event to only be triggered a single time. After the first time\n // the callback is invoked, its listener will be removed. If multiple events\n // are passed in using the space-separated syntax, the handler will fire\n // once for each event, not once for a combination of all events.\n Events.once = function(name, callback, context) {\n // Map the event into a `{event: once}` object.\n var events = eventsApi(onceMap, {}, name, callback, this.off.bind(this));\n if (typeof name === 'string' && context == null) callback = void 0;\n return this.on(events, callback, context);\n };\n\n // Inversion-of-control versions of `once`.\n Events.listenToOnce = function(obj, name, callback) {\n // Map the event into a `{event: once}` object.\n var events = eventsApi(onceMap, {}, name, callback, this.stopListening.bind(this, obj));\n return this.listenTo(obj, events);\n };\n\n // Reduces the event callbacks into a map of `{event: onceWrapper}`.\n // `offer` unbinds the `onceWrapper` after it has been called.\n var onceMap = function(map, name, callback, offer) {\n if (callback) {\n var once = map[name] = _.once(function() {\n offer(name, once);\n callback.apply(this, arguments);\n });\n once._callback = callback;\n }\n return map;\n };\n\n // Trigger one or many events, firing all bound callbacks. Callbacks are\n // passed the same arguments as `trigger` is, apart from the event name\n // (unless you're listening on `\"all\"`, which will cause your callback to\n // receive the true name of the event as the first argument).\n Events.trigger = function(name) {\n if (!this._events) return this;\n\n var length = Math.max(0, arguments.length - 1);\n var args = Array(length);\n for (var i = 0; i < length; i++) args[i] = arguments[i + 1];\n\n eventsApi(triggerApi, this._events, name, void 0, args);\n return this;\n };\n\n // Handles triggering the appropriate event callbacks.\n var triggerApi = function(objEvents, name, callback, args) {\n if (objEvents) {\n var events = objEvents[name];\n var allEvents = objEvents.all;\n if (events && allEvents) allEvents = allEvents.slice();\n if (events) triggerEvents(events, args);\n if (allEvents) triggerEvents(allEvents, [name].concat(args));\n }\n return objEvents;\n };\n\n // A difficult-to-believe, but optimized internal dispatch function for\n // triggering events. Tries to keep the usual cases speedy (most internal\n // Backbone events have 3 arguments).\n var triggerEvents = function(events, args) {\n var ev, i = -1, l = events.length, a1 = args[0], a2 = args[1], a3 = args[2];\n switch (args.length) {\n case 0: while (++i < l) (ev = events[i]).callback.call(ev.ctx); return;\n case 1: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1); return;\n case 2: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2); return;\n case 3: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2, a3); return;\n default: while (++i < l) (ev = events[i]).callback.apply(ev.ctx, args); return;\n }\n };\n\n // A listening class that tracks and cleans up memory bindings\n // when all callbacks have been offed.\n var Listening = function(listener, obj) {\n this.id = listener._listenId;\n this.listener = listener;\n this.obj = obj;\n this.interop = true;\n this.count = 0;\n this._events = void 0;\n };\n\n Listening.prototype.on = Events.on;\n\n // Offs a callback (or several).\n // Uses an optimized counter if the listenee uses Backbone.Events.\n // Otherwise, falls back to manual tracking to support events\n // library interop.\n Listening.prototype.off = function(name, callback) {\n var cleanup;\n if (this.interop) {\n this._events = eventsApi(offApi, this._events, name, callback, {\n context: void 0,\n listeners: void 0\n });\n cleanup = !this._events;\n } else {\n this.count--;\n cleanup = this.count === 0;\n }\n if (cleanup) this.cleanup();\n };\n\n // Cleans up memory bindings between the listener and the listenee.\n Listening.prototype.cleanup = function() {\n delete this.listener._listeningTo[this.obj._listenId];\n if (!this.interop) delete this.obj._listeners[this.id];\n };\n\n // Aliases for backwards compatibility.\n Events.bind = Events.on;\n Events.unbind = Events.off;\n\n // Allow the `Backbone` object to serve as a global event bus, for folks who\n // want global \"pubsub\" in a convenient place.\n _.extend(Backbone, Events);\n\n // Backbone.Model\n // --------------\n\n // Backbone **Models** are the basic data object in the framework --\n // frequently representing a row in a table in a database on your server.\n // A discrete chunk of data and a bunch of useful, related methods for\n // performing computations and transformations on that data.\n\n // Create a new model with the specified attributes. A client id (`cid`)\n // is automatically generated and assigned for you.\n var Model = Backbone.Model = function(attributes, options) {\n var attrs = attributes || {};\n options || (options = {});\n this.preinitialize.apply(this, arguments);\n this.cid = _.uniqueId(this.cidPrefix);\n this.attributes = {};\n if (options.collection) this.collection = options.collection;\n if (options.parse) attrs = this.parse(attrs, options) || {};\n var defaults = _.result(this, 'defaults');\n\n // Just _.defaults would work fine, but the additional _.extends\n // is in there for historical reasons. See #3843.\n attrs = _.defaults(_.extend({}, defaults, attrs), defaults);\n\n this.set(attrs, options);\n this.changed = {};\n this.initialize.apply(this, arguments);\n };\n\n // Attach all inheritable methods to the Model prototype.\n _.extend(Model.prototype, Events, {\n\n // A hash of attributes whose current and previous value differ.\n changed: null,\n\n // The value returned during the last failed validation.\n validationError: null,\n\n // The default name for the JSON `id` attribute is `\"id\"`. MongoDB and\n // CouchDB users may want to set this to `\"_id\"`.\n idAttribute: 'id',\n\n // The prefix is used to create the client id which is used to identify models locally.\n // You may want to override this if you're experiencing name clashes with model ids.\n cidPrefix: 'c',\n\n // preinitialize is an empty function by default. You can override it with a function\n // or object. preinitialize will run before any instantiation logic is run in the Model.\n preinitialize: function(){},\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // Return a copy of the model's `attributes` object.\n toJSON: function(options) {\n return _.clone(this.attributes);\n },\n\n // Proxy `Backbone.sync` by default -- but override this if you need\n // custom syncing semantics for *this* particular model.\n sync: function() {\n return Backbone.sync.apply(this, arguments);\n },\n\n // Get the value of an attribute.\n get: function(attr) {\n return this.attributes[attr];\n },\n\n // Get the HTML-escaped value of an attribute.\n escape: function(attr) {\n return _.escape(this.get(attr));\n },\n\n // Returns `true` if the attribute contains a value that is not null\n // or undefined.\n has: function(attr) {\n return this.get(attr) != null;\n },\n\n // Special-cased proxy to underscore's `_.matches` method.\n matches: function(attrs) {\n return !!_.iteratee(attrs, this)(this.attributes);\n },\n\n // Set a hash of model attributes on the object, firing `\"change\"`. This is\n // the core primitive operation of a model, updating the data and notifying\n // anyone who needs to know about the change in state. The heart of the beast.\n set: function(key, val, options) {\n if (key == null) return this;\n\n // Handle both `\"key\", value` and `{key: value}` -style arguments.\n var attrs;\n if (typeof key === 'object') {\n attrs = key;\n options = val;\n } else {\n (attrs = {})[key] = val;\n }\n\n options || (options = {});\n\n // Run validation.\n if (!this._validate(attrs, options)) return false;\n\n // Extract attributes and options.\n var unset = options.unset;\n var silent = options.silent;\n var changes = [];\n var changing = this._changing;\n this._changing = true;\n\n if (!changing) {\n this._previousAttributes = _.clone(this.attributes);\n this.changed = {};\n }\n\n var current = this.attributes;\n var changed = this.changed;\n var prev = this._previousAttributes;\n\n // For each `set` attribute, update or delete the current value.\n for (var attr in attrs) {\n val = attrs[attr];\n if (!_.isEqual(current[attr], val)) changes.push(attr);\n if (!_.isEqual(prev[attr], val)) {\n changed[attr] = val;\n } else {\n delete changed[attr];\n }\n unset ? delete current[attr] : current[attr] = val;\n }\n\n // Update the `id`.\n if (this.idAttribute in attrs) {\n var prevId = this.id;\n this.id = this.get(this.idAttribute);\n this.trigger('changeId', this, prevId, options);\n }\n\n // Trigger all relevant attribute changes.\n if (!silent) {\n if (changes.length) this._pending = options;\n for (var i = 0; i < changes.length; i++) {\n this.trigger('change:' + changes[i], this, current[changes[i]], options);\n }\n }\n\n // You might be wondering why there's a `while` loop here. Changes can\n // be recursively nested within `\"change\"` events.\n if (changing) return this;\n if (!silent) {\n while (this._pending) {\n options = this._pending;\n this._pending = false;\n this.trigger('change', this, options);\n }\n }\n this._pending = false;\n this._changing = false;\n return this;\n },\n\n // Remove an attribute from the model, firing `\"change\"`. `unset` is a noop\n // if the attribute doesn't exist.\n unset: function(attr, options) {\n return this.set(attr, void 0, _.extend({}, options, {unset: true}));\n },\n\n // Clear all attributes on the model, firing `\"change\"`.\n clear: function(options) {\n var attrs = {};\n for (var key in this.attributes) attrs[key] = void 0;\n return this.set(attrs, _.extend({}, options, {unset: true}));\n },\n\n // Determine if the model has changed since the last `\"change\"` event.\n // If you specify an attribute name, determine if that attribute has changed.\n hasChanged: function(attr) {\n if (attr == null) return !_.isEmpty(this.changed);\n return _.has(this.changed, attr);\n },\n\n // Return an object containing all the attributes that have changed, or\n // false if there are no changed attributes. Useful for determining what\n // parts of a view need to be updated and/or what attributes need to be\n // persisted to the server. Unset attributes will be set to undefined.\n // You can also pass an attributes object to diff against the model,\n // determining if there *would be* a change.\n changedAttributes: function(diff) {\n if (!diff) return this.hasChanged() ? _.clone(this.changed) : false;\n var old = this._changing ? this._previousAttributes : this.attributes;\n var changed = {};\n var hasChanged;\n for (var attr in diff) {\n var val = diff[attr];\n if (_.isEqual(old[attr], val)) continue;\n changed[attr] = val;\n hasChanged = true;\n }\n return hasChanged ? changed : false;\n },\n\n // Get the previous value of an attribute, recorded at the time the last\n // `\"change\"` event was fired.\n previous: function(attr) {\n if (attr == null || !this._previousAttributes) return null;\n return this._previousAttributes[attr];\n },\n\n // Get all of the attributes of the model at the time of the previous\n // `\"change\"` event.\n previousAttributes: function() {\n return _.clone(this._previousAttributes);\n },\n\n // Fetch the model from the server, merging the response with the model's\n // local attributes. Any changed attributes will trigger a \"change\" event.\n fetch: function(options) {\n options = _.extend({parse: true}, options);\n var model = this;\n var success = options.success;\n options.success = function(resp) {\n var serverAttrs = options.parse ? model.parse(resp, options) : resp;\n if (!model.set(serverAttrs, options)) return false;\n if (success) success.call(options.context, model, resp, options);\n model.trigger('sync', model, resp, options);\n };\n wrapError(this, options);\n return this.sync('read', this, options);\n },\n\n // Set a hash of model attributes, and sync the model to the server.\n // If the server returns an attributes hash that differs, the model's\n // state will be `set` again.\n save: function(key, val, options) {\n // Handle both `\"key\", value` and `{key: value}` -style arguments.\n var attrs;\n if (key == null || typeof key === 'object') {\n attrs = key;\n options = val;\n } else {\n (attrs = {})[key] = val;\n }\n\n options = _.extend({validate: true, parse: true}, options);\n var wait = options.wait;\n\n // If we're not waiting and attributes exist, save acts as\n // `set(attr).save(null, opts)` with validation. Otherwise, check if\n // the model will be valid when the attributes, if any, are set.\n if (attrs && !wait) {\n if (!this.set(attrs, options)) return false;\n } else if (!this._validate(attrs, options)) {\n return false;\n }\n\n // After a successful server-side save, the client is (optionally)\n // updated with the server-side state.\n var model = this;\n var success = options.success;\n var attributes = this.attributes;\n options.success = function(resp) {\n // Ensure attributes are restored during synchronous saves.\n model.attributes = attributes;\n var serverAttrs = options.parse ? model.parse(resp, options) : resp;\n if (wait) serverAttrs = _.extend({}, attrs, serverAttrs);\n if (serverAttrs && !model.set(serverAttrs, options)) return false;\n if (success) success.call(options.context, model, resp, options);\n model.trigger('sync', model, resp, options);\n };\n wrapError(this, options);\n\n // Set temporary attributes if `{wait: true}` to properly find new ids.\n if (attrs && wait) this.attributes = _.extend({}, attributes, attrs);\n\n var method = this.isNew() ? 'create' : options.patch ? 'patch' : 'update';\n if (method === 'patch' && !options.attrs) options.attrs = attrs;\n var xhr = this.sync(method, this, options);\n\n // Restore attributes.\n this.attributes = attributes;\n\n return xhr;\n },\n\n // Destroy this model on the server if it was already persisted.\n // Optimistically removes the model from its collection, if it has one.\n // If `wait: true` is passed, waits for the server to respond before removal.\n destroy: function(options) {\n options = options ? _.clone(options) : {};\n var model = this;\n var success = options.success;\n var wait = options.wait;\n\n var destroy = function() {\n model.stopListening();\n model.trigger('destroy', model, model.collection, options);\n };\n\n options.success = function(resp) {\n if (wait) destroy();\n if (success) success.call(options.context, model, resp, options);\n if (!model.isNew()) model.trigger('sync', model, resp, options);\n };\n\n var xhr = false;\n if (this.isNew()) {\n _.defer(options.success);\n } else {\n wrapError(this, options);\n xhr = this.sync('delete', this, options);\n }\n if (!wait) destroy();\n return xhr;\n },\n\n // Default URL for the model's representation on the server -- if you're\n // using Backbone's restful methods, override this to change the endpoint\n // that will be called.\n url: function() {\n var base =\n _.result(this, 'urlRoot') ||\n _.result(this.collection, 'url') ||\n urlError();\n if (this.isNew()) return base;\n var id = this.get(this.idAttribute);\n return base.replace(/[^\\/]$/, '$&/') + encodeURIComponent(id);\n },\n\n // **parse** converts a response into the hash of attributes to be `set` on\n // the model. The default implementation is just to pass the response along.\n parse: function(resp, options) {\n return resp;\n },\n\n // Create a new model with identical attributes to this one.\n clone: function() {\n return new this.constructor(this.attributes);\n },\n\n // A model is new if it has never been saved to the server, and lacks an id.\n isNew: function() {\n return !this.has(this.idAttribute);\n },\n\n // Check if the model is currently in a valid state.\n isValid: function(options) {\n return this._validate({}, _.extend({}, options, {validate: true}));\n },\n\n // Run validation against the next complete set of model attributes,\n // returning `true` if all is well. Otherwise, fire an `\"invalid\"` event.\n _validate: function(attrs, options) {\n if (!options.validate || !this.validate) return true;\n attrs = _.extend({}, this.attributes, attrs);\n var error = this.validationError = this.validate(attrs, options) || null;\n if (!error) return true;\n this.trigger('invalid', this, error, _.extend(options, {validationError: error}));\n return false;\n }\n\n });\n\n // Backbone.Collection\n // -------------------\n\n // If models tend to represent a single row of data, a Backbone Collection is\n // more analogous to a table full of data ... or a small slice or page of that\n // table, or a collection of rows that belong together for a particular reason\n // -- all of the messages in this particular folder, all of the documents\n // belonging to this particular author, and so on. Collections maintain\n // indexes of their models, both in order, and for lookup by `id`.\n\n // Create a new **Collection**, perhaps to contain a specific type of `model`.\n // If a `comparator` is specified, the Collection will maintain\n // its models in sort order, as they're added and removed.\n var Collection = Backbone.Collection = function(models, options) {\n options || (options = {});\n this.preinitialize.apply(this, arguments);\n if (options.model) this.model = options.model;\n if (options.comparator !== void 0) this.comparator = options.comparator;\n this._reset();\n this.initialize.apply(this, arguments);\n if (models) this.reset(models, _.extend({silent: true}, options));\n };\n\n // Default options for `Collection#set`.\n var setOptions = {add: true, remove: true, merge: true};\n var addOptions = {add: true, remove: false};\n\n // Splices `insert` into `array` at index `at`.\n var splice = function(array, insert, at) {\n at = Math.min(Math.max(at, 0), array.length);\n var tail = Array(array.length - at);\n var length = insert.length;\n var i;\n for (i = 0; i < tail.length; i++) tail[i] = array[i + at];\n for (i = 0; i < length; i++) array[i + at] = insert[i];\n for (i = 0; i < tail.length; i++) array[i + length + at] = tail[i];\n };\n\n // Define the Collection's inheritable methods.\n _.extend(Collection.prototype, Events, {\n\n // The default model for a collection is just a **Backbone.Model**.\n // This should be overridden in most cases.\n model: Model,\n\n\n // preinitialize is an empty function by default. You can override it with a function\n // or object. preinitialize will run before any instantiation logic is run in the Collection.\n preinitialize: function(){},\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // The JSON representation of a Collection is an array of the\n // models' attributes.\n toJSON: function(options) {\n return this.map(function(model) { return model.toJSON(options); });\n },\n\n // Proxy `Backbone.sync` by default.\n sync: function() {\n return Backbone.sync.apply(this, arguments);\n },\n\n // Add a model, or list of models to the set. `models` may be Backbone\n // Models or raw JavaScript objects to be converted to Models, or any\n // combination of the two.\n add: function(models, options) {\n return this.set(models, _.extend({merge: false}, options, addOptions));\n },\n\n // Remove a model, or a list of models from the set.\n remove: function(models, options) {\n options = _.extend({}, options);\n var singular = !_.isArray(models);\n models = singular ? [models] : models.slice();\n var removed = this._removeModels(models, options);\n if (!options.silent && removed.length) {\n options.changes = {added: [], merged: [], removed: removed};\n this.trigger('update', this, options);\n }\n return singular ? removed[0] : removed;\n },\n\n // Update a collection by `set`-ing a new list of models, adding new ones,\n // removing models that are no longer present, and merging models that\n // already exist in the collection, as necessary. Similar to **Model#set**,\n // the core operation for updating the data contained by the collection.\n set: function(models, options) {\n if (models == null) return;\n\n options = _.extend({}, setOptions, options);\n if (options.parse && !this._isModel(models)) {\n models = this.parse(models, options) || [];\n }\n\n var singular = !_.isArray(models);\n models = singular ? [models] : models.slice();\n\n var at = options.at;\n if (at != null) at = +at;\n if (at > this.length) at = this.length;\n if (at < 0) at += this.length + 1;\n\n var set = [];\n var toAdd = [];\n var toMerge = [];\n var toRemove = [];\n var modelMap = {};\n\n var add = options.add;\n var merge = options.merge;\n var remove = options.remove;\n\n var sort = false;\n var sortable = this.comparator && at == null && options.sort !== false;\n var sortAttr = _.isString(this.comparator) ? this.comparator : null;\n\n // Turn bare objects into model references, and prevent invalid models\n // from being added.\n var model, i;\n for (i = 0; i < models.length; i++) {\n model = models[i];\n\n // If a duplicate is found, prevent it from being added and\n // optionally merge it into the existing model.\n var existing = this.get(model);\n if (existing) {\n if (merge && model !== existing) {\n var attrs = this._isModel(model) ? model.attributes : model;\n if (options.parse) attrs = existing.parse(attrs, options);\n existing.set(attrs, options);\n toMerge.push(existing);\n if (sortable && !sort) sort = existing.hasChanged(sortAttr);\n }\n if (!modelMap[existing.cid]) {\n modelMap[existing.cid] = true;\n set.push(existing);\n }\n models[i] = existing;\n\n // If this is a new, valid model, push it to the `toAdd` list.\n } else if (add) {\n model = models[i] = this._prepareModel(model, options);\n if (model) {\n toAdd.push(model);\n this._addReference(model, options);\n modelMap[model.cid] = true;\n set.push(model);\n }\n }\n }\n\n // Remove stale models.\n if (remove) {\n for (i = 0; i < this.length; i++) {\n model = this.models[i];\n if (!modelMap[model.cid]) toRemove.push(model);\n }\n if (toRemove.length) this._removeModels(toRemove, options);\n }\n\n // See if sorting is needed, update `length` and splice in new models.\n var orderChanged = false;\n var replace = !sortable && add && remove;\n if (set.length && replace) {\n orderChanged = this.length !== set.length || _.some(this.models, function(m, index) {\n return m !== set[index];\n });\n this.models.length = 0;\n splice(this.models, set, 0);\n this.length = this.models.length;\n } else if (toAdd.length) {\n if (sortable) sort = true;\n splice(this.models, toAdd, at == null ? this.length : at);\n this.length = this.models.length;\n }\n\n // Silently sort the collection if appropriate.\n if (sort) this.sort({silent: true});\n\n // Unless silenced, it's time to fire all appropriate add/sort/update events.\n if (!options.silent) {\n for (i = 0; i < toAdd.length; i++) {\n if (at != null) options.index = at + i;\n model = toAdd[i];\n model.trigger('add', model, this, options);\n }\n if (sort || orderChanged) this.trigger('sort', this, options);\n if (toAdd.length || toRemove.length || toMerge.length) {\n options.changes = {\n added: toAdd,\n removed: toRemove,\n merged: toMerge\n };\n this.trigger('update', this, options);\n }\n }\n\n // Return the added (or merged) model (or models).\n return singular ? models[0] : models;\n },\n\n // When you have more items than you want to add or remove individually,\n // you can reset the entire set with a new list of models, without firing\n // any granular `add` or `remove` events. Fires `reset` when finished.\n // Useful for bulk operations and optimizations.\n reset: function(models, options) {\n options = options ? _.clone(options) : {};\n for (var i = 0; i < this.models.length; i++) {\n this._removeReference(this.models[i], options);\n }\n options.previousModels = this.models;\n this._reset();\n models = this.add(models, _.extend({silent: true}, options));\n if (!options.silent) this.trigger('reset', this, options);\n return models;\n },\n\n // Add a model to the end of the collection.\n push: function(model, options) {\n return this.add(model, _.extend({at: this.length}, options));\n },\n\n // Remove a model from the end of the collection.\n pop: function(options) {\n var model = this.at(this.length - 1);\n return this.remove(model, options);\n },\n\n // Add a model to the beginning of the collection.\n unshift: function(model, options) {\n return this.add(model, _.extend({at: 0}, options));\n },\n\n // Remove a model from the beginning of the collection.\n shift: function(options) {\n var model = this.at(0);\n return this.remove(model, options);\n },\n\n // Slice out a sub-array of models from the collection.\n slice: function() {\n return slice.apply(this.models, arguments);\n },\n\n // Get a model from the set by id, cid, model object with id or cid\n // properties, or an attributes object that is transformed through modelId.\n get: function(obj) {\n if (obj == null) return void 0;\n return this._byId[obj] ||\n this._byId[this.modelId(this._isModel(obj) ? obj.attributes : obj, obj.idAttribute)] ||\n obj.cid && this._byId[obj.cid];\n },\n\n // Returns `true` if the model is in the collection.\n has: function(obj) {\n return this.get(obj) != null;\n },\n\n // Get the model at the given index.\n at: function(index) {\n if (index < 0) index += this.length;\n return this.models[index];\n },\n\n // Return models with matching attributes. Useful for simple cases of\n // `filter`.\n where: function(attrs, first) {\n return this[first ? 'find' : 'filter'](attrs);\n },\n\n // Return the first model with matching attributes. Useful for simple cases\n // of `find`.\n findWhere: function(attrs) {\n return this.where(attrs, true);\n },\n\n // Force the collection to re-sort itself. You don't need to call this under\n // normal circumstances, as the set will maintain sort order as each item\n // is added.\n sort: function(options) {\n var comparator = this.comparator;\n if (!comparator) throw new Error('Cannot sort a set without a comparator');\n options || (options = {});\n\n var length = comparator.length;\n if (_.isFunction(comparator)) comparator = comparator.bind(this);\n\n // Run sort based on type of `comparator`.\n if (length === 1 || _.isString(comparator)) {\n this.models = this.sortBy(comparator);\n } else {\n this.models.sort(comparator);\n }\n if (!options.silent) this.trigger('sort', this, options);\n return this;\n },\n\n // Pluck an attribute from each model in the collection.\n pluck: function(attr) {\n return this.map(attr + '');\n },\n\n // Fetch the default set of models for this collection, resetting the\n // collection when they arrive. If `reset: true` is passed, the response\n // data will be passed through the `reset` method instead of `set`.\n fetch: function(options) {\n options = _.extend({parse: true}, options);\n var success = options.success;\n var collection = this;\n options.success = function(resp) {\n var method = options.reset ? 'reset' : 'set';\n collection[method](resp, options);\n if (success) success.call(options.context, collection, resp, options);\n collection.trigger('sync', collection, resp, options);\n };\n wrapError(this, options);\n return this.sync('read', this, options);\n },\n\n // Create a new instance of a model in this collection. Add the model to the\n // collection immediately, unless `wait: true` is passed, in which case we\n // wait for the server to agree.\n create: function(model, options) {\n options = options ? _.clone(options) : {};\n var wait = options.wait;\n model = this._prepareModel(model, options);\n if (!model) return false;\n if (!wait) this.add(model, options);\n var collection = this;\n var success = options.success;\n options.success = function(m, resp, callbackOpts) {\n if (wait) {\n m.off('error', this._forwardPristineError, this);\n collection.add(m, callbackOpts);\n }\n if (success) success.call(callbackOpts.context, m, resp, callbackOpts);\n };\n // In case of wait:true, our collection is not listening to any\n // of the model's events yet, so it will not forward the error\n // event. In this special case, we need to listen for it\n // separately and handle the event just once.\n // (The reason we don't need to do this for the sync event is\n // in the success handler above: we add the model first, which\n // causes the collection to listen, and then invoke the callback\n // that triggers the event.)\n if (wait) {\n model.once('error', this._forwardPristineError, this);\n }\n model.save(null, options);\n return model;\n },\n\n // **parse** converts a response into a list of models to be added to the\n // collection. The default implementation is just to pass it through.\n parse: function(resp, options) {\n return resp;\n },\n\n // Create a new collection with an identical list of models as this one.\n clone: function() {\n return new this.constructor(this.models, {\n model: this.model,\n comparator: this.comparator\n });\n },\n\n // Define how to uniquely identify models in the collection.\n modelId: function(attrs, idAttribute) {\n return attrs[idAttribute || this.model.prototype.idAttribute || 'id'];\n },\n\n // Get an iterator of all models in this collection.\n values: function() {\n return new CollectionIterator(this, ITERATOR_VALUES);\n },\n\n // Get an iterator of all model IDs in this collection.\n keys: function() {\n return new CollectionIterator(this, ITERATOR_KEYS);\n },\n\n // Get an iterator of all [ID, model] tuples in this collection.\n entries: function() {\n return new CollectionIterator(this, ITERATOR_KEYSVALUES);\n },\n\n // Private method to reset all internal state. Called when the collection\n // is first initialized or reset.\n _reset: function() {\n this.length = 0;\n this.models = [];\n this._byId = {};\n },\n\n // Prepare a hash of attributes (or other model) to be added to this\n // collection.\n _prepareModel: function(attrs, options) {\n if (this._isModel(attrs)) {\n if (!attrs.collection) attrs.collection = this;\n return attrs;\n }\n options = options ? _.clone(options) : {};\n options.collection = this;\n\n var model;\n if (this.model.prototype) {\n model = new this.model(attrs, options);\n } else {\n // ES class methods didn't have prototype\n model = this.model(attrs, options);\n }\n\n if (!model.validationError) return model;\n this.trigger('invalid', this, model.validationError, options);\n return false;\n },\n\n // Internal method called by both remove and set.\n _removeModels: function(models, options) {\n var removed = [];\n for (var i = 0; i < models.length; i++) {\n var model = this.get(models[i]);\n if (!model) continue;\n\n var index = this.indexOf(model);\n this.models.splice(index, 1);\n this.length--;\n\n // Remove references before triggering 'remove' event to prevent an\n // infinite loop. #3693\n delete this._byId[model.cid];\n var id = this.modelId(model.attributes, model.idAttribute);\n if (id != null) delete this._byId[id];\n\n if (!options.silent) {\n options.index = index;\n model.trigger('remove', model, this, options);\n }\n\n removed.push(model);\n this._removeReference(model, options);\n }\n if (models.length > 0 && !options.silent) delete options.index;\n return removed;\n },\n\n // Method for checking whether an object should be considered a model for\n // the purposes of adding to the collection.\n _isModel: function(model) {\n return model instanceof Model;\n },\n\n // Internal method to create a model's ties to a collection.\n _addReference: function(model, options) {\n this._byId[model.cid] = model;\n var id = this.modelId(model.attributes, model.idAttribute);\n if (id != null) this._byId[id] = model;\n model.on('all', this._onModelEvent, this);\n },\n\n // Internal method to sever a model's ties to a collection.\n _removeReference: function(model, options) {\n delete this._byId[model.cid];\n var id = this.modelId(model.attributes, model.idAttribute);\n if (id != null) delete this._byId[id];\n if (this === model.collection) delete model.collection;\n model.off('all', this._onModelEvent, this);\n },\n\n // Internal method called every time a model in the set fires an event.\n // Sets need to update their indexes when models change ids. All other\n // events simply proxy through. \"add\" and \"remove\" events that originate\n // in other collections are ignored.\n _onModelEvent: function(event, model, collection, options) {\n if (model) {\n if ((event === 'add' || event === 'remove') && collection !== this) return;\n if (event === 'destroy') this.remove(model, options);\n if (event === 'changeId') {\n var prevId = this.modelId(model.previousAttributes(), model.idAttribute);\n var id = this.modelId(model.attributes, model.idAttribute);\n if (prevId != null) delete this._byId[prevId];\n if (id != null) this._byId[id] = model;\n }\n }\n this.trigger.apply(this, arguments);\n },\n\n // Internal callback method used in `create`. It serves as a\n // stand-in for the `_onModelEvent` method, which is not yet bound\n // during the `wait` period of the `create` call. We still want to\n // forward any `'error'` event at the end of the `wait` period,\n // hence a customized callback.\n _forwardPristineError: function(model, collection, options) {\n // Prevent double forward if the model was already in the\n // collection before the call to `create`.\n if (this.has(model)) return;\n this._onModelEvent('error', model, collection, options);\n }\n });\n\n // Defining an @@iterator method implements JavaScript's Iterable protocol.\n // In modern ES2015 browsers, this value is found at Symbol.iterator.\n /* global Symbol */\n var $$iterator = typeof Symbol === 'function' && Symbol.iterator;\n if ($$iterator) {\n Collection.prototype[$$iterator] = Collection.prototype.values;\n }\n\n // CollectionIterator\n // ------------------\n\n // A CollectionIterator implements JavaScript's Iterator protocol, allowing the\n // use of `for of` loops in modern browsers and interoperation between\n // Backbone.Collection and other JavaScript functions and third-party libraries\n // which can operate on Iterables.\n var CollectionIterator = function(collection, kind) {\n this._collection = collection;\n this._kind = kind;\n this._index = 0;\n };\n\n // This \"enum\" defines the three possible kinds of values which can be emitted\n // by a CollectionIterator that correspond to the values(), keys() and entries()\n // methods on Collection, respectively.\n var ITERATOR_VALUES = 1;\n var ITERATOR_KEYS = 2;\n var ITERATOR_KEYSVALUES = 3;\n\n // All Iterators should themselves be Iterable.\n if ($$iterator) {\n CollectionIterator.prototype[$$iterator] = function() {\n return this;\n };\n }\n\n CollectionIterator.prototype.next = function() {\n if (this._collection) {\n\n // Only continue iterating if the iterated collection is long enough.\n if (this._index < this._collection.length) {\n var model = this._collection.at(this._index);\n this._index++;\n\n // Construct a value depending on what kind of values should be iterated.\n var value;\n if (this._kind === ITERATOR_VALUES) {\n value = model;\n } else {\n var id = this._collection.modelId(model.attributes, model.idAttribute);\n if (this._kind === ITERATOR_KEYS) {\n value = id;\n } else { // ITERATOR_KEYSVALUES\n value = [id, model];\n }\n }\n return {value: value, done: false};\n }\n\n // Once exhausted, remove the reference to the collection so future\n // calls to the next method always return done.\n this._collection = void 0;\n }\n\n return {value: void 0, done: true};\n };\n\n // Backbone.View\n // -------------\n\n // Backbone Views are almost more convention than they are actual code. A View\n // is simply a JavaScript object that represents a logical chunk of UI in the\n // DOM. This might be a single item, an entire list, a sidebar or panel, or\n // even the surrounding frame which wraps your whole app. Defining a chunk of\n // UI as a **View** allows you to define your DOM events declaratively, without\n // having to worry about render order ... and makes it easy for the view to\n // react to specific changes in the state of your models.\n\n // Creating a Backbone.View creates its initial element outside of the DOM,\n // if an existing element is not provided...\n var View = Backbone.View = function(options) {\n this.cid = _.uniqueId('view');\n this.preinitialize.apply(this, arguments);\n _.extend(this, _.pick(options, viewOptions));\n this._ensureElement();\n this.initialize.apply(this, arguments);\n };\n\n // Cached regex to split keys for `delegate`.\n var delegateEventSplitter = /^(\\S+)\\s*(.*)$/;\n\n // List of view options to be set as properties.\n var viewOptions = ['model', 'collection', 'el', 'id', 'attributes', 'className', 'tagName', 'events'];\n\n // Set up all inheritable **Backbone.View** properties and methods.\n _.extend(View.prototype, Events, {\n\n // The default `tagName` of a View's element is `\"div\"`.\n tagName: 'div',\n\n // jQuery delegate for element lookup, scoped to DOM elements within the\n // current view. This should be preferred to global lookups where possible.\n $: function(selector) {\n return this.$el.find(selector);\n },\n\n // preinitialize is an empty function by default. You can override it with a function\n // or object. preinitialize will run before any instantiation logic is run in the View\n preinitialize: function(){},\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // **render** is the core function that your view should override, in order\n // to populate its element (`this.el`), with the appropriate HTML. The\n // convention is for **render** to always return `this`.\n render: function() {\n return this;\n },\n\n // Remove this view by taking the element out of the DOM, and removing any\n // applicable Backbone.Events listeners.\n remove: function() {\n this._removeElement();\n this.stopListening();\n return this;\n },\n\n // Remove this view's element from the document and all event listeners\n // attached to it. Exposed for subclasses using an alternative DOM\n // manipulation API.\n _removeElement: function() {\n this.$el.remove();\n },\n\n // Change the view's element (`this.el` property) and re-delegate the\n // view's events on the new element.\n setElement: function(element) {\n this.undelegateEvents();\n this._setElement(element);\n this.delegateEvents();\n return this;\n },\n\n // Creates the `this.el` and `this.$el` references for this view using the\n // given `el`. `el` can be a CSS selector or an HTML string, a jQuery\n // context or an element. Subclasses can override this to utilize an\n // alternative DOM manipulation API and are only required to set the\n // `this.el` property.\n _setElement: function(el) {\n this.$el = el instanceof Backbone.$ ? el : Backbone.$(el);\n this.el = this.$el[0];\n },\n\n // Set callbacks, where `this.events` is a hash of\n //\n // *{\"event selector\": \"callback\"}*\n //\n // {\n // 'mousedown .title': 'edit',\n // 'click .button': 'save',\n // 'click .open': function(e) { ... }\n // }\n //\n // pairs. Callbacks will be bound to the view, with `this` set properly.\n // Uses event delegation for efficiency.\n // Omitting the selector binds the event to `this.el`.\n delegateEvents: function(events) {\n events || (events = _.result(this, 'events'));\n if (!events) return this;\n this.undelegateEvents();\n for (var key in events) {\n var method = events[key];\n if (!_.isFunction(method)) method = this[method];\n if (!method) continue;\n var match = key.match(delegateEventSplitter);\n this.delegate(match[1], match[2], method.bind(this));\n }\n return this;\n },\n\n // Add a single event listener to the view's element (or a child element\n // using `selector`). This only works for delegate-able events: not `focus`,\n // `blur`, and not `change`, `submit`, and `reset` in Internet Explorer.\n delegate: function(eventName, selector, listener) {\n this.$el.on(eventName + '.delegateEvents' + this.cid, selector, listener);\n return this;\n },\n\n // Clears all callbacks previously bound to the view by `delegateEvents`.\n // You usually don't need to use this, but may wish to if you have multiple\n // Backbone views attached to the same DOM element.\n undelegateEvents: function() {\n if (this.$el) this.$el.off('.delegateEvents' + this.cid);\n return this;\n },\n\n // A finer-grained `undelegateEvents` for removing a single delegated event.\n // `selector` and `listener` are both optional.\n undelegate: function(eventName, selector, listener) {\n this.$el.off(eventName + '.delegateEvents' + this.cid, selector, listener);\n return this;\n },\n\n // Produces a DOM element to be assigned to your view. Exposed for\n // subclasses using an alternative DOM manipulation API.\n _createElement: function(tagName) {\n return document.createElement(tagName);\n },\n\n // Ensure that the View has a DOM element to render into.\n // If `this.el` is a string, pass it through `$()`, take the first\n // matching element, and re-assign it to `el`. Otherwise, create\n // an element from the `id`, `className` and `tagName` properties.\n _ensureElement: function() {\n if (!this.el) {\n var attrs = _.extend({}, _.result(this, 'attributes'));\n if (this.id) attrs.id = _.result(this, 'id');\n if (this.className) attrs['class'] = _.result(this, 'className');\n this.setElement(this._createElement(_.result(this, 'tagName')));\n this._setAttributes(attrs);\n } else {\n this.setElement(_.result(this, 'el'));\n }\n },\n\n // Set attributes from a hash on this view's element. Exposed for\n // subclasses using an alternative DOM manipulation API.\n _setAttributes: function(attributes) {\n this.$el.attr(attributes);\n }\n\n });\n\n // Proxy Backbone class methods to Underscore functions, wrapping the model's\n // `attributes` object or collection's `models` array behind the scenes.\n //\n // collection.filter(function(model) { return model.get('age') > 10 });\n // collection.each(this.addView);\n //\n // `Function#apply` can be slow so we use the method's arg count, if we know it.\n var addMethod = function(base, length, method, attribute) {\n switch (length) {\n case 1: return function() {\n return base[method](this[attribute]);\n };\n case 2: return function(value) {\n return base[method](this[attribute], value);\n };\n case 3: return function(iteratee, context) {\n return base[method](this[attribute], cb(iteratee, this), context);\n };\n case 4: return function(iteratee, defaultVal, context) {\n return base[method](this[attribute], cb(iteratee, this), defaultVal, context);\n };\n default: return function() {\n var args = slice.call(arguments);\n args.unshift(this[attribute]);\n return base[method].apply(base, args);\n };\n }\n };\n\n var addUnderscoreMethods = function(Class, base, methods, attribute) {\n _.each(methods, function(length, method) {\n if (base[method]) Class.prototype[method] = addMethod(base, length, method, attribute);\n });\n };\n\n // Support `collection.sortBy('attr')` and `collection.findWhere({id: 1})`.\n var cb = function(iteratee, instance) {\n if (_.isFunction(iteratee)) return iteratee;\n if (_.isObject(iteratee) && !instance._isModel(iteratee)) return modelMatcher(iteratee);\n if (_.isString(iteratee)) return function(model) { return model.get(iteratee); };\n return iteratee;\n };\n var modelMatcher = function(attrs) {\n var matcher = _.matches(attrs);\n return function(model) {\n return matcher(model.attributes);\n };\n };\n\n // Underscore methods that we want to implement on the Collection.\n // 90% of the core usefulness of Backbone Collections is actually implemented\n // right here:\n var collectionMethods = {forEach: 3, each: 3, map: 3, collect: 3, reduce: 0,\n foldl: 0, inject: 0, reduceRight: 0, foldr: 0, find: 3, detect: 3, filter: 3,\n select: 3, reject: 3, every: 3, all: 3, some: 3, any: 3, include: 3, includes: 3,\n contains: 3, invoke: 0, max: 3, min: 3, toArray: 1, size: 1, first: 3,\n head: 3, take: 3, initial: 3, rest: 3, tail: 3, drop: 3, last: 3,\n without: 0, difference: 0, indexOf: 3, shuffle: 1, lastIndexOf: 3,\n isEmpty: 1, chain: 1, sample: 3, partition: 3, groupBy: 3, countBy: 3,\n sortBy: 3, indexBy: 3, findIndex: 3, findLastIndex: 3};\n\n\n // Underscore methods that we want to implement on the Model, mapped to the\n // number of arguments they take.\n var modelMethods = {keys: 1, values: 1, pairs: 1, invert: 1, pick: 0,\n omit: 0, chain: 1, isEmpty: 1};\n\n // Mix in each Underscore method as a proxy to `Collection#models`.\n\n _.each([\n [Collection, collectionMethods, 'models'],\n [Model, modelMethods, 'attributes']\n ], function(config) {\n var Base = config[0],\n methods = config[1],\n attribute = config[2];\n\n Base.mixin = function(obj) {\n var mappings = _.reduce(_.functions(obj), function(memo, name) {\n memo[name] = 0;\n return memo;\n }, {});\n addUnderscoreMethods(Base, obj, mappings, attribute);\n };\n\n addUnderscoreMethods(Base, _, methods, attribute);\n });\n\n // Backbone.sync\n // -------------\n\n // Override this function to change the manner in which Backbone persists\n // models to the server. You will be passed the type of request, and the\n // model in question. By default, makes a RESTful Ajax request\n // to the model's `url()`. Some possible customizations could be:\n //\n // * Use `setTimeout` to batch rapid-fire updates into a single request.\n // * Send up the models as XML instead of JSON.\n // * Persist models via WebSockets instead of Ajax.\n //\n // Turn on `Backbone.emulateHTTP` in order to send `PUT` and `DELETE` requests\n // as `POST`, with a `_method` parameter containing the true HTTP method,\n // as well as all requests with the body as `application/x-www-form-urlencoded`\n // instead of `application/json` with the model in a param named `model`.\n // Useful when interfacing with server-side languages like **PHP** that make\n // it difficult to read the body of `PUT` requests.\n Backbone.sync = function(method, model, options) {\n var type = methodMap[method];\n\n // Default options, unless specified.\n _.defaults(options || (options = {}), {\n emulateHTTP: Backbone.emulateHTTP,\n emulateJSON: Backbone.emulateJSON\n });\n\n // Default JSON-request options.\n var params = {type: type, dataType: 'json'};\n\n // Ensure that we have a URL.\n if (!options.url) {\n params.url = _.result(model, 'url') || urlError();\n }\n\n // Ensure that we have the appropriate request data.\n if (options.data == null && model && (method === 'create' || method === 'update' || method === 'patch')) {\n params.contentType = 'application/json';\n params.data = JSON.stringify(options.attrs || model.toJSON(options));\n }\n\n // For older servers, emulate JSON by encoding the request into an HTML-form.\n if (options.emulateJSON) {\n params.contentType = 'application/x-www-form-urlencoded';\n params.data = params.data ? {model: params.data} : {};\n }\n\n // For older servers, emulate HTTP by mimicking the HTTP method with `_method`\n // And an `X-HTTP-Method-Override` header.\n if (options.emulateHTTP && (type === 'PUT' || type === 'DELETE' || type === 'PATCH')) {\n params.type = 'POST';\n if (options.emulateJSON) params.data._method = type;\n var beforeSend = options.beforeSend;\n options.beforeSend = function(xhr) {\n xhr.setRequestHeader('X-HTTP-Method-Override', type);\n if (beforeSend) return beforeSend.apply(this, arguments);\n };\n }\n\n // Don't process data on a non-GET request.\n if (params.type !== 'GET' && !options.emulateJSON) {\n params.processData = false;\n }\n\n // Pass along `textStatus` and `errorThrown` from jQuery.\n var error = options.error;\n options.error = function(xhr, textStatus, errorThrown) {\n options.textStatus = textStatus;\n options.errorThrown = errorThrown;\n if (error) error.call(options.context, xhr, textStatus, errorThrown);\n };\n\n // Make the request, allowing the user to override any Ajax options.\n var xhr = options.xhr = Backbone.ajax(_.extend(params, options));\n model.trigger('request', model, xhr, options);\n return xhr;\n };\n\n // Map from CRUD to HTTP for our default `Backbone.sync` implementation.\n var methodMap = {\n 'create': 'POST',\n 'update': 'PUT',\n 'patch': 'PATCH',\n 'delete': 'DELETE',\n 'read': 'GET'\n };\n\n // Set the default implementation of `Backbone.ajax` to proxy through to `$`.\n // Override this if you'd like to use a different library.\n Backbone.ajax = function() {\n return Backbone.$.ajax.apply(Backbone.$, arguments);\n };\n\n // Backbone.Router\n // ---------------\n\n // Routers map faux-URLs to actions, and fire events when routes are\n // matched. Creating a new one sets its `routes` hash, if not set statically.\n var Router = Backbone.Router = function(options) {\n options || (options = {});\n this.preinitialize.apply(this, arguments);\n if (options.routes) this.routes = options.routes;\n this._bindRoutes();\n this.initialize.apply(this, arguments);\n };\n\n // Cached regular expressions for matching named param parts and splatted\n // parts of route strings.\n var optionalParam = /\\((.*?)\\)/g;\n var namedParam = /(\\(\\?)?:\\w+/g;\n var splatParam = /\\*\\w+/g;\n var escapeRegExp = /[\\-{}\\[\\]+?.,\\\\\\^$|#\\s]/g;\n\n // Set up all inheritable **Backbone.Router** properties and methods.\n _.extend(Router.prototype, Events, {\n\n // preinitialize is an empty function by default. You can override it with a function\n // or object. preinitialize will run before any instantiation logic is run in the Router.\n preinitialize: function(){},\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // Manually bind a single named route to a callback. For example:\n //\n // this.route('search/:query/p:num', 'search', function(query, num) {\n // ...\n // });\n //\n route: function(route, name, callback) {\n if (!_.isRegExp(route)) route = this._routeToRegExp(route);\n if (_.isFunction(name)) {\n callback = name;\n name = '';\n }\n if (!callback) callback = this[name];\n var router = this;\n Backbone.history.route(route, function(fragment) {\n var args = router._extractParameters(route, fragment);\n if (router.execute(callback, args, name) !== false) {\n router.trigger.apply(router, ['route:' + name].concat(args));\n router.trigger('route', name, args);\n Backbone.history.trigger('route', router, name, args);\n }\n });\n return this;\n },\n\n // Execute a route handler with the provided parameters. This is an\n // excellent place to do pre-route setup or post-route cleanup.\n execute: function(callback, args, name) {\n if (callback) callback.apply(this, args);\n },\n\n // Simple proxy to `Backbone.history` to save a fragment into the history.\n navigate: function(fragment, options) {\n Backbone.history.navigate(fragment, options);\n return this;\n },\n\n // Bind all defined routes to `Backbone.history`. We have to reverse the\n // order of the routes here to support behavior where the most general\n // routes can be defined at the bottom of the route map.\n _bindRoutes: function() {\n if (!this.routes) return;\n this.routes = _.result(this, 'routes');\n var route, routes = _.keys(this.routes);\n while ((route = routes.pop()) != null) {\n this.route(route, this.routes[route]);\n }\n },\n\n // Convert a route string into a regular expression, suitable for matching\n // against the current location hash.\n _routeToRegExp: function(route) {\n route = route.replace(escapeRegExp, '\\\\$&')\n .replace(optionalParam, '(?:$1)?')\n .replace(namedParam, function(match, optional) {\n return optional ? match : '([^/?]+)';\n })\n .replace(splatParam, '([^?]*?)');\n return new RegExp('^' + route + '(?:\\\\?([\\\\s\\\\S]*))?$');\n },\n\n // Given a route, and a URL fragment that it matches, return the array of\n // extracted decoded parameters. Empty or unmatched parameters will be\n // treated as `null` to normalize cross-browser behavior.\n _extractParameters: function(route, fragment) {\n var params = route.exec(fragment).slice(1);\n return _.map(params, function(param, i) {\n // Don't decode the search params.\n if (i === params.length - 1) return param || null;\n return param ? decodeURIComponent(param) : null;\n });\n }\n\n });\n\n // Backbone.History\n // ----------------\n\n // Handles cross-browser history management, based on either\n // [pushState](http://diveintohtml5.info/history.html) and real URLs, or\n // [onhashchange](https://developer.mozilla.org/en-US/docs/DOM/window.onhashchange)\n // and URL fragments. If the browser supports neither (old IE, natch),\n // falls back to polling.\n var History = Backbone.History = function() {\n this.handlers = [];\n this.checkUrl = this.checkUrl.bind(this);\n\n // Ensure that `History` can be used outside of the browser.\n if (typeof window !== 'undefined') {\n this.location = window.location;\n this.history = window.history;\n }\n };\n\n // Cached regex for stripping a leading hash/slash and trailing space.\n var routeStripper = /^[#\\/]|\\s+$/g;\n\n // Cached regex for stripping leading and trailing slashes.\n var rootStripper = /^\\/+|\\/+$/g;\n\n // Cached regex for stripping urls of hash.\n var pathStripper = /#.*$/;\n\n // Has the history handling already been started?\n History.started = false;\n\n // Set up all inheritable **Backbone.History** properties and methods.\n _.extend(History.prototype, Events, {\n\n // The default interval to poll for hash changes, if necessary, is\n // twenty times a second.\n interval: 50,\n\n // Are we at the app root?\n atRoot: function() {\n var path = this.location.pathname.replace(/[^\\/]$/, '$&/');\n return path === this.root && !this.getSearch();\n },\n\n // Does the pathname match the root?\n matchRoot: function() {\n var path = this.decodeFragment(this.location.pathname);\n var rootPath = path.slice(0, this.root.length - 1) + '/';\n return rootPath === this.root;\n },\n\n // Unicode characters in `location.pathname` are percent encoded so they're\n // decoded for comparison. `%25` should not be decoded since it may be part\n // of an encoded parameter.\n decodeFragment: function(fragment) {\n return decodeURI(fragment.replace(/%25/g, '%2525'));\n },\n\n // In IE6, the hash fragment and search params are incorrect if the\n // fragment contains `?`.\n getSearch: function() {\n var match = this.location.href.replace(/#.*/, '').match(/\\?.+/);\n return match ? match[0] : '';\n },\n\n // Gets the true hash value. Cannot use location.hash directly due to bug\n // in Firefox where location.hash will always be decoded.\n getHash: function(window) {\n var match = (window || this).location.href.match(/#(.*)$/);\n return match ? match[1] : '';\n },\n\n // Get the pathname and search params, without the root.\n getPath: function() {\n var path = this.decodeFragment(\n this.location.pathname + this.getSearch()\n ).slice(this.root.length - 1);\n return path.charAt(0) === '/' ? path.slice(1) : path;\n },\n\n // Get the cross-browser normalized URL fragment from the path or hash.\n getFragment: function(fragment) {\n if (fragment == null) {\n if (this._usePushState || !this._wantsHashChange) {\n fragment = this.getPath();\n } else {\n fragment = this.getHash();\n }\n }\n return fragment.replace(routeStripper, '');\n },\n\n // Start the hash change handling, returning `true` if the current URL matches\n // an existing route, and `false` otherwise.\n start: function(options) {\n if (History.started) throw new Error('Backbone.history has already been started');\n History.started = true;\n\n // Figure out the initial configuration. Do we need an iframe?\n // Is pushState desired ... is it available?\n this.options = _.extend({root: '/'}, this.options, options);\n this.root = this.options.root;\n this._trailingSlash = this.options.trailingSlash;\n this._wantsHashChange = this.options.hashChange !== false;\n this._hasHashChange = 'onhashchange' in window && (document.documentMode === void 0 || document.documentMode > 7);\n this._useHashChange = this._wantsHashChange && this._hasHashChange;\n this._wantsPushState = !!this.options.pushState;\n this._hasPushState = !!(this.history && this.history.pushState);\n this._usePushState = this._wantsPushState && this._hasPushState;\n this.fragment = this.getFragment();\n\n // Normalize root to always include a leading and trailing slash.\n this.root = ('/' + this.root + '/').replace(rootStripper, '/');\n\n // Transition from hashChange to pushState or vice versa if both are\n // requested.\n if (this._wantsHashChange && this._wantsPushState) {\n\n // If we've started off with a route from a `pushState`-enabled\n // browser, but we're currently in a browser that doesn't support it...\n if (!this._hasPushState && !this.atRoot()) {\n var rootPath = this.root.slice(0, -1) || '/';\n this.location.replace(rootPath + '#' + this.getPath());\n // Return immediately as browser will do redirect to new url\n return true;\n\n // Or if we've started out with a hash-based route, but we're currently\n // in a browser where it could be `pushState`-based instead...\n } else if (this._hasPushState && this.atRoot()) {\n this.navigate(this.getHash(), {replace: true});\n }\n\n }\n\n // Proxy an iframe to handle location events if the browser doesn't\n // support the `hashchange` event, HTML5 history, or the user wants\n // `hashChange` but not `pushState`.\n if (!this._hasHashChange && this._wantsHashChange && !this._usePushState) {\n this.iframe = document.createElement('iframe');\n this.iframe.src = 'javascript:0';\n this.iframe.style.display = 'none';\n this.iframe.tabIndex = -1;\n var body = document.body;\n // Using `appendChild` will throw on IE < 9 if the document is not ready.\n var iWindow = body.insertBefore(this.iframe, body.firstChild).contentWindow;\n iWindow.document.open();\n iWindow.document.close();\n iWindow.location.hash = '#' + this.fragment;\n }\n\n // Add a cross-platform `addEventListener` shim for older browsers.\n var addEventListener = window.addEventListener || function(eventName, listener) {\n return attachEvent('on' + eventName, listener);\n };\n\n // Depending on whether we're using pushState or hashes, and whether\n // 'onhashchange' is supported, determine how we check the URL state.\n if (this._usePushState) {\n addEventListener('popstate', this.checkUrl, false);\n } else if (this._useHashChange && !this.iframe) {\n addEventListener('hashchange', this.checkUrl, false);\n } else if (this._wantsHashChange) {\n this._checkUrlInterval = setInterval(this.checkUrl, this.interval);\n }\n\n if (!this.options.silent) return this.loadUrl();\n },\n\n // Disable Backbone.history, perhaps temporarily. Not useful in a real app,\n // but possibly useful for unit testing Routers.\n stop: function() {\n // Add a cross-platform `removeEventListener` shim for older browsers.\n var removeEventListener = window.removeEventListener || function(eventName, listener) {\n return detachEvent('on' + eventName, listener);\n };\n\n // Remove window listeners.\n if (this._usePushState) {\n removeEventListener('popstate', this.checkUrl, false);\n } else if (this._useHashChange && !this.iframe) {\n removeEventListener('hashchange', this.checkUrl, false);\n }\n\n // Clean up the iframe if necessary.\n if (this.iframe) {\n document.body.removeChild(this.iframe);\n this.iframe = null;\n }\n\n // Some environments will throw when clearing an undefined interval.\n if (this._checkUrlInterval) clearInterval(this._checkUrlInterval);\n History.started = false;\n },\n\n // Add a route to be tested when the fragment changes. Routes added later\n // may override previous routes.\n route: function(route, callback) {\n this.handlers.unshift({route: route, callback: callback});\n },\n\n // Checks the current URL to see if it has changed, and if it has,\n // calls `loadUrl`, normalizing across the hidden iframe.\n checkUrl: function(e) {\n var current = this.getFragment();\n\n // If the user pressed the back button, the iframe's hash will have\n // changed and we should use that for comparison.\n if (current === this.fragment && this.iframe) {\n current = this.getHash(this.iframe.contentWindow);\n }\n\n if (current === this.fragment) return false;\n if (this.iframe) this.navigate(current);\n this.loadUrl();\n },\n\n // Attempt to load the current URL fragment. If a route succeeds with a\n // match, returns `true`. If no defined routes matches the fragment,\n // returns `false`.\n loadUrl: function(fragment) {\n // If the root doesn't match, no routes can match either.\n if (!this.matchRoot()) return false;\n fragment = this.fragment = this.getFragment(fragment);\n return _.some(this.handlers, function(handler) {\n if (handler.route.test(fragment)) {\n handler.callback(fragment);\n return true;\n }\n });\n },\n\n // Save a fragment into the hash history, or replace the URL state if the\n // 'replace' option is passed. You are responsible for properly URL-encoding\n // the fragment in advance.\n //\n // The options object can contain `trigger: true` if you wish to have the\n // route callback be fired (not usually desirable), or `replace: true`, if\n // you wish to modify the current URL without adding an entry to the history.\n navigate: function(fragment, options) {\n if (!History.started) return false;\n if (!options || options === true) options = {trigger: !!options};\n\n // Normalize the fragment.\n fragment = this.getFragment(fragment || '');\n\n // Strip trailing slash on the root unless _trailingSlash is true\n var rootPath = this.root;\n if (!this._trailingSlash && (fragment === '' || fragment.charAt(0) === '?')) {\n rootPath = rootPath.slice(0, -1) || '/';\n }\n var url = rootPath + fragment;\n\n // Strip the fragment of the query and hash for matching.\n fragment = fragment.replace(pathStripper, '');\n\n // Decode for matching.\n var decodedFragment = this.decodeFragment(fragment);\n\n if (this.fragment === decodedFragment) return;\n this.fragment = decodedFragment;\n\n // If pushState is available, we use it to set the fragment as a real URL.\n if (this._usePushState) {\n this.history[options.replace ? 'replaceState' : 'pushState']({}, document.title, url);\n\n // If hash changes haven't been explicitly disabled, update the hash\n // fragment to store history.\n } else if (this._wantsHashChange) {\n this._updateHash(this.location, fragment, options.replace);\n if (this.iframe && fragment !== this.getHash(this.iframe.contentWindow)) {\n var iWindow = this.iframe.contentWindow;\n\n // Opening and closing the iframe tricks IE7 and earlier to push a\n // history entry on hash-tag change. When replace is true, we don't\n // want this.\n if (!options.replace) {\n iWindow.document.open();\n iWindow.document.close();\n }\n\n this._updateHash(iWindow.location, fragment, options.replace);\n }\n\n // If you've told us that you explicitly don't want fallback hashchange-\n // based history, then `navigate` becomes a page refresh.\n } else {\n return this.location.assign(url);\n }\n if (options.trigger) return this.loadUrl(fragment);\n },\n\n // Update the hash location, either replacing the current entry, or adding\n // a new one to the browser history.\n _updateHash: function(location, fragment, replace) {\n if (replace) {\n var href = location.href.replace(/(javascript:|#).*$/, '');\n location.replace(href + '#' + fragment);\n } else {\n // Some browsers require that `hash` contains a leading #.\n location.hash = '#' + fragment;\n }\n }\n\n });\n\n // Create the default Backbone.history.\n Backbone.history = new History;\n\n // Helpers\n // -------\n\n // Helper function to correctly set up the prototype chain for subclasses.\n // Similar to `goog.inherits`, but uses a hash of prototype properties and\n // class properties to be extended.\n var extend = function(protoProps, staticProps) {\n var parent = this;\n var child;\n\n // The constructor function for the new subclass is either defined by you\n // (the \"constructor\" property in your `extend` definition), or defaulted\n // by us to simply call the parent constructor.\n if (protoProps && _.has(protoProps, 'constructor')) {\n child = protoProps.constructor;\n } else {\n child = function(){ return parent.apply(this, arguments); };\n }\n\n // Add static properties to the constructor function, if supplied.\n _.extend(child, parent, staticProps);\n\n // Set the prototype chain to inherit from `parent`, without calling\n // `parent`'s constructor function and add the prototype properties.\n child.prototype = _.create(parent.prototype, protoProps);\n child.prototype.constructor = child;\n\n // Set a convenience property in case the parent's prototype is needed\n // later.\n child.__super__ = parent.prototype;\n\n return child;\n };\n\n // Set up inheritance for the model, collection, router, view and history.\n Model.extend = Collection.extend = Router.extend = View.extend = History.extend = extend;\n\n // Throw an error when a URL is needed, and none is supplied.\n var urlError = function() {\n throw new Error('A \"url\" property or function must be specified');\n };\n\n // Wrap an optional error callback with a fallback error event.\n var wrapError = function(model, options) {\n var error = options.error;\n options.error = function(resp) {\n if (error) error.call(options.context, model, resp, options);\n model.trigger('error', model, resp, options);\n };\n };\n\n return Backbone;\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, \".button-vue[data-v-3fa8511b]{margin-top:.5rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/login/LoginButton.vue\"],\"names\":[],\"mappings\":\"AACA,6BACC,gBAAA\",\"sourcesContent\":[\"\\n.button-vue {\\n\\tmargin-top: .5rem;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".login-form[data-v-0fbfcc31]{text-align:left;font-size:1rem}.login-form__fieldset[data-v-0fbfcc31]{width:100%;display:flex;flex-direction:column;gap:.5rem}.login-form__headline[data-v-0fbfcc31]{text-align:center;overflow-wrap:anywhere}\", \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/login/LoginForm.vue\"],\"names\":[],\"mappings\":\"AACA,6BACC,eAAA,CACA,cAAA,CAEA,uCACC,UAAA,CACA,YAAA,CACA,qBAAA,CACA,SAAA,CAGD,uCACC,iBAAA,CACA,sBAAA\",\"sourcesContent\":[\"\\n.login-form {\\n\\ttext-align: left;\\n\\tfont-size: 1rem;\\n\\n\\t&__fieldset {\\n\\t\\twidth: 100%;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tgap: .5rem;\\n\\t}\\n\\n\\t&__headline {\\n\\t\\ttext-align: center;\\n\\t\\toverflow-wrap: anywhere;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"fieldset[data-v-3ea2fa78]{display:flex;flex-direction:column;gap:.5rem}fieldset[data-v-3ea2fa78] label{text-align:initial}.update[data-v-3ea2fa78]{margin:0 auto}\", \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/login/PasswordLessLoginForm.vue\"],\"names\":[],\"mappings\":\"AACA,0BACC,YAAA,CACA,qBAAA,CACA,SAAA,CAEA,gCACC,kBAAA,CAIF,yBACC,aAAA\",\"sourcesContent\":[\"\\nfieldset {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: 0.5rem;\\n\\n\\t:deep(label) {\\n\\t\\ttext-align: initial;\\n\\t}\\n}\\n\\n.update {\\n\\tmargin: 0 auto;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".login-form[data-v-179b3658]{text-align:left;font-size:1rem}.login-form__fieldset[data-v-179b3658]{width:100%;display:flex;flex-direction:column;gap:.5rem}.login-form__link[data-v-179b3658]{display:block;font-weight:normal !important;padding-bottom:1rem;cursor:pointer;font-size:var(--default-font-size);text-align:center;padding:.5rem 1rem 1rem 1rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/login/ResetPassword.vue\"],\"names\":[],\"mappings\":\"AACA,6BACC,eAAA,CACA,cAAA,CAEA,uCACC,UAAA,CACA,YAAA,CACA,qBAAA,CACA,SAAA,CAGD,mCACC,aAAA,CACA,6BAAA,CACA,mBAAA,CACA,cAAA,CACA,kCAAA,CACA,iBAAA,CACA,4BAAA\",\"sourcesContent\":[\"\\n.login-form {\\n\\ttext-align: left;\\n\\tfont-size: 1rem;\\n\\n\\t&__fieldset {\\n\\t\\twidth: 100%;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tgap: .5rem;\\n\\t}\\n\\n\\t&__link {\\n\\t\\tdisplay: block;\\n\\t\\tfont-weight: normal !important;\\n\\t\\tpadding-bottom: 1rem;\\n\\t\\tcursor: pointer;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\ttext-align: center;\\n\\t\\tpadding: .5rem 1rem 1rem 1rem;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"body{font-size:var(--default-font-size)}.login-box{width:320px;box-sizing:border-box}.login-box__link{display:block;padding:1rem;font-size:var(--default-font-size);text-align:center;font-weight:normal !important}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter,.fade-leave-to{opacity:0}.alternative-logins{display:flex;flex-direction:column;gap:.75rem}.alternative-logins .button-vue{box-sizing:border-box}.login-passwordless .button-vue{margin-top:.5rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/views/Login.vue\"],\"names\":[],\"mappings\":\"AACA,KACC,kCAAA,CAGD,WAEC,WAAA,CACA,qBAAA,CAEA,iBACC,aAAA,CACA,YAAA,CACA,kCAAA,CACA,iBAAA,CACA,6BAAA,CAIF,sCACC,sBAAA,CAED,2BACC,SAAA,CAGD,oBACC,YAAA,CACA,qBAAA,CACA,UAAA,CAEA,gCACC,qBAAA,CAKD,gCACC,gBAAA\",\"sourcesContent\":[\"\\nbody {\\n\\tfont-size: var(--default-font-size);\\n}\\n\\n.login-box {\\n\\t// Same size as dashboard panels\\n\\twidth: 320px;\\n\\tbox-sizing: border-box;\\n\\n\\t&__link {\\n\\t\\tdisplay: block;\\n\\t\\tpadding: 1rem;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\ttext-align: center;\\n\\t\\tfont-weight: normal !important;\\n\\t}\\n}\\n\\n.fade-enter-active, .fade-leave-active {\\n\\ttransition: opacity .3s;\\n}\\n.fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ {\\n\\topacity: 0;\\n}\\n\\n.alternative-logins {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: 0.75rem;\\n\\n\\t.button-vue {\\n\\t\\tbox-sizing: border-box;\\n\\t}\\n}\\n\\n.login-passwordless {\\n\\t.button-vue {\\n\\t\\tmargin-top: 0.5rem;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\nfieldset[data-v-b9d4933a] {\\n\\ttext-align: center;\\n}\\ninput[type=submit][data-v-b9d4933a] {\\n\\tmargin-top: 20px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/login/UpdatePassword.vue\"],\"names\":[],\"mappings\":\";AA4IA;CACA,kBAAA;AACA;AAEA;CACA,gBAAA;AACA\",\"sourcesContent\":[\"<!--\\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\\n -\\n - @author Julius Härtl <jus@bitgrid.net>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n -->\\n\\n<template>\\n\\t<form @submit.prevent=\\\"submit\\\">\\n\\t\\t<fieldset>\\n\\t\\t\\t<p>\\n\\t\\t\\t\\t<label for=\\\"password\\\" class=\\\"infield\\\">{{ t('core', 'New password') }}</label>\\n\\t\\t\\t\\t<input id=\\\"password\\\"\\n\\t\\t\\t\\t\\tv-model=\\\"password\\\"\\n\\t\\t\\t\\t\\ttype=\\\"password\\\"\\n\\t\\t\\t\\t\\tname=\\\"password\\\"\\n\\t\\t\\t\\t\\tautocomplete=\\\"new-password\\\"\\n\\t\\t\\t\\t\\tautocapitalize=\\\"none\\\"\\n\\t\\t\\t\\t\\tspellcheck=\\\"false\\\"\\n\\t\\t\\t\\t\\trequired\\n\\t\\t\\t\\t\\t:placeholder=\\\"t('core', 'New password')\\\">\\n\\t\\t\\t</p>\\n\\n\\t\\t\\t<div v-if=\\\"encrypted\\\" class=\\\"update\\\">\\n\\t\\t\\t\\t<p>\\n\\t\\t\\t\\t\\t{{ t('core', 'Your files are encrypted. There will be no way to get your data back after your password is reset. If you are not sure what to do, please contact your administrator before you continue. Do you really want to continue?') }}\\n\\t\\t\\t\\t</p>\\n\\t\\t\\t\\t<input id=\\\"encrypted-continue\\\"\\n\\t\\t\\t\\t\\tv-model=\\\"proceed\\\"\\n\\t\\t\\t\\t\\ttype=\\\"checkbox\\\"\\n\\t\\t\\t\\t\\tclass=\\\"checkbox\\\">\\n\\t\\t\\t\\t<label for=\\\"encrypted-continue\\\">\\n\\t\\t\\t\\t\\t{{ t('core', 'I know what I\\\\'m doing') }}\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</div>\\n\\n\\t\\t\\t<LoginButton :loading=\\\"loading\\\"\\n\\t\\t\\t\\t:value=\\\"t('core', 'Reset password')\\\"\\n\\t\\t\\t\\t:value-loading=\\\"t('core', 'Resetting password')\\\" />\\n\\n\\t\\t\\t<p v-if=\\\"error && message\\\" :class=\\\"{warning: error}\\\">\\n\\t\\t\\t\\t{{ message }}\\n\\t\\t\\t</p>\\n\\t\\t</fieldset>\\n\\t</form>\\n</template>\\n\\n<script>\\nimport Axios from '@nextcloud/axios'\\nimport LoginButton from './LoginButton.vue'\\n\\nexport default {\\n\\tname: 'UpdatePassword',\\n\\tcomponents: {\\n\\t\\tLoginButton,\\n\\t},\\n\\tprops: {\\n\\t\\tusername: {\\n\\t\\t\\ttype: String,\\n\\t\\t\\trequired: true,\\n\\t\\t},\\n\\t\\tresetPasswordTarget: {\\n\\t\\t\\ttype: String,\\n\\t\\t\\trequired: true,\\n\\t\\t},\\n\\t},\\n\\tdata() {\\n\\t\\treturn {\\n\\t\\t\\terror: false,\\n\\t\\t\\tloading: false,\\n\\t\\t\\tmessage: undefined,\\n\\t\\t\\tuser: this.username,\\n\\t\\t\\tpassword: '',\\n\\t\\t\\tencrypted: false,\\n\\t\\t\\tproceed: false,\\n\\t\\t}\\n\\t},\\n\\twatch: {\\n\\t\\tusername(value) {\\n\\t\\t\\tthis.user = value\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\tasync submit() {\\n\\t\\t\\tthis.loading = true\\n\\t\\t\\tthis.error = false\\n\\t\\t\\tthis.message = ''\\n\\n\\t\\t\\ttry {\\n\\t\\t\\t\\tconst { data } = await Axios.post(this.resetPasswordTarget, {\\n\\t\\t\\t\\t\\tpassword: this.password,\\n\\t\\t\\t\\t\\tproceed: this.proceed,\\n\\t\\t\\t\\t})\\n\\t\\t\\t\\tif (data && data.status === 'success') {\\n\\t\\t\\t\\t\\tthis.message = 'send-success'\\n\\t\\t\\t\\t\\tthis.$emit('update:username', this.user)\\n\\t\\t\\t\\t\\tthis.$emit('done')\\n\\t\\t\\t\\t} else if (data && data.encryption) {\\n\\t\\t\\t\\t\\tthis.encrypted = true\\n\\t\\t\\t\\t} else if (data && data.msg) {\\n\\t\\t\\t\\t\\tthrow new Error(data.msg)\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tthrow new Error()\\n\\t\\t\\t\\t}\\n\\t\\t\\t} catch (e) {\\n\\t\\t\\t\\tthis.error = true\\n\\t\\t\\t\\tthis.message = e.message ? e.message : t('core', 'Password cannot be changed. Please contact your administrator.')\\n\\t\\t\\t} finally {\\n\\t\\t\\t\\tthis.loading = false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n</script>\\n\\n<style scoped>\\n\\tfieldset {\\n\\t\\ttext-align: center;\\n\\t}\\n\\n\\tinput[type=submit] {\\n\\t\\tmargin-top: 20px;\\n\\t}\\n</style>\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/*\n * vim: expandtab shiftwidth=4 softtabstop=4\n */\n\n/* global dav */\nif (typeof dav === 'undefined') { dav = {}; };\n\ndav._XML_CHAR_MAP = {\n '<': '<',\n '>': '>',\n '&': '&',\n '\"': '"',\n \"'\": '''\n};\n\ndav._escapeXml = function(s) {\n return s.replace(/[<>&\"']/g, function (ch) {\n return dav._XML_CHAR_MAP[ch];\n });\n};\n\ndav.Client = function(options) {\n var i;\n for(i in options) {\n this[i] = options[i];\n }\n\n};\n\ndav.Client.prototype = {\n\n baseUrl : null,\n\n userName : null,\n\n password : null,\n\n\n xmlNamespaces : {\n 'DAV:' : 'd'\n },\n\n /**\n * Generates a propFind request.\n *\n * @param {string} url Url to do the propfind request on\n * @param {Array} properties List of properties to retrieve.\n * @param {string} depth \"0\", \"1\" or \"infinity\"\n * @param {Object} [headers] headers\n * @return {Promise}\n */\n propFind : function(url, properties, depth, headers) {\n\n if(typeof depth === \"undefined\") {\n depth = '0';\n }\n\n // depth header must be a string, in case a number was passed in\n depth = '' + depth;\n\n headers = headers || {};\n\n headers['Depth'] = depth;\n headers['Content-Type'] = 'application/xml; charset=utf-8';\n\n var body =\n '<?xml version=\"1.0\"?>\\n' +\n '<d:propfind ';\n var namespace;\n for (namespace in this.xmlNamespaces) {\n body += ' xmlns:' + this.xmlNamespaces[namespace] + '=\"' + namespace + '\"';\n }\n body += '>\\n' +\n ' <d:prop>\\n';\n\n for(var ii in properties) {\n if (!properties.hasOwnProperty(ii)) {\n continue;\n }\n\n var property = this.parseClarkNotation(properties[ii]);\n if (this.xmlNamespaces[property.namespace]) {\n body+=' <' + this.xmlNamespaces[property.namespace] + ':' + property.name + ' />\\n';\n } else {\n body+=' <x:' + property.name + ' xmlns:x=\"' + property.namespace + '\" />\\n';\n }\n\n }\n body+=' </d:prop>\\n';\n body+='</d:propfind>';\n\n return this.request('PROPFIND', url, headers, body).then(\n function(result) {\n\n if (depth === '0') {\n return {\n status: result.status,\n body: result.body[0],\n xhr: result.xhr\n };\n } else {\n return {\n status: result.status,\n body: result.body,\n xhr: result.xhr\n };\n }\n\n }.bind(this)\n );\n\n },\n\n /**\n * Renders a \"d:set\" block for the given properties.\n *\n * @param {Object.<String,String>} properties\n * @return {String} XML \"<d:set>\" block\n */\n _renderPropSet: function(properties) {\n var body = ' <d:set>\\n' +\n ' <d:prop>\\n';\n\n for(var ii in properties) {\n if (!properties.hasOwnProperty(ii)) {\n continue;\n }\n\n var property = this.parseClarkNotation(ii);\n var propName;\n var propValue = properties[ii];\n if (this.xmlNamespaces[property.namespace]) {\n propName = this.xmlNamespaces[property.namespace] + ':' + property.name;\n } else {\n propName = 'x:' + property.name + ' xmlns:x=\"' + property.namespace + '\"';\n }\n\n // FIXME: hard-coded for now until we allow properties to\n // specify whether to be escaped or not\n if (propName !== 'd:resourcetype') {\n propValue = dav._escapeXml(propValue);\n }\n body += ' <' + propName + '>' + propValue + '</' + propName + '>\\n';\n }\n body +=' </d:prop>\\n';\n body +=' </d:set>\\n';\n return body;\n },\n\n /**\n * Generates a propPatch request.\n *\n * @param {string} url Url to do the proppatch request on\n * @param {Object.<String,String>} properties List of properties to store.\n * @param {Object} [headers] headers\n * @return {Promise}\n */\n propPatch : function(url, properties, headers) {\n headers = headers || {};\n\n headers['Content-Type'] = 'application/xml; charset=utf-8';\n\n var body =\n '<?xml version=\"1.0\"?>\\n' +\n '<d:propertyupdate ';\n var namespace;\n for (namespace in this.xmlNamespaces) {\n body += ' xmlns:' + this.xmlNamespaces[namespace] + '=\"' + namespace + '\"';\n }\n body += '>\\n' + this._renderPropSet(properties);\n body += '</d:propertyupdate>';\n\n return this.request('PROPPATCH', url, headers, body).then(\n function(result) {\n return {\n status: result.status,\n body: result.body,\n xhr: result.xhr\n };\n }.bind(this)\n );\n\n },\n\n /**\n * Generates a MKCOL request.\n * If attributes are given, it will use an extended MKCOL request.\n *\n * @param {string} url Url to do the proppatch request on\n * @param {Object.<String,String>} [properties] list of properties to store.\n * @param {Object} [headers] headers\n * @return {Promise}\n */\n mkcol : function(url, properties, headers) {\n var body = '';\n headers = headers || {};\n headers['Content-Type'] = 'application/xml; charset=utf-8';\n\n if (properties) {\n body =\n '<?xml version=\"1.0\"?>\\n' +\n '<d:mkcol';\n var namespace;\n for (namespace in this.xmlNamespaces) {\n body += ' xmlns:' + this.xmlNamespaces[namespace] + '=\"' + namespace + '\"';\n }\n body += '>\\n' + this._renderPropSet(properties);\n body +='</d:mkcol>';\n }\n\n return this.request('MKCOL', url, headers, body).then(\n function(result) {\n return {\n status: result.status,\n body: result.body,\n xhr: result.xhr\n };\n }.bind(this)\n );\n\n },\n\n /**\n * Performs a HTTP request, and returns a Promise\n *\n * @param {string} method HTTP method\n * @param {string} url Relative or absolute url\n * @param {Object} headers HTTP headers as an object.\n * @param {string} body HTTP request body.\n * @param {string} responseType HTTP request response type.\n * @param {Object} options\n * @param {Function} options.onProgress progress callback\n * @return {Promise}\n */\n request : function(method, url, headers, body, responseType, options) {\n\n var self = this;\n var xhr = this.xhrProvider();\n headers = headers || {};\n responseType = responseType || \"\";\n \n if (this.userName) {\n headers['Authorization'] = 'Basic ' + btoa(this.userName + ':' + this.password);\n // xhr.open(method, this.resolveUrl(url), true, this.userName, this.password);\n }\n xhr.open(method, this.resolveUrl(url), true);\n var ii;\n for(ii in headers) {\n xhr.setRequestHeader(ii, headers[ii]);\n }\n xhr.responseType = responseType;\n\n if (options && typeof(options.onProgress) === 'function') {\n if (method === 'PUT' || method === 'POST') {\n xhr.upload.addEventListener('progress', function (e) {\n options.onProgress(e)\n }, false)\n }\n else {\n xhr.addEventListener('progress', function (e) {\n options.onProgress(e)\n }, false)\n }\n }\n\n // Work around for edge\n if (body === undefined) {\n xhr.send();\n } else {\n xhr.send(body);\n }\n\n return new Promise(function(fulfill, reject) {\n\n xhr.onreadystatechange = function() {\n\n if (xhr.readyState !== 4) {\n return;\n }\n\n var resultBody = xhr.response;\n if (xhr.status === 207) {\n resultBody = self.parseMultiStatus(xhr.response);\n }\n\n fulfill({\n body: resultBody,\n status: xhr.status,\n xhr: xhr\n });\n\n };\n\n xhr.ontimeout = function() {\n\n reject(new Error('Timeout exceeded'));\n\n };\n\n });\n\n },\n\n /**\n * Returns an XMLHttpRequest object.\n *\n * This is in its own method, so it can be easily overridden.\n *\n * @return {XMLHttpRequest}\n */\n xhrProvider : function() {\n\n return new XMLHttpRequest();\n\n },\n\n /**\n * Parses a property node.\n *\n * Either returns a string if the node only contains text, or returns an\n * array of non-text subnodes.\n *\n * @param {Object} propNode node to parse\n * @return {string|Array} text content as string or array of subnodes, excluding text nodes\n */\n _parsePropNode: function(propNode) {\n var content = null;\n if (propNode.childNodes && propNode.childNodes.length > 0) {\n var subNodes = [];\n // filter out text nodes\n for (var j = 0; j < propNode.childNodes.length; j++) {\n var node = propNode.childNodes[j];\n if (node.nodeType === 1) {\n subNodes.push(node);\n }\n }\n if (subNodes.length) {\n content = subNodes;\n }\n }\n\n return content || propNode.textContent || propNode.text || '';\n },\n\n /**\n * Parses a multi-status response body.\n *\n * @param {string} xmlBody\n * @param {Array}\n */\n parseMultiStatus : function(xmlBody) {\n\n var parser = new DOMParser();\n var doc = parser.parseFromString(xmlBody, \"application/xml\");\n\n var resolver = function(foo) {\n var ii;\n for(ii in this.xmlNamespaces) {\n if (this.xmlNamespaces[ii] === foo) {\n return ii;\n }\n }\n }.bind(this);\n\n var responseIterator = doc.evaluate('/d:multistatus/d:response', doc, resolver, XPathResult.ANY_TYPE, null);\n\n var result = [];\n var responseNode = responseIterator.iterateNext();\n\n while(responseNode) {\n\n var response = {\n href : null,\n propStat : []\n };\n\n response.href = doc.evaluate('string(d:href)', responseNode, resolver, XPathResult.ANY_TYPE, null).stringValue;\n\n var propStatIterator = doc.evaluate('d:propstat', responseNode, resolver, XPathResult.ANY_TYPE, null);\n var propStatNode = propStatIterator.iterateNext();\n\n while(propStatNode) {\n var propStat = {\n status : doc.evaluate('string(d:status)', propStatNode, resolver, XPathResult.ANY_TYPE, null).stringValue,\n properties : {},\n };\n\n var propIterator = doc.evaluate('d:prop/*', propStatNode, resolver, XPathResult.ANY_TYPE, null);\n\n var propNode = propIterator.iterateNext();\n while(propNode) {\n var content = this._parsePropNode(propNode);\n propStat.properties['{' + propNode.namespaceURI + '}' + propNode.localName] = content;\n propNode = propIterator.iterateNext();\n\n }\n response.propStat.push(propStat);\n propStatNode = propStatIterator.iterateNext();\n\n\n }\n\n result.push(response);\n responseNode = responseIterator.iterateNext();\n\n }\n\n return result;\n\n },\n\n /**\n * Takes a relative url, and maps it to an absolute url, using the baseUrl\n *\n * @param {string} url\n * @return {string}\n */\n resolveUrl : function(url) {\n\n // Note: this is rudamentary.. not sure yet if it handles every case.\n if (/^https?:\\/\\//i.test(url)) {\n // absolute\n return url;\n }\n\n var baseParts = this.parseUrl(this.baseUrl);\n if (url.charAt('/')) {\n // Url starts with a slash\n return baseParts.root + url;\n }\n\n // Url does not start with a slash, we need grab the base url right up until the last slash.\n var newUrl = baseParts.root + '/';\n if (baseParts.path.lastIndexOf('/')!==-1) {\n newUrl = newUrl = baseParts.path.subString(0, baseParts.path.lastIndexOf('/')) + '/';\n }\n newUrl+=url;\n return url;\n\n },\n\n /**\n * Parses a url and returns its individual components.\n *\n * @param {String} url\n * @return {Object}\n */\n parseUrl : function(url) {\n\n var parts = url.match(/^(?:([A-Za-z]+):)?(\\/{0,3})([0-9.\\-A-Za-z]+)(?::(\\d+))?(?:\\/([^?#]*))?(?:\\?([^#]*))?(?:#(.*))?$/);\n var result = {\n url : parts[0],\n scheme : parts[1],\n host : parts[3],\n port : parts[4],\n path : parts[5],\n query : parts[6],\n fragment : parts[7],\n };\n result.root =\n result.scheme + '://' +\n result.host +\n (result.port ? ':' + result.port : '');\n\n return result;\n\n },\n\n parseClarkNotation : function(propertyName) {\n\n var result = propertyName.match(/^{([^}]+)}(.*)$/);\n if (!result) {\n return;\n }\n\n return {\n name : result[2],\n namespace : result[1]\n };\n\n }\n\n};\n\nif (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {\n module.exports.Client = dav.Client;\n}\n","var map = {\n\t\"./af\": 42786,\n\t\"./af.js\": 42786,\n\t\"./ar\": 30867,\n\t\"./ar-dz\": 14130,\n\t\"./ar-dz.js\": 14130,\n\t\"./ar-kw\": 96135,\n\t\"./ar-kw.js\": 96135,\n\t\"./ar-ly\": 56440,\n\t\"./ar-ly.js\": 56440,\n\t\"./ar-ma\": 47702,\n\t\"./ar-ma.js\": 47702,\n\t\"./ar-sa\": 16040,\n\t\"./ar-sa.js\": 16040,\n\t\"./ar-tn\": 37100,\n\t\"./ar-tn.js\": 37100,\n\t\"./ar.js\": 30867,\n\t\"./az\": 31083,\n\t\"./az.js\": 31083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 68338,\n\t\"./bg.js\": 68338,\n\t\"./bm\": 67438,\n\t\"./bm.js\": 67438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 76225,\n\t\"./bn-bd.js\": 76225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 11560,\n\t\"./bo.js\": 11560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 80622,\n\t\"./bs.js\": 80622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 50877,\n\t\"./cv.js\": 50877,\n\t\"./cy\": 47373,\n\t\"./cy.js\": 47373,\n\t\"./da\": 24780,\n\t\"./da.js\": 24780,\n\t\"./de\": 59740,\n\t\"./de-at\": 60217,\n\t\"./de-at.js\": 60217,\n\t\"./de-ch\": 60894,\n\t\"./de-ch.js\": 60894,\n\t\"./de.js\": 59740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 50837,\n\t\"./el.js\": 50837,\n\t\"./en-au\": 78348,\n\t\"./en-au.js\": 78348,\n\t\"./en-ca\": 77925,\n\t\"./en-ca.js\": 77925,\n\t\"./en-gb\": 22243,\n\t\"./en-gb.js\": 22243,\n\t\"./en-ie\": 46436,\n\t\"./en-ie.js\": 46436,\n\t\"./en-il\": 47207,\n\t\"./en-il.js\": 47207,\n\t\"./en-in\": 44175,\n\t\"./en-in.js\": 44175,\n\t\"./en-nz\": 76319,\n\t\"./en-nz.js\": 76319,\n\t\"./en-sg\": 31662,\n\t\"./en-sg.js\": 31662,\n\t\"./eo\": 92915,\n\t\"./eo.js\": 92915,\n\t\"./es\": 55655,\n\t\"./es-do\": 55251,\n\t\"./es-do.js\": 55251,\n\t\"./es-mx\": 96112,\n\t\"./es-mx.js\": 96112,\n\t\"./es-us\": 71146,\n\t\"./es-us.js\": 71146,\n\t\"./es.js\": 55655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 77763,\n\t\"./eu.js\": 77763,\n\t\"./fa\": 76959,\n\t\"./fa.js\": 76959,\n\t\"./fi\": 11897,\n\t\"./fi.js\": 11897,\n\t\"./fil\": 42549,\n\t\"./fil.js\": 42549,\n\t\"./fo\": 94694,\n\t\"./fo.js\": 94694,\n\t\"./fr\": 94470,\n\t\"./fr-ca\": 63049,\n\t\"./fr-ca.js\": 63049,\n\t\"./fr-ch\": 52330,\n\t\"./fr-ch.js\": 52330,\n\t\"./fr.js\": 94470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 29295,\n\t\"./ga.js\": 29295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 38794,\n\t\"./gl.js\": 38794,\n\t\"./gom-deva\": 27884,\n\t\"./gom-deva.js\": 27884,\n\t\"./gom-latn\": 23168,\n\t\"./gom-latn.js\": 23168,\n\t\"./gu\": 95349,\n\t\"./gu.js\": 95349,\n\t\"./he\": 24206,\n\t\"./he.js\": 24206,\n\t\"./hi\": 30094,\n\t\"./hi.js\": 30094,\n\t\"./hr\": 30316,\n\t\"./hr.js\": 30316,\n\t\"./hu\": 22138,\n\t\"./hu.js\": 22138,\n\t\"./hy-am\": 11423,\n\t\"./hy-am.js\": 11423,\n\t\"./id\": 29218,\n\t\"./id.js\": 29218,\n\t\"./is\": 90135,\n\t\"./is.js\": 90135,\n\t\"./it\": 90626,\n\t\"./it-ch\": 10150,\n\t\"./it-ch.js\": 10150,\n\t\"./it.js\": 90626,\n\t\"./ja\": 39183,\n\t\"./ja.js\": 39183,\n\t\"./jv\": 24286,\n\t\"./jv.js\": 24286,\n\t\"./ka\": 12105,\n\t\"./ka.js\": 12105,\n\t\"./kk\": 47772,\n\t\"./kk.js\": 47772,\n\t\"./km\": 18758,\n\t\"./km.js\": 18758,\n\t\"./kn\": 79282,\n\t\"./kn.js\": 79282,\n\t\"./ko\": 33730,\n\t\"./ko.js\": 33730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 33291,\n\t\"./ky.js\": 33291,\n\t\"./lb\": 36841,\n\t\"./lb.js\": 36841,\n\t\"./lo\": 55466,\n\t\"./lo.js\": 55466,\n\t\"./lt\": 57010,\n\t\"./lt.js\": 57010,\n\t\"./lv\": 37595,\n\t\"./lv.js\": 37595,\n\t\"./me\": 39861,\n\t\"./me.js\": 39861,\n\t\"./mi\": 35493,\n\t\"./mi.js\": 35493,\n\t\"./mk\": 95966,\n\t\"./mk.js\": 95966,\n\t\"./ml\": 87341,\n\t\"./ml.js\": 87341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 10370,\n\t\"./mr.js\": 10370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 41237,\n\t\"./ms-my.js\": 41237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 72126,\n\t\"./mt.js\": 72126,\n\t\"./my\": 56165,\n\t\"./my.js\": 56165,\n\t\"./nb\": 64924,\n\t\"./nb.js\": 64924,\n\t\"./ne\": 16744,\n\t\"./ne.js\": 16744,\n\t\"./nl\": 93901,\n\t\"./nl-be\": 59814,\n\t\"./nl-be.js\": 59814,\n\t\"./nl.js\": 93901,\n\t\"./nn\": 83877,\n\t\"./nn.js\": 83877,\n\t\"./oc-lnc\": 92135,\n\t\"./oc-lnc.js\": 92135,\n\t\"./pa-in\": 15858,\n\t\"./pa-in.js\": 15858,\n\t\"./pl\": 64495,\n\t\"./pl.js\": 64495,\n\t\"./pt\": 89520,\n\t\"./pt-br\": 57971,\n\t\"./pt-br.js\": 57971,\n\t\"./pt.js\": 89520,\n\t\"./ro\": 96459,\n\t\"./ro.js\": 96459,\n\t\"./ru\": 21793,\n\t\"./ru.js\": 21793,\n\t\"./sd\": 40950,\n\t\"./sd.js\": 40950,\n\t\"./se\": 10490,\n\t\"./se.js\": 10490,\n\t\"./si\": 90124,\n\t\"./si.js\": 90124,\n\t\"./sk\": 64249,\n\t\"./sk.js\": 64249,\n\t\"./sl\": 14985,\n\t\"./sl.js\": 14985,\n\t\"./sq\": 51104,\n\t\"./sq.js\": 51104,\n\t\"./sr\": 49131,\n\t\"./sr-cyrl\": 79915,\n\t\"./sr-cyrl.js\": 79915,\n\t\"./sr.js\": 49131,\n\t\"./ss\": 85893,\n\t\"./ss.js\": 85893,\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760,\n\t\"./sw\": 91172,\n\t\"./sw.js\": 91172,\n\t\"./ta\": 27333,\n\t\"./ta.js\": 27333,\n\t\"./te\": 23110,\n\t\"./te.js\": 23110,\n\t\"./tet\": 52095,\n\t\"./tet.js\": 52095,\n\t\"./tg\": 27321,\n\t\"./tg.js\": 27321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 19005,\n\t\"./tk.js\": 19005,\n\t\"./tl-ph\": 75768,\n\t\"./tl-ph.js\": 75768,\n\t\"./tlh\": 89444,\n\t\"./tlh.js\": 89444,\n\t\"./tr\": 72397,\n\t\"./tr.js\": 72397,\n\t\"./tzl\": 28254,\n\t\"./tzl.js\": 28254,\n\t\"./tzm\": 51106,\n\t\"./tzm-latn\": 30699,\n\t\"./tzm-latn.js\": 30699,\n\t\"./tzm.js\": 51106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 67691,\n\t\"./uk.js\": 67691,\n\t\"./ur\": 13795,\n\t\"./ur.js\": 13795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 60588,\n\t\"./uz-latn.js\": 60588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 65666,\n\t\"./vi.js\": 65666,\n\t\"./x-pseudo\": 14378,\n\t\"./x-pseudo.js\": 14378,\n\t\"./yo\": 75805,\n\t\"./yo.js\": 75805,\n\t\"./zh-cn\": 83839,\n\t\"./zh-cn.js\": 83839,\n\t\"./zh-hk\": 55726,\n\t\"./zh-hk.js\": 55726,\n\t\"./zh-mo\": 99807,\n\t\"./zh-mo.js\": 99807,\n\t\"./zh-tw\": 74152,\n\t\"./zh-tw.js\": 74152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","import { getCurrentUser as A, getRequestToken as ue } from \"@nextcloud/auth\";\nimport { getLoggerBuilder as q } from \"@nextcloud/logger\";\nimport { getCanonicalLocale as de } from \"@nextcloud/l10n\";\nimport { join as ae, basename as le, extname as fe, dirname as I } from \"path\";\nimport { encodePath as ce } from \"@nextcloud/paths\";\nimport { generateRemoteUrl as he } from \"@nextcloud/router\";\nimport { createClient as pe, getPatcher as ge } from \"webdav\";\nimport { request as we } from \"webdav/dist/node/request.js\";\n/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst me = (e) => e === null ? q().setApp(\"files\").build() : q().setApp(\"files\").setUid(e.uid).build(), m = me(A());\n/**\n * @copyright Copyright (c) 2021 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass Ne {\n _entries = [];\n registerEntry(t) {\n this.validateEntry(t), this._entries.push(t);\n }\n unregisterEntry(t) {\n const r = typeof t == \"string\" ? this.getEntryIndex(t) : this.getEntryIndex(t.id);\n if (r === -1) {\n m.warn(\"Entry not found, nothing removed\", { entry: t, entries: this.getEntries() });\n return;\n }\n this._entries.splice(r, 1);\n }\n /**\n * Get the list of registered entries\n *\n * @param {Folder} context the creation context. Usually the current folder\n */\n getEntries(t) {\n return t ? this._entries.filter((r) => typeof r.enabled == \"function\" ? r.enabled(t) : !0) : this._entries;\n }\n getEntryIndex(t) {\n return this._entries.findIndex((r) => r.id === t);\n }\n validateEntry(t) {\n if (!t.id || !t.displayName || !(t.iconSvgInline || t.iconClass) || !t.handler)\n throw new Error(\"Invalid entry\");\n if (typeof t.id != \"string\" || typeof t.displayName != \"string\")\n throw new Error(\"Invalid id or displayName property\");\n if (t.iconClass && typeof t.iconClass != \"string\" || t.iconSvgInline && typeof t.iconSvgInline != \"string\")\n throw new Error(\"Invalid icon provided\");\n if (t.enabled !== void 0 && typeof t.enabled != \"function\")\n throw new Error(\"Invalid enabled property\");\n if (typeof t.handler != \"function\")\n throw new Error(\"Invalid handler property\");\n if (\"order\" in t && typeof t.order != \"number\")\n throw new Error(\"Invalid order property\");\n if (this.getEntryIndex(t.id) !== -1)\n throw new Error(\"Duplicate entry\");\n }\n}\nconst F = function() {\n return typeof window._nc_newfilemenu > \"u\" && (window._nc_newfilemenu = new Ne(), m.debug(\"NewFileMenu initialized\")), window._nc_newfilemenu;\n};\n/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst C = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"], P = [\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\"];\nfunction Jt(e, t = !1, r = !0) {\n typeof e == \"string\" && (e = Number(e));\n let s = e > 0 ? Math.floor(Math.log(e) / Math.log(r ? 1024 : 1e3)) : 0;\n s = Math.min((r ? P.length : C.length) - 1, s);\n const n = r ? P[s] : C[s];\n let i = (e / Math.pow(r ? 1024 : 1e3, s)).toFixed(1);\n return t === !0 && s === 0 ? (i !== \"0.0\" ? \"< 1 \" : \"0 \") + (r ? P[1] : C[1]) : (s < 2 ? i = parseFloat(i).toFixed(0) : i = parseFloat(i).toLocaleString(de()), i + \" \" + n);\n}\nfunction Qt(e, t = !1) {\n try {\n e = `${e}`.toLocaleLowerCase().replaceAll(/\\s+/g, \"\").replaceAll(\",\", \".\");\n } catch {\n return null;\n }\n const r = e.match(/^([0-9]*(\\.[0-9]*)?)([kmgtp]?)(i?)b?$/);\n if (r === null || r[1] === \".\" || r[1] === \"\")\n return null;\n const s = {\n \"\": 0,\n k: 1,\n m: 2,\n g: 3,\n t: 4,\n p: 5,\n e: 6\n }, n = `${r[1]}`, i = r[4] === \"i\" || t ? 1024 : 1e3;\n return Math.round(Number.parseFloat(n) * i ** s[r[3]]);\n}\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nvar Z = /* @__PURE__ */ ((e) => (e.DEFAULT = \"default\", e.HIDDEN = \"hidden\", e))(Z || {});\nclass Dt {\n _action;\n constructor(t) {\n this.validateAction(t), this._action = t;\n }\n get id() {\n return this._action.id;\n }\n get displayName() {\n return this._action.displayName;\n }\n get title() {\n return this._action.title;\n }\n get iconSvgInline() {\n return this._action.iconSvgInline;\n }\n get enabled() {\n return this._action.enabled;\n }\n get exec() {\n return this._action.exec;\n }\n get execBatch() {\n return this._action.execBatch;\n }\n get order() {\n return this._action.order;\n }\n get default() {\n return this._action.default;\n }\n get inline() {\n return this._action.inline;\n }\n get renderInline() {\n return this._action.renderInline;\n }\n validateAction(t) {\n if (!t.id || typeof t.id != \"string\")\n throw new Error(\"Invalid id\");\n if (!t.displayName || typeof t.displayName != \"function\")\n throw new Error(\"Invalid displayName function\");\n if (\"title\" in t && typeof t.title != \"function\")\n throw new Error(\"Invalid title function\");\n if (!t.iconSvgInline || typeof t.iconSvgInline != \"function\")\n throw new Error(\"Invalid iconSvgInline function\");\n if (!t.exec || typeof t.exec != \"function\")\n throw new Error(\"Invalid exec function\");\n if (\"enabled\" in t && typeof t.enabled != \"function\")\n throw new Error(\"Invalid enabled function\");\n if (\"execBatch\" in t && typeof t.execBatch != \"function\")\n throw new Error(\"Invalid execBatch function\");\n if (\"order\" in t && typeof t.order != \"number\")\n throw new Error(\"Invalid order\");\n if (t.default && !Object.values(Z).includes(t.default))\n throw new Error(\"Invalid default\");\n if (\"inline\" in t && typeof t.inline != \"function\")\n throw new Error(\"Invalid inline function\");\n if (\"renderInline\" in t && typeof t.renderInline != \"function\")\n throw new Error(\"Invalid renderInline function\");\n }\n}\nconst er = function(e) {\n if (typeof window._nc_fileactions > \"u\" && (window._nc_fileactions = [], m.debug(\"FileActions initialized\")), window._nc_fileactions.find((t) => t.id === e.id)) {\n m.error(`FileAction ${e.id} already registered`, { action: e });\n return;\n }\n window._nc_fileactions.push(e);\n}, tr = function() {\n return typeof window._nc_fileactions > \"u\" && (window._nc_fileactions = [], m.debug(\"FileActions initialized\")), window._nc_fileactions;\n};\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass rr {\n _header;\n constructor(t) {\n this.validateHeader(t), this._header = t;\n }\n get id() {\n return this._header.id;\n }\n get order() {\n return this._header.order;\n }\n get enabled() {\n return this._header.enabled;\n }\n get render() {\n return this._header.render;\n }\n get updated() {\n return this._header.updated;\n }\n validateHeader(t) {\n if (!t.id || !t.render || !t.updated)\n throw new Error(\"Invalid header: id, render and updated are required\");\n if (typeof t.id != \"string\")\n throw new Error(\"Invalid id property\");\n if (t.enabled !== void 0 && typeof t.enabled != \"function\")\n throw new Error(\"Invalid enabled property\");\n if (t.render && typeof t.render != \"function\")\n throw new Error(\"Invalid render property\");\n if (t.updated && typeof t.updated != \"function\")\n throw new Error(\"Invalid updated property\");\n }\n}\nconst nr = function(e) {\n if (typeof window._nc_filelistheader > \"u\" && (window._nc_filelistheader = [], m.debug(\"FileListHeaders initialized\")), window._nc_filelistheader.find((t) => t.id === e.id)) {\n m.error(`Header ${e.id} already registered`, { header: e });\n return;\n }\n window._nc_filelistheader.push(e);\n}, ir = function() {\n return typeof window._nc_filelistheader > \"u\" && (window._nc_filelistheader = [], m.debug(\"FileListHeaders initialized\")), window._nc_filelistheader;\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nvar N = /* @__PURE__ */ ((e) => (e[e.NONE = 0] = \"NONE\", e[e.CREATE = 4] = \"CREATE\", e[e.READ = 1] = \"READ\", e[e.UPDATE = 2] = \"UPDATE\", e[e.DELETE = 8] = \"DELETE\", e[e.SHARE = 16] = \"SHARE\", e[e.ALL = 31] = \"ALL\", e))(N || {});\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Ferdinand Thiessen <opensource@fthiessen.de>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst j = [\n \"d:getcontentlength\",\n \"d:getcontenttype\",\n \"d:getetag\",\n \"d:getlastmodified\",\n \"d:quota-available-bytes\",\n \"d:resourcetype\",\n \"nc:has-preview\",\n \"nc:is-encrypted\",\n \"nc:mount-type\",\n \"nc:share-attributes\",\n \"oc:comments-unread\",\n \"oc:favorite\",\n \"oc:fileid\",\n \"oc:owner-display-name\",\n \"oc:owner-id\",\n \"oc:permissions\",\n \"oc:share-types\",\n \"oc:size\",\n \"ocs:share-permissions\"\n], Y = {\n d: \"DAV:\",\n nc: \"http://nextcloud.org/ns\",\n oc: \"http://owncloud.org/ns\",\n ocs: \"http://open-collaboration-services.org/ns\"\n}, sr = function(e, t = { nc: \"http://nextcloud.org/ns\" }) {\n typeof window._nc_dav_properties > \"u\" && (window._nc_dav_properties = [...j], window._nc_dav_namespaces = { ...Y });\n const r = { ...window._nc_dav_namespaces, ...t };\n if (window._nc_dav_properties.find((n) => n === e))\n return m.error(`${e} already registered`, { prop: e }), !1;\n if (e.startsWith(\"<\") || e.split(\":\").length !== 2)\n return m.error(`${e} is not valid. See example: 'oc:fileid'`, { prop: e }), !1;\n const s = e.split(\":\")[0];\n return r[s] ? (window._nc_dav_properties.push(e), window._nc_dav_namespaces = r, !0) : (m.error(`${e} namespace unknown`, { prop: e, namespaces: r }), !1);\n}, V = function() {\n return typeof window._nc_dav_properties > \"u\" && (window._nc_dav_properties = [...j]), window._nc_dav_properties.map((e) => `<${e} />`).join(\" \");\n}, L = function() {\n return typeof window._nc_dav_namespaces > \"u\" && (window._nc_dav_namespaces = { ...Y }), Object.keys(window._nc_dav_namespaces).map((e) => `xmlns:${e}=\"${window._nc_dav_namespaces?.[e]}\"`).join(\" \");\n}, or = function() {\n return `<?xml version=\"1.0\"?>\n\t\t<d:propfind ${L()}>\n\t\t\t<d:prop>\n\t\t\t\t${V()}\n\t\t\t</d:prop>\n\t\t</d:propfind>`;\n}, Ee = function() {\n return `<?xml version=\"1.0\"?>\n\t\t<oc:filter-files ${L()}>\n\t\t\t<d:prop>\n\t\t\t\t${V()}\n\t\t\t</d:prop>\n\t\t\t<oc:filter-rules>\n\t\t\t\t<oc:favorite>1</oc:favorite>\n\t\t\t</oc:filter-rules>\n\t\t</oc:filter-files>`;\n}, ur = function(e) {\n return `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<d:searchrequest ${L()}\n\txmlns:ns=\"https://github.com/icewind1991/SearchDAV/ns\">\n\t<d:basicsearch>\n\t\t<d:select>\n\t\t\t<d:prop>\n\t\t\t\t${V()}\n\t\t\t</d:prop>\n\t\t</d:select>\n\t\t<d:from>\n\t\t\t<d:scope>\n\t\t\t\t<d:href>/files/${A()?.uid}/</d:href>\n\t\t\t\t<d:depth>infinity</d:depth>\n\t\t\t</d:scope>\n\t\t</d:from>\n\t\t<d:where>\n\t\t\t<d:and>\n\t\t\t\t<d:or>\n\t\t\t\t\t<d:not>\n\t\t\t\t\t\t<d:eq>\n\t\t\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t\t\t<d:getcontenttype/>\n\t\t\t\t\t\t\t</d:prop>\n\t\t\t\t\t\t\t<d:literal>httpd/unix-directory</d:literal>\n\t\t\t\t\t\t</d:eq>\n\t\t\t\t\t</d:not>\n\t\t\t\t\t<d:eq>\n\t\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t\t<oc:size/>\n\t\t\t\t\t\t</d:prop>\n\t\t\t\t\t\t<d:literal>0</d:literal>\n\t\t\t\t\t</d:eq>\n\t\t\t\t</d:or>\n\t\t\t\t<d:gt>\n\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t<d:getlastmodified/>\n\t\t\t\t\t</d:prop>\n\t\t\t\t\t<d:literal>${e}</d:literal>\n\t\t\t\t</d:gt>\n\t\t\t</d:and>\n\t\t</d:where>\n\t\t<d:orderby>\n\t\t\t<d:order>\n\t\t\t\t<d:prop>\n\t\t\t\t\t<d:getlastmodified/>\n\t\t\t\t</d:prop>\n\t\t\t\t<d:descending/>\n\t\t\t</d:order>\n\t\t</d:orderby>\n\t\t<d:limit>\n\t\t\t<d:nresults>100</d:nresults>\n\t\t\t<ns:firstresult>0</ns:firstresult>\n\t\t</d:limit>\n\t</d:basicsearch>\n</d:searchrequest>`;\n};\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Ferdinand Thiessen <opensource@fthiessen.de>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst be = function(e = \"\") {\n let t = N.NONE;\n return e && ((e.includes(\"C\") || e.includes(\"K\")) && (t |= N.CREATE), e.includes(\"G\") && (t |= N.READ), (e.includes(\"W\") || e.includes(\"N\") || e.includes(\"V\")) && (t |= N.UPDATE), e.includes(\"D\") && (t |= N.DELETE), e.includes(\"R\") && (t |= N.SHARE)), t;\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nvar S = /* @__PURE__ */ ((e) => (e.Folder = \"folder\", e.File = \"file\", e))(S || {});\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst J = function(e, t) {\n return e.match(t) !== null;\n}, X = (e, t) => {\n if (e.id && typeof e.id != \"number\")\n throw new Error(\"Invalid id type of value\");\n if (!e.source)\n throw new Error(\"Missing mandatory source\");\n try {\n new URL(e.source);\n } catch {\n throw new Error(\"Invalid source format, source must be a valid URL\");\n }\n if (!e.source.startsWith(\"http\"))\n throw new Error(\"Invalid source format, only http(s) is supported\");\n if (e.mtime && !(e.mtime instanceof Date))\n throw new Error(\"Invalid mtime type\");\n if (e.crtime && !(e.crtime instanceof Date))\n throw new Error(\"Invalid crtime type\");\n if (!e.mime || typeof e.mime != \"string\" || !e.mime.match(/^[-\\w.]+\\/[-+\\w.]+$/gi))\n throw new Error(\"Missing or invalid mandatory mime\");\n if (\"size\" in e && typeof e.size != \"number\" && e.size !== void 0)\n throw new Error(\"Invalid size type\");\n if (\"permissions\" in e && e.permissions !== void 0 && !(typeof e.permissions == \"number\" && e.permissions >= N.NONE && e.permissions <= N.ALL))\n throw new Error(\"Invalid permissions\");\n if (e.owner && e.owner !== null && typeof e.owner != \"string\")\n throw new Error(\"Invalid owner type\");\n if (e.attributes && typeof e.attributes != \"object\")\n throw new Error(\"Invalid attributes type\");\n if (e.root && typeof e.root != \"string\")\n throw new Error(\"Invalid root type\");\n if (e.root && !e.root.startsWith(\"/\"))\n throw new Error(\"Root must start with a leading slash\");\n if (e.root && !e.source.includes(e.root))\n throw new Error(\"Root must be part of the source\");\n if (e.root && J(e.source, t)) {\n const r = e.source.match(t)[0];\n if (!e.source.includes(ae(r, e.root)))\n throw new Error(\"The root must be relative to the service. e.g /files/emma\");\n }\n if (e.status && !Object.values(Q).includes(e.status))\n throw new Error(\"Status must be a valid NodeStatus\");\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nvar Q = /* @__PURE__ */ ((e) => (e.NEW = \"new\", e.FAILED = \"failed\", e.LOADING = \"loading\", e.LOCKED = \"locked\", e))(Q || {});\nclass D {\n _data;\n _attributes;\n _knownDavService = /(remote|public)\\.php\\/(web)?dav/i;\n constructor(t, r) {\n X(t, r || this._knownDavService), this._data = t;\n const s = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n set: (n, i, d) => (this.updateMtime(), Reflect.set(n, i, d)),\n deleteProperty: (n, i) => (this.updateMtime(), Reflect.deleteProperty(n, i))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n };\n this._attributes = new Proxy(t.attributes || {}, s), delete this._data.attributes, r && (this._knownDavService = r);\n }\n /**\n * Get the source url to this object\n */\n get source() {\n return this._data.source.replace(/\\/$/i, \"\");\n }\n /**\n * Get the encoded source url to this object for requests purposes\n */\n get encodedSource() {\n const { origin: t } = new URL(this.source);\n return t + ce(this.source.slice(t.length));\n }\n /**\n * Get this object name\n */\n get basename() {\n return le(this.source);\n }\n /**\n * Get this object's extension\n */\n get extension() {\n return fe(this.source);\n }\n /**\n * Get the directory path leading to this object\n * Will use the relative path to root if available\n */\n get dirname() {\n if (this.root) {\n const r = this.source.indexOf(this.root);\n return I(this.source.slice(r + this.root.length) || \"/\");\n }\n const t = new URL(this.source);\n return I(t.pathname);\n }\n /**\n * Get the file mime\n */\n get mime() {\n return this._data.mime;\n }\n /**\n * Get the file modification time\n */\n get mtime() {\n return this._data.mtime;\n }\n /**\n * Get the file creation time\n */\n get crtime() {\n return this._data.crtime;\n }\n /**\n * Get the file size\n */\n get size() {\n return this._data.size;\n }\n /**\n * Get the file attribute\n */\n get attributes() {\n return this._attributes;\n }\n /**\n * Get the file permissions\n */\n get permissions() {\n return this.owner === null && !this.isDavRessource ? N.READ : this._data.permissions !== void 0 ? this._data.permissions : N.NONE;\n }\n /**\n * Get the file owner\n */\n get owner() {\n return this.isDavRessource ? this._data.owner : null;\n }\n /**\n * Is this a dav-related ressource ?\n */\n get isDavRessource() {\n return J(this.source, this._knownDavService);\n }\n /**\n * Get the dav root of this object\n */\n get root() {\n return this._data.root ? this._data.root.replace(/^(.+)\\/$/, \"$1\") : this.isDavRessource && I(this.source).split(this._knownDavService).pop() || null;\n }\n /**\n * Get the absolute path of this object relative to the root\n */\n get path() {\n if (this.root) {\n const t = this.source.indexOf(this.root);\n return this.source.slice(t + this.root.length) || \"/\";\n }\n return (this.dirname + \"/\" + this.basename).replace(/\\/\\//g, \"/\");\n }\n /**\n * Get the node id if defined.\n * Will look for the fileid in attributes if undefined.\n */\n get fileid() {\n return this._data?.id || this.attributes?.fileid;\n }\n /**\n * Get the node status.\n */\n get status() {\n return this._data?.status;\n }\n /**\n * Set the node status.\n */\n set status(t) {\n this._data.status = t;\n }\n /**\n * Move the node to a new destination\n *\n * @param {string} destination the new source.\n * e.g. https://cloud.domain.com/remote.php/dav/files/emma/Photos/picture.jpg\n */\n move(t) {\n X({ ...this._data, source: t }, this._knownDavService), this._data.source = t, this.updateMtime();\n }\n /**\n * Rename the node\n * This aliases the move method for easier usage\n *\n * @param basename The new name of the node\n */\n rename(t) {\n if (t.includes(\"/\"))\n throw new Error(\"Invalid basename\");\n this.move(I(this.source) + \"/\" + t);\n }\n /**\n * Update the mtime if exists.\n */\n updateMtime() {\n this._data.mtime && (this._data.mtime = /* @__PURE__ */ new Date());\n }\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass ye extends D {\n get type() {\n return S.File;\n }\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass _e extends D {\n constructor(t) {\n super({\n ...t,\n mime: \"httpd/unix-directory\"\n });\n }\n get type() {\n return S.Folder;\n }\n get extension() {\n return null;\n }\n get mime() {\n return \"httpd/unix-directory\";\n }\n}\n/**\n * @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Ferdinand Thiessen <opensource@fthiessen.de>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst ee = `/files/${A()?.uid}`, te = he(\"dav\"), dr = function(e = te) {\n const t = pe(e, {\n headers: {\n requesttoken: ue() || \"\"\n }\n });\n return ge().patch(\"request\", (s) => (s.headers?.method && (s.method = s.headers.method, delete s.headers.method), we(s))), t;\n}, ar = async (e, t = \"/\", r = ee) => (await e.getDirectoryContents(`${r}${t}`, {\n details: !0,\n data: Ee(),\n headers: {\n // see davGetClient for patched webdav client\n method: \"REPORT\"\n },\n includeSelf: !0\n})).data.filter((n) => n.filename !== t).map((n) => ve(n, r)), ve = function(e, t = ee, r = te) {\n const s = e.props, n = be(s?.permissions), i = A()?.uid, d = {\n id: s?.fileid || 0,\n source: `${r}${e.filename}`,\n mtime: new Date(Date.parse(e.lastmod)),\n mime: e.mime,\n size: s?.size || Number.parseInt(s.getcontentlength || \"0\"),\n permissions: n,\n owner: i,\n root: t,\n attributes: {\n ...e,\n ...s,\n hasPreview: s?.[\"has-preview\"]\n }\n };\n return delete d.attributes?.props, e.type === \"file\" ? new ye(d) : new _e(d);\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass Te {\n _views = [];\n _currentView = null;\n register(t) {\n if (this._views.find((r) => r.id === t.id))\n throw new Error(`View id ${t.id} is already registered`);\n this._views.push(t);\n }\n remove(t) {\n const r = this._views.findIndex((s) => s.id === t);\n r !== -1 && this._views.splice(r, 1);\n }\n get views() {\n return this._views;\n }\n setActive(t) {\n this._currentView = t;\n }\n get active() {\n return this._currentView;\n }\n}\nconst lr = function() {\n return typeof window._nc_navigation > \"u\" && (window._nc_navigation = new Te(), m.debug(\"Navigation service initialized\")), window._nc_navigation;\n};\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass Ie {\n _column;\n constructor(t) {\n Ae(t), this._column = t;\n }\n get id() {\n return this._column.id;\n }\n get title() {\n return this._column.title;\n }\n get render() {\n return this._column.render;\n }\n get sort() {\n return this._column.sort;\n }\n get summary() {\n return this._column.summary;\n }\n}\nconst Ae = function(e) {\n if (!e.id || typeof e.id != \"string\")\n throw new Error(\"A column id is required\");\n if (!e.title || typeof e.title != \"string\")\n throw new Error(\"A column title is required\");\n if (!e.render || typeof e.render != \"function\")\n throw new Error(\"A render function is required\");\n if (e.sort && typeof e.sort != \"function\")\n throw new Error(\"Column sortFunction must be a function\");\n if (e.summary && typeof e.summary != \"function\")\n throw new Error(\"Column summary must be a function\");\n return !0;\n};\nvar R = {}, O = {};\n(function(e) {\n const t = \":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\", r = t + \"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\", s = \"[\" + t + \"][\" + r + \"]*\", n = new RegExp(\"^\" + s + \"$\"), i = function(u, o) {\n const a = [];\n let l = o.exec(u);\n for (; l; ) {\n const f = [];\n f.startIndex = o.lastIndex - l[0].length;\n const c = l.length;\n for (let g = 0; g < c; g++)\n f.push(l[g]);\n a.push(f), l = o.exec(u);\n }\n return a;\n }, d = function(u) {\n const o = n.exec(u);\n return !(o === null || typeof o > \"u\");\n };\n e.isExist = function(u) {\n return typeof u < \"u\";\n }, e.isEmptyObject = function(u) {\n return Object.keys(u).length === 0;\n }, e.merge = function(u, o, a) {\n if (o) {\n const l = Object.keys(o), f = l.length;\n for (let c = 0; c < f; c++)\n a === \"strict\" ? u[l[c]] = [o[l[c]]] : u[l[c]] = o[l[c]];\n }\n }, e.getValue = function(u) {\n return e.isExist(u) ? u : \"\";\n }, e.isName = d, e.getAllMatches = i, e.nameRegexp = s;\n})(O);\nconst M = O, Oe = {\n allowBooleanAttributes: !1,\n //A tag can have attributes without any value\n unpairedTags: []\n};\nR.validate = function(e, t) {\n t = Object.assign({}, Oe, t);\n const r = [];\n let s = !1, n = !1;\n e[0] === \"\\uFEFF\" && (e = e.substr(1));\n for (let i = 0; i < e.length; i++)\n if (e[i] === \"<\" && e[i + 1] === \"?\") {\n if (i += 2, i = G(e, i), i.err)\n return i;\n } else if (e[i] === \"<\") {\n let d = i;\n if (i++, e[i] === \"!\") {\n i = z(e, i);\n continue;\n } else {\n let u = !1;\n e[i] === \"/\" && (u = !0, i++);\n let o = \"\";\n for (; i < e.length && e[i] !== \">\" && e[i] !== \" \" && e[i] !== \"\t\" && e[i] !== `\n` && e[i] !== \"\\r\"; i++)\n o += e[i];\n if (o = o.trim(), o[o.length - 1] === \"/\" && (o = o.substring(0, o.length - 1), i--), !Se(o)) {\n let f;\n return o.trim().length === 0 ? f = \"Invalid space after '<'.\" : f = \"Tag '\" + o + \"' is an invalid name.\", p(\"InvalidTag\", f, w(e, i));\n }\n const a = xe(e, i);\n if (a === !1)\n return p(\"InvalidAttr\", \"Attributes for '\" + o + \"' have open quote.\", w(e, i));\n let l = a.value;\n if (i = a.index, l[l.length - 1] === \"/\") {\n const f = i - l.length;\n l = l.substring(0, l.length - 1);\n const c = H(l, t);\n if (c === !0)\n s = !0;\n else\n return p(c.err.code, c.err.msg, w(e, f + c.err.line));\n } else if (u)\n if (a.tagClosed) {\n if (l.trim().length > 0)\n return p(\"InvalidTag\", \"Closing tag '\" + o + \"' can't have attributes or invalid starting.\", w(e, d));\n {\n const f = r.pop();\n if (o !== f.tagName) {\n let c = w(e, f.tagStartPos);\n return p(\n \"InvalidTag\",\n \"Expected closing tag '\" + f.tagName + \"' (opened in line \" + c.line + \", col \" + c.col + \") instead of closing tag '\" + o + \"'.\",\n w(e, d)\n );\n }\n r.length == 0 && (n = !0);\n }\n } else\n return p(\"InvalidTag\", \"Closing tag '\" + o + \"' doesn't have proper closing.\", w(e, i));\n else {\n const f = H(l, t);\n if (f !== !0)\n return p(f.err.code, f.err.msg, w(e, i - l.length + f.err.line));\n if (n === !0)\n return p(\"InvalidXml\", \"Multiple possible root nodes found.\", w(e, i));\n t.unpairedTags.indexOf(o) !== -1 || r.push({ tagName: o, tagStartPos: d }), s = !0;\n }\n for (i++; i < e.length; i++)\n if (e[i] === \"<\")\n if (e[i + 1] === \"!\") {\n i++, i = z(e, i);\n continue;\n } else if (e[i + 1] === \"?\") {\n if (i = G(e, ++i), i.err)\n return i;\n } else\n break;\n else if (e[i] === \"&\") {\n const f = Ve(e, i);\n if (f == -1)\n return p(\"InvalidChar\", \"char '&' is not expected.\", w(e, i));\n i = f;\n } else if (n === !0 && !U(e[i]))\n return p(\"InvalidXml\", \"Extra text at the end\", w(e, i));\n e[i] === \"<\" && i--;\n }\n } else {\n if (U(e[i]))\n continue;\n return p(\"InvalidChar\", \"char '\" + e[i] + \"' is not expected.\", w(e, i));\n }\n if (s) {\n if (r.length == 1)\n return p(\"InvalidTag\", \"Unclosed tag '\" + r[0].tagName + \"'.\", w(e, r[0].tagStartPos));\n if (r.length > 0)\n return p(\"InvalidXml\", \"Invalid '\" + JSON.stringify(r.map((i) => i.tagName), null, 4).replace(/\\r?\\n/g, \"\") + \"' found.\", { line: 1, col: 1 });\n } else\n return p(\"InvalidXml\", \"Start tag expected.\", 1);\n return !0;\n};\nfunction U(e) {\n return e === \" \" || e === \"\t\" || e === `\n` || e === \"\\r\";\n}\nfunction G(e, t) {\n const r = t;\n for (; t < e.length; t++)\n if (e[t] == \"?\" || e[t] == \" \") {\n const s = e.substr(r, t - r);\n if (t > 5 && s === \"xml\")\n return p(\"InvalidXml\", \"XML declaration allowed only at the start of the document.\", w(e, t));\n if (e[t] == \"?\" && e[t + 1] == \">\") {\n t++;\n break;\n } else\n continue;\n }\n return t;\n}\nfunction z(e, t) {\n if (e.length > t + 5 && e[t + 1] === \"-\" && e[t + 2] === \"-\") {\n for (t += 3; t < e.length; t++)\n if (e[t] === \"-\" && e[t + 1] === \"-\" && e[t + 2] === \">\") {\n t += 2;\n break;\n }\n } else if (e.length > t + 8 && e[t + 1] === \"D\" && e[t + 2] === \"O\" && e[t + 3] === \"C\" && e[t + 4] === \"T\" && e[t + 5] === \"Y\" && e[t + 6] === \"P\" && e[t + 7] === \"E\") {\n let r = 1;\n for (t += 8; t < e.length; t++)\n if (e[t] === \"<\")\n r++;\n else if (e[t] === \">\" && (r--, r === 0))\n break;\n } else if (e.length > t + 9 && e[t + 1] === \"[\" && e[t + 2] === \"C\" && e[t + 3] === \"D\" && e[t + 4] === \"A\" && e[t + 5] === \"T\" && e[t + 6] === \"A\" && e[t + 7] === \"[\") {\n for (t += 8; t < e.length; t++)\n if (e[t] === \"]\" && e[t + 1] === \"]\" && e[t + 2] === \">\") {\n t += 2;\n break;\n }\n }\n return t;\n}\nconst Ce = '\"', Pe = \"'\";\nfunction xe(e, t) {\n let r = \"\", s = \"\", n = !1;\n for (; t < e.length; t++) {\n if (e[t] === Ce || e[t] === Pe)\n s === \"\" ? s = e[t] : s !== e[t] || (s = \"\");\n else if (e[t] === \">\" && s === \"\") {\n n = !0;\n break;\n }\n r += e[t];\n }\n return s !== \"\" ? !1 : {\n value: r,\n index: t,\n tagClosed: n\n };\n}\nconst $e = new RegExp(`(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\"])(([\\\\s\\\\S])*?)\\\\5)?`, \"g\");\nfunction H(e, t) {\n const r = M.getAllMatches(e, $e), s = {};\n for (let n = 0; n < r.length; n++) {\n if (r[n][1].length === 0)\n return p(\"InvalidAttr\", \"Attribute '\" + r[n][2] + \"' has no space in starting.\", v(r[n]));\n if (r[n][3] !== void 0 && r[n][4] === void 0)\n return p(\"InvalidAttr\", \"Attribute '\" + r[n][2] + \"' is without value.\", v(r[n]));\n if (r[n][3] === void 0 && !t.allowBooleanAttributes)\n return p(\"InvalidAttr\", \"boolean attribute '\" + r[n][2] + \"' is not allowed.\", v(r[n]));\n const i = r[n][2];\n if (!Le(i))\n return p(\"InvalidAttr\", \"Attribute '\" + i + \"' is an invalid name.\", v(r[n]));\n if (!s.hasOwnProperty(i))\n s[i] = 1;\n else\n return p(\"InvalidAttr\", \"Attribute '\" + i + \"' is repeated.\", v(r[n]));\n }\n return !0;\n}\nfunction Fe(e, t) {\n let r = /\\d/;\n for (e[t] === \"x\" && (t++, r = /[\\da-fA-F]/); t < e.length; t++) {\n if (e[t] === \";\")\n return t;\n if (!e[t].match(r))\n break;\n }\n return -1;\n}\nfunction Ve(e, t) {\n if (t++, e[t] === \";\")\n return -1;\n if (e[t] === \"#\")\n return t++, Fe(e, t);\n let r = 0;\n for (; t < e.length; t++, r++)\n if (!(e[t].match(/\\w/) && r < 20)) {\n if (e[t] === \";\")\n break;\n return -1;\n }\n return t;\n}\nfunction p(e, t, r) {\n return {\n err: {\n code: e,\n msg: t,\n line: r.line || r,\n col: r.col\n }\n };\n}\nfunction Le(e) {\n return M.isName(e);\n}\nfunction Se(e) {\n return M.isName(e);\n}\nfunction w(e, t) {\n const r = e.substring(0, t).split(/\\r?\\n/);\n return {\n line: r.length,\n // column number is last line's length + 1, because column numbering starts at 1:\n col: r[r.length - 1].length + 1\n };\n}\nfunction v(e) {\n return e.startIndex + e[1].length;\n}\nvar B = {};\nconst re = {\n preserveOrder: !1,\n attributeNamePrefix: \"@_\",\n attributesGroupName: !1,\n textNodeName: \"#text\",\n ignoreAttributes: !0,\n removeNSPrefix: !1,\n // remove NS from tag name or attribute name if true\n allowBooleanAttributes: !1,\n //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: !0,\n parseAttributeValue: !1,\n trimValues: !0,\n //Trim string values of tag and attributes\n cdataPropName: !1,\n numberParseOptions: {\n hex: !0,\n leadingZeros: !0,\n eNotation: !0\n },\n tagValueProcessor: function(e, t) {\n return t;\n },\n attributeValueProcessor: function(e, t) {\n return t;\n },\n stopNodes: [],\n //nested tags will not be parsed even for errors\n alwaysCreateTextNode: !1,\n isArray: () => !1,\n commentPropName: !1,\n unpairedTags: [],\n processEntities: !0,\n htmlEntities: !1,\n ignoreDeclaration: !1,\n ignorePiTags: !1,\n transformTagName: !1,\n transformAttributeName: !1,\n updateTag: function(e, t, r) {\n return e;\n }\n // skipEmptyListItem: false\n}, Re = function(e) {\n return Object.assign({}, re, e);\n};\nB.buildOptions = Re;\nB.defaultOptions = re;\nclass Me {\n constructor(t) {\n this.tagname = t, this.child = [], this[\":@\"] = {};\n }\n add(t, r) {\n t === \"__proto__\" && (t = \"#__proto__\"), this.child.push({ [t]: r });\n }\n addChild(t) {\n t.tagname === \"__proto__\" && (t.tagname = \"#__proto__\"), t[\":@\"] && Object.keys(t[\":@\"]).length > 0 ? this.child.push({ [t.tagname]: t.child, \":@\": t[\":@\"] }) : this.child.push({ [t.tagname]: t.child });\n }\n}\nvar Be = Me;\nconst ke = O;\nfunction qe(e, t) {\n const r = {};\n if (e[t + 3] === \"O\" && e[t + 4] === \"C\" && e[t + 5] === \"T\" && e[t + 6] === \"Y\" && e[t + 7] === \"P\" && e[t + 8] === \"E\") {\n t = t + 9;\n let s = 1, n = !1, i = !1, d = \"\";\n for (; t < e.length; t++)\n if (e[t] === \"<\" && !i) {\n if (n && Ge(e, t))\n t += 7, [entityName, val, t] = Xe(e, t + 1), val.indexOf(\"&\") === -1 && (r[We(entityName)] = {\n regx: RegExp(`&${entityName};`, \"g\"),\n val\n });\n else if (n && ze(e, t))\n t += 8;\n else if (n && He(e, t))\n t += 8;\n else if (n && Ke(e, t))\n t += 9;\n else if (Ue)\n i = !0;\n else\n throw new Error(\"Invalid DOCTYPE\");\n s++, d = \"\";\n } else if (e[t] === \">\") {\n if (i ? e[t - 1] === \"-\" && e[t - 2] === \"-\" && (i = !1, s--) : s--, s === 0)\n break;\n } else\n e[t] === \"[\" ? n = !0 : d += e[t];\n if (s !== 0)\n throw new Error(\"Unclosed DOCTYPE\");\n } else\n throw new Error(\"Invalid Tag instead of DOCTYPE\");\n return { entities: r, i: t };\n}\nfunction Xe(e, t) {\n let r = \"\";\n for (; t < e.length && e[t] !== \"'\" && e[t] !== '\"'; t++)\n r += e[t];\n if (r = r.trim(), r.indexOf(\" \") !== -1)\n throw new Error(\"External entites are not supported\");\n const s = e[t++];\n let n = \"\";\n for (; t < e.length && e[t] !== s; t++)\n n += e[t];\n return [r, n, t];\n}\nfunction Ue(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"-\" && e[t + 3] === \"-\";\n}\nfunction Ge(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"E\" && e[t + 3] === \"N\" && e[t + 4] === \"T\" && e[t + 5] === \"I\" && e[t + 6] === \"T\" && e[t + 7] === \"Y\";\n}\nfunction ze(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"E\" && e[t + 3] === \"L\" && e[t + 4] === \"E\" && e[t + 5] === \"M\" && e[t + 6] === \"E\" && e[t + 7] === \"N\" && e[t + 8] === \"T\";\n}\nfunction He(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"A\" && e[t + 3] === \"T\" && e[t + 4] === \"T\" && e[t + 5] === \"L\" && e[t + 6] === \"I\" && e[t + 7] === \"S\" && e[t + 8] === \"T\";\n}\nfunction Ke(e, t) {\n return e[t + 1] === \"!\" && e[t + 2] === \"N\" && e[t + 3] === \"O\" && e[t + 4] === \"T\" && e[t + 5] === \"A\" && e[t + 6] === \"T\" && e[t + 7] === \"I\" && e[t + 8] === \"O\" && e[t + 9] === \"N\";\n}\nfunction We(e) {\n if (ke.isName(e))\n return e;\n throw new Error(`Invalid entity name ${e}`);\n}\nvar Ze = qe;\nconst je = /^[-+]?0x[a-fA-F0-9]+$/, Ye = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\n!Number.parseInt && window.parseInt && (Number.parseInt = window.parseInt);\n!Number.parseFloat && window.parseFloat && (Number.parseFloat = window.parseFloat);\nconst Je = {\n hex: !0,\n leadingZeros: !0,\n decimalPoint: \".\",\n eNotation: !0\n //skipLike: /regex/\n};\nfunction Qe(e, t = {}) {\n if (t = Object.assign({}, Je, t), !e || typeof e != \"string\")\n return e;\n let r = e.trim();\n if (t.skipLike !== void 0 && t.skipLike.test(r))\n return e;\n if (t.hex && je.test(r))\n return Number.parseInt(r, 16);\n {\n const s = Ye.exec(r);\n if (s) {\n const n = s[1], i = s[2];\n let d = De(s[3]);\n const u = s[4] || s[6];\n if (!t.leadingZeros && i.length > 0 && n && r[2] !== \".\")\n return e;\n if (!t.leadingZeros && i.length > 0 && !n && r[1] !== \".\")\n return e;\n {\n const o = Number(r), a = \"\" + o;\n return a.search(/[eE]/) !== -1 || u ? t.eNotation ? o : e : r.indexOf(\".\") !== -1 ? a === \"0\" && d === \"\" || a === d || n && a === \"-\" + d ? o : e : i ? d === a || n + d === a ? o : e : r === a || r === n + a ? o : e;\n }\n } else\n return e;\n }\n}\nfunction De(e) {\n return e && e.indexOf(\".\") !== -1 && (e = e.replace(/0+$/, \"\"), e === \".\" ? e = \"0\" : e[0] === \".\" ? e = \"0\" + e : e[e.length - 1] === \".\" && (e = e.substr(0, e.length - 1))), e;\n}\nvar et = Qe;\nconst k = O, T = Be, tt = Ze, rt = et;\n\"<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)\".replace(/NAME/g, k.nameRegexp);\nlet nt = class {\n constructor(t) {\n this.options = t, this.currentNode = null, this.tagsNodeStack = [], this.docTypeEntities = {}, this.lastEntities = {\n apos: { regex: /&(apos|#39|#x27);/g, val: \"'\" },\n gt: { regex: /&(gt|#62|#x3E);/g, val: \">\" },\n lt: { regex: /&(lt|#60|#x3C);/g, val: \"<\" },\n quot: { regex: /&(quot|#34|#x22);/g, val: '\"' }\n }, this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: \"&\" }, this.htmlEntities = {\n space: { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n cent: { regex: /&(cent|#162);/g, val: \"¢\" },\n pound: { regex: /&(pound|#163);/g, val: \"£\" },\n yen: { regex: /&(yen|#165);/g, val: \"¥\" },\n euro: { regex: /&(euro|#8364);/g, val: \"€\" },\n copyright: { regex: /&(copy|#169);/g, val: \"©\" },\n reg: { regex: /&(reg|#174);/g, val: \"®\" },\n inr: { regex: /&(inr|#8377);/g, val: \"₹\" }\n }, this.addExternalEntities = it, this.parseXml = at, this.parseTextData = st, this.resolveNameSpace = ot, this.buildAttributesMap = dt, this.isItStopNode = ht, this.replaceEntitiesValue = ft, this.readStopNodeData = gt, this.saveTextToParentTag = ct, this.addChild = lt;\n }\n};\nfunction it(e) {\n const t = Object.keys(e);\n for (let r = 0; r < t.length; r++) {\n const s = t[r];\n this.lastEntities[s] = {\n regex: new RegExp(\"&\" + s + \";\", \"g\"),\n val: e[s]\n };\n }\n}\nfunction st(e, t, r, s, n, i, d) {\n if (e !== void 0 && (this.options.trimValues && !s && (e = e.trim()), e.length > 0)) {\n d || (e = this.replaceEntitiesValue(e));\n const u = this.options.tagValueProcessor(t, e, r, n, i);\n return u == null ? e : typeof u != typeof e || u !== e ? u : this.options.trimValues ? $(e, this.options.parseTagValue, this.options.numberParseOptions) : e.trim() === e ? $(e, this.options.parseTagValue, this.options.numberParseOptions) : e;\n }\n}\nfunction ot(e) {\n if (this.options.removeNSPrefix) {\n const t = e.split(\":\"), r = e.charAt(0) === \"/\" ? \"/\" : \"\";\n if (t[0] === \"xmlns\")\n return \"\";\n t.length === 2 && (e = r + t[1]);\n }\n return e;\n}\nconst ut = new RegExp(`([^\\\\s=]+)\\\\s*(=\\\\s*(['\"])([\\\\s\\\\S]*?)\\\\3)?`, \"gm\");\nfunction dt(e, t, r) {\n if (!this.options.ignoreAttributes && typeof e == \"string\") {\n const s = k.getAllMatches(e, ut), n = s.length, i = {};\n for (let d = 0; d < n; d++) {\n const u = this.resolveNameSpace(s[d][1]);\n let o = s[d][4], a = this.options.attributeNamePrefix + u;\n if (u.length)\n if (this.options.transformAttributeName && (a = this.options.transformAttributeName(a)), a === \"__proto__\" && (a = \"#__proto__\"), o !== void 0) {\n this.options.trimValues && (o = o.trim()), o = this.replaceEntitiesValue(o);\n const l = this.options.attributeValueProcessor(u, o, t);\n l == null ? i[a] = o : typeof l != typeof o || l !== o ? i[a] = l : i[a] = $(\n o,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n } else\n this.options.allowBooleanAttributes && (i[a] = !0);\n }\n if (!Object.keys(i).length)\n return;\n if (this.options.attributesGroupName) {\n const d = {};\n return d[this.options.attributesGroupName] = i, d;\n }\n return i;\n }\n}\nconst at = function(e) {\n e = e.replace(/\\r\\n?/g, `\n`);\n const t = new T(\"!xml\");\n let r = t, s = \"\", n = \"\";\n for (let i = 0; i < e.length; i++)\n if (e[i] === \"<\")\n if (e[i + 1] === \"/\") {\n const u = y(e, \">\", i, \"Closing Tag is not closed.\");\n let o = e.substring(i + 2, u).trim();\n if (this.options.removeNSPrefix) {\n const f = o.indexOf(\":\");\n f !== -1 && (o = o.substr(f + 1));\n }\n this.options.transformTagName && (o = this.options.transformTagName(o)), r && (s = this.saveTextToParentTag(s, r, n));\n const a = n.substring(n.lastIndexOf(\".\") + 1);\n if (o && this.options.unpairedTags.indexOf(o) !== -1)\n throw new Error(`Unpaired tag can not be used as closing tag: </${o}>`);\n let l = 0;\n a && this.options.unpairedTags.indexOf(a) !== -1 ? (l = n.lastIndexOf(\".\", n.lastIndexOf(\".\") - 1), this.tagsNodeStack.pop()) : l = n.lastIndexOf(\".\"), n = n.substring(0, l), r = this.tagsNodeStack.pop(), s = \"\", i = u;\n } else if (e[i + 1] === \"?\") {\n let u = x(e, i, !1, \"?>\");\n if (!u)\n throw new Error(\"Pi Tag is not closed.\");\n if (s = this.saveTextToParentTag(s, r, n), !(this.options.ignoreDeclaration && u.tagName === \"?xml\" || this.options.ignorePiTags)) {\n const o = new T(u.tagName);\n o.add(this.options.textNodeName, \"\"), u.tagName !== u.tagExp && u.attrExpPresent && (o[\":@\"] = this.buildAttributesMap(u.tagExp, n, u.tagName)), this.addChild(r, o, n);\n }\n i = u.closeIndex + 1;\n } else if (e.substr(i + 1, 3) === \"!--\") {\n const u = y(e, \"-->\", i + 4, \"Comment is not closed.\");\n if (this.options.commentPropName) {\n const o = e.substring(i + 4, u - 2);\n s = this.saveTextToParentTag(s, r, n), r.add(this.options.commentPropName, [{ [this.options.textNodeName]: o }]);\n }\n i = u;\n } else if (e.substr(i + 1, 2) === \"!D\") {\n const u = tt(e, i);\n this.docTypeEntities = u.entities, i = u.i;\n } else if (e.substr(i + 1, 2) === \"![\") {\n const u = y(e, \"]]>\", i, \"CDATA is not closed.\") - 2, o = e.substring(i + 9, u);\n if (s = this.saveTextToParentTag(s, r, n), this.options.cdataPropName)\n r.add(this.options.cdataPropName, [{ [this.options.textNodeName]: o }]);\n else {\n let a = this.parseTextData(o, r.tagname, n, !0, !1, !0);\n a == null && (a = \"\"), r.add(this.options.textNodeName, a);\n }\n i = u + 2;\n } else {\n let u = x(e, i, this.options.removeNSPrefix), o = u.tagName;\n const a = u.rawTagName;\n let l = u.tagExp, f = u.attrExpPresent, c = u.closeIndex;\n this.options.transformTagName && (o = this.options.transformTagName(o)), r && s && r.tagname !== \"!xml\" && (s = this.saveTextToParentTag(s, r, n, !1));\n const g = r;\n if (g && this.options.unpairedTags.indexOf(g.tagname) !== -1 && (r = this.tagsNodeStack.pop(), n = n.substring(0, n.lastIndexOf(\".\"))), o !== t.tagname && (n += n ? \".\" + o : o), this.isItStopNode(this.options.stopNodes, n, o)) {\n let h = \"\";\n if (l.length > 0 && l.lastIndexOf(\"/\") === l.length - 1)\n i = u.closeIndex;\n else if (this.options.unpairedTags.indexOf(o) !== -1)\n i = u.closeIndex;\n else {\n const E = this.readStopNodeData(e, a, c + 1);\n if (!E)\n throw new Error(`Unexpected end of ${a}`);\n i = E.i, h = E.tagContent;\n }\n const _ = new T(o);\n o !== l && f && (_[\":@\"] = this.buildAttributesMap(l, n, o)), h && (h = this.parseTextData(h, o, n, !0, f, !0, !0)), n = n.substr(0, n.lastIndexOf(\".\")), _.add(this.options.textNodeName, h), this.addChild(r, _, n);\n } else {\n if (l.length > 0 && l.lastIndexOf(\"/\") === l.length - 1) {\n o[o.length - 1] === \"/\" ? (o = o.substr(0, o.length - 1), n = n.substr(0, n.length - 1), l = o) : l = l.substr(0, l.length - 1), this.options.transformTagName && (o = this.options.transformTagName(o));\n const h = new T(o);\n o !== l && f && (h[\":@\"] = this.buildAttributesMap(l, n, o)), this.addChild(r, h, n), n = n.substr(0, n.lastIndexOf(\".\"));\n } else {\n const h = new T(o);\n this.tagsNodeStack.push(r), o !== l && f && (h[\":@\"] = this.buildAttributesMap(l, n, o)), this.addChild(r, h, n), r = h;\n }\n s = \"\", i = c;\n }\n }\n else\n s += e[i];\n return t.child;\n};\nfunction lt(e, t, r) {\n const s = this.options.updateTag(t.tagname, r, t[\":@\"]);\n s === !1 || (typeof s == \"string\" && (t.tagname = s), e.addChild(t));\n}\nconst ft = function(e) {\n if (this.options.processEntities) {\n for (let t in this.docTypeEntities) {\n const r = this.docTypeEntities[t];\n e = e.replace(r.regx, r.val);\n }\n for (let t in this.lastEntities) {\n const r = this.lastEntities[t];\n e = e.replace(r.regex, r.val);\n }\n if (this.options.htmlEntities)\n for (let t in this.htmlEntities) {\n const r = this.htmlEntities[t];\n e = e.replace(r.regex, r.val);\n }\n e = e.replace(this.ampEntity.regex, this.ampEntity.val);\n }\n return e;\n};\nfunction ct(e, t, r, s) {\n return e && (s === void 0 && (s = Object.keys(t.child).length === 0), e = this.parseTextData(\n e,\n t.tagname,\n r,\n !1,\n t[\":@\"] ? Object.keys(t[\":@\"]).length !== 0 : !1,\n s\n ), e !== void 0 && e !== \"\" && t.add(this.options.textNodeName, e), e = \"\"), e;\n}\nfunction ht(e, t, r) {\n const s = \"*.\" + r;\n for (const n in e) {\n const i = e[n];\n if (s === i || t === i)\n return !0;\n }\n return !1;\n}\nfunction pt(e, t, r = \">\") {\n let s, n = \"\";\n for (let i = t; i < e.length; i++) {\n let d = e[i];\n if (s)\n d === s && (s = \"\");\n else if (d === '\"' || d === \"'\")\n s = d;\n else if (d === r[0])\n if (r[1]) {\n if (e[i + 1] === r[1])\n return {\n data: n,\n index: i\n };\n } else\n return {\n data: n,\n index: i\n };\n else\n d === \"\t\" && (d = \" \");\n n += d;\n }\n}\nfunction y(e, t, r, s) {\n const n = e.indexOf(t, r);\n if (n === -1)\n throw new Error(s);\n return n + t.length - 1;\n}\nfunction x(e, t, r, s = \">\") {\n const n = pt(e, t + 1, s);\n if (!n)\n return;\n let i = n.data;\n const d = n.index, u = i.search(/\\s/);\n let o = i, a = !0;\n u !== -1 && (o = i.substr(0, u).replace(/\\s\\s*$/, \"\"), i = i.substr(u + 1));\n const l = o;\n if (r) {\n const f = o.indexOf(\":\");\n f !== -1 && (o = o.substr(f + 1), a = o !== n.data.substr(f + 1));\n }\n return {\n tagName: o,\n tagExp: i,\n closeIndex: d,\n attrExpPresent: a,\n rawTagName: l\n };\n}\nfunction gt(e, t, r) {\n const s = r;\n let n = 1;\n for (; r < e.length; r++)\n if (e[r] === \"<\")\n if (e[r + 1] === \"/\") {\n const i = y(e, \">\", r, `${t} is not closed`);\n if (e.substring(r + 2, i).trim() === t && (n--, n === 0))\n return {\n tagContent: e.substring(s, r),\n i\n };\n r = i;\n } else if (e[r + 1] === \"?\")\n r = y(e, \"?>\", r + 1, \"StopNode is not closed.\");\n else if (e.substr(r + 1, 3) === \"!--\")\n r = y(e, \"-->\", r + 3, \"StopNode is not closed.\");\n else if (e.substr(r + 1, 2) === \"![\")\n r = y(e, \"]]>\", r, \"StopNode is not closed.\") - 2;\n else {\n const i = x(e, r, \">\");\n i && ((i && i.tagName) === t && i.tagExp[i.tagExp.length - 1] !== \"/\" && n++, r = i.closeIndex);\n }\n}\nfunction $(e, t, r) {\n if (t && typeof e == \"string\") {\n const s = e.trim();\n return s === \"true\" ? !0 : s === \"false\" ? !1 : rt(e, r);\n } else\n return k.isExist(e) ? e : \"\";\n}\nvar wt = nt, ne = {};\nfunction mt(e, t) {\n return ie(e, t);\n}\nfunction ie(e, t, r) {\n let s;\n const n = {};\n for (let i = 0; i < e.length; i++) {\n const d = e[i], u = Nt(d);\n let o = \"\";\n if (r === void 0 ? o = u : o = r + \".\" + u, u === t.textNodeName)\n s === void 0 ? s = d[u] : s += \"\" + d[u];\n else {\n if (u === void 0)\n continue;\n if (d[u]) {\n let a = ie(d[u], t, o);\n const l = bt(a, t);\n d[\":@\"] ? Et(a, d[\":@\"], o, t) : Object.keys(a).length === 1 && a[t.textNodeName] !== void 0 && !t.alwaysCreateTextNode ? a = a[t.textNodeName] : Object.keys(a).length === 0 && (t.alwaysCreateTextNode ? a[t.textNodeName] = \"\" : a = \"\"), n[u] !== void 0 && n.hasOwnProperty(u) ? (Array.isArray(n[u]) || (n[u] = [n[u]]), n[u].push(a)) : t.isArray(u, o, l) ? n[u] = [a] : n[u] = a;\n }\n }\n }\n return typeof s == \"string\" ? s.length > 0 && (n[t.textNodeName] = s) : s !== void 0 && (n[t.textNodeName] = s), n;\n}\nfunction Nt(e) {\n const t = Object.keys(e);\n for (let r = 0; r < t.length; r++) {\n const s = t[r];\n if (s !== \":@\")\n return s;\n }\n}\nfunction Et(e, t, r, s) {\n if (t) {\n const n = Object.keys(t), i = n.length;\n for (let d = 0; d < i; d++) {\n const u = n[d];\n s.isArray(u, r + \".\" + u, !0, !0) ? e[u] = [t[u]] : e[u] = t[u];\n }\n }\n}\nfunction bt(e, t) {\n const { textNodeName: r } = t, s = Object.keys(e).length;\n return !!(s === 0 || s === 1 && (e[r] || typeof e[r] == \"boolean\" || e[r] === 0));\n}\nne.prettify = mt;\nconst { buildOptions: yt } = B, _t = wt, { prettify: vt } = ne, Tt = R;\nlet It = class {\n constructor(t) {\n this.externalEntities = {}, this.options = yt(t);\n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(t, r) {\n if (typeof t != \"string\")\n if (t.toString)\n t = t.toString();\n else\n throw new Error(\"XML data is accepted in String or Bytes[] form.\");\n if (r) {\n r === !0 && (r = {});\n const i = Tt.validate(t, r);\n if (i !== !0)\n throw Error(`${i.err.msg}:${i.err.line}:${i.err.col}`);\n }\n const s = new _t(this.options);\n s.addExternalEntities(this.externalEntities);\n const n = s.parseXml(t);\n return this.options.preserveOrder || n === void 0 ? n : vt(n, this.options);\n }\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(t, r) {\n if (r.indexOf(\"&\") !== -1)\n throw new Error(\"Entity value can't have '&'\");\n if (t.indexOf(\"&\") !== -1 || t.indexOf(\";\") !== -1)\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for '
'\");\n if (r === \"&\")\n throw new Error(\"An entity with value '&' is not permitted\");\n this.externalEntities[t] = r;\n }\n};\nvar At = It;\nconst Ot = `\n`;\nfunction Ct(e, t) {\n let r = \"\";\n return t.format && t.indentBy.length > 0 && (r = Ot), se(e, t, \"\", r);\n}\nfunction se(e, t, r, s) {\n let n = \"\", i = !1;\n for (let d = 0; d < e.length; d++) {\n const u = e[d], o = Pt(u);\n if (o === void 0)\n continue;\n let a = \"\";\n if (r.length === 0 ? a = o : a = `${r}.${o}`, o === t.textNodeName) {\n let h = u[o];\n xt(a, t) || (h = t.tagValueProcessor(o, h), h = oe(h, t)), i && (n += s), n += h, i = !1;\n continue;\n } else if (o === t.cdataPropName) {\n i && (n += s), n += `<![CDATA[${u[o][0][t.textNodeName]}]]>`, i = !1;\n continue;\n } else if (o === t.commentPropName) {\n n += s + `<!--${u[o][0][t.textNodeName]}-->`, i = !0;\n continue;\n } else if (o[0] === \"?\") {\n const h = K(u[\":@\"], t), _ = o === \"?xml\" ? \"\" : s;\n let E = u[o][0][t.textNodeName];\n E = E.length !== 0 ? \" \" + E : \"\", n += _ + `<${o}${E}${h}?>`, i = !0;\n continue;\n }\n let l = s;\n l !== \"\" && (l += t.indentBy);\n const f = K(u[\":@\"], t), c = s + `<${o}${f}`, g = se(u[o], t, a, l);\n t.unpairedTags.indexOf(o) !== -1 ? t.suppressUnpairedNode ? n += c + \">\" : n += c + \"/>\" : (!g || g.length === 0) && t.suppressEmptyNode ? n += c + \"/>\" : g && g.endsWith(\">\") ? n += c + `>${g}${s}</${o}>` : (n += c + \">\", g && s !== \"\" && (g.includes(\"/>\") || g.includes(\"</\")) ? n += s + t.indentBy + g + s : n += g, n += `</${o}>`), i = !0;\n }\n return n;\n}\nfunction Pt(e) {\n const t = Object.keys(e);\n for (let r = 0; r < t.length; r++) {\n const s = t[r];\n if (e.hasOwnProperty(s) && s !== \":@\")\n return s;\n }\n}\nfunction K(e, t) {\n let r = \"\";\n if (e && !t.ignoreAttributes)\n for (let s in e) {\n if (!e.hasOwnProperty(s))\n continue;\n let n = t.attributeValueProcessor(s, e[s]);\n n = oe(n, t), n === !0 && t.suppressBooleanAttributes ? r += ` ${s.substr(t.attributeNamePrefix.length)}` : r += ` ${s.substr(t.attributeNamePrefix.length)}=\"${n}\"`;\n }\n return r;\n}\nfunction xt(e, t) {\n e = e.substr(0, e.length - t.textNodeName.length - 1);\n let r = e.substr(e.lastIndexOf(\".\") + 1);\n for (let s in t.stopNodes)\n if (t.stopNodes[s] === e || t.stopNodes[s] === \"*.\" + r)\n return !0;\n return !1;\n}\nfunction oe(e, t) {\n if (e && e.length > 0 && t.processEntities)\n for (let r = 0; r < t.entities.length; r++) {\n const s = t.entities[r];\n e = e.replace(s.regex, s.val);\n }\n return e;\n}\nvar $t = Ct;\nconst Ft = $t, Vt = {\n attributeNamePrefix: \"@_\",\n attributesGroupName: !1,\n textNodeName: \"#text\",\n ignoreAttributes: !0,\n cdataPropName: !1,\n format: !1,\n indentBy: \" \",\n suppressEmptyNode: !1,\n suppressUnpairedNode: !0,\n suppressBooleanAttributes: !0,\n tagValueProcessor: function(e, t) {\n return t;\n },\n attributeValueProcessor: function(e, t) {\n return t;\n },\n preserveOrder: !1,\n commentPropName: !1,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&\" },\n //it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \">\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"<\" },\n { regex: new RegExp(\"'\", \"g\"), val: \"'\" },\n { regex: new RegExp('\"', \"g\"), val: \""\" }\n ],\n processEntities: !0,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n oneListGroup: !1\n};\nfunction b(e) {\n this.options = Object.assign({}, Vt, e), this.options.ignoreAttributes || this.options.attributesGroupName ? this.isAttribute = function() {\n return !1;\n } : (this.attrPrefixLen = this.options.attributeNamePrefix.length, this.isAttribute = Rt), this.processTextOrObjNode = Lt, this.options.format ? (this.indentate = St, this.tagEndChar = `>\n`, this.newLine = `\n`) : (this.indentate = function() {\n return \"\";\n }, this.tagEndChar = \">\", this.newLine = \"\");\n}\nb.prototype.build = function(e) {\n return this.options.preserveOrder ? Ft(e, this.options) : (Array.isArray(e) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1 && (e = {\n [this.options.arrayNodeName]: e\n }), this.j2x(e, 0).val);\n};\nb.prototype.j2x = function(e, t) {\n let r = \"\", s = \"\";\n for (let n in e)\n if (Object.prototype.hasOwnProperty.call(e, n))\n if (typeof e[n] > \"u\")\n this.isAttribute(n) && (s += \"\");\n else if (e[n] === null)\n this.isAttribute(n) ? s += \"\" : n[0] === \"?\" ? s += this.indentate(t) + \"<\" + n + \"?\" + this.tagEndChar : s += this.indentate(t) + \"<\" + n + \"/\" + this.tagEndChar;\n else if (e[n] instanceof Date)\n s += this.buildTextValNode(e[n], n, \"\", t);\n else if (typeof e[n] != \"object\") {\n const i = this.isAttribute(n);\n if (i)\n r += this.buildAttrPairStr(i, \"\" + e[n]);\n else if (n === this.options.textNodeName) {\n let d = this.options.tagValueProcessor(n, \"\" + e[n]);\n s += this.replaceEntitiesValue(d);\n } else\n s += this.buildTextValNode(e[n], n, \"\", t);\n } else if (Array.isArray(e[n])) {\n const i = e[n].length;\n let d = \"\";\n for (let u = 0; u < i; u++) {\n const o = e[n][u];\n typeof o > \"u\" || (o === null ? n[0] === \"?\" ? s += this.indentate(t) + \"<\" + n + \"?\" + this.tagEndChar : s += this.indentate(t) + \"<\" + n + \"/\" + this.tagEndChar : typeof o == \"object\" ? this.options.oneListGroup ? d += this.j2x(o, t + 1).val : d += this.processTextOrObjNode(o, n, t) : d += this.buildTextValNode(o, n, \"\", t));\n }\n this.options.oneListGroup && (d = this.buildObjectNode(d, n, \"\", t)), s += d;\n } else if (this.options.attributesGroupName && n === this.options.attributesGroupName) {\n const i = Object.keys(e[n]), d = i.length;\n for (let u = 0; u < d; u++)\n r += this.buildAttrPairStr(i[u], \"\" + e[n][i[u]]);\n } else\n s += this.processTextOrObjNode(e[n], n, t);\n return { attrStr: r, val: s };\n};\nb.prototype.buildAttrPairStr = function(e, t) {\n return t = this.options.attributeValueProcessor(e, \"\" + t), t = this.replaceEntitiesValue(t), this.options.suppressBooleanAttributes && t === \"true\" ? \" \" + e : \" \" + e + '=\"' + t + '\"';\n};\nfunction Lt(e, t, r) {\n const s = this.j2x(e, r + 1);\n return e[this.options.textNodeName] !== void 0 && Object.keys(e).length === 1 ? this.buildTextValNode(e[this.options.textNodeName], t, s.attrStr, r) : this.buildObjectNode(s.val, t, s.attrStr, r);\n}\nb.prototype.buildObjectNode = function(e, t, r, s) {\n if (e === \"\")\n return t[0] === \"?\" ? this.indentate(s) + \"<\" + t + r + \"?\" + this.tagEndChar : this.indentate(s) + \"<\" + t + r + this.closeTag(t) + this.tagEndChar;\n {\n let n = \"</\" + t + this.tagEndChar, i = \"\";\n return t[0] === \"?\" && (i = \"?\", n = \"\"), (r || r === \"\") && e.indexOf(\"<\") === -1 ? this.indentate(s) + \"<\" + t + r + i + \">\" + e + n : this.options.commentPropName !== !1 && t === this.options.commentPropName && i.length === 0 ? this.indentate(s) + `<!--${e}-->` + this.newLine : this.indentate(s) + \"<\" + t + r + i + this.tagEndChar + e + this.indentate(s) + n;\n }\n};\nb.prototype.closeTag = function(e) {\n let t = \"\";\n return this.options.unpairedTags.indexOf(e) !== -1 ? this.options.suppressUnpairedNode || (t = \"/\") : this.options.suppressEmptyNode ? t = \"/\" : t = `></${e}`, t;\n};\nb.prototype.buildTextValNode = function(e, t, r, s) {\n if (this.options.cdataPropName !== !1 && t === this.options.cdataPropName)\n return this.indentate(s) + `<![CDATA[${e}]]>` + this.newLine;\n if (this.options.commentPropName !== !1 && t === this.options.commentPropName)\n return this.indentate(s) + `<!--${e}-->` + this.newLine;\n if (t[0] === \"?\")\n return this.indentate(s) + \"<\" + t + r + \"?\" + this.tagEndChar;\n {\n let n = this.options.tagValueProcessor(t, e);\n return n = this.replaceEntitiesValue(n), n === \"\" ? this.indentate(s) + \"<\" + t + r + this.closeTag(t) + this.tagEndChar : this.indentate(s) + \"<\" + t + r + \">\" + n + \"</\" + t + this.tagEndChar;\n }\n};\nb.prototype.replaceEntitiesValue = function(e) {\n if (e && e.length > 0 && this.options.processEntities)\n for (let t = 0; t < this.options.entities.length; t++) {\n const r = this.options.entities[t];\n e = e.replace(r.regex, r.val);\n }\n return e;\n};\nfunction St(e) {\n return this.options.indentBy.repeat(e);\n}\nfunction Rt(e) {\n return e.startsWith(this.options.attributeNamePrefix) && e !== this.options.textNodeName ? e.substr(this.attrPrefixLen) : !1;\n}\nvar Mt = b;\nconst Bt = R, kt = At, qt = Mt;\nvar W = {\n XMLParser: kt,\n XMLValidator: Bt,\n XMLBuilder: qt\n};\nfunction Xt(e) {\n if (typeof e != \"string\")\n throw new TypeError(`Expected a \\`string\\`, got \\`${typeof e}\\``);\n if (e = e.trim(), e.length === 0 || W.XMLValidator.validate(e) !== !0)\n return !1;\n let t;\n const r = new W.XMLParser();\n try {\n t = r.parse(e);\n } catch {\n return !1;\n }\n return !(!t || !(\"svg\" in t));\n}\n/**\n * @copyright Copyright (c) 2022 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nclass hr {\n _view;\n constructor(t) {\n Ut(t), this._view = t;\n }\n get id() {\n return this._view.id;\n }\n get name() {\n return this._view.name;\n }\n get caption() {\n return this._view.caption;\n }\n get emptyTitle() {\n return this._view.emptyTitle;\n }\n get emptyCaption() {\n return this._view.emptyCaption;\n }\n get getContents() {\n return this._view.getContents;\n }\n get icon() {\n return this._view.icon;\n }\n set icon(t) {\n this._view.icon = t;\n }\n get order() {\n return this._view.order;\n }\n set order(t) {\n this._view.order = t;\n }\n get params() {\n return this._view.params;\n }\n set params(t) {\n this._view.params = t;\n }\n get columns() {\n return this._view.columns;\n }\n get emptyView() {\n return this._view.emptyView;\n }\n get parent() {\n return this._view.parent;\n }\n get sticky() {\n return this._view.sticky;\n }\n get expanded() {\n return this._view.expanded;\n }\n set expanded(t) {\n this._view.expanded = t;\n }\n get defaultSortKey() {\n return this._view.defaultSortKey;\n }\n}\nconst Ut = function(e) {\n if (!e.id || typeof e.id != \"string\")\n throw new Error(\"View id is required and must be a string\");\n if (!e.name || typeof e.name != \"string\")\n throw new Error(\"View name is required and must be a string\");\n if (e.columns && e.columns.length > 0 && (!e.caption || typeof e.caption != \"string\"))\n throw new Error(\"View caption is required for top-level views and must be a string\");\n if (!e.getContents || typeof e.getContents != \"function\")\n throw new Error(\"View getContents is required and must be a function\");\n if (!e.icon || typeof e.icon != \"string\" || !Xt(e.icon))\n throw new Error(\"View icon is required and must be a valid svg string\");\n if (!(\"order\" in e) || typeof e.order != \"number\")\n throw new Error(\"View order is required and must be a number\");\n if (e.columns && e.columns.forEach((t) => {\n if (!(t instanceof Ie))\n throw new Error(\"View columns must be an array of Column. Invalid column found\");\n }), e.emptyView && typeof e.emptyView != \"function\")\n throw new Error(\"View emptyView must be a function\");\n if (e.parent && typeof e.parent != \"string\")\n throw new Error(\"View parent must be a string\");\n if (\"sticky\" in e && typeof e.sticky != \"boolean\")\n throw new Error(\"View sticky must be a boolean\");\n if (\"expanded\" in e && typeof e.expanded != \"boolean\")\n throw new Error(\"View expanded must be a boolean\");\n if (e.defaultSortKey && typeof e.defaultSortKey != \"string\")\n throw new Error(\"View defaultSortKey must be a string\");\n return !0;\n};\n/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nconst pr = function(e) {\n return F().registerEntry(e);\n}, gr = function(e) {\n return F().unregisterEntry(e);\n}, wr = function(e) {\n return F().getEntries(e).sort((r, s) => r.order !== void 0 && s.order !== void 0 ? r.order - s.order : r.displayName.localeCompare(s.displayName));\n};\nexport {\n Ie as Column,\n Z as DefaultType,\n ye as File,\n Dt as FileAction,\n S as FileType,\n _e as Folder,\n rr as Header,\n Te as Navigation,\n D as Node,\n Q as NodeStatus,\n N as Permission,\n hr as View,\n pr as addNewFileMenuEntry,\n dr as davGetClient,\n or as davGetDefaultPropfind,\n Ee as davGetFavoritesReport,\n ur as davGetRecentSearch,\n be as davParsePermissions,\n te as davRemoteURL,\n ve as davResultToNode,\n ee as davRootPath,\n Y as defaultDavNamespaces,\n j as defaultDavProperties,\n Jt as formatFileSize,\n L as getDavNameSpaces,\n V as getDavProperties,\n ar as getFavoriteNodes,\n tr as getFileActions,\n ir as getFileListHeaders,\n lr as getNavigation,\n wr as getNewFileMenuEntries,\n Qt as parseFileSize,\n sr as registerDavProperty,\n er as registerFileAction,\n nr as registerFileListHeaders,\n gr as removeNewFileMenuEntry\n};\n","// Current version.\nexport var VERSION = '1.13.6';\n\n// Establish the root object, `window` (`self`) in the browser, `global`\n// on the server, or `this` in some virtual machines. We use `self`\n// instead of `window` for `WebWorker` support.\nexport var root = (typeof self == 'object' && self.self === self && self) ||\n (typeof global == 'object' && global.global === global && global) ||\n Function('return this')() ||\n {};\n\n// Save bytes in the minified (but not gzipped) version:\nexport var ArrayProto = Array.prototype, ObjProto = Object.prototype;\nexport var SymbolProto = typeof Symbol !== 'undefined' ? Symbol.prototype : null;\n\n// Create quick reference variables for speed access to core prototypes.\nexport var push = ArrayProto.push,\n slice = ArrayProto.slice,\n toString = ObjProto.toString,\n hasOwnProperty = ObjProto.hasOwnProperty;\n\n// Modern feature detection.\nexport var supportsArrayBuffer = typeof ArrayBuffer !== 'undefined',\n supportsDataView = typeof DataView !== 'undefined';\n\n// All **ECMAScript 5+** native function implementations that we hope to use\n// are declared here.\nexport var nativeIsArray = Array.isArray,\n nativeKeys = Object.keys,\n nativeCreate = Object.create,\n nativeIsView = supportsArrayBuffer && ArrayBuffer.isView;\n\n// Create references to these builtin functions because we override them.\nexport var _isNaN = isNaN,\n _isFinite = isFinite;\n\n// Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed.\nexport var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');\nexport var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString',\n 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n\n// The largest integer that can be represented exactly.\nexport var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;\n","// Some functions take a variable number of arguments, or a few expected\n// arguments at the beginning and then a variable number of values to operate\n// on. This helper accumulates all remaining arguments past the function’s\n// argument length (or an explicit `startIndex`), into an array that becomes\n// the last argument. Similar to ES6’s \"rest parameter\".\nexport default function restArguments(func, startIndex) {\n startIndex = startIndex == null ? func.length - 1 : +startIndex;\n return function() {\n var length = Math.max(arguments.length - startIndex, 0),\n rest = Array(length),\n index = 0;\n for (; index < length; index++) {\n rest[index] = arguments[index + startIndex];\n }\n switch (startIndex) {\n case 0: return func.call(this, rest);\n case 1: return func.call(this, arguments[0], rest);\n case 2: return func.call(this, arguments[0], arguments[1], rest);\n }\n var args = Array(startIndex + 1);\n for (index = 0; index < startIndex; index++) {\n args[index] = arguments[index];\n }\n args[startIndex] = rest;\n return func.apply(this, args);\n };\n}\n","// Is a given variable an object?\nexport default function isObject(obj) {\n var type = typeof obj;\n return type === 'function' || (type === 'object' && !!obj);\n}\n","// Is a given value equal to null?\nexport default function isNull(obj) {\n return obj === null;\n}\n","// Is a given variable undefined?\nexport default function isUndefined(obj) {\n return obj === void 0;\n}\n","import { toString } from './_setup.js';\n\n// Is a given value a boolean?\nexport default function isBoolean(obj) {\n return obj === true || obj === false || toString.call(obj) === '[object Boolean]';\n}\n","// Is a given value a DOM element?\nexport default function isElement(obj) {\n return !!(obj && obj.nodeType === 1);\n}\n","import { toString } from './_setup.js';\n\n// Internal function for creating a `toString`-based type tester.\nexport default function tagTester(name) {\n var tag = '[object ' + name + ']';\n return function(obj) {\n return toString.call(obj) === tag;\n };\n}\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('String');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Number');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Date');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('RegExp');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Error');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Symbol');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('ArrayBuffer');\n","import tagTester from './_tagTester.js';\nimport { root } from './_setup.js';\n\nvar isFunction = tagTester('Function');\n\n// Optimize `isFunction` if appropriate. Work around some `typeof` bugs in old\n// v8, IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236).\nvar nodelist = root.document && root.document.childNodes;\nif (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') {\n isFunction = function(obj) {\n return typeof obj == 'function' || false;\n };\n}\n\nexport default isFunction;\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('Object');\n","import { supportsDataView } from './_setup.js';\nimport hasObjectTag from './_hasObjectTag.js';\n\n// In IE 10 - Edge 13, `DataView` has string tag `'[object Object]'`.\n// In IE 11, the most common among them, this problem also applies to\n// `Map`, `WeakMap` and `Set`.\nexport var hasStringTagBug = (\n supportsDataView && hasObjectTag(new DataView(new ArrayBuffer(8)))\n ),\n isIE11 = (typeof Map !== 'undefined' && hasObjectTag(new Map));\n","import tagTester from './_tagTester.js';\nimport isFunction from './isFunction.js';\nimport isArrayBuffer from './isArrayBuffer.js';\nimport { hasStringTagBug } from './_stringTagBug.js';\n\nvar isDataView = tagTester('DataView');\n\n// In IE 10 - Edge 13, we need a different heuristic\n// to determine whether an object is a `DataView`.\nfunction ie10IsDataView(obj) {\n return obj != null && isFunction(obj.getInt8) && isArrayBuffer(obj.buffer);\n}\n\nexport default (hasStringTagBug ? ie10IsDataView : isDataView);\n","import { nativeIsArray } from './_setup.js';\nimport tagTester from './_tagTester.js';\n\n// Is a given value an array?\n// Delegates to ECMA5's native `Array.isArray`.\nexport default nativeIsArray || tagTester('Array');\n","import { hasOwnProperty } from './_setup.js';\n\n// Internal function to check whether `key` is an own property name of `obj`.\nexport default function has(obj, key) {\n return obj != null && hasOwnProperty.call(obj, key);\n}\n","import tagTester from './_tagTester.js';\nimport has from './_has.js';\n\nvar isArguments = tagTester('Arguments');\n\n// Define a fallback version of the method in browsers (ahem, IE < 9), where\n// there isn't any inspectable \"Arguments\" type.\n(function() {\n if (!isArguments(arguments)) {\n isArguments = function(obj) {\n return has(obj, 'callee');\n };\n }\n}());\n\nexport default isArguments;\n","import { _isFinite } from './_setup.js';\nimport isSymbol from './isSymbol.js';\n\n// Is a given object a finite number?\nexport default function isFinite(obj) {\n return !isSymbol(obj) && _isFinite(obj) && !isNaN(parseFloat(obj));\n}\n","import { _isNaN } from './_setup.js';\nimport isNumber from './isNumber.js';\n\n// Is the given value `NaN`?\nexport default function isNaN(obj) {\n return isNumber(obj) && _isNaN(obj);\n}\n","// Predicate-generating function. Often useful outside of Underscore.\nexport default function constant(value) {\n return function() {\n return value;\n };\n}\n","import { MAX_ARRAY_INDEX } from './_setup.js';\n\n// Common internal logic for `isArrayLike` and `isBufferLike`.\nexport default function createSizePropertyCheck(getSizeProperty) {\n return function(collection) {\n var sizeProperty = getSizeProperty(collection);\n return typeof sizeProperty == 'number' && sizeProperty >= 0 && sizeProperty <= MAX_ARRAY_INDEX;\n }\n}\n","// Internal helper to generate a function to obtain property `key` from `obj`.\nexport default function shallowProperty(key) {\n return function(obj) {\n return obj == null ? void 0 : obj[key];\n };\n}\n","import shallowProperty from './_shallowProperty.js';\n\n// Internal helper to obtain the `byteLength` property of an object.\nexport default shallowProperty('byteLength');\n","import createSizePropertyCheck from './_createSizePropertyCheck.js';\nimport getByteLength from './_getByteLength.js';\n\n// Internal helper to determine whether we should spend extensive checks against\n// `ArrayBuffer` et al.\nexport default createSizePropertyCheck(getByteLength);\n","import { supportsArrayBuffer, nativeIsView, toString } from './_setup.js';\nimport isDataView from './isDataView.js';\nimport constant from './constant.js';\nimport isBufferLike from './_isBufferLike.js';\n\n// Is a given value a typed array?\nvar typedArrayPattern = /\\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\\]/;\nfunction isTypedArray(obj) {\n // `ArrayBuffer.isView` is the most future-proof, so use it when available.\n // Otherwise, fall back on the above regular expression.\n return nativeIsView ? (nativeIsView(obj) && !isDataView(obj)) :\n isBufferLike(obj) && typedArrayPattern.test(toString.call(obj));\n}\n\nexport default supportsArrayBuffer ? isTypedArray : constant(false);\n","import shallowProperty from './_shallowProperty.js';\n\n// Internal helper to obtain the `length` property of an object.\nexport default shallowProperty('length');\n","import { nonEnumerableProps, ObjProto } from './_setup.js';\nimport isFunction from './isFunction.js';\nimport has from './_has.js';\n\n// Internal helper to create a simple lookup structure.\n// `collectNonEnumProps` used to depend on `_.contains`, but this led to\n// circular imports. `emulatedSet` is a one-off solution that only works for\n// arrays of strings.\nfunction emulatedSet(keys) {\n var hash = {};\n for (var l = keys.length, i = 0; i < l; ++i) hash[keys[i]] = true;\n return {\n contains: function(key) { return hash[key] === true; },\n push: function(key) {\n hash[key] = true;\n return keys.push(key);\n }\n };\n}\n\n// Internal helper. Checks `keys` for the presence of keys in IE < 9 that won't\n// be iterated by `for key in ...` and thus missed. Extends `keys` in place if\n// needed.\nexport default function collectNonEnumProps(obj, keys) {\n keys = emulatedSet(keys);\n var nonEnumIdx = nonEnumerableProps.length;\n var constructor = obj.constructor;\n var proto = (isFunction(constructor) && constructor.prototype) || ObjProto;\n\n // Constructor is a special case.\n var prop = 'constructor';\n if (has(obj, prop) && !keys.contains(prop)) keys.push(prop);\n\n while (nonEnumIdx--) {\n prop = nonEnumerableProps[nonEnumIdx];\n if (prop in obj && obj[prop] !== proto[prop] && !keys.contains(prop)) {\n keys.push(prop);\n }\n }\n}\n","import isObject from './isObject.js';\nimport { nativeKeys, hasEnumBug } from './_setup.js';\nimport has from './_has.js';\nimport collectNonEnumProps from './_collectNonEnumProps.js';\n\n// Retrieve the names of an object's own properties.\n// Delegates to **ECMAScript 5**'s native `Object.keys`.\nexport default function keys(obj) {\n if (!isObject(obj)) return [];\n if (nativeKeys) return nativeKeys(obj);\n var keys = [];\n for (var key in obj) if (has(obj, key)) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n}\n","import getLength from './_getLength.js';\nimport isArray from './isArray.js';\nimport isString from './isString.js';\nimport isArguments from './isArguments.js';\nimport keys from './keys.js';\n\n// Is a given array, string, or object empty?\n// An \"empty\" object has no enumerable own-properties.\nexport default function isEmpty(obj) {\n if (obj == null) return true;\n // Skip the more expensive `toString`-based type checks if `obj` has no\n // `.length`.\n var length = getLength(obj);\n if (typeof length == 'number' && (\n isArray(obj) || isString(obj) || isArguments(obj)\n )) return length === 0;\n return getLength(keys(obj)) === 0;\n}\n","import keys from './keys.js';\n\n// Returns whether an object has a given set of `key:value` pairs.\nexport default function isMatch(object, attrs) {\n var _keys = keys(attrs), length = _keys.length;\n if (object == null) return !length;\n var obj = Object(object);\n for (var i = 0; i < length; i++) {\n var key = _keys[i];\n if (attrs[key] !== obj[key] || !(key in obj)) return false;\n }\n return true;\n}\n","import { VERSION } from './_setup.js';\n\n// If Underscore is called as a function, it returns a wrapped object that can\n// be used OO-style. This wrapper holds altered versions of all functions added\n// through `_.mixin`. Wrapped objects may be chained.\nexport default function _(obj) {\n if (obj instanceof _) return obj;\n if (!(this instanceof _)) return new _(obj);\n this._wrapped = obj;\n}\n\n_.VERSION = VERSION;\n\n// Extracts the result from a wrapped and chained object.\n_.prototype.value = function() {\n return this._wrapped;\n};\n\n// Provide unwrapping proxies for some methods used in engine operations\n// such as arithmetic and JSON stringification.\n_.prototype.valueOf = _.prototype.toJSON = _.prototype.value;\n\n_.prototype.toString = function() {\n return String(this._wrapped);\n};\n","import getByteLength from './_getByteLength.js';\n\n// Internal function to wrap or shallow-copy an ArrayBuffer,\n// typed array or DataView to a new view, reusing the buffer.\nexport default function toBufferView(bufferSource) {\n return new Uint8Array(\n bufferSource.buffer || bufferSource,\n bufferSource.byteOffset || 0,\n getByteLength(bufferSource)\n );\n}\n","import _ from './underscore.js';\nimport { toString, SymbolProto } from './_setup.js';\nimport getByteLength from './_getByteLength.js';\nimport isTypedArray from './isTypedArray.js';\nimport isFunction from './isFunction.js';\nimport { hasStringTagBug } from './_stringTagBug.js';\nimport isDataView from './isDataView.js';\nimport keys from './keys.js';\nimport has from './_has.js';\nimport toBufferView from './_toBufferView.js';\n\n// We use this string twice, so give it a name for minification.\nvar tagDataView = '[object DataView]';\n\n// Internal recursive comparison function for `_.isEqual`.\nfunction eq(a, b, aStack, bStack) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](https://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b) return a !== 0 || 1 / a === 1 / b;\n // `null` or `undefined` only equal to itself (strict comparison).\n if (a == null || b == null) return false;\n // `NaN`s are equivalent, but non-reflexive.\n if (a !== a) return b !== b;\n // Exhaust primitive checks\n var type = typeof a;\n if (type !== 'function' && type !== 'object' && typeof b != 'object') return false;\n return deepEq(a, b, aStack, bStack);\n}\n\n// Internal recursive comparison function for `_.isEqual`.\nfunction deepEq(a, b, aStack, bStack) {\n // Unwrap any wrapped objects.\n if (a instanceof _) a = a._wrapped;\n if (b instanceof _) b = b._wrapped;\n // Compare `[[Class]]` names.\n var className = toString.call(a);\n if (className !== toString.call(b)) return false;\n // Work around a bug in IE 10 - Edge 13.\n if (hasStringTagBug && className == '[object Object]' && isDataView(a)) {\n if (!isDataView(b)) return false;\n className = tagDataView;\n }\n switch (className) {\n // These types are compared by value.\n case '[object RegExp]':\n // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n case '[object String]':\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n // equivalent to `new String(\"5\")`.\n return '' + a === '' + b;\n case '[object Number]':\n // `NaN`s are equivalent, but non-reflexive.\n // Object(NaN) is equivalent to NaN.\n if (+a !== +a) return +b !== +b;\n // An `egal` comparison is performed for other numeric values.\n return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n case '[object Date]':\n case '[object Boolean]':\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n // millisecond representations. Note that invalid dates with millisecond representations\n // of `NaN` are not equivalent.\n return +a === +b;\n case '[object Symbol]':\n return SymbolProto.valueOf.call(a) === SymbolProto.valueOf.call(b);\n case '[object ArrayBuffer]':\n case tagDataView:\n // Coerce to typed array so we can fall through.\n return deepEq(toBufferView(a), toBufferView(b), aStack, bStack);\n }\n\n var areArrays = className === '[object Array]';\n if (!areArrays && isTypedArray(a)) {\n var byteLength = getByteLength(a);\n if (byteLength !== getByteLength(b)) return false;\n if (a.buffer === b.buffer && a.byteOffset === b.byteOffset) return true;\n areArrays = true;\n }\n if (!areArrays) {\n if (typeof a != 'object' || typeof b != 'object') return false;\n\n // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n // from different frames are.\n var aCtor = a.constructor, bCtor = b.constructor;\n if (aCtor !== bCtor && !(isFunction(aCtor) && aCtor instanceof aCtor &&\n isFunction(bCtor) && bCtor instanceof bCtor)\n && ('constructor' in a && 'constructor' in b)) {\n return false;\n }\n }\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n\n // Initializing stack of traversed objects.\n // It's done here since we only need them for objects and arrays comparison.\n aStack = aStack || [];\n bStack = bStack || [];\n var length = aStack.length;\n while (length--) {\n // Linear search. Performance is inversely proportional to the number of\n // unique nested structures.\n if (aStack[length] === a) return bStack[length] === b;\n }\n\n // Add the first object to the stack of traversed objects.\n aStack.push(a);\n bStack.push(b);\n\n // Recursively compare objects and arrays.\n if (areArrays) {\n // Compare array lengths to determine if a deep comparison is necessary.\n length = a.length;\n if (length !== b.length) return false;\n // Deep compare the contents, ignoring non-numeric properties.\n while (length--) {\n if (!eq(a[length], b[length], aStack, bStack)) return false;\n }\n } else {\n // Deep compare objects.\n var _keys = keys(a), key;\n length = _keys.length;\n // Ensure that both objects contain the same number of properties before comparing deep equality.\n if (keys(b).length !== length) return false;\n while (length--) {\n // Deep compare each member\n key = _keys[length];\n if (!(has(b, key) && eq(a[key], b[key], aStack, bStack))) return false;\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop();\n bStack.pop();\n return true;\n}\n\n// Perform a deep comparison to check if two objects are equal.\nexport default function isEqual(a, b) {\n return eq(a, b);\n}\n","import isObject from './isObject.js';\nimport { hasEnumBug } from './_setup.js';\nimport collectNonEnumProps from './_collectNonEnumProps.js';\n\n// Retrieve all the enumerable property names of an object.\nexport default function allKeys(obj) {\n if (!isObject(obj)) return [];\n var keys = [];\n for (var key in obj) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n}\n","import getLength from './_getLength.js';\nimport isFunction from './isFunction.js';\nimport allKeys from './allKeys.js';\n\n// Since the regular `Object.prototype.toString` type tests don't work for\n// some types in IE 11, we use a fingerprinting heuristic instead, based\n// on the methods. It's not great, but it's the best we got.\n// The fingerprint method lists are defined below.\nexport function ie11fingerprint(methods) {\n var length = getLength(methods);\n return function(obj) {\n if (obj == null) return false;\n // `Map`, `WeakMap` and `Set` have no enumerable keys.\n var keys = allKeys(obj);\n if (getLength(keys)) return false;\n for (var i = 0; i < length; i++) {\n if (!isFunction(obj[methods[i]])) return false;\n }\n // If we are testing against `WeakMap`, we need to ensure that\n // `obj` doesn't have a `forEach` method in order to distinguish\n // it from a regular `Map`.\n return methods !== weakMapMethods || !isFunction(obj[forEachName]);\n };\n}\n\n// In the interest of compact minification, we write\n// each string in the fingerprints only once.\nvar forEachName = 'forEach',\n hasName = 'has',\n commonInit = ['clear', 'delete'],\n mapTail = ['get', hasName, 'set'];\n\n// `Map`, `WeakMap` and `Set` each have slightly different\n// combinations of the above sublists.\nexport var mapMethods = commonInit.concat(forEachName, mapTail),\n weakMapMethods = commonInit.concat(mapTail),\n setMethods = ['add'].concat(commonInit, forEachName, hasName);\n","import tagTester from './_tagTester.js';\nimport { isIE11 } from './_stringTagBug.js';\nimport { ie11fingerprint, mapMethods } from './_methodFingerprint.js';\n\nexport default isIE11 ? ie11fingerprint(mapMethods) : tagTester('Map');\n","import tagTester from './_tagTester.js';\nimport { isIE11 } from './_stringTagBug.js';\nimport { ie11fingerprint, weakMapMethods } from './_methodFingerprint.js';\n\nexport default isIE11 ? ie11fingerprint(weakMapMethods) : tagTester('WeakMap');\n","import tagTester from './_tagTester.js';\nimport { isIE11 } from './_stringTagBug.js';\nimport { ie11fingerprint, setMethods } from './_methodFingerprint.js';\n\nexport default isIE11 ? ie11fingerprint(setMethods) : tagTester('Set');\n","import tagTester from './_tagTester.js';\n\nexport default tagTester('WeakSet');\n","import keys from './keys.js';\n\n// Retrieve the values of an object's properties.\nexport default function values(obj) {\n var _keys = keys(obj);\n var length = _keys.length;\n var values = Array(length);\n for (var i = 0; i < length; i++) {\n values[i] = obj[_keys[i]];\n }\n return values;\n}\n","import keys from './keys.js';\n\n// Convert an object into a list of `[key, value]` pairs.\n// The opposite of `_.object` with one argument.\nexport default function pairs(obj) {\n var _keys = keys(obj);\n var length = _keys.length;\n var pairs = Array(length);\n for (var i = 0; i < length; i++) {\n pairs[i] = [_keys[i], obj[_keys[i]]];\n }\n return pairs;\n}\n","import keys from './keys.js';\n\n// Invert the keys and values of an object. The values must be serializable.\nexport default function invert(obj) {\n var result = {};\n var _keys = keys(obj);\n for (var i = 0, length = _keys.length; i < length; i++) {\n result[obj[_keys[i]]] = _keys[i];\n }\n return result;\n}\n","import isFunction from './isFunction.js';\n\n// Return a sorted list of the function names available on the object.\nexport default function functions(obj) {\n var names = [];\n for (var key in obj) {\n if (isFunction(obj[key])) names.push(key);\n }\n return names.sort();\n}\n","// An internal function for creating assigner functions.\nexport default function createAssigner(keysFunc, defaults) {\n return function(obj) {\n var length = arguments.length;\n if (defaults) obj = Object(obj);\n if (length < 2 || obj == null) return obj;\n for (var index = 1; index < length; index++) {\n var source = arguments[index],\n keys = keysFunc(source),\n l = keys.length;\n for (var i = 0; i < l; i++) {\n var key = keys[i];\n if (!defaults || obj[key] === void 0) obj[key] = source[key];\n }\n }\n return obj;\n };\n}\n","import createAssigner from './_createAssigner.js';\nimport allKeys from './allKeys.js';\n\n// Extend a given object with all the properties in passed-in object(s).\nexport default createAssigner(allKeys);\n","import createAssigner from './_createAssigner.js';\nimport keys from './keys.js';\n\n// Assigns a given object with all the own properties in the passed-in\n// object(s).\n// (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\nexport default createAssigner(keys);\n","import createAssigner from './_createAssigner.js';\nimport allKeys from './allKeys.js';\n\n// Fill in a given object with default properties.\nexport default createAssigner(allKeys, true);\n","import isObject from './isObject.js';\nimport { nativeCreate } from './_setup.js';\n\n// Create a naked function reference for surrogate-prototype-swapping.\nfunction ctor() {\n return function(){};\n}\n\n// An internal function for creating a new object that inherits from another.\nexport default function baseCreate(prototype) {\n if (!isObject(prototype)) return {};\n if (nativeCreate) return nativeCreate(prototype);\n var Ctor = ctor();\n Ctor.prototype = prototype;\n var result = new Ctor;\n Ctor.prototype = null;\n return result;\n}\n","import baseCreate from './_baseCreate.js';\nimport extendOwn from './extendOwn.js';\n\n// Creates an object that inherits from the given prototype object.\n// If additional properties are provided then they will be added to the\n// created object.\nexport default function create(prototype, props) {\n var result = baseCreate(prototype);\n if (props) extendOwn(result, props);\n return result;\n}\n","import isObject from './isObject.js';\nimport isArray from './isArray.js';\nimport extend from './extend.js';\n\n// Create a (shallow-cloned) duplicate of an object.\nexport default function clone(obj) {\n if (!isObject(obj)) return obj;\n return isArray(obj) ? obj.slice() : extend({}, obj);\n}\n","// Invokes `interceptor` with the `obj` and then returns `obj`.\n// The primary purpose of this method is to \"tap into\" a method chain, in\n// order to perform operations on intermediate results within the chain.\nexport default function tap(obj, interceptor) {\n interceptor(obj);\n return obj;\n}\n","import _ from './underscore.js';\nimport isArray from './isArray.js';\n\n// Normalize a (deep) property `path` to array.\n// Like `_.iteratee`, this function can be customized.\nexport default function toPath(path) {\n return isArray(path) ? path : [path];\n}\n_.toPath = toPath;\n","import _ from './underscore.js';\nimport './toPath.js';\n\n// Internal wrapper for `_.toPath` to enable minification.\n// Similar to `cb` for `_.iteratee`.\nexport default function toPath(path) {\n return _.toPath(path);\n}\n","// Internal function to obtain a nested property in `obj` along `path`.\nexport default function deepGet(obj, path) {\n var length = path.length;\n for (var i = 0; i < length; i++) {\n if (obj == null) return void 0;\n obj = obj[path[i]];\n }\n return length ? obj : void 0;\n}\n","import toPath from './_toPath.js';\nimport deepGet from './_deepGet.js';\nimport isUndefined from './isUndefined.js';\n\n// Get the value of the (deep) property on `path` from `object`.\n// If any property in `path` does not exist or if the value is\n// `undefined`, return `defaultValue` instead.\n// The `path` is normalized through `_.toPath`.\nexport default function get(object, path, defaultValue) {\n var value = deepGet(object, toPath(path));\n return isUndefined(value) ? defaultValue : value;\n}\n","import _has from './_has.js';\nimport toPath from './_toPath.js';\n\n// Shortcut function for checking if an object has a given property directly on\n// itself (in other words, not on a prototype). Unlike the internal `has`\n// function, this public version can also traverse nested properties.\nexport default function has(obj, path) {\n path = toPath(path);\n var length = path.length;\n for (var i = 0; i < length; i++) {\n var key = path[i];\n if (!_has(obj, key)) return false;\n obj = obj[key];\n }\n return !!length;\n}\n","// Keep the identity function around for default iteratees.\nexport default function identity(value) {\n return value;\n}\n","import extendOwn from './extendOwn.js';\nimport isMatch from './isMatch.js';\n\n// Returns a predicate for checking whether an object has a given set of\n// `key:value` pairs.\nexport default function matcher(attrs) {\n attrs = extendOwn({}, attrs);\n return function(obj) {\n return isMatch(obj, attrs);\n };\n}\n","import deepGet from './_deepGet.js';\nimport toPath from './_toPath.js';\n\n// Creates a function that, when passed an object, will traverse that object’s\n// properties down the given `path`, specified as an array of keys or indices.\nexport default function property(path) {\n path = toPath(path);\n return function(obj) {\n return deepGet(obj, path);\n };\n}\n","// Internal function that returns an efficient (for current engines) version\n// of the passed-in callback, to be repeatedly applied in other Underscore\n// functions.\nexport default function optimizeCb(func, context, argCount) {\n if (context === void 0) return func;\n switch (argCount == null ? 3 : argCount) {\n case 1: return function(value) {\n return func.call(context, value);\n };\n // The 2-argument case is omitted because we’re not using it.\n case 3: return function(value, index, collection) {\n return func.call(context, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(context, accumulator, value, index, collection);\n };\n }\n return function() {\n return func.apply(context, arguments);\n };\n}\n","import identity from './identity.js';\nimport isFunction from './isFunction.js';\nimport isObject from './isObject.js';\nimport isArray from './isArray.js';\nimport matcher from './matcher.js';\nimport property from './property.js';\nimport optimizeCb from './_optimizeCb.js';\n\n// An internal function to generate callbacks that can be applied to each\n// element in a collection, returning the desired result — either `_.identity`,\n// an arbitrary callback, a property matcher, or a property accessor.\nexport default function baseIteratee(value, context, argCount) {\n if (value == null) return identity;\n if (isFunction(value)) return optimizeCb(value, context, argCount);\n if (isObject(value) && !isArray(value)) return matcher(value);\n return property(value);\n}\n","import _ from './underscore.js';\nimport baseIteratee from './_baseIteratee.js';\n\n// External wrapper for our callback generator. Users may customize\n// `_.iteratee` if they want additional predicate/iteratee shorthand styles.\n// This abstraction hides the internal-only `argCount` argument.\nexport default function iteratee(value, context) {\n return baseIteratee(value, context, Infinity);\n}\n_.iteratee = iteratee;\n","import _ from './underscore.js';\nimport baseIteratee from './_baseIteratee.js';\nimport iteratee from './iteratee.js';\n\n// The function we call internally to generate a callback. It invokes\n// `_.iteratee` if overridden, otherwise `baseIteratee`.\nexport default function cb(value, context, argCount) {\n if (_.iteratee !== iteratee) return _.iteratee(value, context);\n return baseIteratee(value, context, argCount);\n}\n","import cb from './_cb.js';\nimport keys from './keys.js';\n\n// Returns the results of applying the `iteratee` to each element of `obj`.\n// In contrast to `_.map` it returns an object.\nexport default function mapObject(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var _keys = keys(obj),\n length = _keys.length,\n results = {};\n for (var index = 0; index < length; index++) {\n var currentKey = _keys[index];\n results[currentKey] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n}\n","// Predicate-generating function. Often useful outside of Underscore.\nexport default function noop(){}\n","import noop from './noop.js';\nimport get from './get.js';\n\n// Generates a function for a given object that returns a given property.\nexport default function propertyOf(obj) {\n if (obj == null) return noop;\n return function(path) {\n return get(obj, path);\n };\n}\n","import optimizeCb from './_optimizeCb.js';\n\n// Run a function **n** times.\nexport default function times(n, iteratee, context) {\n var accum = Array(Math.max(0, n));\n iteratee = optimizeCb(iteratee, context, 1);\n for (var i = 0; i < n; i++) accum[i] = iteratee(i);\n return accum;\n}\n","// Return a random integer between `min` and `max` (inclusive).\nexport default function random(min, max) {\n if (max == null) {\n max = min;\n min = 0;\n }\n return min + Math.floor(Math.random() * (max - min + 1));\n}\n","// A (possibly faster) way to get the current timestamp as an integer.\nexport default Date.now || function() {\n return new Date().getTime();\n};\n","import keys from './keys.js';\n\n// Internal helper to generate functions for escaping and unescaping strings\n// to/from HTML interpolation.\nexport default function createEscaper(map) {\n var escaper = function(match) {\n return map[match];\n };\n // Regexes for identifying a key that needs to be escaped.\n var source = '(?:' + keys(map).join('|') + ')';\n var testRegexp = RegExp(source);\n var replaceRegexp = RegExp(source, 'g');\n return function(string) {\n string = string == null ? '' : '' + string;\n return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\n };\n}\n","// Internal list of HTML entities for escaping.\nexport default {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`'\n};\n","import createEscaper from './_createEscaper.js';\nimport escapeMap from './_escapeMap.js';\n\n// Function for escaping strings to HTML interpolation.\nexport default createEscaper(escapeMap);\n","import createEscaper from './_createEscaper.js';\nimport unescapeMap from './_unescapeMap.js';\n\n// Function for unescaping strings from HTML interpolation.\nexport default createEscaper(unescapeMap);\n","import invert from './invert.js';\nimport escapeMap from './_escapeMap.js';\n\n// Internal list of HTML entities for unescaping.\nexport default invert(escapeMap);\n","import _ from './underscore.js';\n\n// By default, Underscore uses ERB-style template delimiters. Change the\n// following template settings to use alternative delimiters.\nexport default _.templateSettings = {\n evaluate: /<%([\\s\\S]+?)%>/g,\n interpolate: /<%=([\\s\\S]+?)%>/g,\n escape: /<%-([\\s\\S]+?)%>/g\n};\n","import defaults from './defaults.js';\nimport _ from './underscore.js';\nimport './templateSettings.js';\n\n// When customizing `_.templateSettings`, if you don't want to define an\n// interpolation, evaluation or escaping regex, we need one that is\n// guaranteed not to match.\nvar noMatch = /(.)^/;\n\n// Certain characters need to be escaped so that they can be put into a\n// string literal.\nvar escapes = {\n \"'\": \"'\",\n '\\\\': '\\\\',\n '\\r': 'r',\n '\\n': 'n',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n};\n\nvar escapeRegExp = /\\\\|'|\\r|\\n|\\u2028|\\u2029/g;\n\nfunction escapeChar(match) {\n return '\\\\' + escapes[match];\n}\n\n// In order to prevent third-party code injection through\n// `_.templateSettings.variable`, we test it against the following regular\n// expression. It is intentionally a bit more liberal than just matching valid\n// identifiers, but still prevents possible loopholes through defaults or\n// destructuring assignment.\nvar bareIdentifier = /^\\s*(\\w|\\$)+\\s*$/;\n\n// JavaScript micro-templating, similar to John Resig's implementation.\n// Underscore templating handles arbitrary delimiters, preserves whitespace,\n// and correctly escapes quotes within interpolated code.\n// NB: `oldSettings` only exists for backwards compatibility.\nexport default function template(text, settings, oldSettings) {\n if (!settings && oldSettings) settings = oldSettings;\n settings = defaults({}, settings, _.templateSettings);\n\n // Combine delimiters into one regular expression via alternation.\n var matcher = RegExp([\n (settings.escape || noMatch).source,\n (settings.interpolate || noMatch).source,\n (settings.evaluate || noMatch).source\n ].join('|') + '|$', 'g');\n\n // Compile the template source, escaping string literals appropriately.\n var index = 0;\n var source = \"__p+='\";\n text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {\n source += text.slice(index, offset).replace(escapeRegExp, escapeChar);\n index = offset + match.length;\n\n if (escape) {\n source += \"'+\\n((__t=(\" + escape + \"))==null?'':_.escape(__t))+\\n'\";\n } else if (interpolate) {\n source += \"'+\\n((__t=(\" + interpolate + \"))==null?'':__t)+\\n'\";\n } else if (evaluate) {\n source += \"';\\n\" + evaluate + \"\\n__p+='\";\n }\n\n // Adobe VMs need the match returned to produce the correct offset.\n return match;\n });\n source += \"';\\n\";\n\n var argument = settings.variable;\n if (argument) {\n // Insure against third-party code injection. (CVE-2021-23358)\n if (!bareIdentifier.test(argument)) throw new Error(\n 'variable is not a bare identifier: ' + argument\n );\n } else {\n // If a variable is not specified, place data values in local scope.\n source = 'with(obj||{}){\\n' + source + '}\\n';\n argument = 'obj';\n }\n\n source = \"var __t,__p='',__j=Array.prototype.join,\" +\n \"print=function(){__p+=__j.call(arguments,'');};\\n\" +\n source + 'return __p;\\n';\n\n var render;\n try {\n render = new Function(argument, '_', source);\n } catch (e) {\n e.source = source;\n throw e;\n }\n\n var template = function(data) {\n return render.call(this, data, _);\n };\n\n // Provide the compiled source as a convenience for precompilation.\n template.source = 'function(' + argument + '){\\n' + source + '}';\n\n return template;\n}\n","import isFunction from './isFunction.js';\nimport toPath from './_toPath.js';\n\n// Traverses the children of `obj` along `path`. If a child is a function, it\n// is invoked with its parent as context. Returns the value of the final\n// child, or `fallback` if any child is undefined.\nexport default function result(obj, path, fallback) {\n path = toPath(path);\n var length = path.length;\n if (!length) {\n return isFunction(fallback) ? fallback.call(obj) : fallback;\n }\n for (var i = 0; i < length; i++) {\n var prop = obj == null ? void 0 : obj[path[i]];\n if (prop === void 0) {\n prop = fallback;\n i = length; // Ensure we don't continue iterating.\n }\n obj = isFunction(prop) ? prop.call(obj) : prop;\n }\n return obj;\n}\n","// Generate a unique integer id (unique within the entire client session).\n// Useful for temporary DOM ids.\nvar idCounter = 0;\nexport default function uniqueId(prefix) {\n var id = ++idCounter + '';\n return prefix ? prefix + id : id;\n}\n","import _ from './underscore.js';\n\n// Start chaining a wrapped Underscore object.\nexport default function chain(obj) {\n var instance = _(obj);\n instance._chain = true;\n return instance;\n}\n","import baseCreate from './_baseCreate.js';\nimport isObject from './isObject.js';\n\n// Internal function to execute `sourceFunc` bound to `context` with optional\n// `args`. Determines whether to execute a function as a constructor or as a\n// normal function.\nexport default function executeBound(sourceFunc, boundFunc, context, callingContext, args) {\n if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args);\n var self = baseCreate(sourceFunc.prototype);\n var result = sourceFunc.apply(self, args);\n if (isObject(result)) return result;\n return self;\n}\n","import restArguments from './restArguments.js';\nimport executeBound from './_executeBound.js';\nimport _ from './underscore.js';\n\n// Partially apply a function by creating a version that has had some of its\n// arguments pre-filled, without changing its dynamic `this` context. `_` acts\n// as a placeholder by default, allowing any combination of arguments to be\n// pre-filled. Set `_.partial.placeholder` for a custom placeholder argument.\nvar partial = restArguments(function(func, boundArgs) {\n var placeholder = partial.placeholder;\n var bound = function() {\n var position = 0, length = boundArgs.length;\n var args = Array(length);\n for (var i = 0; i < length; i++) {\n args[i] = boundArgs[i] === placeholder ? arguments[position++] : boundArgs[i];\n }\n while (position < arguments.length) args.push(arguments[position++]);\n return executeBound(func, bound, this, this, args);\n };\n return bound;\n});\n\npartial.placeholder = _;\nexport default partial;\n","import restArguments from './restArguments.js';\nimport isFunction from './isFunction.js';\nimport executeBound from './_executeBound.js';\n\n// Create a function bound to a given object (assigning `this`, and arguments,\n// optionally).\nexport default restArguments(function(func, context, args) {\n if (!isFunction(func)) throw new TypeError('Bind must be called on a function');\n var bound = restArguments(function(callArgs) {\n return executeBound(func, bound, context, this, args.concat(callArgs));\n });\n return bound;\n});\n","import createSizePropertyCheck from './_createSizePropertyCheck.js';\nimport getLength from './_getLength.js';\n\n// Internal helper for collection methods to determine whether a collection\n// should be iterated as an array or as an object.\n// Related: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength\n// Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094\nexport default createSizePropertyCheck(getLength);\n","import getLength from './_getLength.js';\nimport isArrayLike from './_isArrayLike.js';\nimport isArray from './isArray.js';\nimport isArguments from './isArguments.js';\n\n// Internal implementation of a recursive `flatten` function.\nexport default function flatten(input, depth, strict, output) {\n output = output || [];\n if (!depth && depth !== 0) {\n depth = Infinity;\n } else if (depth <= 0) {\n return output.concat(input);\n }\n var idx = output.length;\n for (var i = 0, length = getLength(input); i < length; i++) {\n var value = input[i];\n if (isArrayLike(value) && (isArray(value) || isArguments(value))) {\n // Flatten current level of array or arguments object.\n if (depth > 1) {\n flatten(value, depth - 1, strict, output);\n idx = output.length;\n } else {\n var j = 0, len = value.length;\n while (j < len) output[idx++] = value[j++];\n }\n } else if (!strict) {\n output[idx++] = value;\n }\n }\n return output;\n}\n","import restArguments from './restArguments.js';\nimport flatten from './_flatten.js';\nimport bind from './bind.js';\n\n// Bind a number of an object's methods to that object. Remaining arguments\n// are the method names to be bound. Useful for ensuring that all callbacks\n// defined on an object belong to it.\nexport default restArguments(function(obj, keys) {\n keys = flatten(keys, false, false);\n var index = keys.length;\n if (index < 1) throw new Error('bindAll must be passed function names');\n while (index--) {\n var key = keys[index];\n obj[key] = bind(obj[key], obj);\n }\n return obj;\n});\n","import has from './_has.js';\n\n// Memoize an expensive function by storing its results.\nexport default function memoize(func, hasher) {\n var memoize = function(key) {\n var cache = memoize.cache;\n var address = '' + (hasher ? hasher.apply(this, arguments) : key);\n if (!has(cache, address)) cache[address] = func.apply(this, arguments);\n return cache[address];\n };\n memoize.cache = {};\n return memoize;\n}\n","import restArguments from './restArguments.js';\n\n// Delays a function for the given number of milliseconds, and then calls\n// it with the arguments supplied.\nexport default restArguments(function(func, wait, args) {\n return setTimeout(function() {\n return func.apply(null, args);\n }, wait);\n});\n","import partial from './partial.js';\nimport delay from './delay.js';\nimport _ from './underscore.js';\n\n// Defers a function, scheduling it to run after the current call stack has\n// cleared.\nexport default partial(delay, _, 1);\n","import now from './now.js';\n\n// Returns a function, that, when invoked, will only be triggered at most once\n// during a given window of time. Normally, the throttled function will run\n// as much as it can, without ever going more than once per `wait` duration;\n// but if you'd like to disable the execution on the leading edge, pass\n// `{leading: false}`. To disable execution on the trailing edge, ditto.\nexport default function throttle(func, wait, options) {\n var timeout, context, args, result;\n var previous = 0;\n if (!options) options = {};\n\n var later = function() {\n previous = options.leading === false ? 0 : now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n };\n\n var throttled = function() {\n var _now = now();\n if (!previous && options.leading === false) previous = _now;\n var remaining = wait - (_now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = _now;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n\n throttled.cancel = function() {\n clearTimeout(timeout);\n previous = 0;\n timeout = context = args = null;\n };\n\n return throttled;\n}\n","import restArguments from './restArguments.js';\nimport now from './now.js';\n\n// When a sequence of calls of the returned function ends, the argument\n// function is triggered. The end of a sequence is defined by the `wait`\n// parameter. If `immediate` is passed, the argument function will be\n// triggered at the beginning of the sequence instead of at the end.\nexport default function debounce(func, wait, immediate) {\n var timeout, previous, args, result, context;\n\n var later = function() {\n var passed = now() - previous;\n if (wait > passed) {\n timeout = setTimeout(later, wait - passed);\n } else {\n timeout = null;\n if (!immediate) result = func.apply(context, args);\n // This check is needed because `func` can recursively invoke `debounced`.\n if (!timeout) args = context = null;\n }\n };\n\n var debounced = restArguments(function(_args) {\n context = this;\n args = _args;\n previous = now();\n if (!timeout) {\n timeout = setTimeout(later, wait);\n if (immediate) result = func.apply(context, args);\n }\n return result;\n });\n\n debounced.cancel = function() {\n clearTimeout(timeout);\n timeout = args = context = null;\n };\n\n return debounced;\n}\n","import partial from './partial.js';\n\n// Returns the first function passed as an argument to the second,\n// allowing you to adjust arguments, run code before and after, and\n// conditionally execute the original function.\nexport default function wrap(func, wrapper) {\n return partial(wrapper, func);\n}\n","// Returns a negated version of the passed-in predicate.\nexport default function negate(predicate) {\n return function() {\n return !predicate.apply(this, arguments);\n };\n}\n","// Returns a function that is the composition of a list of functions, each\n// consuming the return value of the function that follows.\nexport default function compose() {\n var args = arguments;\n var start = args.length - 1;\n return function() {\n var i = start;\n var result = args[start].apply(this, arguments);\n while (i--) result = args[i].call(this, result);\n return result;\n };\n}\n","// Returns a function that will only be executed on and after the Nth call.\nexport default function after(times, func) {\n return function() {\n if (--times < 1) {\n return func.apply(this, arguments);\n }\n };\n}\n","// Returns a function that will only be executed up to (but not including) the\n// Nth call.\nexport default function before(times, func) {\n var memo;\n return function() {\n if (--times > 0) {\n memo = func.apply(this, arguments);\n }\n if (times <= 1) func = null;\n return memo;\n };\n}\n","import partial from './partial.js';\nimport before from './before.js';\n\n// Returns a function that will be executed at most one time, no matter how\n// often you call it. Useful for lazy initialization.\nexport default partial(before, 2);\n","import cb from './_cb.js';\nimport keys from './keys.js';\n\n// Returns the first key on an object that passes a truth test.\nexport default function findKey(obj, predicate, context) {\n predicate = cb(predicate, context);\n var _keys = keys(obj), key;\n for (var i = 0, length = _keys.length; i < length; i++) {\n key = _keys[i];\n if (predicate(obj[key], key, obj)) return key;\n }\n}\n","import cb from './_cb.js';\nimport getLength from './_getLength.js';\n\n// Internal function to generate `_.findIndex` and `_.findLastIndex`.\nexport default function createPredicateIndexFinder(dir) {\n return function(array, predicate, context) {\n predicate = cb(predicate, context);\n var length = getLength(array);\n var index = dir > 0 ? 0 : length - 1;\n for (; index >= 0 && index < length; index += dir) {\n if (predicate(array[index], index, array)) return index;\n }\n return -1;\n };\n}\n","import createPredicateIndexFinder from './_createPredicateIndexFinder.js';\n\n// Returns the first index on an array-like that passes a truth test.\nexport default createPredicateIndexFinder(1);\n","import createPredicateIndexFinder from './_createPredicateIndexFinder.js';\n\n// Returns the last index on an array-like that passes a truth test.\nexport default createPredicateIndexFinder(-1);\n","import cb from './_cb.js';\nimport getLength from './_getLength.js';\n\n// Use a comparator function to figure out the smallest index at which\n// an object should be inserted so as to maintain order. Uses binary search.\nexport default function sortedIndex(array, obj, iteratee, context) {\n iteratee = cb(iteratee, context, 1);\n var value = iteratee(obj);\n var low = 0, high = getLength(array);\n while (low < high) {\n var mid = Math.floor((low + high) / 2);\n if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;\n }\n return low;\n}\n","import getLength from './_getLength.js';\nimport { slice } from './_setup.js';\nimport isNaN from './isNaN.js';\n\n// Internal function to generate the `_.indexOf` and `_.lastIndexOf` functions.\nexport default function createIndexFinder(dir, predicateFind, sortedIndex) {\n return function(array, item, idx) {\n var i = 0, length = getLength(array);\n if (typeof idx == 'number') {\n if (dir > 0) {\n i = idx >= 0 ? idx : Math.max(idx + length, i);\n } else {\n length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;\n }\n } else if (sortedIndex && idx && length) {\n idx = sortedIndex(array, item);\n return array[idx] === item ? idx : -1;\n }\n if (item !== item) {\n idx = predicateFind(slice.call(array, i, length), isNaN);\n return idx >= 0 ? idx + i : -1;\n }\n for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {\n if (array[idx] === item) return idx;\n }\n return -1;\n };\n}\n","import sortedIndex from './sortedIndex.js';\nimport findIndex from './findIndex.js';\nimport createIndexFinder from './_createIndexFinder.js';\n\n// Return the position of the first occurrence of an item in an array,\n// or -1 if the item is not included in the array.\n// If the array is large and already in sort order, pass `true`\n// for **isSorted** to use binary search.\nexport default createIndexFinder(1, findIndex, sortedIndex);\n","import findLastIndex from './findLastIndex.js';\nimport createIndexFinder from './_createIndexFinder.js';\n\n// Return the position of the last occurrence of an item in an array,\n// or -1 if the item is not included in the array.\nexport default createIndexFinder(-1, findLastIndex);\n","import isArrayLike from './_isArrayLike.js';\nimport findIndex from './findIndex.js';\nimport findKey from './findKey.js';\n\n// Return the first value which passes a truth test.\nexport default function find(obj, predicate, context) {\n var keyFinder = isArrayLike(obj) ? findIndex : findKey;\n var key = keyFinder(obj, predicate, context);\n if (key !== void 0 && key !== -1) return obj[key];\n}\n","import find from './find.js';\nimport matcher from './matcher.js';\n\n// Convenience version of a common use case of `_.find`: getting the first\n// object containing specific `key:value` pairs.\nexport default function findWhere(obj, attrs) {\n return find(obj, matcher(attrs));\n}\n","import optimizeCb from './_optimizeCb.js';\nimport isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// The cornerstone for collection functions, an `each`\n// implementation, aka `forEach`.\n// Handles raw objects in addition to array-likes. Treats all\n// sparse array-likes as if they were dense.\nexport default function each(obj, iteratee, context) {\n iteratee = optimizeCb(iteratee, context);\n var i, length;\n if (isArrayLike(obj)) {\n for (i = 0, length = obj.length; i < length; i++) {\n iteratee(obj[i], i, obj);\n }\n } else {\n var _keys = keys(obj);\n for (i = 0, length = _keys.length; i < length; i++) {\n iteratee(obj[_keys[i]], _keys[i], obj);\n }\n }\n return obj;\n}\n","import cb from './_cb.js';\nimport isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// Return the results of applying the iteratee to each element.\nexport default function map(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length,\n results = Array(length);\n for (var index = 0; index < length; index++) {\n var currentKey = _keys ? _keys[index] : index;\n results[index] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n}\n","import isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\nimport optimizeCb from './_optimizeCb.js';\n\n// Internal helper to create a reducing function, iterating left or right.\nexport default function createReduce(dir) {\n // Wrap code that reassigns argument variables in a separate function than\n // the one that accesses `arguments.length` to avoid a perf hit. (#1991)\n var reducer = function(obj, iteratee, memo, initial) {\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length,\n index = dir > 0 ? 0 : length - 1;\n if (!initial) {\n memo = obj[_keys ? _keys[index] : index];\n index += dir;\n }\n for (; index >= 0 && index < length; index += dir) {\n var currentKey = _keys ? _keys[index] : index;\n memo = iteratee(memo, obj[currentKey], currentKey, obj);\n }\n return memo;\n };\n\n return function(obj, iteratee, memo, context) {\n var initial = arguments.length >= 3;\n return reducer(obj, optimizeCb(iteratee, context, 4), memo, initial);\n };\n}\n","import createReduce from './_createReduce.js';\n\n// **Reduce** builds up a single result from a list of values, aka `inject`,\n// or `foldl`.\nexport default createReduce(1);\n","import createReduce from './_createReduce.js';\n\n// The right-associative version of reduce, also known as `foldr`.\nexport default createReduce(-1);\n","import cb from './_cb.js';\nimport each from './each.js';\n\n// Return all the elements that pass a truth test.\nexport default function filter(obj, predicate, context) {\n var results = [];\n predicate = cb(predicate, context);\n each(obj, function(value, index, list) {\n if (predicate(value, index, list)) results.push(value);\n });\n return results;\n}\n","import filter from './filter.js';\nimport negate from './negate.js';\nimport cb from './_cb.js';\n\n// Return all the elements for which a truth test fails.\nexport default function reject(obj, predicate, context) {\n return filter(obj, negate(cb(predicate)), context);\n}\n","import cb from './_cb.js';\nimport isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// Determine whether all of the elements pass a truth test.\nexport default function every(obj, predicate, context) {\n predicate = cb(predicate, context);\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = _keys ? _keys[index] : index;\n if (!predicate(obj[currentKey], currentKey, obj)) return false;\n }\n return true;\n}\n","import cb from './_cb.js';\nimport isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// Determine if at least one element in the object passes a truth test.\nexport default function some(obj, predicate, context) {\n predicate = cb(predicate, context);\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = _keys ? _keys[index] : index;\n if (predicate(obj[currentKey], currentKey, obj)) return true;\n }\n return false;\n}\n","import isArrayLike from './_isArrayLike.js';\nimport values from './values.js';\nimport indexOf from './indexOf.js';\n\n// Determine if the array or object contains a given item (using `===`).\nexport default function contains(obj, item, fromIndex, guard) {\n if (!isArrayLike(obj)) obj = values(obj);\n if (typeof fromIndex != 'number' || guard) fromIndex = 0;\n return indexOf(obj, item, fromIndex) >= 0;\n}\n","import restArguments from './restArguments.js';\nimport isFunction from './isFunction.js';\nimport map from './map.js';\nimport deepGet from './_deepGet.js';\nimport toPath from './_toPath.js';\n\n// Invoke a method (with arguments) on every item in a collection.\nexport default restArguments(function(obj, path, args) {\n var contextPath, func;\n if (isFunction(path)) {\n func = path;\n } else {\n path = toPath(path);\n contextPath = path.slice(0, -1);\n path = path[path.length - 1];\n }\n return map(obj, function(context) {\n var method = func;\n if (!method) {\n if (contextPath && contextPath.length) {\n context = deepGet(context, contextPath);\n }\n if (context == null) return void 0;\n method = context[path];\n }\n return method == null ? method : method.apply(context, args);\n });\n});\n","import map from './map.js';\nimport property from './property.js';\n\n// Convenience version of a common use case of `_.map`: fetching a property.\nexport default function pluck(obj, key) {\n return map(obj, property(key));\n}\n","import filter from './filter.js';\nimport matcher from './matcher.js';\n\n// Convenience version of a common use case of `_.filter`: selecting only\n// objects containing specific `key:value` pairs.\nexport default function where(obj, attrs) {\n return filter(obj, matcher(attrs));\n}\n","import isArrayLike from './_isArrayLike.js';\nimport values from './values.js';\nimport cb from './_cb.js';\nimport each from './each.js';\n\n// Return the maximum element (or element-based computation).\nexport default function max(obj, iteratee, context) {\n var result = -Infinity, lastComputed = -Infinity,\n value, computed;\n if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) {\n obj = isArrayLike(obj) ? obj : values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value != null && value > result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n each(obj, function(v, index, list) {\n computed = iteratee(v, index, list);\n if (computed > lastComputed || (computed === -Infinity && result === -Infinity)) {\n result = v;\n lastComputed = computed;\n }\n });\n }\n return result;\n}\n","import isArrayLike from './_isArrayLike.js';\nimport values from './values.js';\nimport cb from './_cb.js';\nimport each from './each.js';\n\n// Return the minimum element (or element-based computation).\nexport default function min(obj, iteratee, context) {\n var result = Infinity, lastComputed = Infinity,\n value, computed;\n if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) {\n obj = isArrayLike(obj) ? obj : values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value != null && value < result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n each(obj, function(v, index, list) {\n computed = iteratee(v, index, list);\n if (computed < lastComputed || (computed === Infinity && result === Infinity)) {\n result = v;\n lastComputed = computed;\n }\n });\n }\n return result;\n}\n","import isArray from './isArray.js';\nimport { slice } from './_setup.js';\nimport isString from './isString.js';\nimport isArrayLike from './_isArrayLike.js';\nimport map from './map.js';\nimport identity from './identity.js';\nimport values from './values.js';\n\n// Safely create a real, live array from anything iterable.\nvar reStrSymbol = /[^\\ud800-\\udfff]|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff]/g;\nexport default function toArray(obj) {\n if (!obj) return [];\n if (isArray(obj)) return slice.call(obj);\n if (isString(obj)) {\n // Keep surrogate pair characters together.\n return obj.match(reStrSymbol);\n }\n if (isArrayLike(obj)) return map(obj, identity);\n return values(obj);\n}\n","import isArrayLike from './_isArrayLike.js';\nimport values from './values.js';\nimport getLength from './_getLength.js';\nimport random from './random.js';\nimport toArray from './toArray.js';\n\n// Sample **n** random values from a collection using the modern version of the\n// [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher–Yates_shuffle).\n// If **n** is not specified, returns a single random element.\n// The internal `guard` argument allows it to work with `_.map`.\nexport default function sample(obj, n, guard) {\n if (n == null || guard) {\n if (!isArrayLike(obj)) obj = values(obj);\n return obj[random(obj.length - 1)];\n }\n var sample = toArray(obj);\n var length = getLength(sample);\n n = Math.max(Math.min(n, length), 0);\n var last = length - 1;\n for (var index = 0; index < n; index++) {\n var rand = random(index, last);\n var temp = sample[index];\n sample[index] = sample[rand];\n sample[rand] = temp;\n }\n return sample.slice(0, n);\n}\n","import sample from './sample.js';\n\n// Shuffle a collection.\nexport default function shuffle(obj) {\n return sample(obj, Infinity);\n}\n","import cb from './_cb.js';\nimport pluck from './pluck.js';\nimport map from './map.js';\n\n// Sort the object's values by a criterion produced by an iteratee.\nexport default function sortBy(obj, iteratee, context) {\n var index = 0;\n iteratee = cb(iteratee, context);\n return pluck(map(obj, function(value, key, list) {\n return {\n value: value,\n index: index++,\n criteria: iteratee(value, key, list)\n };\n }).sort(function(left, right) {\n var a = left.criteria;\n var b = right.criteria;\n if (a !== b) {\n if (a > b || a === void 0) return 1;\n if (a < b || b === void 0) return -1;\n }\n return left.index - right.index;\n }), 'value');\n}\n","import cb from './_cb.js';\nimport each from './each.js';\n\n// An internal function used for aggregate \"group by\" operations.\nexport default function group(behavior, partition) {\n return function(obj, iteratee, context) {\n var result = partition ? [[], []] : {};\n iteratee = cb(iteratee, context);\n each(obj, function(value, index) {\n var key = iteratee(value, index, obj);\n behavior(result, value, key);\n });\n return result;\n };\n}\n","import group from './_group.js';\nimport has from './_has.js';\n\n// Groups the object's values by a criterion. Pass either a string attribute\n// to group by, or a function that returns the criterion.\nexport default group(function(result, value, key) {\n if (has(result, key)) result[key].push(value); else result[key] = [value];\n});\n","import group from './_group.js';\n\n// Indexes the object's values by a criterion, similar to `_.groupBy`, but for\n// when you know that your index values will be unique.\nexport default group(function(result, value, key) {\n result[key] = value;\n});\n","import group from './_group.js';\nimport has from './_has.js';\n\n// Counts instances of an object that group by a certain criterion. Pass\n// either a string attribute to count by, or a function that returns the\n// criterion.\nexport default group(function(result, value, key) {\n if (has(result, key)) result[key]++; else result[key] = 1;\n});\n","import group from './_group.js';\n\n// Split a collection into two arrays: one whose elements all pass the given\n// truth test, and one whose elements all do not pass the truth test.\nexport default group(function(result, value, pass) {\n result[pass ? 0 : 1].push(value);\n}, true);\n","import isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\n\n// Return the number of elements in a collection.\nexport default function size(obj) {\n if (obj == null) return 0;\n return isArrayLike(obj) ? obj.length : keys(obj).length;\n}\n","// Internal `_.pick` helper function to determine whether `key` is an enumerable\n// property name of `obj`.\nexport default function keyInObj(value, key, obj) {\n return key in obj;\n}\n","import restArguments from './restArguments.js';\nimport isFunction from './isFunction.js';\nimport optimizeCb from './_optimizeCb.js';\nimport allKeys from './allKeys.js';\nimport keyInObj from './_keyInObj.js';\nimport flatten from './_flatten.js';\n\n// Return a copy of the object only containing the allowed properties.\nexport default restArguments(function(obj, keys) {\n var result = {}, iteratee = keys[0];\n if (obj == null) return result;\n if (isFunction(iteratee)) {\n if (keys.length > 1) iteratee = optimizeCb(iteratee, keys[1]);\n keys = allKeys(obj);\n } else {\n iteratee = keyInObj;\n keys = flatten(keys, false, false);\n obj = Object(obj);\n }\n for (var i = 0, length = keys.length; i < length; i++) {\n var key = keys[i];\n var value = obj[key];\n if (iteratee(value, key, obj)) result[key] = value;\n }\n return result;\n});\n","import restArguments from './restArguments.js';\nimport isFunction from './isFunction.js';\nimport negate from './negate.js';\nimport map from './map.js';\nimport flatten from './_flatten.js';\nimport contains from './contains.js';\nimport pick from './pick.js';\n\n// Return a copy of the object without the disallowed properties.\nexport default restArguments(function(obj, keys) {\n var iteratee = keys[0], context;\n if (isFunction(iteratee)) {\n iteratee = negate(iteratee);\n if (keys.length > 1) context = keys[1];\n } else {\n keys = map(flatten(keys, false, false), String);\n iteratee = function(value, key) {\n return !contains(keys, key);\n };\n }\n return pick(obj, iteratee, context);\n});\n","import { slice } from './_setup.js';\n\n// Returns everything but the last entry of the array. Especially useful on\n// the arguments object. Passing **n** will return all the values in\n// the array, excluding the last N.\nexport default function initial(array, n, guard) {\n return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));\n}\n","import initial from './initial.js';\n\n// Get the first element of an array. Passing **n** will return the first N\n// values in the array. The **guard** check allows it to work with `_.map`.\nexport default function first(array, n, guard) {\n if (array == null || array.length < 1) return n == null || guard ? void 0 : [];\n if (n == null || guard) return array[0];\n return initial(array, array.length - n);\n}\n","import { slice } from './_setup.js';\n\n// Returns everything but the first entry of the `array`. Especially useful on\n// the `arguments` object. Passing an **n** will return the rest N values in the\n// `array`.\nexport default function rest(array, n, guard) {\n return slice.call(array, n == null || guard ? 1 : n);\n}\n","import rest from './rest.js';\n\n// Get the last element of an array. Passing **n** will return the last N\n// values in the array.\nexport default function last(array, n, guard) {\n if (array == null || array.length < 1) return n == null || guard ? void 0 : [];\n if (n == null || guard) return array[array.length - 1];\n return rest(array, Math.max(0, array.length - n));\n}\n","import filter from './filter.js';\n\n// Trim out all falsy values from an array.\nexport default function compact(array) {\n return filter(array, Boolean);\n}\n","import _flatten from './_flatten.js';\n\n// Flatten out an array, either recursively (by default), or up to `depth`.\n// Passing `true` or `false` as `depth` means `1` or `Infinity`, respectively.\nexport default function flatten(array, depth) {\n return _flatten(array, depth, false);\n}\n","import restArguments from './restArguments.js';\nimport flatten from './_flatten.js';\nimport filter from './filter.js';\nimport contains from './contains.js';\n\n// Take the difference between one array and a number of other arrays.\n// Only the elements present in just the first array will remain.\nexport default restArguments(function(array, rest) {\n rest = flatten(rest, true, true);\n return filter(array, function(value){\n return !contains(rest, value);\n });\n});\n","import restArguments from './restArguments.js';\nimport difference from './difference.js';\n\n// Return a version of the array that does not contain the specified value(s).\nexport default restArguments(function(array, otherArrays) {\n return difference(array, otherArrays);\n});\n","import isBoolean from './isBoolean.js';\nimport cb from './_cb.js';\nimport getLength from './_getLength.js';\nimport contains from './contains.js';\n\n// Produce a duplicate-free version of the array. If the array has already\n// been sorted, you have the option of using a faster algorithm.\n// The faster algorithm will not work with an iteratee if the iteratee\n// is not a one-to-one function, so providing an iteratee will disable\n// the faster algorithm.\nexport default function uniq(array, isSorted, iteratee, context) {\n if (!isBoolean(isSorted)) {\n context = iteratee;\n iteratee = isSorted;\n isSorted = false;\n }\n if (iteratee != null) iteratee = cb(iteratee, context);\n var result = [];\n var seen = [];\n for (var i = 0, length = getLength(array); i < length; i++) {\n var value = array[i],\n computed = iteratee ? iteratee(value, i, array) : value;\n if (isSorted && !iteratee) {\n if (!i || seen !== computed) result.push(value);\n seen = computed;\n } else if (iteratee) {\n if (!contains(seen, computed)) {\n seen.push(computed);\n result.push(value);\n }\n } else if (!contains(result, value)) {\n result.push(value);\n }\n }\n return result;\n}\n","import restArguments from './restArguments.js';\nimport uniq from './uniq.js';\nimport flatten from './_flatten.js';\n\n// Produce an array that contains the union: each distinct element from all of\n// the passed-in arrays.\nexport default restArguments(function(arrays) {\n return uniq(flatten(arrays, true, true));\n});\n","import getLength from './_getLength.js';\nimport contains from './contains.js';\n\n// Produce an array that contains every item shared between all the\n// passed-in arrays.\nexport default function intersection(array) {\n var result = [];\n var argsLength = arguments.length;\n for (var i = 0, length = getLength(array); i < length; i++) {\n var item = array[i];\n if (contains(result, item)) continue;\n var j;\n for (j = 1; j < argsLength; j++) {\n if (!contains(arguments[j], item)) break;\n }\n if (j === argsLength) result.push(item);\n }\n return result;\n}\n","import max from './max.js';\nimport getLength from './_getLength.js';\nimport pluck from './pluck.js';\n\n// Complement of zip. Unzip accepts an array of arrays and groups\n// each array's elements on shared indices.\nexport default function unzip(array) {\n var length = (array && max(array, getLength).length) || 0;\n var result = Array(length);\n\n for (var index = 0; index < length; index++) {\n result[index] = pluck(array, index);\n }\n return result;\n}\n","import restArguments from './restArguments.js';\nimport unzip from './unzip.js';\n\n// Zip together multiple lists into a single array -- elements that share\n// an index go together.\nexport default restArguments(unzip);\n","import getLength from './_getLength.js';\n\n// Converts lists into objects. Pass either a single array of `[key, value]`\n// pairs, or two parallel arrays of the same length -- one of keys, and one of\n// the corresponding values. Passing by pairs is the reverse of `_.pairs`.\nexport default function object(list, values) {\n var result = {};\n for (var i = 0, length = getLength(list); i < length; i++) {\n if (values) {\n result[list[i]] = values[i];\n } else {\n result[list[i][0]] = list[i][1];\n }\n }\n return result;\n}\n","// Generate an integer Array containing an arithmetic progression. A port of\n// the native Python `range()` function. See\n// [the Python documentation](https://docs.python.org/library/functions.html#range).\nexport default function range(start, stop, step) {\n if (stop == null) {\n stop = start || 0;\n start = 0;\n }\n if (!step) {\n step = stop < start ? -1 : 1;\n }\n\n var length = Math.max(Math.ceil((stop - start) / step), 0);\n var range = Array(length);\n\n for (var idx = 0; idx < length; idx++, start += step) {\n range[idx] = start;\n }\n\n return range;\n}\n","import { slice } from './_setup.js';\n\n// Chunk a single array into multiple arrays, each containing `count` or fewer\n// items.\nexport default function chunk(array, count) {\n if (count == null || count < 1) return [];\n var result = [];\n var i = 0, length = array.length;\n while (i < length) {\n result.push(slice.call(array, i, i += count));\n }\n return result;\n}\n","import _ from './underscore.js';\n\n// Helper function to continue chaining intermediate results.\nexport default function chainResult(instance, obj) {\n return instance._chain ? _(obj).chain() : obj;\n}\n","import _ from './underscore.js';\nimport each from './each.js';\nimport functions from './functions.js';\nimport { push } from './_setup.js';\nimport chainResult from './_chainResult.js';\n\n// Add your own custom functions to the Underscore object.\nexport default function mixin(obj) {\n each(functions(obj), function(name) {\n var func = _[name] = obj[name];\n _.prototype[name] = function() {\n var args = [this._wrapped];\n push.apply(args, arguments);\n return chainResult(this, func.apply(_, args));\n };\n });\n return _;\n}\n","import _ from './underscore.js';\nimport each from './each.js';\nimport { ArrayProto } from './_setup.js';\nimport chainResult from './_chainResult.js';\n\n// Add all mutator `Array` functions to the wrapper.\neach(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n var obj = this._wrapped;\n if (obj != null) {\n method.apply(obj, arguments);\n if ((name === 'shift' || name === 'splice') && obj.length === 0) {\n delete obj[0];\n }\n }\n return chainResult(this, obj);\n };\n});\n\n// Add all accessor `Array` functions to the wrapper.\neach(['concat', 'join', 'slice'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n var obj = this._wrapped;\n if (obj != null) obj = method.apply(obj, arguments);\n return chainResult(this, obj);\n };\n});\n\nexport default _;\n","// Default Export\n// ==============\n// In this module, we mix our bundled exports into the `_` object and export\n// the result. This is analogous to setting `module.exports = _` in CommonJS.\n// Hence, this module is also the entry point of our UMD bundle and the package\n// entry point for CommonJS and AMD users. In other words, this is (the source\n// of) the module you are interfacing with when you do any of the following:\n//\n// ```js\n// // CommonJS\n// var _ = require('underscore');\n//\n// // AMD\n// define(['underscore'], function(_) {...});\n//\n// // UMD in the browser\n// // _ is available as a global variable\n// ```\nimport * as allExports from './index.js';\nimport { mixin } from './index.js';\n\n// Add all of the Underscore functions to the wrapper object.\nvar _ = mixin(allExports);\n// Legacy Node.js API.\n_._ = _;\n// Export the Underscore API.\nexport default _;\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 = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(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 = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(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 = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"2250\":\"9c98ca37abd9ee1927b3\",\"7996\":\"39e55a09e2da8534cf16\"}[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 = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(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 = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 4577;","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) 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\t4577: 0\n};\n\n__webpack_require__.f.j = function(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(function(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 = function(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 = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(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(function(id) { return 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, [7874], function() { return __webpack_require__(2749); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","updatableNotification","getDefaultNotificationFunction","setDefault","callback","this","hide","$row","_","undefined","each","$","toastify","hideToast","console","error","call","showHtml","html","options","isHTML","timeout","TOAST_PERMANENT_TIMEOUT","toast","showMessage","toastElement","show","text","toString","split","join","escapeHTML","showUpdate","showTemporary","TOAST_DEFAULT_TIMEOUT","isHidden","find","length","ajaxConnectionLostHandler","Notification","t","trailing","enableDynamicSlideToggle","Apps","$el","removeClass","trigger","addClass","method","endpoint","OC","PasswordConfirmation","requiresPasswordConfirmation","type","toUpperCase","url","generateOcsUrl","data","success","requirePasswordConfirmation","bind","appConfig","window","oc_appconfig","AppConfig","getValue","app","key","defaultValue","setValue","value","getApps","getKeys","deleteKey","_oc_appswebroots","methodMap","create","update","patch","delete","read","parsePropFindResult","result","davProperties","subResult","props","href","propStat","status","properties","propKey","id","parseIdFromLocation","queryPos","indexOf","substr","parts","pop","isSuccessStatus","callPropPatch","client","model","headers","propPatch","attrs","changedProp","warn","convertModelAttributesToDavProperties","changed","then","toJSON","Backbone","VendorBackbone","Object","assign","davCall","dav","Client","baseUrl","xmlNamespaces","resolveUrl","requestToken","propFind","depth","response","propsMapping","results","body","shift","callPropFind","request","callMkCol","responseJson","locationHeader","xhr","getResponseHeader","callMethod","davSync","params","isCollection","Collection","hasInnerCollection","usePUT","collection","Error","urlError","JSON","stringify","processData","prototype","textStatus","errorThrown","context","_oc_config","rawUid","document","getElementsByTagName","getAttribute","displayName","currentUser","Dialogs","YES_NO_BUTTONS","OK_BUTTONS","FILEPICKER_TYPE_CHOOSE","FILEPICKER_TYPE_MOVE","FILEPICKER_TYPE_COPY","FILEPICKER_TYPE_COPY_MOVE","FILEPICKER_TYPE_CUSTOM","dialogsCounter","alert","title","modal","message","OK_BUTTON","info","confirm","confirmDestructive","buttons","confirmHtml","prompt","name","password","_getMessageTemplate","$tmpl","dialogName","dialogId","$dlg","octemplate","dialog_name","input","attr","label","append","buttonlist","click","val","ocdialog","defaultButton","closeOnEscape","close","focus","filepicker","_this","multiselect","arguments","mimetype","FilePickerType","Choose","path","legacyCallback","fn","getPath","node","root","startsWith","slice","nodes","map","builder","getFilePickerBuilder","forEach","button","addButton","setButtonFactory","_nodes$","_nodes$2","attributes","basename","target","push","multiSelect","file","CopyMove","Copy","icon","IconCopy","Move","IconMove","setMimeTypeFilter","filter","setFilter","_node$mtime","_node$attributes","_node$attributes2","_node$attributes3","_node$attributes4","_node$attributes5","fileid","mime","mtime","getTime","permissions","etag","hasPreview","mountType","quotaAvailableBytes","sharePermissions","nodeToLegacyFile","allowDirectories","allowDirectoryChooser","includes","setMultiSelect","startAt","build","pick","content","dialogType","allowHtml","escapeFunction","_typeof","cancel","classes","confirmClasses","closeCallback","fail","_fileexistsshown","fileexists","original","replacement","controller","self","dialogDeferred","resampleHermite","canvas","W","H","W2","H2","Math","round","img","getContext","getImageData","img2","data2","ratio_w","ratio_h","ratio_w_half","ceil","ratio_h_half","j","i","x2","weight","weights","weights_alpha","gx_r","gx_g","gx_b","gx_a","center_y","yy","floor","dy","abs","center_x","w0","xx","dx","w","sqrt","clearRect","max","width","height","putImageData","addConflict","$conflicts","$conflict","clone","$originalDiv","$replacementDiv","Util","humanFileSize","size","formatDate","lastModified","directory","urlSpec","x","y","c","forceIcon","previewpath","Files","generatePreviewUrl","replace","css","FileReader","reader","onload","e","blob","Blob","URL","webkitURL","originalUrl","createObjectURL","image","Image","src","createElement","min","drawImage","toDataURL","resolve","readAsArrayBuffer","reject","getCroppedPreview","MimeType","getIconUrl","checkboxId","prop","count","n","parent","children","_getFileExistsTemplate","allnewfiles","allexistingfiles","why","what","onCancel","onContinue","closeButton","remove","$primaryButton","closest","updatePrimaryButton","checkedCount","on","$checkbox","promise","defer","$messageTemplate","filePath","tmpl","jqXHR","$fileexistsTemplate","manageFromDocument","global","emit","token","getToken","setToken","newToken","manageToken","OCEventSource","joinChar","dataStr","typelessListeners","closed","listeners","encodeURIComponent","useFallBack","EventSource","iframeId","iframeCount","fallBackSources","iframe","source","onmessage","parse","listen","fallBackCallBack","done","lastLength","addEventListener","currentMenu","currentMenuToggle","hideMenus","complete","lastMenu","slideUp","apply","isAdmin","_oc_isadmin","load","loadTranslations","register","_unregister","unregister","translate","translatePlural","Handlebars","startSaving","selector","startAction","stop","finishedSaving","finishedAction","finishedSuccess","finishedError","delay","fadeOut","isPasswordConfirmationRequired","rejectCallback","confirmPassword","theme","_theme","_handlers","_pushState","strParams","buildQueryString","history","pushState","location","pathname","navigator","userAgent","toLowerCase","parseInt","pattern","patterns","querySelectorAll","ii","style","fill","stroke","removeAttribute","setAttribute","replaceState","hash","_cancelPop","addOnPopStateHandler","handler","_parseHashQuery","pos","_decodeQuery","query","parseUrlQuery","parseQueryString","search","_onPopState","state","chunkify","tz","charAt","m","History","computerFileSize","string","s","trim","bytes","matches","match","parseFloat","isFinite","b","k","kb","mb","gb","g","tb","pb","p","timestamp","format","TESTING","debug","moment","relativeModifiedDate","diff","fromNow","getScrollBarWidth","_scrollBarWidth","inner","outer","position","top","left","visibility","overflow","appendChild","w1","offsetWidth","w2","clientWidth","removeChild","stripTime","date","Date","getFullYear","getMonth","getDate","naturalSortCompare","a","aa","bb","aNum","Number","bNum","localeCompare","getLanguage","waitFor","interval","internalCallback","setTimeout","isCookieSetToValue","cookies","cookie","_oc_debug","webroot","_oc_webroot","lastIndexOf","coreApps","menuSpeed","PERMISSION_ALL","PERMISSION_CREATE","PERMISSION_DELETE","PERMISSION_NONE","PERMISSION_READ","PERMISSION_SHARE","PERMISSION_UPDATE","TAG_FAVORITE","fileIsBlacklisted","Config","blacklist_files_regex","appswebroots","config","dialogs","getCurrentUser","uid","isUserAdmin","L10N","_ajaxConnectionLostHandler","_processAjaxError","statusText","_reloadCalled","_userIsNavigatingAway","timer","setInterval","clearInterval","reload","registerXHRForErrorProcessing","readyState","getCapabilities","realGetCapabilities","registerMenu","$toggle","$menuEl","toggle","headerMenu","isClickableElement","event","preventDefault","is","slideToggle","showMenu","unregisterMenu","off","encodePath","dirname","isSamePath","joinPaths","getHost","host","getHostName","hostname","getPort","port","getProtocol","protocol","getCanonicalLocale","getLocale","queryString","components","part","decodeURIComponent","msg","Plugins","_plugins","targetName","plugin","plugins","getPlugins","attach","targetObject","detach","generateFilePath","generateUrl","get","namespaces","tail","set","getRootPath","getRootUrl","imagePath","redirect","targetURL","getRequestToken","linkTo","linkToOCS","service","version","ocsVersion","linkToRemote","generateRemoteUrl","linkToRemoteBase","realGetRootUrl","subscribe","singleMatcher","RegExp","multiMatcher","decodeComponents","right","Array","concat","decode","tokens","splitOnFirst","separator","TypeError","separatorIndex","includeKeys","object","predicate","isArray","descriptor","getOwnPropertyDescriptor","enumerable","defineProperty","Reflect","ownKeys","isNullOrUndefined","strictUriEncode","charCodeAt","encodeFragmentIdentifier","Symbol","validateArrayFormatSeparator","encode","strict","encodedURI","replaceMap","exec","entries","keys","customDecodeURIComponent","keysSorter","sort","removeHash","hashStart","parseValue","parseNumbers","isNaN","parseBooleans","extract","queryStart","arrayFormat","arrayFormatSeparator","formatter","accumulator","isEncodedArray","newValue","item","test","arrayValue","flat","parserForArrayFormat","returnValue","parameter","parameter_","key2","value2","reduce","Boolean","shouldFilter","skipNull","skipEmptyString","index","keyValueSep","encoderForArrayFormat","objectCopy","parseUrl","url_","parseFragmentIdentifier","fragmentIdentifier","stringifyUrl","getHash","urlObjectForFragmentEncode","exclude","ArrowRight","NcButton","String","default","valueLoading","loading","required","invertedColors","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","_c","_self","$event","$emit","scopedSlots","_u","staticClass","proxy","_v","_s","LoginButton","NcPasswordField","NcTextField","NcNoteCard","username","redirectUrl","errors","messages","throttleDelay","autoCompleteAllowed","directLogin","_Intl$DateTimeFormat","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","timezoneOffset","getTimezoneOffset","headline","productName","user","computed","isError","invalidPassword","userDisabled","errorLabel","apacheAuthFailed","internalException","loadingIcon","loginActionUrl","mounted","$refs","inputField","methods","updateUsername","submit","ref","_e","_l","class","staticStyle","domProps","shake","emits","fillColor","_b","$attrs","NoValidCredentials","_Error","_inherits","_super","_classCallCheck","_wrapNativeSuper","InformationIcon","LockOpenIcon","isHttps","isLocalhost","hasPublicKeyCredential","validCredentials","authenticate","loginForm","checkValidity","getAuthenticationData","publicKey","sign","completeAuthentication","catch","changeUsername","loginName","base64urlDecode","pad","atob","Axios","post","resp","hasOwnProperty","challenge","Uint8Array","from","allowCredentials","_objectSpread","arrayToBase64String","btoa","fromCharCode","_toConsumableArray","credentials","rawId","authenticatorData","clientDataJSON","signature","userHandle","_ref","defaultRedirectUrl","resetPasswordLink","watch","axios","_regeneratorRuntime","exports","Op","hasOwn","obj","desc","$Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","configurable","writable","err","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","makeInvokeMethod","tryCatch","arg","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","_invoke","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","return","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","doneResult","isGeneratorFunction","genFun","ctor","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","reverse","skipTempReset","prev","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","resetPasswordTarget","encrypted","proceed","_callee","_yield$Axios$post","_context","encryption","t0","args","directives","rawName","expression","composing","_i","$$a","$$el","$$c","checked","$$i","warning","clear","localStorage","sessionStorage","LoginForm","PasswordLessLoginForm","ResetPassword","UpdatePassword","loadState","passwordlessLogin","resetPassword","canResetPassword","resetPasswordUser","direct","hasPasswordless","countAlternativeLogins","alternativeLogins","PublicKeyCredential","hideLoginForm","passwordResetFinished","alternativeLogin","L10n","Vue","mixin","Nextcloud","extend","LoginView","$mount","previousBackbone","VERSION","noConflict","emulateHTTP","emulateJSON","_listening","Events","eventSplitter","eventsApi","iteratee","events","opts","names","_events","onApi","ctx","listening","_listeners","interop","listenTo","_listenId","uniqueId","listeningTo","_listeningTo","Listening","tryCatchOn","handlers","offApi","stopListening","ids","isEmpty","remaining","_callback","cleanup","once","onceMap","listenToOnce","offer","triggerApi","objEvents","allEvents","all","triggerEvents","ev","l","a1","a2","a3","listener","unbind","Model","preinitialize","cid","cidPrefix","defaults","initialize","validationError","idAttribute","sync","escape","has","_validate","unset","silent","changes","changing","_changing","_previousAttributes","current","isEqual","prevId","_pending","hasChanged","changedAttributes","old","previous","previousAttributes","fetch","serverAttrs","wrapError","save","wait","validate","isNew","destroy","base","isValid","models","comparator","_reset","setOptions","add","merge","addOptions","splice","array","at","singular","removed","_removeModels","added","merged","_isModel","toAdd","toMerge","toRemove","modelMap","sortable","sortAttr","isString","existing","_prepareModel","_addReference","orderChanged","some","_removeReference","previousModels","unshift","_byId","modelId","where","first","findWhere","isFunction","sortBy","pluck","callbackOpts","_forwardPristineError","CollectionIterator","ITERATOR_VALUES","ITERATOR_KEYS","ITERATOR_KEYSVALUES","_onModelEvent","$$iterator","kind","_collection","_kind","_index","View","viewOptions","_ensureElement","delegateEventSplitter","tagName","render","_removeElement","setElement","element","undelegateEvents","_setElement","delegateEvents","el","eventName","undelegate","_createElement","className","_setAttributes","addUnderscoreMethods","Class","attribute","cb","defaultVal","addMethod","instance","isObject","modelMatcher","matcher","collect","foldl","inject","reduceRight","foldr","detect","select","every","any","include","contains","toArray","head","take","initial","rest","drop","last","without","difference","shuffle","chain","sample","partition","groupBy","countBy","indexBy","findIndex","findLastIndex","pairs","invert","omit","Base","mappings","functions","memo","dataType","contentType","_method","beforeSend","setRequestHeader","ajax","Router","routes","_bindRoutes","optionalParam","namedParam","splatParam","escapeRegExp","route","isRegExp","_routeToRegExp","router","fragment","_extractParameters","execute","navigate","optional","param","checkUrl","routeStripper","rootStripper","pathStripper","started","atRoot","getSearch","matchRoot","decodeFragment","decodeURI","getFragment","_usePushState","_wantsHashChange","start","_trailingSlash","trailingSlash","hashChange","_hasHashChange","documentMode","_useHashChange","_wantsPushState","_hasPushState","rootPath","display","tabIndex","iWindow","insertBefore","firstChild","contentWindow","open","attachEvent","_checkUrlInterval","loadUrl","removeEventListener","detachEvent","decodedFragment","_updateHash","protoProps","staticProps","child","__super__","factory","___CSS_LOADER_EXPORT___","module","_XML_CHAR_MAP","_escapeXml","ch","userName","namespace","property","parseClarkNotation","_renderPropSet","propName","propValue","mkcol","responseType","xhrProvider","onProgress","upload","send","fulfill","onreadystatechange","resultBody","parseMultiStatus","ontimeout","XMLHttpRequest","_parsePropNode","propNode","childNodes","subNodes","nodeType","textContent","xmlBody","doc","DOMParser","parseFromString","resolver","foo","responseIterator","evaluate","XPathResult","ANY_TYPE","responseNode","iterateNext","stringValue","propStatIterator","propStatNode","propIterator","namespaceURI","localName","baseParts","subString","scheme","propertyName","webpackContext","req","webpackContextResolve","__webpack_require__","o","code","setApp","setUid","C","P","Jt","r","log","pow","toFixed","toLocaleString","N","NONE","CREATE","READ","UPDATE","DELETE","SHARE","ALL","Y","d","nc","oc","ocs","V","_nc_dav_properties","L","_nc_dav_namespaces","or","ur","S","Folder","File","J","X","crtime","owner","Q","NEW","FAILED","LOADING","LOCKED","D","_data","_attributes","_knownDavService","updateMtime","deleteProperty","Proxy","encodedSource","origin","extension","isDavRessource","move","rename","ye","super","ee","te","dr","requesttoken","ar","getDirectoryContents","details","includeSelf","filename","ve","be","lastmod","getcontentlength","O","isExist","u","isEmptyObject","f","isName","getAllMatches","startIndex","lastIndex","nameRegexp","B","re","preserveOrder","attributeNamePrefix","attributesGroupName","textNodeName","ignoreAttributes","removeNSPrefix","allowBooleanAttributes","parseTagValue","parseAttributeValue","trimValues","cdataPropName","numberParseOptions","hex","leadingZeros","eNotation","tagValueProcessor","attributeValueProcessor","stopNodes","alwaysCreateTextNode","commentPropName","unpairedTags","processEntities","htmlEntities","ignoreDeclaration","ignorePiTags","transformTagName","transformAttributeName","updateTag","buildOptions","defaultOptions","ne","ie","Nt","bt","Et","prettify","yt","vt","se","Pt","h","xt","oe","K","E","indentBy","suppressUnpairedNode","suppressEmptyNode","endsWith","suppressBooleanAttributes","entities","regex","Ft","Vt","oneListGroup","isAttribute","attrPrefixLen","Rt","processTextOrObjNode","Lt","indentate","St","tagEndChar","newLine","j2x","buildTextValNode","attrStr","buildObjectNode","repeat","arrayNodeName","buildAttrPairStr","replaceEntitiesValue","closeTag","Function","ArrayProto","ObjProto","SymbolProto","supportsArrayBuffer","ArrayBuffer","supportsDataView","DataView","nativeIsArray","nativeKeys","nativeCreate","nativeIsView","isView","_isNaN","_isFinite","hasEnumBug","propertyIsEnumerable","nonEnumerableProps","MAX_ARRAY_INDEX","restArguments","func","isNull","isUndefined","isBoolean","isElement","tagTester","tag","nodelist","Int8Array","hasStringTagBug","isIE11","Map","isDataView","getInt8","isArrayBuffer","buffer","isArguments","isSymbol","isNumber","constant","createSizePropertyCheck","getSizeProperty","sizeProperty","shallowProperty","typedArrayPattern","collectNonEnumProps","emulatedSet","nonEnumIdx","proto","isMatch","_keys","_wrapped","toBufferView","bufferSource","byteOffset","valueOf","tagDataView","eq","aStack","bStack","deepEq","areArrays","aCtor","bCtor","allKeys","ie11fingerprint","weakMapMethods","forEachName","commonInit","mapTail","mapMethods","setMethods","createAssigner","keysFunc","baseCreate","Ctor","extendOwn","tap","interceptor","toPath","deepGet","identity","optimizeCb","argCount","baseIteratee","Infinity","mapObject","currentKey","noop","propertyOf","times","accum","random","now","createEscaper","escaper","testRegexp","replaceRegexp","templateSettings","interpolate","noMatch","escapes","escapeChar","bareIdentifier","template","settings","oldSettings","offset","argument","variable","fallback","idCounter","prefix","_chain","executeBound","sourceFunc","boundFunc","callingContext","partial","boundArgs","placeholder","bound","callArgs","flatten","output","idx","len","memoize","hasher","cache","address","throttle","later","leading","throttled","_now","clearTimeout","debounce","immediate","passed","debounced","_args","wrapper","negate","compose","after","before","findKey","createPredicateIndexFinder","dir","sortedIndex","low","high","mid","createIndexFinder","predicateFind","createReduce","reducer","list","fromIndex","guard","contextPath","lastComputed","v","reStrSymbol","rand","temp","criteria","group","behavior","pass","keyInObj","compact","otherArrays","uniq","isSorted","seen","arrays","intersection","argsLength","unzip","range","step","chunk","chainResult","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","chunkIds","priority","notFulfilled","fulfilled","getter","__esModule","definition","chunkId","promises","globalThis","script","needAttach","scripts","charset","onScriptComplete","onerror","doneFns","parentNode","nmd","paths","scriptUrl","importScripts","currentScript","baseURI","installedChunks","installedChunkData","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file diff --git a/dist/settings-users-8351.js b/dist/settings-users-8351.js index f967ffa1bab..d5f1d820a01 100644 --- a/dist/settings-users-8351.js +++ b/dist/settings-users-8351.js @@ -1,3 +1,3 @@ /*! For license information please see settings-users-8351.js.LICENSE.txt */ -(self.webpackChunknextcloud=self.webpackChunknextcloud||[]).push([[8351],{40812:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),a=n.n(o)()(i());a.push([t.id,".modal__header[data-v-36dd2d08]{margin:0}.modal__content[data-v-36dd2d08]{display:flex;flex-direction:column;align-items:center;padding:20px;gap:4px 0}.modal__button-row[data-v-36dd2d08]{display:flex;width:100%;justify-content:space-between}","",{version:3,sources:["webpack://./apps/settings/src/components/GroupListItem.vue"],names:[],mappings:"AAEC,gCACC,QAAA,CAGD,iCACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,YAAA,CACA,SAAA,CAGD,oCACC,YAAA,CACA,UAAA,CACA,6BAAA",sourcesContent:["\n.modal {\n\t&__header {\n\t\tmargin: 0;\n\t}\n\n\t&__content {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tpadding: 20px;\n\t\tgap: 4px 0;\n\t}\n\n\t&__button-row {\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\tjustify-content: space-between;\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},51321:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),a=n.n(o)()(i());a.push([t.id,".empty[data-v-c76ff3be] .icon-vue{width:64px;height:64px}.empty[data-v-c76ff3be] .icon-vue svg{max-width:64px;max-height:64px}","",{version:3,sources:["webpack://./apps/settings/src/components/UserList.vue"],names:[],mappings:"AAKE,kCACC,UAAA,CACA,WAAA,CAEA,sCACC,cAAA,CACA,eAAA",sourcesContent:["\n@import './Users/shared/styles.scss';\n\n.empty {\n\t:deep {\n\t\t.icon-vue {\n\t\t\twidth: 64px;\n\t\t\theight: 64px;\n\n\t\t\tsvg {\n\t\t\t\tmax-width: 64px;\n\t\t\t\tmax-height: 64px;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},68884:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),a=n.n(o)()(i());a.push([t.id,".modal__form[data-v-29bc5eca]{display:flex;flex-direction:column;align-items:center;padding:20px;gap:4px 0}.modal__form #new-user-groups-input[data-v-29bc5eca]{position:absolute;opacity:0;width:0}.modal__item[data-v-29bc5eca]{width:100%}.modal__item[data-v-29bc5eca]:not(:focus):not(:active){border-color:var(--color-border-dark)}.modal__hint[data-v-29bc5eca]{color:var(--color-text-maxcontrast);margin-top:8px;align-self:flex-start}.modal__label[data-v-29bc5eca]{display:block;padding:4px 0}.modal__select[data-v-29bc5eca]{width:100%}.modal__submit[data-v-29bc5eca]{margin-top:20px}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/NewUserModal.vue"],names:[],mappings:"AAEC,8BACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,YAAA,CACA,SAAA,CAGA,qDACC,iBAAA,CACA,SAAA,CAMA,OAAA,CAIF,8BACC,UAAA,CAEA,uDACC,qCAAA,CAIF,8BACC,mCAAA,CACA,cAAA,CACA,qBAAA,CAGD,+BACC,aAAA,CACA,aAAA,CAGD,gCACC,UAAA,CAGD,gCACC,eAAA",sourcesContent:['\n.modal {\n\t&__form {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tpadding: 20px;\n\t\tgap: 4px 0;\n\n\t\t/* fake input for groups validation */\n\t\t#new-user-groups-input {\n\t\t\tposition: absolute;\n\t\t\topacity: 0;\n\t\t\t/* The "hidden" input is behind the NcSelect, so in general it does\n\t\t\t* not receives clicks. However, with Firefox, after the validation\n\t\t\t* fails, it will receive the first click done on it, so its width needs\n\t\t\t* to be set to 0 to prevent that ("pointer-events: none" does not\n\t\t\t* prevent it). */\n\t\t\twidth: 0;\n\t\t}\n\t}\n\n\t&__item {\n\t\twidth: 100%;\n\n\t\t&:not(:focus):not(:active) {\n\t\t\tborder-color: var(--color-border-dark);\n\t\t}\n\t}\n\n\t&__hint {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tmargin-top: 8px;\n\t\talign-self: flex-start;\n\t}\n\n\t&__label {\n\t\tdisplay: block;\n\t\tpadding: 4px 0;\n\t}\n\n\t&__select {\n\t\twidth: 100%;\n\t}\n\n\t&__submit {\n\t\tmargin-top: 20px;\n\t}\n}\n'],sourceRoot:""}]),e.Z=a},69830:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),a=n.n(o)()(i());a.push([t.id,".footer[data-v-5b39b95a]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.footer__cell[data-v-5b39b95a]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.footer__cell strong[data-v-5b39b95a],.footer__cell span[data-v-5b39b95a],.footer__cell label[data-v-5b39b95a]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.footer__cell--avatar[data-v-5b39b95a],.footer__cell--displayname[data-v-5b39b95a]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.footer__cell--avatar[data-v-5b39b95a]{left:0}.footer__cell--displayname[data-v-5b39b95a]{left:var(--avatar-cell-width);border-right:1px solid var(--color-border)}}.footer__cell--avatar[data-v-5b39b95a]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.footer__cell--multiline span[data-v-5b39b95a]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.footer__cell--multiline span[data-v-5b39b95a]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.footer__cell--large[data-v-5b39b95a]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.footer__cell--obfuscated[data-v-5b39b95a]{min-width:400px;width:400px}.footer__cell--fill[data-v-5b39b95a]{min-width:var(--cell-width-large);width:100%}.footer__cell--actions[data-v-5b39b95a]{position:sticky;right:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-left:1px solid var(--color-border)}.footer__subtitle[data-v-5b39b95a]{color:var(--color-text-maxcontrast)}.footer__cell[data-v-5b39b95a]{position:sticky;color:var(--color-text-maxcontrast)}.footer__cell--loading[data-v-5b39b95a]{left:0;min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0}.footer__cell--count[data-v-5b39b95a]{left:var(--avatar-cell-width);min-width:var(--cell-width);width:var(--cell-width)}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/UserListFooter.vue","webpack://./apps/settings/src/components/Users/shared/styles.scss"],names:[],mappings:"AAGA,yBCoBC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CAIA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,MAAA,CAGD,4CACC,6BAAA,CACA,0CAAA,CAAA,CAIF,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,OAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,yCAAA,CAIF,mCACC,mCAAA,CDjHD,+BACC,eAAA,CACA,mCAAA,CAEA,wCACC,MAAA,CACA,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CAGD,sCACC,6BAAA,CACA,2BAAA,CACA,uBAAA",sourcesContent:["\n@import './shared/styles.scss';\n\n.footer {\n\t@include row;\n\t@include cell;\n\n\t&__cell {\n\t\tposition: sticky;\n\t\tcolor: var(--color-text-maxcontrast);\n\n\t\t&--loading {\n\t\t\tleft: 0;\n\t\t\tmin-width: var(--avatar-cell-width);\n\t\t\twidth: var(--avatar-cell-width);\n\t\t\talign-items: center;\n\t\t\tpadding: 0;\n\t\t}\n\n\t\t&--count {\n\t\t\tleft: var(--avatar-cell-width);\n\t\t\tmin-width: var(--cell-width);\n\t\t\twidth: var(--cell-width);\n\t\t}\n\t}\n}\n","/**\n * @copyright 2023 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n@mixin row {\n\tposition: relative;\n\tdisplay: flex;\n\tmin-width: 100%;\n\twidth: fit-content;\n\theight: var(--row-height);\n\tbackground-color: var(--color-main-background);\n}\n\n@mixin cell {\n\t&__cell {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tpadding: 0 var(--cell-padding);\n\t\tmin-width: var(--cell-width);\n\t\twidth: var(--cell-width);\n\t\tcolor: var(--color-main-text);\n\n\t\tstrong,\n\t\tspan,\n\t\tlabel {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow-wrap: anywhere;\n\t\t}\n\n\t\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\n\t\t\t&--avatar,\n\t\t\t&--displayname {\n\t\t\t\tposition: sticky;\n\t\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\t\tbackground-color: var(--color-main-background);\n\t\t\t}\n\n\t\t\t&--avatar {\n\t\t\t\tleft: 0;\n\t\t\t}\n\n\t\t\t&--displayname {\n\t\t\t\tleft: var(--avatar-cell-width);\n\t\t\t\tborder-right: 1px solid var(--color-border);\n\t\t\t}\n\t\t}\n\n\t\t&--avatar {\n\t\t\tmin-width: var(--avatar-cell-width);\n\t\t\twidth: var(--avatar-cell-width);\n\t\t\talign-items: center;\n\t\t\tpadding: 0;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&--multiline {\n\t\t\tspan {\n\t\t\t\tline-height: 1.3em;\n\t\t\t\twhite-space: unset;\n\n\t\t\t\t@supports (-webkit-line-clamp: 2) {\n\t\t\t\t\tdisplay: -webkit-box;\n\t\t\t\t\t-webkit-line-clamp: 2;\n\t\t\t\t\t-webkit-box-orient: vertical;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&--large {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: var(--cell-width-large);\n\t\t}\n\n\t\t&--obfuscated {\n\t\t\tmin-width: 400px;\n\t\t\twidth: 400px;\n\t\t}\n\n\t\t// Fill remaining row space with cell\n\t\t&--fill {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t&--actions {\n\t\t\tposition: sticky;\n\t\t\tright: 0;\n\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\talign-items: center;\n\t\t\tmin-width: 110px;\n\t\t\twidth: 110px;\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tborder-left: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t&__subtitle {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},74831:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),a=n.n(o)()(i());a.push([t.id,".header[data-v-05cd17c8]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background);border-bottom:1px solid var(--color-border)}.header__cell[data-v-05cd17c8]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.header__cell strong[data-v-05cd17c8],.header__cell span[data-v-05cd17c8],.header__cell label[data-v-05cd17c8]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.header__cell--avatar[data-v-05cd17c8],.header__cell--displayname[data-v-05cd17c8]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.header__cell--avatar[data-v-05cd17c8]{left:0}.header__cell--displayname[data-v-05cd17c8]{left:var(--avatar-cell-width);border-right:1px solid var(--color-border)}}.header__cell--avatar[data-v-05cd17c8]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.header__cell--multiline span[data-v-05cd17c8]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.header__cell--multiline span[data-v-05cd17c8]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.header__cell--large[data-v-05cd17c8]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.header__cell--obfuscated[data-v-05cd17c8]{min-width:400px;width:400px}.header__cell--fill[data-v-05cd17c8]{min-width:var(--cell-width-large);width:100%}.header__cell--actions[data-v-05cd17c8]{position:sticky;right:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-left:1px solid var(--color-border)}.header__subtitle[data-v-05cd17c8]{color:var(--color-text-maxcontrast)}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/UserListHeader.vue","webpack://./apps/settings/src/components/Users/shared/styles.scss"],names:[],mappings:"AAGA,yBCoBC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CDrBA,2CAAA,CCyBA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,MAAA,CAGD,4CACC,6BAAA,CACA,0CAAA,CAAA,CAIF,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,OAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,yCAAA,CAIF,mCACC,mCAAA",sourcesContent:["\n@import './shared/styles.scss';\n\n.header {\n\t@include row;\n\t@include cell;\n\n\tborder-bottom: 1px solid var(--color-border);\n}\n","/**\n * @copyright 2023 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n@mixin row {\n\tposition: relative;\n\tdisplay: flex;\n\tmin-width: 100%;\n\twidth: fit-content;\n\theight: var(--row-height);\n\tbackground-color: var(--color-main-background);\n}\n\n@mixin cell {\n\t&__cell {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tpadding: 0 var(--cell-padding);\n\t\tmin-width: var(--cell-width);\n\t\twidth: var(--cell-width);\n\t\tcolor: var(--color-main-text);\n\n\t\tstrong,\n\t\tspan,\n\t\tlabel {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow-wrap: anywhere;\n\t\t}\n\n\t\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\n\t\t\t&--avatar,\n\t\t\t&--displayname {\n\t\t\t\tposition: sticky;\n\t\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\t\tbackground-color: var(--color-main-background);\n\t\t\t}\n\n\t\t\t&--avatar {\n\t\t\t\tleft: 0;\n\t\t\t}\n\n\t\t\t&--displayname {\n\t\t\t\tleft: var(--avatar-cell-width);\n\t\t\t\tborder-right: 1px solid var(--color-border);\n\t\t\t}\n\t\t}\n\n\t\t&--avatar {\n\t\t\tmin-width: var(--avatar-cell-width);\n\t\t\twidth: var(--avatar-cell-width);\n\t\t\talign-items: center;\n\t\t\tpadding: 0;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&--multiline {\n\t\t\tspan {\n\t\t\t\tline-height: 1.3em;\n\t\t\t\twhite-space: unset;\n\n\t\t\t\t@supports (-webkit-line-clamp: 2) {\n\t\t\t\t\tdisplay: -webkit-box;\n\t\t\t\t\t-webkit-line-clamp: 2;\n\t\t\t\t\t-webkit-box-orient: vertical;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&--large {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: var(--cell-width-large);\n\t\t}\n\n\t\t&--obfuscated {\n\t\t\tmin-width: 400px;\n\t\t\twidth: 400px;\n\t\t}\n\n\t\t// Fill remaining row space with cell\n\t\t&--fill {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t&--actions {\n\t\t\tposition: sticky;\n\t\t\tright: 0;\n\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\talign-items: center;\n\t\t\tmin-width: 110px;\n\t\t\twidth: 110px;\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tborder-left: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t&__subtitle {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},65572:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),a=n.n(o)()(i());a.push([t.id,".user-list__row[data-v-2766a66a]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.user-list__row[data-v-2766a66a]:hover{background-color:var(--color-background-hover)}.user-list__row:hover .row__cell[data-v-2766a66a]:not(.row__cell--actions){background-color:var(--color-background-hover)}.user-list__row .select--fill[data-v-2766a66a]{max-width:calc(var(--cell-width-large) - 2*var(--cell-padding))}.row__cell[data-v-2766a66a]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.row__cell strong[data-v-2766a66a],.row__cell span[data-v-2766a66a],.row__cell label[data-v-2766a66a]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.row__cell--avatar[data-v-2766a66a],.row__cell--displayname[data-v-2766a66a]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.row__cell--avatar[data-v-2766a66a]{left:0}.row__cell--displayname[data-v-2766a66a]{left:var(--avatar-cell-width);border-right:1px solid var(--color-border)}}.row__cell--avatar[data-v-2766a66a]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.row__cell--multiline span[data-v-2766a66a]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.row__cell--multiline span[data-v-2766a66a]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.row__cell--large[data-v-2766a66a]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.row__cell--obfuscated[data-v-2766a66a]{min-width:400px;width:400px}.row__cell--fill[data-v-2766a66a]{min-width:var(--cell-width-large);width:100%}.row__cell--actions[data-v-2766a66a]{position:sticky;right:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-left:1px solid var(--color-border)}.row__subtitle[data-v-2766a66a]{color:var(--color-text-maxcontrast)}.row__cell[data-v-2766a66a]{border-bottom:1px solid var(--color-border)}.row__cell[data-v-2766a66a] .input-field,.row__cell[data-v-2766a66a] .input-field__main-wrapper,.row__cell[data-v-2766a66a] .input-field__input{height:48px !important}.row__cell[data-v-2766a66a] .input-field__input:placeholder-shown:not(:focus)+.input-field__label{inset-block-start:16px !important}.row__cell[data-v-2766a66a] .button-vue--icon-only{height:44px !important}.row__cell[data-v-2766a66a] .v-select.select{min-width:var(--cell-min-width)}.row__progress[data-v-2766a66a]{margin-top:4px}.row__progress--warn[data-v-2766a66a]::-moz-progress-bar{background:var(--color-warning) !important}.row__progress--warn[data-v-2766a66a]::-webkit-progress-value{background:var(--color-warning) !important}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/UserRow.vue","webpack://./apps/settings/src/components/Users/shared/styles.scss"],names:[],mappings:"AAGA,iCCoBC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CDtBA,uCACC,8CAAA,CAEA,2EACC,8CAAA,CAKF,+CACC,+DAAA,CCgBD,4BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,sGAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,6EAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,oCACC,MAAA,CAGD,yCACC,6BAAA,CACA,0CAAA,CAAA,CAIF,oCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,4CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,4CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,mCACC,iCAAA,CACA,6BAAA,CAGD,wCACC,eAAA,CACA,WAAA,CAID,kCACC,iCAAA,CACA,UAAA,CAGD,qCACC,eAAA,CACA,OAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,yCAAA,CAIF,gCACC,mCAAA,CDjGD,4BACC,2CAAA,CAGC,gJAGC,sBAAA,CAIA,kGACC,iCAAA,CAIF,mDACC,sBAAA,CAGD,6CACC,+BAAA,CAKH,gCACC,cAAA,CAGC,yDACC,0CAAA,CAED,8DACC,0CAAA",sourcesContent:["\n@import './shared/styles.scss';\n\n.user-list__row {\n\t@include row;\n\n\t&:hover {\n\t\tbackground-color: var(--color-background-hover);\n\n\t\t.row__cell:not(.row__cell--actions) {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t}\n\n\t// Limit width of select in fill cell\n\t.select--fill {\n\t\tmax-width: calc(var(--cell-width-large) - (2 * var(--cell-padding)));\n\t}\n}\n\n.row {\n\t@include cell;\n\n\t&__cell {\n\t\tborder-bottom: 1px solid var(--color-border);\n\n\t\t:deep {\n\t\t\t.input-field,\n\t\t\t.input-field__main-wrapper,\n\t\t\t.input-field__input {\n\t\t\t\theight: 48px !important;\n\t\t\t}\n\n\t\t\t.input-field__input {\n\t\t\t\t&:placeholder-shown:not(:focus) + .input-field__label {\n\t\t\t\t\tinset-block-start: 16px !important;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.button-vue--icon-only {\n\t\t\t\theight: 44px !important;\n\t\t\t}\n\n\t\t\t.v-select.select {\n\t\t\t\tmin-width: var(--cell-min-width);\n\t\t\t}\n\t\t}\n\t}\n\n\t&__progress {\n\t\tmargin-top: 4px;\n\n\t\t&--warn {\n\t\t\t&::-moz-progress-bar {\n\t\t\t\tbackground: var(--color-warning) !important;\n\t\t\t}\n\t\t\t&::-webkit-progress-value {\n\t\t\t\tbackground: var(--color-warning) !important;\n\t\t\t}\n\t\t}\n\t}\n}\n","/**\n * @copyright 2023 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n@mixin row {\n\tposition: relative;\n\tdisplay: flex;\n\tmin-width: 100%;\n\twidth: fit-content;\n\theight: var(--row-height);\n\tbackground-color: var(--color-main-background);\n}\n\n@mixin cell {\n\t&__cell {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tpadding: 0 var(--cell-padding);\n\t\tmin-width: var(--cell-width);\n\t\twidth: var(--cell-width);\n\t\tcolor: var(--color-main-text);\n\n\t\tstrong,\n\t\tspan,\n\t\tlabel {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow-wrap: anywhere;\n\t\t}\n\n\t\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\n\t\t\t&--avatar,\n\t\t\t&--displayname {\n\t\t\t\tposition: sticky;\n\t\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\t\tbackground-color: var(--color-main-background);\n\t\t\t}\n\n\t\t\t&--avatar {\n\t\t\t\tleft: 0;\n\t\t\t}\n\n\t\t\t&--displayname {\n\t\t\t\tleft: var(--avatar-cell-width);\n\t\t\t\tborder-right: 1px solid var(--color-border);\n\t\t\t}\n\t\t}\n\n\t\t&--avatar {\n\t\t\tmin-width: var(--avatar-cell-width);\n\t\t\twidth: var(--avatar-cell-width);\n\t\t\talign-items: center;\n\t\t\tpadding: 0;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&--multiline {\n\t\t\tspan {\n\t\t\t\tline-height: 1.3em;\n\t\t\t\twhite-space: unset;\n\n\t\t\t\t@supports (-webkit-line-clamp: 2) {\n\t\t\t\t\tdisplay: -webkit-box;\n\t\t\t\t\t-webkit-line-clamp: 2;\n\t\t\t\t\t-webkit-box-orient: vertical;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&--large {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: var(--cell-width-large);\n\t\t}\n\n\t\t&--obfuscated {\n\t\t\tmin-width: 400px;\n\t\t\twidth: 400px;\n\t\t}\n\n\t\t// Fill remaining row space with cell\n\t\t&--fill {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t&--actions {\n\t\t\tposition: sticky;\n\t\t\tright: 0;\n\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\talign-items: center;\n\t\t\tmin-width: 110px;\n\t\t\twidth: 110px;\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tborder-left: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t&__subtitle {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},66547:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),a=n.n(o)()(i());a.push([t.id,"label[for=default-quota-select][data-v-0a250c55]{display:block;padding:4px 0}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/UserSettingsDialog.vue"],names:[],mappings:"AACA,iDACC,aAAA,CACA,aAAA",sourcesContent:['\nlabel[for="default-quota-select"] {\n\tdisplay: block;\n\tpadding: 4px 0;\n}\n'],sourceRoot:""}]),e.Z=a},63936:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),a=n.n(o)()(i());a.push([t.id,".user-list[data-v-4377829d]{--avatar-cell-width: 48px;--cell-padding: 7px;--cell-width: 200px;--cell-width-large: 300px;--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1);display:block;overflow:auto;height:100%}.user-list__header[data-v-4377829d],.user-list__footer[data-v-4377829d]{position:sticky;display:block}.user-list__header[data-v-4377829d]{top:0;z-index:calc(var(--sticky-column-z-index) + 1)}.user-list__footer[data-v-4377829d]{left:0}.user-list__body[data-v-4377829d]{display:flex;flex-direction:column;width:100%}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/VirtualList.vue"],names:[],mappings:"AACA,4BACC,yBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,qEAAA,CACA,6DAAA,CAGA,aAAA,CACA,aAAA,CACA,WAAA,CAEA,wEAEC,eAAA,CAEA,aAAA,CAGD,oCACC,KAAA,CACA,8CAAA,CAGD,oCACC,MAAA,CAGD,kCACC,YAAA,CACA,qBAAA,CACA,UAAA",sourcesContent:["\n.user-list {\n\t--avatar-cell-width: 48px;\n\t--cell-padding: 7px;\n\t--cell-width: 200px;\n\t--cell-width-large: 300px;\n\t--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));\n\t--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1); // Keep the sticky column on top of the select dropdown\n\n\t// Necessary for virtual scroll optimized rendering\n\tdisplay: block;\n\toverflow: auto;\n\theight: 100%;\n\n\t&__header,\n\t&__footer {\n\t\tposition: sticky;\n\t\t// Fix sticky positioning in Firefox\n\t\tdisplay: block;\n\t}\n\n\t&__header {\n\t\ttop: 0;\n\t\tz-index: calc(var(--sticky-column-z-index) + 1);\n\t}\n\n\t&__footer {\n\t\tleft: 0;\n\t}\n\n\t&__body {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\twidth: 100%;\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},60457:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),a=n.n(o)()(i());a.push([t.id,".app-content[data-v-642e7037]{display:flex;overflow:hidden;flex-direction:column;max-height:100%}.app-navigation-entry__settings[data-v-642e7037]{height:auto !important;flex:0 0 auto}","",{version:3,sources:["webpack://./apps/settings/src/views/Users.vue"],names:[],mappings:"AACA,8BAEC,YAAA,CACA,eAAA,CACA,qBAAA,CACA,eAAA,CAGD,iDACC,sBAAA,CAEA,aAAA",sourcesContent:["\n.app-content {\n\t// Virtual list needs to be full height and is scrollable\n\tdisplay: flex;\n\toverflow: hidden;\n\tflex-direction: column;\n\tmax-height: 100%;\n}\n\n.app-navigation-entry__settings {\n\theight: auto !important;\n\t// Prevent shrinking or growing\n\tflex: 0 0 auto;\n}\n"],sourceRoot:""}]),e.Z=a},73571:function(e,n,r){"use strict";r.r(n),r.d(n,{default:function(){return Me}});var i=r(20144),o=r(87369),a=r.n(o),s=r(74139),l=r(31352),u=r(64024),c=r(31466),d=r(76955),p=r(56071),h=r(35534),f=r(82002),g=r(41705),v=r(61898),m=r(73743),A=r(93182),y=r(20435),w=r(50413),b={name:"AccountOffIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},C=r(51900),_=(0,C.Z)(b,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon account-off-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,4A4,4 0 0,1 16,8C16,9.95 14.6,11.58 12.75,11.93L8.07,7.25C8.42,5.4 10.05,4 12,4M12.28,14L18.28,20L20,21.72L18.73,23L15.73,20H4V18C4,16.16 6.5,14.61 9.87,14.14L2.78,7.05L4.05,5.78L12.28,14M20,18V19.18L15.14,14.32C18,14.93 20,16.35 20,18Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,x=r(57638),L=r(61149),S={name:"ShieldAccountIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},N=(0,C.Z)(S,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon shield-account-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1M12,5A3,3 0 0,1 15,8A3,3 0 0,1 12,11A3,3 0 0,1 9,8A3,3 0 0,1 12,5M17.13,17C15.92,18.85 14.11,20.24 12,20.92C9.89,20.24 8.08,18.85 6.87,17C6.53,16.5 6.24,16 6,15.47C6,13.82 8.71,12.47 12,12.47C15.29,12.47 18,13.79 18,15.47C17.76,16 17.47,16.5 17.13,17Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,k=r(20212),G=r(57274),I=r(59110),U=r(80774),O=r(57612),E=r(73229);function M(t){return M="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},M(t)}function D(){D=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,n){return t[e]=n}}function u(t,e,n,i){var o=e&&e.prototype instanceof p?e:p,a=Object.create(o.prototype),s=new L(i||[]);return r(a,"_invoke",{value:b(t,n,s)}),a}function c(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var d={};function p(){}function h(){}function f(){}var g={};l(g,o,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(S([])));m&&m!==e&&n.call(m,o)&&(g=m);var A=f.prototype=p.prototype=Object.create(g);function y(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function i(r,o,a,s){var l=c(t[r],t,o);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==M(d)&&n.call(d,"__await")?e.resolve(d.__await).then((function(t){i("next",t,a,s)}),(function(t){i("throw",t,a,s)})):e.resolve(d).then((function(t){u.value=t,a(u)}),(function(t){return i("throw",t,a,s)}))}s(l.arg)}var o;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){i(t,n,e,r)}))}return o=o?o.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return{value:void 0,done:!0}}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var s=C(a,n);if(s){if(s===d)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=c(t,e,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===d)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}function C(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,C(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),d;var i=c(r,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,d;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,d):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,d)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function S(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:N}}function N(){return{value:void 0,done:!0}}return h.prototype=f,r(A,"constructor",{value:f,configurable:!0}),r(f,"constructor",{value:h,configurable:!0}),h.displayName=l(f,s,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===h||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,l(t,s,"GeneratorFunction")),t.prototype=Object.create(A),t},t.awrap=function(t){return{__await:t}},y(w.prototype),l(w.prototype,a,(function(){return this})),t.AsyncIterator=w,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new w(u(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},y(A),l(A,s,"Generator"),l(A,o,(function(){return this})),l(A,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=S,L.prototype={constructor:L,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var s=n.call(o,"catchLoc"),l=n.call(o,"finallyLoc");if(s&&l){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,d):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;x(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:S(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),d}},t}function j(t,e,n,r,i,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(r,i)}function P(t){return function(){var e=this,n=arguments;return new Promise((function(r,i){var o=t.apply(e,n);function a(t){j(o,r,i,a,s,"next",t)}function s(t){j(o,r,i,a,s,"throw",t)}a(void 0)}))}}var Z={name:"GroupListItem",components:{AccountGroup:w.Z,Delete:O.Z,Fragment:s.Fragment,NcActionButton:k.Z,NcActionInput:c.Z,NcAppNavigationItem:g.Z,NcButton:G.Z,NcCounterBubble:A.Z,NcModal:I.Z,NcNoteCard:U.Z,Pencil:E.default},props:{active:{type:Boolean,required:!0},count:{type:Number,default:null},id:{type:String,required:!0},name:{type:String,required:!0}},data:function(){return{loadingRenameGroup:!1,openGroupMenu:!1,showRemoveGroupModal:!1}},computed:{settings:function(){return this.$store.getters.getServerData}},methods:{handleGroupMenuOpen:function(){this.openGroupMenu=!0},renameGroup:function(t){var e=this;return P(D().mark((function n(){var r;return D().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(""!==t.trim()){n.next=2;break}return n.abrupt("return");case 2:if(""!==(r=e.$refs.displayNameInput.$el.querySelector('input[type="text"]').value).trim()){n.next=5;break}return n.abrupt("return");case 5:return n.prev=5,e.openGroupMenu=!1,e.loadingRenameGroup=!0,n.next=10,e.$store.dispatch("renameGroup",{groupid:t.trim(),displayName:r.trim()});case 10:e.loadingRenameGroup=!1,n.next=17;break;case 13:n.prev=13,n.t0=n.catch(5),e.openGroupMenu=!0,e.loadingRenameGroup=!1;case 17:case"end":return n.stop()}}),n,null,[[5,13]])})))()},removeGroup:function(){var e=this;return P(D().mark((function n(){return D().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,e.$store.dispatch("removeGroup",e.id);case 3:e.showRemoveGroupModal=!1,n.next=9;break;case 6:n.prev=6,n.t0=n.catch(0),(0,u.x2)(t("settings",'Failed to remove group "{group}"',{group:e.name}));case 9:case"end":return n.stop()}}),n,null,[[0,6]])})))()}}},B=r(93379),T=r.n(B),z=r(7795),F=r.n(z),q=r(90569),$=r.n(q),R=r(3565),Y=r.n(R),H=r(19216),Q=r.n(H),W=r(44589),V=r.n(W),K=r(40812),J={};J.styleTagTransform=V(),J.setAttributes=Y(),J.insert=$().bind(null,"head"),J.domAPI=F(),J.insertStyleElement=Q(),T()(K.Z,J),K.Z&&K.Z.locals&&K.Z.locals;var X=(0,C.Z)(Z,(function(){var t=this,e=t._self._c;return e("Fragment",[t.showRemoveGroupModal?e("NcModal",{on:{close:function(e){t.showRemoveGroupModal=!1}}},[e("div",{staticClass:"modal__content"},[e("h2",{staticClass:"modal__header"},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Please confirm the group removal"))+"\n\t\t\t")]),t._v(" "),e("NcNoteCard",{attrs:{type:"warning","show-alert":""}},[t._v("\n\t\t\t\t"+t._s(t.t("settings",'You are about to remove the group "{group}". The users will NOT be deleted.',{group:t.name}))+"\n\t\t\t")]),t._v(" "),e("div",{staticClass:"modal__button-row"},[e("NcButton",{attrs:{type:"secondary"},on:{click:function(e){t.showRemoveGroupModal=!1}}},[t._v("\n\t\t\t\t\t"+t._s(t.t("settings","Cancel"))+"\n\t\t\t\t")]),t._v(" "),e("NcButton",{attrs:{type:"primary"},on:{click:t.removeGroup}},[t._v("\n\t\t\t\t\t"+t._s(t.t("settings","Confirm"))+"\n\t\t\t\t")])],1)],1)]):t._e(),t._v(" "),e("NcAppNavigationItem",{key:t.id,attrs:{exact:!0,name:t.name,to:{name:"group",params:{selectedGroup:encodeURIComponent(t.id)}},loading:t.loadingRenameGroup,"menu-open":t.openGroupMenu},on:{"update:menuOpen":t.handleGroupMenuOpen},scopedSlots:t._u([{key:"icon",fn:function(){return[e("AccountGroup",{attrs:{size:20}})]},proxy:!0},{key:"counter",fn:function(){return[t.count?e("NcCounterBubble",{attrs:{type:t.active?"highlighted":void 0}},[t._v("\n\t\t\t\t"+t._s(t.count)+"\n\t\t\t")]):t._e()]},proxy:!0},{key:"actions",fn:function(){return["admin"!==t.id&&"disabled"!==t.id&&t.settings.isAdmin?e("NcActionInput",{ref:"displayNameInput",attrs:{"trailing-button-label":t.t("settings","Submit"),type:"text",value:t.name,label:t.t("settings","Rename group")},on:{submit:function(e){return t.renameGroup(t.id)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Pencil",{attrs:{size:20}})]},proxy:!0}],null,!1,580569589)}):t._e(),t._v(" "),"admin"!==t.id&&"disabled"!==t.id&&t.settings.isAdmin?e("NcActionButton",{on:{click:function(e){t.showRemoveGroupModal=!0}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Delete",{attrs:{size:20}})]},proxy:!0}],null,!1,2705356561)},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Remove group"))+"\n\t\t\t")]):t._e()]},proxy:!0}])})],1)}),[],!1,null,"36dd2d08",null).exports,tt=r(86514),et=r(63813),nt=r(69183),rt=r(52925),it=r(20296),ot=r(38605);i.default.directive("elementVisibility",rt.jy);var at=i.default.extend({name:"VirtualList",props:{dataComponent:{type:[Object,Function],required:!0},dataKey:{type:String,required:!0},dataSources:{type:Array,required:!0},itemHeight:{type:Number,required:!0},extraProps:{type:Object,default:function(){return{}}}},data:function(){return{bufferItems:3,index:0,headerHeight:0,tableHeight:0,resizeObserver:null}},computed:{startIndex:function(){return Math.max(0,this.index-3)},shownItems:function(){return Math.ceil((this.tableHeight-this.headerHeight)/this.itemHeight)+6},renderedItems:function(){return this.dataSources.slice(this.startIndex,this.startIndex+this.shownItems)},tbodyStyle:function(){var t=this.startIndex+this.shownItems>this.dataSources.length,e=this.dataSources.length-this.startIndex-this.shownItems,n=Math.min(this.dataSources.length-this.startIndex,e);return{paddingTop:"".concat(this.startIndex*this.itemHeight,"px"),paddingBottom:t?0:"".concat(n*this.itemHeight,"px")}}},mounted:function(){var t,e,n=this,r=this.$el,i=null===(t=this.$refs)||void 0===t?void 0:t.tfoot,o=null===(e=this.$refs)||void 0===e?void 0:e.thead;this.resizeObserver=new ResizeObserver((0,it.debounce)((function(){var t,e;n.headerHeight=null!==(t=null==o?void 0:o.clientHeight)&&void 0!==t?t:0,n.tableHeight=null!==(e=null==r?void 0:r.clientHeight)&&void 0!==e?e:0,ot.Z.debug("VirtualList resizeObserver updated"),n.onScroll()}),100,!1)),this.resizeObserver.observe(r),this.resizeObserver.observe(i),this.resizeObserver.observe(o),this.$el.addEventListener("scroll",this.onScroll)},beforeDestroy:function(){this.resizeObserver&&this.resizeObserver.disconnect()},methods:{handleFooterVisibility:function(t){t&&this.$emit("scroll-end")},onScroll:function(){this.index=Math.max(0,Math.round(this.$el.scrollTop/this.itemHeight))}}}),st=r(63936),lt={};lt.styleTagTransform=V(),lt.setAttributes=Y(),lt.insert=$().bind(null,"head"),lt.domAPI=F(),lt.insertStyleElement=Q(),T()(st.Z,lt),st.Z&&st.Z.locals&&st.Z.locals;var ut=(0,C.Z)(at,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("table",{staticClass:"user-list"},[t._t("before"),t._v(" "),e("thead",{ref:"thead",staticClass:"user-list__header",attrs:{role:"rowgroup"}},[t._t("header")],2),t._v(" "),e("tbody",{staticClass:"user-list__body",style:t.tbodyStyle},t._l(t.renderedItems,(function(n,r){return e(t.dataComponent,t._b({key:n[t.dataKey],tag:"component",attrs:{user:n,visible:(r>=t.bufferItems||t.index<=t.bufferItems)&&r<t.shownItems-t.bufferItems}},"component",t.extraProps,!1))})),1),t._v(" "),e("tfoot",{directives:[{name:"element-visibility",rawName:"v-element-visibility",value:t.handleFooterVisibility,expression:"handleFooterVisibility"}],ref:"tfoot",staticClass:"user-list__footer",attrs:{role:"rowgroup"}},[t._t("footer")],2)],2)}),[],!1,null,"4377829d",null).exports,ct=r(16972),dt=r(61537),pt=r(49368);function ht(t){return ht="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ht(t)}function ft(){ft=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,n){return t[e]=n}}function u(t,e,n,i){var o=e&&e.prototype instanceof p?e:p,a=Object.create(o.prototype),s=new L(i||[]);return r(a,"_invoke",{value:b(t,n,s)}),a}function c(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var d={};function p(){}function h(){}function f(){}var g={};l(g,o,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(S([])));m&&m!==e&&n.call(m,o)&&(g=m);var A=f.prototype=p.prototype=Object.create(g);function y(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function i(r,o,a,s){var l=c(t[r],t,o);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==ht(d)&&n.call(d,"__await")?e.resolve(d.__await).then((function(t){i("next",t,a,s)}),(function(t){i("throw",t,a,s)})):e.resolve(d).then((function(t){u.value=t,a(u)}),(function(t){return i("throw",t,a,s)}))}s(l.arg)}var o;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){i(t,n,e,r)}))}return o=o?o.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return{value:void 0,done:!0}}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var s=C(a,n);if(s){if(s===d)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=c(t,e,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===d)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}function C(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,C(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),d;var i=c(r,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,d;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,d):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,d)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function S(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:N}}function N(){return{value:void 0,done:!0}}return h.prototype=f,r(A,"constructor",{value:f,configurable:!0}),r(f,"constructor",{value:h,configurable:!0}),h.displayName=l(f,s,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===h||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,l(t,s,"GeneratorFunction")),t.prototype=Object.create(A),t},t.awrap=function(t){return{__await:t}},y(w.prototype),l(w.prototype,a,(function(){return this})),t.AsyncIterator=w,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new w(u(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},y(A),l(A,s,"Generator"),l(A,o,(function(){return this})),l(A,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=S,L.prototype={constructor:L,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var s=n.call(o,"catchLoc"),l=n.call(o,"finallyLoc");if(s&&l){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,d):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;x(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:S(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),d}},t}function gt(t,e,n,r,i,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(r,i)}function vt(t){return function(){var e=this,n=arguments;return new Promise((function(r,i){var o=t.apply(e,n);function a(t){gt(o,r,i,a,s,"next",t)}function s(t){gt(o,r,i,a,s,"throw",t)}a(void 0)}))}}function mt(t){return function(t){if(Array.isArray(t))return At(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return At(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?At(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function At(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var yt={name:"NewUserModal",components:{NcButton:G.Z,NcModal:I.Z,NcPasswordField:ct.Z,NcSelect:dt.Z,NcTextField:pt.Z},props:{loading:{type:Object,required:!0},newUser:{type:Object,required:!0},quotaOptions:{type:Array,required:!0}},data:function(){return{possibleManagers:[],managerLabel:t("settings","Set user manager")}},computed:{showConfig:function(){return this.$store.getters.getShowConfig},settings:function(){return this.$store.getters.getServerData},usernameLabel:function(){return this.settings.newUserGenerateUserID?t("settings","Username will be autogenerated"):t("settings","Username (required)")},minPasswordLength:function(){return this.$store.getters.getPasswordPolicyMinLength},groups:function(){return this.$store.getters.getGroups.filter((function(t){return"disabled"!==t.id})).sort((function(t,e){return t.name.localeCompare(e.name)}))},subAdminsGroups:function(){return this.$store.getters.getSubadminGroups},canAddGroups:function(){return this.groups.map((function(t){return(t=Object.assign({},t)).$isDisabled=!1===t.canAdd,t}))},languages:function(){return[{name:t("settings","Common languages"),languages:this.settings.languages.commonLanguages}].concat(mt(this.settings.languages.commonLanguages),[{name:t("settings","Other languages"),languages:this.settings.languages.otherLanguages}],mt(this.settings.languages.otherLanguages))}},beforeMount:function(){var t=this;return vt(ft().mark((function e(){return ft().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.searchUserManager();case 2:case"end":return e.stop()}}),e)})))()},methods:{createUser:function(){var t=this;return vt(ft().mark((function e(){var n,r,i,o,a,s,l;return ft().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.loading.all=!0,e.prev=1,e.next=4,t.$store.dispatch("addUser",{userid:t.newUser.id,password:t.newUser.password,displayName:t.newUser.displayName,email:t.newUser.mailAddress,groups:t.newUser.groups.map((function(t){return t.id})),subadmin:t.newUser.subAdminsGroups.map((function(t){return t.id})),quota:t.newUser.quota.id,language:t.newUser.language.code,manager:t.newUser.manager.id});case 4:t.$emit("reset"),null===(n=t.$refs.username)||void 0===n||null===(n=n.$refs)||void 0===n||null===(n=n.inputField)||void 0===n||null===(n=n.$refs)||void 0===n||null===(n=n.input)||void 0===n||null===(r=n.focus)||void 0===r||r.call(n),t.$emit("close"),e.next=13;break;case 9:e.prev=9,e.t0=e.catch(1),t.loading.all=!1,e.t0.response&&e.t0.response.data&&e.t0.response.data.ocs&&e.t0.response.data.ocs.meta&&(102===(i=e.t0.response.data.ocs.meta.statuscode)?null===(o=t.$refs.username)||void 0===o||null===(o=o.$refs)||void 0===o||null===(o=o.inputField)||void 0===o||null===(o=o.$refs)||void 0===o||null===(o=o.input)||void 0===o||null===(a=o.focus)||void 0===a||a.call(o):107===i&&(null===(s=t.$refs.password)||void 0===s||null===(s=s.$refs)||void 0===s||null===(s=s.inputField)||void 0===s||null===(s=s.$refs)||void 0===s||null===(s=s.input)||void 0===s||null===(l=s.focus)||void 0===l||l.call(s)));case 13:case"end":return e.stop()}}),e,null,[[1,9]])})))()},handleGroupInput:function(t){this.newUser.groups=t.filter((function(t){return Boolean(t.id)}))},createGroup:function(t){var e=this;return vt(ft().mark((function n(){var r;return ft().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return r=t.name,e.loading.groups=!0,n.prev=2,n.next=5,e.$store.dispatch("addGroup",r);case 5:e.newUser.groups.push(e.groups.find((function(t){return t.id===r}))),e.loading.groups=!1,n.next=12;break;case 9:n.prev=9,n.t0=n.catch(2),e.loading.groups=!1;case 12:case"end":return n.stop()}}),n,null,[[2,9]])})))()},validateQuota:function(t){var e=OC.Util.computerFileSize(t);return null!==e&&e>=0?(t=OC.Util.humanFileSize(OC.Util.computerFileSize(t)),this.newUser.quota={id:t,label:t},this.newUser.quota):(this.newUser.quota=this.quotaOptions[0],this.quotaOptions[0])},languageFilterBy:function(t,e,n){return t.languages?t.languages.some((function(t){return t.name.toLocaleLowerCase().includes(n.toLocaleLowerCase())})):(e||"").toLocaleLowerCase().includes(n.toLocaleLowerCase())},searchUserManager:function(t){var e=this;return vt(ft().mark((function n(){return ft().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,e.$store.dispatch("searchUsers",{offset:0,limit:10,search:t}).then((function(t){var n=null!=t&&t.data?Object.values(null==t?void 0:t.data.ocs.data.users):[];n.length>0&&(e.possibleManagers=n)}));case 2:case"end":return n.stop()}}),n)})))()}}},wt=r(68884),bt={};bt.styleTagTransform=V(),bt.setAttributes=Y(),bt.insert=$().bind(null,"head"),bt.domAPI=F(),bt.insertStyleElement=Q(),T()(wt.Z,bt),wt.Z&&wt.Z.locals&&wt.Z.locals;var Ct=(0,C.Z)(yt,(function(){var t=this,e=t._self._c;return e("NcModal",t._g({staticClass:"modal",attrs:{size:"small"}},t.$listeners),[e("form",{staticClass:"modal__form",attrs:{"data-test":"form",disabled:t.loading.all},on:{submit:function(e){return e.preventDefault(),t.createUser.apply(null,arguments)}}},[e("h2",[t._v(t._s(t.t("settings","New user")))]),t._v(" "),e("NcTextField",{ref:"username",staticClass:"modal__item",attrs:{"data-test":"username",value:t.newUser.id,disabled:t.settings.newUserGenerateUserID,label:t.usernameLabel,autocapitalize:"none",autocomplete:"off",autocorrect:"off",pattern:"[a-zA-Z0-9 _\\.@\\-']+",required:""},on:{"update:value":function(e){return t.$set(t.newUser,"id",e)}}}),t._v(" "),e("NcTextField",{staticClass:"modal__item",attrs:{"data-test":"displayName",value:t.newUser.displayName,label:t.t("settings","Display name"),autocapitalize:"none",autocomplete:"off",autocorrect:"off"},on:{"update:value":function(e){return t.$set(t.newUser,"displayName",e)}}}),t._v(" "),t.settings.newUserRequireEmail?t._e():e("span",{staticClass:"modal__hint",attrs:{id:"password-email-hint"}},[t._v("\n\t\t\t"+t._s(t.t("settings","Either password or email is required"))+"\n\t\t")]),t._v(" "),e("NcPasswordField",{ref:"password",staticClass:"modal__item",attrs:{"data-test":"password",value:t.newUser.password,minlength:t.minPasswordLength,maxlength:469,"aria-describedby":"password-email-hint",label:""===t.newUser.mailAddress?t.t("settings","Password (required)"):t.t("settings","Password"),autocapitalize:"none",autocomplete:"new-password",autocorrect:"off",required:""===t.newUser.mailAddress},on:{"update:value":function(e){return t.$set(t.newUser,"password",e)}}}),t._v(" "),e("NcTextField",{staticClass:"modal__item",attrs:{"data-test":"email",type:"email",value:t.newUser.mailAddress,"aria-describedby":"password-email-hint",label:""===t.newUser.password||t.settings.newUserRequireEmail?t.t("settings","Email (required)"):t.t("settings","Email"),autocapitalize:"none",autocomplete:"off",autocorrect:"off",required:""===t.newUser.password||t.settings.newUserRequireEmail},on:{"update:value":function(e){return t.$set(t.newUser,"mailAddress",e)}}}),t._v(" "),e("div",{staticClass:"modal__item"},[t.settings.isAdmin?t._e():e("NcTextField",{class:{"icon-loading-small":t.loading.groups},attrs:{id:"new-user-groups-input",tabindex:"-1",value:t.newUser.groups,required:!t.settings.isAdmin}}),t._v(" "),e("label",{staticClass:"modal__label",attrs:{for:"new-user-groups"}},[t._v("\n\t\t\t\t"+t._s(t.settings.isAdmin?t.t("settings","Groups"):t.t("settings","Groups (required)"))+"\n\t\t\t")]),t._v(" "),e("NcSelect",{staticClass:"modal__select",attrs:{"input-id":"new-user-groups",placeholder:t.t("settings","Set user groups"),disabled:t.loading.groups||t.loading.all,options:t.canAddGroups,value:t.newUser.groups,label:"name","close-on-select":!1,multiple:!0,taggable:!0},on:{input:t.handleGroupInput,"option:created":t.createGroup}})],1),t._v(" "),t.subAdminsGroups.length>0&&t.settings.isAdmin?e("div",{staticClass:"modal__item"},[e("label",{staticClass:"modal__label",attrs:{for:"new-user-sub-admin"}},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Administered groups"))+"\n\t\t\t")]),t._v(" "),e("NcSelect",{staticClass:"modal__select",attrs:{"input-id":"new-user-sub-admin",placeholder:t.t("settings","Set user as admin for …"),options:t.subAdminsGroups,"close-on-select":!1,multiple:!0,label:"name"},model:{value:t.newUser.subAdminsGroups,callback:function(e){t.$set(t.newUser,"subAdminsGroups",e)},expression:"newUser.subAdminsGroups"}})],1):t._e(),t._v(" "),e("div",{staticClass:"modal__item"},[e("label",{staticClass:"modal__label",attrs:{for:"new-user-quota"}},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Quota"))+"\n\t\t\t")]),t._v(" "),e("NcSelect",{staticClass:"modal__select",attrs:{"input-id":"new-user-quota",placeholder:t.t("settings","Set user quota"),options:t.quotaOptions,clearable:!1,taggable:!0,"create-option":t.validateQuota},model:{value:t.newUser.quota,callback:function(e){t.$set(t.newUser,"quota",e)},expression:"newUser.quota"}})],1),t._v(" "),t.showConfig.showLanguages?e("div",{staticClass:"modal__item"},[e("label",{staticClass:"modal__label",attrs:{for:"new-user-language"}},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Language"))+"\n\t\t\t")]),t._v(" "),e("NcSelect",{staticClass:"modal__select",attrs:{"input-id":"new-user-language",placeholder:t.t("settings","Set default language"),clearable:!1,selectable:function(t){return!t.languages},"filter-by":t.languageFilterBy,options:t.languages,label:"name"},model:{value:t.newUser.language,callback:function(e){t.$set(t.newUser,"language",e)},expression:"newUser.language"}})],1):t._e(),t._v(" "),e("div",{class:["modal__item managers",{"icon-loading-small":t.loading.manager}]},[e("label",{staticClass:"modal__label",attrs:{for:"new-user-manager"}},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Manager"))+"\n\t\t\t")]),t._v(" "),e("NcSelect",{staticClass:"modal__select",attrs:{"input-id":"new-user-manager",placeholder:t.managerLabel,options:t.possibleManagers,"user-select":!0,label:"displayname"},on:{search:t.searchUserManager},model:{value:t.newUser.manager,callback:function(e){t.$set(t.newUser,"manager",e)},expression:"newUser.manager"}})],1),t._v(" "),e("NcButton",{staticClass:"modal__submit",attrs:{"data-test":"submit",type:"primary","native-type":"submit"}},[t._v("\n\t\t\t"+t._s(t.t("settings","Add new user"))+"\n\t\t")])],1)])}),[],!1,null,"29bc5eca",null),_t=Ct.exports,xt=i.default.extend({name:"UserListFooter",components:{NcLoadingIcon:y.Z},props:{loading:{type:Boolean,required:!0},filteredUsers:{type:Array,required:!0}},computed:{userCount:function(){return this.loading?this.n("settings","{userCount} user …","{userCount} users …",this.filteredUsers.length,{userCount:this.filteredUsers.length}):this.n("settings","{userCount} user","{userCount} users",this.filteredUsers.length,{userCount:this.filteredUsers.length})}},methods:{t:l.Iu,n:l.uN}}),Lt=r(69830),St={};St.styleTagTransform=V(),St.setAttributes=Y(),St.insert=$().bind(null,"head"),St.domAPI=F(),St.insertStyleElement=Q(),T()(Lt.Z,St),Lt.Z&&Lt.Z.locals&&Lt.Z.locals;var Nt=(0,C.Z)(xt,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("tr",{staticClass:"footer"},[e("th",{attrs:{scope:"row"}},[e("span",{staticClass:"hidden-visually"},[t._v(t._s(t.t("settings","Total rows summary")))])]),t._v(" "),e("td",{staticClass:"footer__cell footer__cell--loading"},[t.loading?e("NcLoadingIcon",{attrs:{title:t.t("settings","Loading users …"),size:32}}):t._e()],1),t._v(" "),e("td",{staticClass:"footer__cell footer__cell--count footer__cell--multiline"},[e("span",{attrs:{"aria-describedby":"user-count-desc"}},[t._v(t._s(t.userCount))]),t._v(" "),e("span",{staticClass:"hidden-visually",attrs:{id:"user-count-desc"}},[t._v("\n\t\t\t"+t._s(t.t("settings","Scroll to load more rows"))+"\n\t\t")])])])}),[],!1,null,"5b39b95a",null).exports,kt=i.default.extend({name:"UserListHeader",props:{hasObfuscated:{type:Boolean,required:!0}},computed:{showConfig:function(){return this.$store.getters.getShowConfig},settings:function(){return this.$store.getters.getServerData},subAdminsGroups:function(){return this.$store.getters.getSubadminGroups},passwordLabel:function(){return this.hasObfuscated?(0,l.Iu)("settings","Password or insufficient permissions message"):(0,l.Iu)("settings","Password")}},methods:{t:l.Iu}}),Gt=r(74831),It={};It.styleTagTransform=V(),It.setAttributes=Y(),It.insert=$().bind(null,"head"),It.domAPI=F(),It.insertStyleElement=Q(),T()(Gt.Z,It),Gt.Z&&Gt.Z.locals&&Gt.Z.locals;var Ut=(0,C.Z)(kt,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("tr",{staticClass:"header"},[e("th",{staticClass:"header__cell header__cell--avatar",attrs:{scope:"col"}},[e("span",{staticClass:"hidden-visually"},[t._v("\n\t\t\t"+t._s(t.t("settings","Avatar"))+"\n\t\t")])]),t._v(" "),e("th",{staticClass:"header__cell header__cell--displayname",attrs:{scope:"col"}},[e("strong",[t._v("\n\t\t\t"+t._s(t.t("settings","Display name"))+"\n\t\t")]),t._v(" "),e("span",{staticClass:"header__subtitle"},[t._v("\n\t\t\t"+t._s(t.t("settings","Username"))+"\n\t\t")])]),t._v(" "),e("th",{staticClass:"header__cell",class:{"header__cell--obfuscated":t.hasObfuscated},attrs:{scope:"col"}},[e("span",[t._v(t._s(t.passwordLabel))])]),t._v(" "),e("th",{staticClass:"header__cell",attrs:{scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Email")))])]),t._v(" "),e("th",{staticClass:"header__cell header__cell--large",attrs:{scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Groups")))])]),t._v(" "),t.subAdminsGroups.length>0&&t.settings.isAdmin?e("th",{staticClass:"header__cell header__cell--large",attrs:{scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Group admin for")))])]):t._e(),t._v(" "),e("th",{staticClass:"header__cell",attrs:{scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Quota")))])]),t._v(" "),t.showConfig.showLanguages?e("th",{staticClass:"header__cell header__cell--large",attrs:{scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Language")))])]):t._e(),t._v(" "),t.showConfig.showUserBackend||t.showConfig.showStoragePath?e("th",{staticClass:"header__cell header__cell--large",attrs:{scope:"col"}},[t.showConfig.showUserBackend?e("span",[t._v("\n\t\t\t"+t._s(t.t("settings","User backend"))+"\n\t\t")]):t._e(),t._v(" "),t.showConfig.showStoragePath?e("span",{staticClass:"header__subtitle"},[t._v("\n\t\t\t"+t._s(t.t("settings","Storage location"))+"\n\t\t")]):t._e()]):t._e(),t._v(" "),t.showConfig.showLastLogin?e("th",{staticClass:"header__cell",attrs:{scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Last login")))])]):t._e(),t._v(" "),e("th",{staticClass:"header__cell header__cell--large header__cell--fill",attrs:{scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Manager")))])]),t._v(" "),e("th",{staticClass:"header__cell header__cell--actions",attrs:{scope:"col"}},[e("span",{staticClass:"hidden-visually"},[t._v("\n\t\t\t"+t._s(t.t("settings","User actions"))+"\n\t\t")])])])}),[],!1,null,"05cd17c8",null).exports,Ot=r(77958),Et=r(18519),Mt=r(34854),Dt=r(3349),jt=(0,i.defineComponent)({components:{NcActionButton:k.Z,NcActions:Dt.Z,NcIconSvgWrapper:et.Z},props:{actions:{type:Array,required:!0},disabled:{type:Boolean,required:!0},edit:{type:Boolean,required:!0}},computed:{editSvg:function(){return this.edit?'<svg xmlns="http://www.w3.org/2000/svg" id="mdi-check" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" /></svg>':'<svg xmlns="http://www.w3.org/2000/svg" id="mdi-pencil" viewBox="0 0 24 24"><path d="M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z" /></svg>'}},methods:{toggleEdit:function(){this.$emit("update:edit",!this.edit)}}}),Pt=(0,C.Z)(jt,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcActions",{attrs:{"aria-label":t.t("settings","Toggle user actions menu"),disabled:t.disabled,inline:1}},[e("NcActionButton",{attrs:{"data-test-id":"button-toggleEdit","data-test":"".concat(t.edit),disabled:t.disabled},on:{click:t.toggleEdit},scopedSlots:t._u([{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{key:t.editSvg,attrs:{svg:t.editSvg,"aria-hidden":"true"}})]},proxy:!0}])},[t._v("\n\t\t"+t._s(t.edit?t.t("settings","Done"):t.t("settings","Edit"))+"\n\t\t")]),t._v(" "),t._l(t.actions,(function(n,r){var i=n.action,o=n.icon,a=n.text;return e("NcActionButton",{key:r,attrs:{disabled:t.disabled,"aria-label":a,icon:o},on:{click:i}},[t._v("\n\t\t"+t._s(a)+"\n\t")])}))],2)}),[],!1,null,null,null).exports;function Zt(t){return Zt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Zt(t)}var Bt={props:{user:{type:Object,required:!0},settings:{type:Object,default:function(){return{}}},groups:{type:Array,default:function(){return[]}},subAdminsGroups:{type:Array,default:function(){return[]}},quotaOptions:{type:Array,default:function(){return[]}},languages:{type:Array,required:!0},externalActions:{type:Array,default:function(){return[]}}},computed:{showConfig:function(){return this.$store.getters.getShowConfig},userGroups:function(){var t=this;return this.groups.filter((function(e){return t.user.groups.includes(e.id)}))},userSubAdminsGroups:function(){var t=this;return this.subAdminsGroups.filter((function(e){return t.user.subadmin.includes(e.id)}))},availableGroups:function(){var t=this;return this.groups.map((function(e){var n=Object.assign({},e);return n.$isDisabled=!1===e.canAdd&&!t.user.groups.includes(e.id)||!1===e.canRemove&&t.user.groups.includes(e.id),n}))},usedSpace:function(){return this.user.quota.used?t("settings","{size} used",{size:OC.Util.humanFileSize(this.user.quota.used)}):t("settings","{size} used",{size:OC.Util.humanFileSize(0)})},usedQuota:function(){var t=this.user.quota.quota;return t=t>0?Math.min(100,Math.round(this.user.quota.used/t*100)):95*(1-1/(this.user.quota.used/(10*Math.pow(2,30))+1)),isNaN(t)?0:t},userQuota:function(){if(this.user.quota.quota>=0){var t=OC.Util.humanFileSize(this.user.quota.quota);return this.quotaOptions.find((function(e){return e.id===t}))||{id:t,label:t}}return"default"===this.user.quota.quota?this.quotaOptions[0]:this.quotaOptions[1]},minPasswordLength:function(){return this.$store.getters.getPasswordPolicyMinLength},userLanguage:function(){var t=this,e=this.languages[0].languages.concat(this.languages[1].languages).find((function(e){return e.code===t.user.language}));return"object"!==Zt(e)&&""!==this.user.language?{code:this.user.language,name:this.user.language}:""!==this.user.language&&e},userLastLoginTooltip:function(){return this.user.lastLogin>0?OC.Util.formatDate(this.user.lastLogin):""},userLastLogin:function(){return this.user.lastLogin>0?OC.Util.relativeModifiedDate(this.user.lastLogin):t("settings","Never")}}},Tt={id:"none",label:t("settings","Unlimited")},zt={id:"default",label:t("settings","Default quota")},Ft=function(t){var e=Object.keys(t);return 1===e.length&&"id"===e.at(0)},qt=r(25108);function $t(t){return $t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$t(t)}function Rt(){Rt=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,n){return t[e]=n}}function u(t,e,n,i){var o=e&&e.prototype instanceof p?e:p,a=Object.create(o.prototype),s=new L(i||[]);return r(a,"_invoke",{value:b(t,n,s)}),a}function c(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var d={};function p(){}function h(){}function f(){}var g={};l(g,o,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(S([])));m&&m!==e&&n.call(m,o)&&(g=m);var A=f.prototype=p.prototype=Object.create(g);function y(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function i(r,o,a,s){var l=c(t[r],t,o);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==$t(d)&&n.call(d,"__await")?e.resolve(d.__await).then((function(t){i("next",t,a,s)}),(function(t){i("throw",t,a,s)})):e.resolve(d).then((function(t){u.value=t,a(u)}),(function(t){return i("throw",t,a,s)}))}s(l.arg)}var o;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){i(t,n,e,r)}))}return o=o?o.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return{value:void 0,done:!0}}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var s=C(a,n);if(s){if(s===d)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=c(t,e,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===d)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}function C(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,C(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),d;var i=c(r,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,d;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,d):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,d)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function S(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:N}}function N(){return{value:void 0,done:!0}}return h.prototype=f,r(A,"constructor",{value:f,configurable:!0}),r(f,"constructor",{value:h,configurable:!0}),h.displayName=l(f,s,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===h||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,l(t,s,"GeneratorFunction")),t.prototype=Object.create(A),t},t.awrap=function(t){return{__await:t}},y(w.prototype),l(w.prototype,a,(function(){return this})),t.AsyncIterator=w,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new w(u(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},y(A),l(A,s,"Generator"),l(A,o,(function(){return this})),l(A,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=S,L.prototype={constructor:L,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var s=n.call(o,"catchLoc"),l=n.call(o,"finallyLoc");if(s&&l){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,d):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;x(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:S(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),d}},t}function Yt(t,e,n,r,i,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(r,i)}function Ht(t){return function(){var e=this,n=arguments;return new Promise((function(r,i){var o=t.apply(e,n);function a(t){Yt(o,r,i,a,s,"next",t)}function s(t){Yt(o,r,i,a,s,"throw",t)}a(void 0)}))}}var Qt={name:"UserRow",components:{NcAvatar:Et.Z,NcLoadingIcon:y.Z,NcProgressBar:Mt.Z,NcSelect:dt.Z,NcTextField:pt.Z,UserRowActions:Pt},mixins:[Bt],props:{user:{type:Object,required:!0},visible:{type:Boolean,required:!0},users:{type:Array,required:!0},hasObfuscated:{type:Boolean,required:!0},groups:{type:Array,default:function(){return[]}},subAdminsGroups:{type:Array,required:!0},quotaOptions:{type:Array,required:!0},languages:{type:Array,required:!0},settings:{type:Object,required:!0},externalActions:{type:Array,default:function(){return[]}}},data:function(){var t;return{selectedQuota:!1,rand:Math.random().toString(36).substring(2),loadingPossibleManagers:!1,possibleManagers:[],currentManager:"",editing:!1,loading:{all:!1,displayName:!1,password:!1,mailAddress:!1,groups:!1,subadmins:!1,quota:!1,delete:!1,disable:!1,languages:!1,wipe:!1,manager:!1},editedDisplayName:this.user.displayname,editedPassword:"",editedMail:null!==(t=this.user.email)&&void 0!==t?t:""}},computed:{managerLabel:function(){return t("settings","Set user manager")},isObfuscated:function(){return Ft(this.user)},showConfig:function(){return this.$store.getters.getShowConfig},isLoadingUser:function(){return this.loading.delete||this.loading.disable||this.loading.wipe},isLoadingField:function(){return this.loading.delete||this.loading.disable||this.loading.all},uniqueId:function(){return this.user.id+this.rand},userGroupsLabels:function(){return this.userGroups.map((function(t){return t.name})).join(", ")},userSubAdminsGroupsLabels:function(){return this.userSubAdminsGroups.map((function(t){return t.name})).join(", ")},usedSpace:function(){var e,n;return null!==(e=this.user.quota)&&void 0!==e&&e.used?t("settings","{size} used",{size:OC.Util.humanFileSize(null===(n=this.user.quota)||void 0===n?void 0:n.used)}):t("settings","{size} used",{size:OC.Util.humanFileSize(0)})},canEdit:function(){return(0,Ot.ts)().uid!==this.user.id||this.settings.isAdmin},userQuota:function(){var e,n=null===(e=this.user.quota)||void 0===e?void 0:e.quota;return"default"===n&&"none"!==(n=this.settings.defaultQuota)&&(n=OC.Util.computerFileSize(n)),"none"===n||-3===n?t("settings","Unlimited"):n>=0?OC.Util.humanFileSize(n):OC.Util.humanFileSize(0)},userActions:function(){var e=[{icon:"icon-delete",text:t("settings","Delete user"),action:this.deleteUser},{icon:"icon-delete",text:t("settings","Wipe all devices"),action:this.wipeUserDevices},{icon:this.user.enabled?"icon-close":"icon-add",text:this.user.enabled?t("settings","Disable user"):t("settings","Enable user"),action:this.enableDisableUser}];return null!==this.user.email&&""!==this.user.email&&e.push({icon:"icon-mail",text:t("settings","Resend welcome email"),action:this.sendWelcomeMail}),e.concat(this.externalActions)},editedUserQuota:{get:function(){return!1!==this.selectedQuota?this.selectedQuota:this.settings.defaultQuota!==Tt.id&&OC.Util.computerFileSize(this.settings.defaultQuota)>=0?{id:this.settings.defaultQuota,label:this.settings.defaultQuota}:Tt},set:function(t){this.selectedQuota=t}},availableLanguages:function(){return this.languages[0].languages.concat(this.languages[1].languages)}},beforeMount:function(){var t=this;return Ht(Rt().mark((function e(){return Rt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.user.manager){e.next=3;break}return e.next=3,t.initManager(t.user.manager);case 3:case"end":return e.stop()}}),e)})))()},methods:{wipeUserDevices:function(){var e=this,n=this.user.id;OC.dialogs.confirmDestructive(t("settings","In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet.",{userid:n}),t("settings","Remote wipe of devices"),{type:OC.dialogs.YES_NO_BUTTONS,confirm:t("settings","Wipe {userid}'s devices",{userid:n}),confirmClasses:"error",cancel:t("settings","Cancel")},(function(r){r&&(e.loading.wipe=!0,e.loading.all=!0,e.$store.dispatch("wipeUserDevices",n).then((function(){return(0,u.s$)(t("settings","Wiped {userid}'s devices",{userid:n}))}),{timeout:2e3}).finally((function(){e.loading.wipe=!1,e.loading.all=!1})))}),!0)},filterManagers:function(t){var e=this;return t.filter((function(t){return t.id!==e.user.id}))},initManager:function(t){var e=this;return Ht(Rt().mark((function n(){return Rt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,e.$store.dispatch("getUser",t).then((function(t){e.currentManager=null==t?void 0:t.data.ocs.data}));case 2:case"end":return n.stop()}}),n)})))()},searchInitialUserManager:function(){var t=this;return Ht(Rt().mark((function e(){return Rt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.loadingPossibleManagers=!0,e.next=3,t.searchUserManager();case 3:t.loadingPossibleManagers=!1;case 4:case"end":return e.stop()}}),e)})))()},searchUserManager:function(t){var e=this;return Ht(Rt().mark((function n(){return Rt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,e.$store.dispatch("searchUsers",{offset:0,limit:10,search:t}).then((function(t){var n=null!=t&&t.data?e.filterManagers(Object.values(null==t?void 0:t.data.ocs.data.users)):[];n.length>0&&(e.possibleManagers=n)}));case 2:case"end":return n.stop()}}),n)})))()},updateUserManager:function(e){var n=this;return Ht(Rt().mark((function r(){return Rt().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return null===e&&(n.currentManager=""),n.loading.manager=!0,r.prev=2,r.next=5,n.$store.dispatch("setUserData",{userid:n.user.id,key:"manager",value:n.currentManager?n.currentManager.id:""});case 5:r.next=11;break;case 7:r.prev=7,r.t0=r.catch(2),(0,u.x2)(t("setting","Failed to update user manager")),qt.error(r.t0);case 11:return r.prev=11,n.loading.manager=!1,r.finish(11);case 14:case"end":return r.stop()}}),r,null,[[2,7,11,14]])})))()},deleteUser:function(){var e=this,n=this.user.id;OC.dialogs.confirmDestructive(t("settings","Fully delete {userid}'s account including all their personal files, app data, etc.",{userid:n}),t("settings","Account deletion"),{type:OC.dialogs.YES_NO_BUTTONS,confirm:t("settings","Delete {userid}'s account",{userid:n}),confirmClasses:"error",cancel:t("settings","Cancel")},(function(t){if(t)return e.loading.delete=!0,e.loading.all=!0,e.$store.dispatch("deleteUser",n).then((function(){e.loading.delete=!1,e.loading.all=!1}))}),!0)},enableDisableUser:function(){var t=this;this.loading.delete=!0,this.loading.all=!0;var e=this.user.id,n=!this.user.enabled;return this.$store.dispatch("enableDisableUser",{userid:e,enabled:n}).then((function(){t.loading.delete=!1,t.loading.all=!1}))},updateDisplayName:function(){var e=this;this.loading.displayName=!0,this.$store.dispatch("setUserData",{userid:this.user.id,key:"displayname",value:this.editedDisplayName}).then((function(){e.loading.displayName=!1,e.editedDisplayName===e.user.displayname&&(0,u.s$)(t("setting","Display name was successfully changed"))}))},updatePassword:function(){var e=this;this.loading.password=!0,0===this.editedPassword.length?((0,u.x2)(t("setting","Password can't be empty")),this.loading.password=!1):this.$store.dispatch("setUserData",{userid:this.user.id,key:"password",value:this.editedPassword}).then((function(){e.loading.password=!1,e.editedPassword="",(0,u.s$)(t("setting","Password was successfully changed"))}))},updateEmail:function(){var e=this;this.loading.mailAddress=!0,""===this.editedMail?((0,u.x2)(t("setting","Email can't be empty")),this.loading.mailAddress=!1,this.editedMail=this.user.email):this.$store.dispatch("setUserData",{userid:this.user.id,key:"email",value:this.editedMail}).then((function(){e.loading.mailAddress=!1,e.editedMail===e.user.email&&(0,u.s$)(t("setting","Email was successfully changed"))}))},createGroup:function(t){var e=this;return Ht(Rt().mark((function n(){var r,i;return Rt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return r=t.name,e.loading={groups:!0,subadmins:!0},n.prev=2,n.next=5,e.$store.dispatch("addGroup",r);case 5:return i=e.user.id,n.next=8,e.$store.dispatch("addUserGroup",{userid:i,gid:r});case 8:n.next=13;break;case 10:n.prev=10,n.t0=n.catch(2),qt.error(n.t0);case 13:return n.prev=13,e.loading={groups:!1,subadmins:!1},n.finish(13);case 16:return n.abrupt("return",e.$store.getters.getGroups[e.groups.length]);case 17:case"end":return n.stop()}}),n,null,[[2,10,13,16]])})))()},addUserGroup:function(t){var e=this;return Ht(Rt().mark((function n(){var r,i;return Rt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!t.isCreating){n.next=2;break}return n.abrupt("return");case 2:if(e.loading.groups=!0,r=e.user.id,i=t.id,!1!==t.canAdd){n.next=7;break}return n.abrupt("return",!1);case 7:return n.prev=7,n.next=10,e.$store.dispatch("addUserGroup",{userid:r,gid:i});case 10:n.next=15;break;case 12:n.prev=12,n.t0=n.catch(7),qt.error(n.t0);case 15:return n.prev=15,e.loading.groups=!1,n.finish(15);case 18:case"end":return n.stop()}}),n,null,[[7,12,15,18]])})))()},removeUserGroup:function(t){var e=this;return Ht(Rt().mark((function n(){var r,i;return Rt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!1!==t.canRemove){n.next=2;break}return n.abrupt("return",!1);case 2:return e.loading.groups=!0,r=e.user.id,i=t.id,n.prev=5,n.next=8,e.$store.dispatch("removeUserGroup",{userid:r,gid:i});case 8:e.loading.groups=!1,e.$route.params.selectedGroup===i&&e.$store.commit("deleteUser",r),n.next=15;break;case 12:n.prev=12,n.t0=n.catch(5),e.loading.groups=!1;case 15:case"end":return n.stop()}}),n,null,[[5,12]])})))()},addUserSubAdmin:function(t){var e=this;return Ht(Rt().mark((function n(){var r,i;return Rt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return e.loading.subadmins=!0,r=e.user.id,i=t.id,n.prev=3,n.next=6,e.$store.dispatch("addUserSubAdmin",{userid:r,gid:i});case 6:e.loading.subadmins=!1,n.next=12;break;case 9:n.prev=9,n.t0=n.catch(3),qt.error(n.t0);case 12:case"end":return n.stop()}}),n,null,[[3,9]])})))()},removeUserSubAdmin:function(t){var e=this;return Ht(Rt().mark((function n(){var r,i;return Rt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return e.loading.subadmins=!0,r=e.user.id,i=t.id,n.prev=3,n.next=6,e.$store.dispatch("removeUserSubAdmin",{userid:r,gid:i});case 6:n.next=11;break;case 8:n.prev=8,n.t0=n.catch(3),qt.error(n.t0);case 11:return n.prev=11,e.loading.subadmins=!1,n.finish(11);case 14:case"end":return n.stop()}}),n,null,[[3,8,11,14]])})))()},setUserQuota:function(){var t=arguments,e=this;return Ht(Rt().mark((function n(){var r;return Rt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return"none"===(r=t.length>0&&void 0!==t[0]?t[0]:"none")&&(r=Tt),e.loading.quota=!0,r=r.id?r.id:r,n.prev=4,n.next=7,e.$store.dispatch("setUserData",{userid:e.user.id,key:"quota",value:r});case 7:n.next=12;break;case 9:n.prev=9,n.t0=n.catch(4),qt.error(n.t0);case 12:return n.prev=12,e.loading.quota=!1,n.finish(12);case 15:return n.abrupt("return",r);case 16:case"end":return n.stop()}}),n,null,[[4,9,12,15]])})))()},validateQuota:function(t){var e;return"object"===$t(t)&&(t=(null===(e=t)||void 0===e?void 0:e.id)||t.label),null===OC.Util.computerFileSize(t)?Tt:{id:t=OC.Util.humanFileSize(OC.Util.computerFileSize(t)),label:t}},setUserLanguage:function(t){var e=this;return Ht(Rt().mark((function n(){return Rt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return e.loading.languages=!0,n.prev=1,n.next=4,e.$store.dispatch("setUserData",{userid:e.user.id,key:"language",value:t.code});case 4:e.loading.languages=!1,n.next=10;break;case 7:n.prev=7,n.t0=n.catch(1),qt.error(n.t0);case 10:return n.abrupt("return",t);case 11:case"end":return n.stop()}}),n,null,[[1,7]])})))()},sendWelcomeMail:function(){var e=this;this.loading.all=!0,this.$store.dispatch("sendWelcomeMail",this.user.id).then((function(){return(0,u.s$)(t("setting","Welcome mail sent!"),{timeout:2e3})})).finally((function(){e.loading.all=!1}))},toggleEdit:function(){var t=this;return Ht(Rt().mark((function e(){var n,r;return Rt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.editing=!t.editing,!t.editing){e.next=5;break}return e.next=4,t.$nextTick();case 4:null===(n=t.$refs.displayNameField)||void 0===n||null===(n=n.$refs)||void 0===n||null===(n=n.inputField)||void 0===n||null===(n=n.$refs)||void 0===n||null===(n=n.input)||void 0===n||n.focus();case 5:t.editedDisplayName!==t.user.displayname?t.editedDisplayName=t.user.displayname:t.editedMail!==t.user.email&&(t.editedMail=null!==(r=t.user.email)&&void 0!==r?r:"");case 6:case"end":return e.stop()}}),e)})))()}}},Wt=Qt,Vt=r(65572),Kt={};Kt.styleTagTransform=V(),Kt.setAttributes=Y(),Kt.insert=$().bind(null,"head"),Kt.domAPI=F(),Kt.insertStyleElement=Q(),T()(Vt.Z,Kt),Vt.Z&&Vt.Z.locals&&Vt.Z.locals;var Jt=(0,C.Z)(Wt,(function(){var t,e,n,r,i=this,o=i._self._c;return o("tr",{staticClass:"user-list__row",attrs:{"data-test":i.user.id}},[o("td",{staticClass:"row__cell row__cell--avatar"},[i.isLoadingUser?o("NcLoadingIcon",{attrs:{name:i.t("settings","Loading user …"),size:32}}):i.visible?o("NcAvatar",{attrs:{"disable-menu":"","show-user-status":!1,user:i.user.id}}):i._e()],1),i._v(" "),o("td",{staticClass:"row__cell row__cell--displayname",attrs:{"data-test-id":"cell-displayname"}},[i.editing&&i.user.backendCapabilities.setDisplayName?[o("NcTextField",{ref:"displayNameField",staticClass:"user-row-text-field",class:{"icon-loading-small":i.loading.displayName},attrs:{"data-test-id":"input-displayName","data-test-loading":"".concat(i.loading.displayName),"trailing-button-label":i.t("settings","Submit"),"show-trailing-button":!0,disabled:i.loading.displayName||i.isLoadingField,label:i.t("settings","Change display name"),"trailing-button-icon":"arrowRight",value:i.editedDisplayName,autocapitalize:"off",autocomplete:"off",autocorrect:"off",spellcheck:"false"},on:{"update:value":function(t){i.editedDisplayName=t},"trailing-button-click":i.updateDisplayName}})]:[i.isObfuscated?i._e():o("strong",{attrs:{title:(null===(t=i.user.displayname)||void 0===t?void 0:t.length)>20?i.user.displayname:null}},[i._v("\n\t\t\t\t"+i._s(i.user.displayname)+"\n\t\t\t")]),i._v(" "),o("span",{staticClass:"row__subtitle"},[i._v(i._s(i.user.id))])]],2),i._v(" "),o("td",{staticClass:"row__cell",class:{"row__cell--obfuscated":i.hasObfuscated},attrs:{"data-test-id":"cell-password"}},[i.editing&&i.settings.canChangePassword&&i.user.backendCapabilities.setPassword?[o("NcTextField",{staticClass:"user-row-text-field",class:{"icon-loading-small":i.loading.password},attrs:{"data-test-id":"input-password","data-test-loading":"".concat(i.loading.password),"trailing-button-label":i.t("settings","Submit"),"show-trailing-button":!0,disabled:i.loading.password||i.isLoadingField,minlength:i.minPasswordLength,maxlength:"469",label:i.t("settings","Set new password"),"trailing-button-icon":"arrowRight",value:i.editedPassword,autocapitalize:"off",autocomplete:"new-password",autocorrect:"off",required:"",spellcheck:"false",type:"password"},on:{"update:value":function(t){i.editedPassword=t},"trailing-button-click":i.updatePassword}})]:i.isObfuscated?o("span",[i._v("\n\t\t\t"+i._s(i.t("settings","You do not have permissions to see the details of this user"))+"\n\t\t")]):i._e()],2),i._v(" "),o("td",{staticClass:"row__cell",attrs:{"data-test-id":"cell-email"}},[i.editing?[o("NcTextField",{staticClass:"user-row-text-field",class:{"icon-loading-small":i.loading.mailAddress},attrs:{"show-trailing-button":!0,"trailing-button-label":i.t("settings","Submit"),label:i.t("settings","Set new email address"),disabled:i.loading.mailAddress||i.isLoadingField,"trailing-button-icon":"arrowRight",value:i.editedMail,autocapitalize:"off",autocomplete:"email",autocorrect:"off",spellcheck:"false",type:"email"},on:{"update:value":function(t){i.editedMail=t},"trailing-button-click":i.updateEmail}})]:i.isObfuscated?i._e():o("span",{attrs:{title:(null===(e=i.user.email)||void 0===e?void 0:e.length)>20?i.user.email:null}},[i._v("\n\t\t\t"+i._s(i.user.email)+"\n\t\t")])],2),i._v(" "),o("td",{staticClass:"row__cell row__cell--large row__cell--multiline",attrs:{"data-test-id":"cell-groups"}},[i.editing?[o("label",{staticClass:"hidden-visually",attrs:{for:"groups"+i.uniqueId}},[i._v("\n\t\t\t\t"+i._s(i.t("settings","Add user to group"))+"\n\t\t\t")]),i._v(" "),o("NcSelect",{attrs:{"input-id":"groups"+i.uniqueId,"close-on-select":!1,disabled:i.isLoadingField,loading:i.loading.groups,multiple:!0,"append-to-body":!1,options:i.availableGroups,placeholder:i.t("settings","Add user to group"),taggable:i.settings.isAdmin,value:i.userGroups,label:"name","no-wrap":!0,"create-option":function(t){return{name:t,isCreating:!0}}},on:{"option:created":i.createGroup,"option:selected":function(t){return i.addUserGroup(t.at(-1))},"option:deselected":i.removeUserGroup}})]:i.isObfuscated?i._e():o("span",{attrs:{title:(null===(n=i.userGroupsLabels)||void 0===n?void 0:n.length)>40?i.userGroupsLabels:null}},[i._v("\n\t\t\t"+i._s(i.userGroupsLabels)+"\n\t\t")])],2),i._v(" "),i.subAdminsGroups.length>0&&i.settings.isAdmin?o("td",{staticClass:"row__cell row__cell--large row__cell--multiline",attrs:{"data-test-id":"cell-subadmins"}},[i.editing&&i.settings.isAdmin&&i.subAdminsGroups.length>0?[o("label",{staticClass:"hidden-visually",attrs:{for:"subadmins"+i.uniqueId}},[i._v("\n\t\t\t\t"+i._s(i.t("settings","Set user as admin for"))+"\n\t\t\t")]),i._v(" "),o("NcSelect",{attrs:{id:"subadmins"+i.uniqueId,"close-on-select":!1,disabled:i.isLoadingField,loading:i.loading.subadmins,label:"name","append-to-body":!1,multiple:!0,"no-wrap":!0,options:i.subAdminsGroups,placeholder:i.t("settings","Set user as admin for"),value:i.userSubAdminsGroups},on:{"option:deselected":i.removeUserSubAdmin,"option:selected":function(t){return i.addUserSubAdmin(t.at(-1))}}})]:i.isObfuscated?i._e():o("span",{attrs:{title:(null===(r=i.userSubAdminsGroupsLabels)||void 0===r?void 0:r.length)>40?i.userSubAdminsGroupsLabels:null}},[i._v("\n\t\t\t"+i._s(i.userSubAdminsGroupsLabels)+"\n\t\t")])],2):i._e(),i._v(" "),o("td",{staticClass:"row__cell",attrs:{"data-test-id":"cell-quota"}},[i.editing?[o("label",{staticClass:"hidden-visually",attrs:{for:"quota"+i.uniqueId}},[i._v("\n\t\t\t\t"+i._s(i.t("settings","Select user quota"))+"\n\t\t\t")]),i._v(" "),o("NcSelect",{attrs:{"close-on-select":!0,"create-option":i.validateQuota,disabled:i.isLoadingField,loading:i.loading.quota,"append-to-body":!1,clearable:!1,"input-id":"quota"+i.uniqueId,options:i.quotaOptions,placeholder:i.t("settings","Select user quota"),taggable:!0},on:{"option:selected":i.setUserQuota},model:{value:i.editedUserQuota,callback:function(t){i.editedUserQuota=t},expression:"editedUserQuota"}})]:i.isObfuscated?i._e():[o("label",{attrs:{for:"quota-progress"+i.uniqueId}},[i._v(i._s(i.userQuota)+" ("+i._s(i.usedSpace)+")")]),i._v(" "),o("NcProgressBar",{staticClass:"row__progress",class:{"row__progress--warn":i.usedQuota>80},attrs:{id:"quota-progress"+i.uniqueId,value:i.usedQuota}})]],2),i._v(" "),i.showConfig.showLanguages?o("td",{staticClass:"row__cell row__cell--large",attrs:{"data-test-id":"cell-language"}},[i.editing?[o("label",{staticClass:"hidden-visually",attrs:{for:"language"+i.uniqueId}},[i._v("\n\t\t\t\t"+i._s(i.t("settings","Set the language"))+"\n\t\t\t")]),i._v(" "),o("NcSelect",{attrs:{id:"language"+i.uniqueId,"allow-empty":!1,disabled:i.isLoadingField,loading:i.loading.languages,clearable:!1,"append-to-body":!1,options:i.availableLanguages,placeholder:i.t("settings","No language set"),value:i.userLanguage,label:"name"},on:{input:i.setUserLanguage}})]:i.isObfuscated?i._e():o("span",[i._v("\n\t\t\t"+i._s(i.userLanguage.name)+"\n\t\t")])],2):i._e(),i._v(" "),i.showConfig.showUserBackend||i.showConfig.showStoragePath?o("td",{staticClass:"row__cell row__cell--large",attrs:{"data-test-id":"cell-storageLocation"}},[i.isObfuscated?i._e():[i.showConfig.showUserBackend?o("span",[i._v(i._s(i.user.backend))]):i._e(),i._v(" "),i.showConfig.showStoragePath?o("span",{staticClass:"row__subtitle",attrs:{title:i.user.storageLocation}},[i._v("\n\t\t\t\t"+i._s(i.user.storageLocation)+"\n\t\t\t")]):i._e()]],2):i._e(),i._v(" "),i.showConfig.showLastLogin?o("td",{staticClass:"row__cell",attrs:{title:i.userLastLoginTooltip,"data-test-id":"cell-lastLogin"}},[i.isObfuscated?i._e():o("span",[i._v(i._s(i.userLastLogin))])]):i._e(),i._v(" "),o("td",{staticClass:"row__cell row__cell--large row__cell--fill",attrs:{"data-test-id":"cell-manager"}},[i.editing?[o("label",{staticClass:"hidden-visually",attrs:{for:"manager"+i.uniqueId}},[i._v("\n\t\t\t\t"+i._s(i.managerLabel)+"\n\t\t\t")]),i._v(" "),o("NcSelect",{staticClass:"select--fill",attrs:{"input-id":"manager"+i.uniqueId,"close-on-select":!0,disabled:i.isLoadingField,"append-to-body":!1,loading:i.loadingPossibleManagers||i.loading.manager,label:"displayname",options:i.possibleManagers,placeholder:i.managerLabel},on:{open:i.searchInitialUserManager,search:i.searchUserManager,"option:selected":i.updateUserManager,input:i.updateUserManager},model:{value:i.currentManager,callback:function(t){i.currentManager=t},expression:"currentManager"}})]:i.isObfuscated?i._e():o("span",[i._v("\n\t\t\t"+i._s(i.user.manager)+"\n\t\t")])],2),i._v(" "),o("td",{staticClass:"row__cell row__cell--actions",attrs:{"data-test-id":"cell-actions"}},[i.visible&&!i.isObfuscated&&i.canEdit&&!i.loading.all?o("UserRowActions",{attrs:{actions:i.userActions,disabled:i.isLoadingField,edit:i.editing},on:{"update:edit":i.toggleEdit}}):i._e()],1)])}),[],!1,null,"2766a66a",null),Xt=Jt.exports;function te(t){return te="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},te(t)}function ee(){ee=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,n){return t[e]=n}}function u(t,e,n,i){var o=e&&e.prototype instanceof p?e:p,a=Object.create(o.prototype),s=new L(i||[]);return r(a,"_invoke",{value:b(t,n,s)}),a}function c(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var d={};function p(){}function h(){}function f(){}var g={};l(g,o,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(S([])));m&&m!==e&&n.call(m,o)&&(g=m);var A=f.prototype=p.prototype=Object.create(g);function y(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function i(r,o,a,s){var l=c(t[r],t,o);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==te(d)&&n.call(d,"__await")?e.resolve(d.__await).then((function(t){i("next",t,a,s)}),(function(t){i("throw",t,a,s)})):e.resolve(d).then((function(t){u.value=t,a(u)}),(function(t){return i("throw",t,a,s)}))}s(l.arg)}var o;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){i(t,n,e,r)}))}return o=o?o.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return{value:void 0,done:!0}}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var s=C(a,n);if(s){if(s===d)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=c(t,e,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===d)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}function C(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,C(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),d;var i=c(r,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,d;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,d):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,d)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function S(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:N}}function N(){return{value:void 0,done:!0}}return h.prototype=f,r(A,"constructor",{value:f,configurable:!0}),r(f,"constructor",{value:h,configurable:!0}),h.displayName=l(f,s,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===h||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,l(t,s,"GeneratorFunction")),t.prototype=Object.create(A),t},t.awrap=function(t){return{__await:t}},y(w.prototype),l(w.prototype,a,(function(){return this})),t.AsyncIterator=w,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new w(u(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},y(A),l(A,s,"Generator"),l(A,o,(function(){return this})),l(A,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=S,L.prototype={constructor:L,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var s=n.call(o,"catchLoc"),l=n.call(o,"finallyLoc");if(s&&l){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,d):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;x(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:S(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),d}},t}function ne(t,e,n,r,i,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(r,i)}function re(t){return function(){var e=this,n=arguments;return new Promise((function(r,i){var o=t.apply(e,n);function a(t){ne(o,r,i,a,s,"next",t)}function s(t){ne(o,r,i,a,s,"throw",t)}a(void 0)}))}}var ie={id:"",displayName:"",password:"",mailAddress:"",groups:[],manager:"",subAdminsGroups:[],quota:zt,language:{code:"en",name:t("settings","Default language")}},oe={name:"UserList",components:{Fragment:s.Fragment,NcEmptyContent:tt.Z,NcIconSvgWrapper:et.Z,NcLoadingIcon:y.Z,NewUserModal:_t,UserListFooter:Nt,UserListHeader:Ut,VirtualList:ut},props:{selectedGroup:{type:String,default:null},externalActions:{type:Array,default:function(){return[]}}},data:function(){return{UserRow:Xt,loading:{all:!1,groups:!1,users:!1},isInitialLoad:!0,rowHeight:55,usersSvg:'<svg width="16" height="16" version="1.1" viewbox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="m10 1c-1.75 0-3 1.43-3 2.8 0 1.4 0.1 2.4 0.8 3.5 0.2 0.29 0.5 0.35 0.7 0.6 0.135 0.5 0.24 1 0.1 1.5-0.28 0.1-0.525 0.22-0.8 0.33-0.085-0.15-0.23-0.2-0.47-0.4-0.73-0.44-1.56-0.75-2.33-1.04-0.1-0.37-0.1-0.65 0-1 0.156-0.166 0.37-0.27 0.5-0.43 0.46-0.6 0.5-1.654 0.5-2.37 0-1.06-0.954-1.9-2-1.9-1.17 0-2 1-2 1.9 0 0.93 0.034 1.64 0.5 2.37 0.13 0.2 0.367 0.26 0.5 0.43 0.1 0.33 0.1 0.654 0 1-0.85 0.3-1.6 0.64-2.34 1.04-0.57 0.4-0.52 0.205-0.66 1.53-0.11 1.06 2.335 1.13 4 1.13h0.17c-0.054 0.274-0.1 0.63-0.17 1.3-0.16 1.59 3.5 1.7 6 1.7s6.16-0.1 6-1.7c-0.215-2-0.23-1.71-1-2.3-1.1-0.654-2.45-1.17-3.6-1.6-0.15-0.56-0.04-0.97 0.1-1.5 0.235-0.25 0.5-0.36 0.7-0.6 0.7-0.885 0.8-2.425 0.8-3.5 0-1.6-1.43-2.8-3-2.8z"/></svg>\n',searchQuery:"",newUser:Object.assign({},ie)}},computed:{showConfig:function(){return this.$store.getters.getShowConfig},settings:function(){return this.$store.getters.getServerData},style:function(){return{"--row-height":"".concat(this.rowHeight,"px")}},hasObfuscated:function(){return this.filteredUsers.some((function(t){return Ft(t)}))},users:function(){return this.$store.getters.getUsers},filteredUsers:function(){return"disabled"===this.selectedGroup?this.users.filter((function(t){return!1===t.enabled})):(this.settings.isAdmin,this.users.filter((function(t){return!1!==t.enabled})))},groups:function(){return this.$store.getters.getGroups.filter((function(t){return"disabled"!==t.id})).sort((function(t,e){return t.name.localeCompare(e.name)}))},subAdminsGroups:function(){return this.$store.getters.getSubadminGroups},quotaOptions:function(){var t=this.settings.quotaPreset.reduce((function(t,e){return t.concat({id:e,label:e})}),[]);return this.settings.allowUnlimitedQuota&&t.unshift(Tt),t.unshift(zt),t},usersOffset:function(){return this.$store.getters.getUsersOffset},usersLimit:function(){return this.$store.getters.getUsersLimit},usersCount:function(){return this.users.length},languages:function(){return[{label:t("settings","Common languages"),languages:this.settings.languages.commonLanguages},{label:t("settings","Other languages"),languages:this.settings.languages.otherLanguages}]}},watch:{selectedGroup:function(t,e){var n=this;return re(ee().mark((function e(){return ee().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.isInitialLoad=!0,e.next=3,n.redirectIfDisabled();case 3:return n.$store.commit("resetUsers"),e.next=6,n.loadUsers();case 6:n.setNewUserDefaultGroup(t);case 7:case"end":return e.stop()}}),e)})))()},filteredUsers:function(t){ot.Z.debug("".concat(t.length," filtered user(s)"))}},created:function(){var t=this;return re(ee().mark((function e(){return ee().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.loadUsers();case 2:case"end":return e.stop()}}),e)})))()},mounted:function(){var e=this;return re(ee().mark((function n(){return ee().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return e.settings.canChangePassword||OC.Notification.showTemporary(t("settings","Password change is disabled because the master key is disabled")),e.resetForm(),(0,nt.Ld)("nextcloud:unified-search.search",e.search),(0,nt.Ld)("nextcloud:unified-search.reset",e.resetSearch),n.next=6,e.redirectIfDisabled();case 6:case"end":return n.stop()}}),n)})))()},beforeDestroy:function(){(0,nt.r1)("nextcloud:unified-search.search",this.search),(0,nt.r1)("nextcloud:unified-search.reset",this.resetSearch)},methods:{handleScrollEnd:function(){var t=this;return re(ee().mark((function e(){return ee().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.loadUsers();case 2:case"end":return e.stop()}}),e)})))()},loadUsers:function(){var t=this;return re(ee().mark((function e(){return ee().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.loading.users=!0,e.prev=1,e.next=4,t.$store.dispatch("getUsers",{offset:t.usersOffset,limit:t.usersLimit,group:"disabled"!==t.selectedGroup?t.selectedGroup:"",search:t.searchQuery});case 4:ot.Z.debug("".concat(t.users.length," total user(s) loaded")),e.next=11;break;case 7:e.prev=7,e.t0=e.catch(1),ot.Z.error("Failed to load users",{error:e.t0}),(0,u.x2)("Failed to load users");case 11:t.loading.users=!1,t.isInitialLoad=!1;case 13:case"end":return e.stop()}}),e,null,[[1,7]])})))()},closeModal:function(){this.$store.commit("setShowConfig",{key:"showNewUserForm",value:!1})},search:function(t){var e=this;return re(ee().mark((function n(){var r;return ee().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return r=t.query,e.searchQuery=r,e.$store.commit("resetUsers"),n.next=5,e.loadUsers();case 5:case"end":return n.stop()}}),n)})))()},resetSearch:function(){this.search({query:""})},resetForm:function(){this.newUser=Object.assign({},ie),this.settings.defaultLanguage&&i.default.set(this.newUser.language,"code",this.settings.defaultLanguage),this.setNewUserDefaultGroup(this.selectedGroup),this.loading.all=!1},setNewUserDefaultGroup:function(t){if(t&&t.length>0){var e=this.groups.find((function(e){return e.id===t}));if(e)return void(this.newUser.groups=[e])}this.newUser.groups=[]},redirectIfDisabled:function(){var t=this;return re(ee().mark((function e(){var n;return ee().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.$store.getters.getGroups,!("disabled"===t.selectedGroup&&n.findIndex((function(t){return"disabled"===t.id&&0===t.usercount}))>-1)){e.next=5;break}return t.$router.push({name:"users"}),e.next=5,t.loadUsers();case 5:case"end":return e.stop()}}),e)})))()}}},ae=r(51321),se={};se.styleTagTransform=V(),se.setAttributes=Y(),se.insert=$().bind(null,"head"),se.domAPI=F(),se.insertStyleElement=Q(),T()(ae.Z,se),ae.Z&&ae.Z.locals&&ae.Z.locals;var le=(0,C.Z)(oe,(function(){var t=this,e=t._self._c;return e("Fragment",[t.showConfig.showNewUserForm?e("NewUserModal",{attrs:{loading:t.loading,"new-user":t.newUser,"quota-options":t.quotaOptions},on:{reset:t.resetForm,close:t.closeModal}}):t._e(),t._v(" "),0===t.filteredUsers.length?e("NcEmptyContent",{staticClass:"empty",attrs:{name:t.isInitialLoad&&t.loading.users?null:t.t("settings","No users")},scopedSlots:t._u([{key:"icon",fn:function(){return[t.isInitialLoad&&t.loading.users?e("NcLoadingIcon",{attrs:{name:t.t("settings","Loading users …"),size:64}}):e("NcIconSvgWrapper",{attrs:{svg:t.usersSvg}})]},proxy:!0}],null,!1,934871631)}):e("VirtualList",{style:t.style,attrs:{"data-component":t.UserRow,"data-sources":t.filteredUsers,"data-key":"id","data-test-id":"userList","item-height":t.rowHeight,"extra-props":{users:t.users,settings:t.settings,hasObfuscated:t.hasObfuscated,groups:t.groups,subAdminsGroups:t.subAdminsGroups,quotaOptions:t.quotaOptions,languages:t.languages,externalActions:t.externalActions}},on:{"scroll-end":t.handleScrollEnd},scopedSlots:t._u([{key:"before",fn:function(){return[e("caption",{staticClass:"hidden-visually"},[t._v("\n\t\t\t\t"+t._s(t.t("settings","List of users. This list is not fully rendered for performance reasons. The users will be rendered as you navigate through the list."))+"\n\t\t\t")])]},proxy:!0},{key:"header",fn:function(){return[e("UserListHeader",{attrs:{"has-obfuscated":t.hasObfuscated}})]},proxy:!0},{key:"footer",fn:function(){return[e("UserListFooter",{attrs:{loading:t.loading.users,"filtered-users":t.filteredUsers}})]},proxy:!0}])})],1)}),[],!1,null,"c76ff3be",null).exports,ue=r(93664),ce=r(79753),de=r(20932),pe=r(34739),he=r(71998),fe=r(25108);function ge(t){return ge="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ge(t)}function ve(){ve=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,n){return t[e]=n}}function u(t,e,n,i){var o=e&&e.prototype instanceof p?e:p,a=Object.create(o.prototype),s=new L(i||[]);return r(a,"_invoke",{value:b(t,n,s)}),a}function c(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var d={};function p(){}function h(){}function f(){}var g={};l(g,o,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(S([])));m&&m!==e&&n.call(m,o)&&(g=m);var A=f.prototype=p.prototype=Object.create(g);function y(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function i(r,o,a,s){var l=c(t[r],t,o);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==ge(d)&&n.call(d,"__await")?e.resolve(d.__await).then((function(t){i("next",t,a,s)}),(function(t){i("throw",t,a,s)})):e.resolve(d).then((function(t){u.value=t,a(u)}),(function(t){return i("throw",t,a,s)}))}s(l.arg)}var o;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){i(t,n,e,r)}))}return o=o?o.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return{value:void 0,done:!0}}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var s=C(a,n);if(s){if(s===d)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=c(t,e,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===d)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}function C(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,C(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),d;var i=c(r,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,d;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,d):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,d)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function S(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:N}}function N(){return{value:void 0,done:!0}}return h.prototype=f,r(A,"constructor",{value:f,configurable:!0}),r(f,"constructor",{value:h,configurable:!0}),h.displayName=l(f,s,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===h||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,l(t,s,"GeneratorFunction")),t.prototype=Object.create(A),t},t.awrap=function(t){return{__await:t}},y(w.prototype),l(w.prototype,a,(function(){return this})),t.AsyncIterator=w,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new w(u(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},y(A),l(A,s,"Generator"),l(A,o,(function(){return this})),l(A,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=S,L.prototype={constructor:L,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var s=n.call(o,"catchLoc"),l=n.call(o,"finallyLoc");if(s&&l){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,d):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;x(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:S(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),d}},t}function me(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Ae(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?me(Object(n),!0).forEach((function(e){ye(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):me(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function ye(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==ge(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==ge(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===ge(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function we(t,e,n,r,i,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(r,i)}var be={name:"UserSettingsDialog",components:{NcAppSettingsDialog:de.Z,NcAppSettingsSection:pe.Z,NcCheckboxRadioSwitch:he.Z,NcSelect:dt.Z},props:{open:{type:Boolean,required:!0}},data:function(){return{selectedQuota:!1,loadingSendMail:!1}},computed:{isModalOpen:{get:function(){return this.open},set:function(t){this.$emit("update:open",t)}},showConfig:function(){return this.$store.getters.getShowConfig},settings:function(){return this.$store.getters.getServerData},showLanguages:{get:function(){return this.getLocalstorage("showLanguages")},set:function(t){this.setLocalStorage("showLanguages",t)}},showLastLogin:{get:function(){return this.getLocalstorage("showLastLogin")},set:function(t){this.setLocalStorage("showLastLogin",t)}},showUserBackend:{get:function(){return this.getLocalstorage("showUserBackend")},set:function(t){this.setLocalStorage("showUserBackend",t)}},showStoragePath:{get:function(){return this.getLocalstorage("showStoragePath")},set:function(t){this.setLocalStorage("showStoragePath",t)}},quotaOptions:function(){var t=this.settings.quotaPreset.reduce((function(t,e){return t.concat({id:e,label:e})}),[]);return this.settings.allowUnlimitedQuota&&t.unshift(Tt),t},defaultQuota:{get:function(){return!1!==this.selectedQuota?this.selectedQuota:this.settings.defaultQuota!==Tt.id&&OC.Util.computerFileSize(this.settings.defaultQuota)>=0?{id:this.settings.defaultQuota,label:this.settings.defaultQuota}:Tt},set:function(t){this.selectedQuota=t}},sendWelcomeMail:{get:function(){return this.settings.newUserSendEmail},set:function(t){var e,n=this;return(e=ve().mark((function e(){return ve().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,n.loadingSendMail=!0,n.$store.commit("setServerData",Ae(Ae({},n.settings),{},{newUserSendEmail:t})),e.next=5,ue.Z.post((0,ce.generateUrl)("/settings/users/preferences/newUser.sendEmail"),{value:t?"yes":"no"});case 5:e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),fe.error("could not update newUser.sendEmail preference: "+e.t0.message,e.t0);case 10:return e.prev=10,n.loadingSendMail=!1,e.finish(10);case 13:case"end":return e.stop()}}),e,null,[[0,7,10,13]])})),function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(t){we(o,r,i,a,s,"next",t)}function s(t){we(o,r,i,a,s,"throw",t)}a(void 0)}))})()}}},methods:{getLocalstorage:function(t){var e=this.$localStorage.get(t);return this.$store.commit("setShowConfig",{key:t,value:null!==e?"true"===e:this.showConfig[t]}),this.showConfig[t]},setLocalStorage:function(t,e){return this.$store.commit("setShowConfig",{key:t,value:e}),this.$localStorage.set(t,e),e},validateQuota:function(t){var e;return"object"===ge(t)&&(t=(null===(e=t)||void 0===e?void 0:e.id)||t.label),null===OC.Util.computerFileSize(t)?Tt:{id:t=OC.Util.humanFileSize(OC.Util.computerFileSize(t)),label:t}},setDefaultQuota:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"none";"none"===e&&(e=Tt),this.$store.dispatch("setAppConfig",{app:"files",key:"default_quota",value:e.id?e.id:e}).then((function(){"object"!==ge(e)&&(e={id:e,label:e}),t.defaultQuota=e}))}}},Ce=be,_e=r(66547),xe={};xe.styleTagTransform=V(),xe.setAttributes=Y(),xe.insert=$().bind(null,"head"),xe.domAPI=F(),xe.insertStyleElement=Q(),T()(_e.Z,xe),_e.Z&&_e.Z.locals&&_e.Z.locals;var Le=(0,C.Z)(Ce,(function(){var t=this,e=t._self._c;return e("NcAppSettingsDialog",{attrs:{open:t.isModalOpen,"show-navigation":!0,name:t.t("settings","User management settings")},on:{"update:open":function(e){t.isModalOpen=e}}},[e("NcAppSettingsSection",{attrs:{id:"visibility-settings",name:t.t("settings","Visibility")}},[e("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showLanguages",checked:t.showLanguages},on:{"update:checked":function(e){t.showLanguages=e}}},[t._v("\n\t\t\t"+t._s(t.t("settings","Show language"))+"\n\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showUserBackend",checked:t.showUserBackend},on:{"update:checked":function(e){t.showUserBackend=e}}},[t._v("\n\t\t\t"+t._s(t.t("settings","Show user backend"))+"\n\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showStoragePath",checked:t.showStoragePath},on:{"update:checked":function(e){t.showStoragePath=e}}},[t._v("\n\t\t\t"+t._s(t.t("settings","Show storage path"))+"\n\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showLastLogin",checked:t.showLastLogin},on:{"update:checked":function(e){t.showLastLogin=e}}},[t._v("\n\t\t\t"+t._s(t.t("settings","Show last login"))+"\n\t\t")])],1),t._v(" "),e("NcAppSettingsSection",{attrs:{id:"email-settings",name:t.t("settings","Send email")}},[e("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"sendWelcomeMail",checked:t.sendWelcomeMail,disabled:t.loadingSendMail},on:{"update:checked":function(e){t.sendWelcomeMail=e}}},[t._v("\n\t\t\t"+t._s(t.t("settings","Send welcome email to new users"))+"\n\t\t")])],1),t._v(" "),e("NcAppSettingsSection",{attrs:{id:"default-settings",name:t.t("settings","Defaults")}},[e("label",{attrs:{for:"default-quota-select"}},[t._v(t._s(t.t("settings","Default quota")))]),t._v(" "),e("NcSelect",{attrs:{"input-id":"default-quota-select",placement:"top",taggable:!0,options:t.quotaOptions,"create-option":t.validateQuota,placeholder:t.t("settings","Select default quota"),clearable:!1},on:{"option:selected":t.setDefaultQuota},model:{value:t.defaultQuota,callback:function(e){t.defaultQuota=e},expression:"defaultQuota"}})],1)],1)}),[],!1,null,"0a250c55",null).exports;function Se(t){return Se="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Se(t)}function Ne(){Ne=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,n){return t[e]=n}}function u(t,e,n,i){var o=e&&e.prototype instanceof p?e:p,a=Object.create(o.prototype),s=new L(i||[]);return r(a,"_invoke",{value:b(t,n,s)}),a}function c(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var d={};function p(){}function h(){}function f(){}var g={};l(g,o,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(S([])));m&&m!==e&&n.call(m,o)&&(g=m);var A=f.prototype=p.prototype=Object.create(g);function y(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function i(r,o,a,s){var l=c(t[r],t,o);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==Se(d)&&n.call(d,"__await")?e.resolve(d.__await).then((function(t){i("next",t,a,s)}),(function(t){i("throw",t,a,s)})):e.resolve(d).then((function(t){u.value=t,a(u)}),(function(t){return i("throw",t,a,s)}))}s(l.arg)}var o;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){i(t,n,e,r)}))}return o=o?o.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return{value:void 0,done:!0}}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var s=C(a,n);if(s){if(s===d)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=c(t,e,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===d)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}function C(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,C(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),d;var i=c(r,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,d;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,d):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,d)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function S(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:N}}function N(){return{value:void 0,done:!0}}return h.prototype=f,r(A,"constructor",{value:f,configurable:!0}),r(f,"constructor",{value:h,configurable:!0}),h.displayName=l(f,s,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===h||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,l(t,s,"GeneratorFunction")),t.prototype=Object.create(A),t},t.awrap=function(t){return{__await:t}},y(w.prototype),l(w.prototype,a,(function(){return this})),t.AsyncIterator=w,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new w(u(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},y(A),l(A,s,"Generator"),l(A,o,(function(){return this})),l(A,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=S,L.prototype={constructor:L,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var s=n.call(o,"catchLoc"),l=n.call(o,"finallyLoc");if(s&&l){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,d):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;x(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:S(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),d}},t}function ke(t,e,n,r,i,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(r,i)}i.default.use(a());var Ge={name:"Users",components:{AccountGroup:w.Z,AccountOff:_,Cog:x.default,Fragment:s.Fragment,GroupListItem:X,NcActionInput:c.Z,NcActionText:d.Z,NcAppContent:p.Z,NcAppNavigation:h.Z,NcAppNavigationCaption:f.Z,NcAppNavigationItem:g.Z,NcAppNavigationNew:v.Z,NcContent:m.Z,NcCounterBubble:A.Z,NcLoadingIcon:y.Z,Plus:L.Z,ShieldAccount:N,UserList:le,UserSettingsDialog:Le},props:{selectedGroup:{type:String,default:null}},data:function(){return{externalActions:[],newGroupName:"",isAddGroupOpen:!1,loadingAddGroup:!1,hasAddGroupError:!1,isDialogOpen:!1}},computed:{showConfig:function(){return this.$store.getters.getShowConfig},selectedGroupDecoded:function(){return this.selectedGroup?decodeURIComponent(this.selectedGroup):null},users:function(){return this.$store.getters.getUsers},groups:function(){return this.$store.getters.getGroups},usersOffset:function(){return this.$store.getters.getUsersOffset},usersLimit:function(){return this.$store.getters.getUsersLimit},userCount:function(){return this.$store.getters.getUserCount},settings:function(){return this.$store.getters.getServerData},groupList:function(){var t=this;return(Array.isArray(this.groups)?this.groups:[]).filter((function(t){return"disabled"!==t.id&&"admin"!==t.id})).map((function(e){return t.formatGroupMenu(e)}))},adminGroupMenu:function(){return this.formatGroupMenu(this.groups.find((function(t){return"admin"===t.id})))},disabledGroupMenu:function(){return this.formatGroupMenu(this.groups.find((function(t){return"disabled"===t.id})))}},beforeMount:function(){this.$store.commit("initGroups",{groups:this.$store.getters.getServerData.groups,orderBy:this.$store.getters.getServerData.sortGroups,userCount:this.$store.getters.getServerData.userCount}),this.$store.dispatch("getPasswordPolicyMinLength")},created:function(){Object.assign(OCA,{Settings:{UserList:{registerAction:this.registerAction}}})},methods:{t:l.Iu,showNewUserMenu:function(){this.$store.commit("setShowConfig",{key:"showNewUserForm",value:!0})},registerAction:function(t,e,n){return this.externalActions.push({icon:t,text:e,action:n}),this.externalActions},createGroup:function(){var t,e=this;return(t=Ne().mark((function t(){var n;return Ne().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e.hasAddGroupError=!1,""!==(n=e.newGroupName.trim())){t.next=5;break}return e.hasAddGroupError=!0,t.abrupt("return");case 5:return e.isAddGroupOpen=!1,e.loadingAddGroup=!0,t.prev=7,t.next=10,e.$store.dispatch("addGroup",n);case 10:return t.next=12,e.$router.push({name:"group",params:{selectedGroup:encodeURIComponent(n)}});case 12:e.newGroupName="",t.next=18;break;case 15:t.prev=15,t.t0=t.catch(7),(0,u.x2)((0,l.Iu)("settings","Failed to create group"));case 18:e.loadingAddGroup=!1;case 19:case"end":return t.stop()}}),t,null,[[7,15]])})),function(){var e=this,n=arguments;return new Promise((function(r,i){var o=t.apply(e,n);function a(t){ke(o,r,i,a,s,"next",t)}function s(t){ke(o,r,i,a,s,"throw",t)}a(void 0)}))})()},formatGroupMenu:function(t){var e={};return void 0===t?{}:(e.id=t.id,e.title=t.name,e.usercount=t.usercount,t.usercount-t.disabled>0&&(e.count=t.usercount-t.disabled),e)}}},Ie=Ge,Ue=r(60457),Oe={};Oe.styleTagTransform=V(),Oe.setAttributes=Y(),Oe.insert=$().bind(null,"head"),Oe.domAPI=F(),Oe.insertStyleElement=Q(),T()(Ue.Z,Oe),Ue.Z&&Ue.Z.locals&&Ue.Z.locals;var Ee=(0,C.Z)(Ie,(function(){var t=this,e=t._self._c;return e("Fragment",[e("NcContent",{attrs:{"app-name":"settings"}},[e("NcAppNavigation",{scopedSlots:t._u([{key:"list",fn:function(){return[e("NcAppNavigationItem",{attrs:{id:"everyone",exact:!0,name:t.t("settings","Active users"),to:{name:"users"}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("AccountGroup",{attrs:{size:20}})]},proxy:!0},{key:"counter",fn:function(){return[t.userCount?e("NcCounterBubble",{attrs:{type:t.selectedGroupDecoded?void 0:"highlighted"}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.userCount)+"\n\t\t\t\t\t\t")]):t._e()]},proxy:!0}])}),t._v(" "),t.settings.isAdmin?e("NcAppNavigationItem",{attrs:{id:"admin",exact:!0,name:t.t("settings","Admins"),to:{name:"group",params:{selectedGroup:"admin"}}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("ShieldAccount",{attrs:{size:20}})]},proxy:!0},t.adminGroupMenu.count>0?{key:"counter",fn:function(){return[e("NcCounterBubble",{attrs:{type:"admin"===t.selectedGroupDecoded?"highlighted":void 0}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.adminGroupMenu.count)+"\n\t\t\t\t\t\t")])]},proxy:!0}:null],null,!0)}):t._e(),t._v(" "),t.disabledGroupMenu.usercount>0||-1===t.disabledGroupMenu.usercount?e("NcAppNavigationItem",{attrs:{id:"disabled",exact:!0,name:t.t("settings","Disabled users"),to:{name:"group",params:{selectedGroup:"disabled"}}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("AccountOff",{attrs:{size:20}})]},proxy:!0},t.disabledGroupMenu.usercount>0?{key:"counter",fn:function(){return[e("NcCounterBubble",{attrs:{type:"disabled"===t.selectedGroupDecoded?"highlighted":void 0}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.disabledGroupMenu.usercount)+"\n\t\t\t\t\t\t")])]},proxy:!0}:null],null,!0)}):t._e(),t._v(" "),e("NcAppNavigationCaption",{attrs:{name:t.t("settings","Groups"),disabled:t.loadingAddGroup,"aria-label":t.loadingAddGroup?t.t("settings","Creating group …"):t.t("settings","Create group"),"force-menu":"",open:t.isAddGroupOpen},on:{"update:open":function(e){t.isAddGroupOpen=e}},scopedSlots:t._u([{key:"actionsTriggerIcon",fn:function(){return[t.loadingAddGroup?e("NcLoadingIcon"):e("Plus",{attrs:{size:20}})]},proxy:!0},{key:"actions",fn:function(){return[e("NcActionText",{scopedSlots:t._u([{key:"icon",fn:function(){return[e("AccountGroup",{attrs:{size:20}})]},proxy:!0}])},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.t("settings","Create group"))+"\n\t\t\t\t\t\t")]),t._v(" "),e("NcActionInput",{attrs:{label:t.t("settings","Group name"),"label-outside":!1,disabled:t.loadingAddGroup,value:t.newGroupName,error:t.hasAddGroupError,"helper-text":t.hasAddGroupError?t.t("settings","Please enter a valid group name"):""},on:{"update:value":function(e){t.newGroupName=e},submit:t.createGroup}})]},proxy:!0}])}),t._v(" "),t._l(t.groupList,(function(n){return e("GroupListItem",{key:n.id,attrs:{id:n.id,active:t.selectedGroupDecoded===n.id,name:n.title,count:n.count}})}))]},proxy:!0},{key:"footer",fn:function(){return[e("ul",{staticClass:"app-navigation-entry__settings"},[e("NcAppNavigationItem",{attrs:{name:t.t("settings","User management settings")},on:{click:function(e){t.isDialogOpen=!0}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Cog",{attrs:{size:20}})]},proxy:!0}])})],1)]},proxy:!0}])},[e("NcAppNavigationNew",{attrs:{"button-id":"new-user-button",text:t.t("settings","New user"),"button-class":"icon-add"},on:{click:t.showNewUserMenu,keyup:[function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.showNewUserMenu.apply(null,arguments)},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"space",32,e.key,[" ","Spacebar"])?null:t.showNewUserMenu.apply(null,arguments)}]},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Plus",{attrs:{size:20}})]},proxy:!0}])})],1),t._v(" "),e("NcAppContent",[e("UserList",{attrs:{"selected-group":t.selectedGroupDecoded,"external-actions":t.externalActions}})],1)],1),t._v(" "),e("UserSettingsDialog",{attrs:{open:t.isDialogOpen},on:{"update:open":function(e){t.isDialogOpen=e}}})],1)}),[],!1,null,"642e7037",null),Me=Ee.exports},87369:function(t,e,n){var r=n(34155),i=n(25108);t.exports=function(){"use strict";var t=function(){this._properties={},this._namespace="",this._isSupported=!0},e={namespace:{}};e.namespace.get=function(){return this._namespace},e.namespace.set=function(t){this._namespace=t?t+".":""},t.prototype._getLsKey=function(t){return""+this._namespace+t},t.prototype._lsSet=function(t,e,n){var r=this._getLsKey(t),i=n&&[Array,Object].includes(n)?JSON.stringify(e):e;window.localStorage.setItem(r,i)},t.prototype._lsGet=function(t){var e=this._getLsKey(t);return window.localStorage[e]},t.prototype.get=function(t,e,n){if(void 0===e&&(e=null),void 0===n&&(n=String),!this._isSupported)return null;if(this._lsGet(t)){var r=n;for(var i in this._properties)if(i===t){r=this._properties[i].type;break}return this._process(r,this._lsGet(t))}return null!==e?e:null},t.prototype.set=function(t,e){var n=this;if(!this._isSupported)return null;for(var r in n._properties){var i=n._properties[r].type;if(r===t)return n._lsSet(t,e,i),e}return this._lsSet(t,e),e},t.prototype.remove=function(t){return this._isSupported?window.localStorage.removeItem(t):null},t.prototype.addProperty=function(t,e,n){void 0===n&&(n=void 0),e=e||String,this._properties[t]={type:e},this._lsGet(t)||null===n||this._lsSet(t,n,e)},t.prototype._process=function(t,e){switch(t){case Boolean:return"true"===e;case Number:return parseFloat(e);case Array:try{var n=JSON.parse(e);return Array.isArray(n)?n:[]}catch(t){return[]}case Object:try{return JSON.parse(e)}catch(t){return{}}default:return e}},Object.defineProperties(t.prototype,e);var n=new t;return{install:function(t,e){if(void 0===e&&(e={}),void 0===r||!(r.server||r.SERVER_BUILD||r.env&&"server"===r.env.VUE_ENV)){var o=!0;try{var a="__vue-localstorage-test__";window.localStorage.setItem(a,a),window.localStorage.removeItem(a)}catch(t){o=!1,n._isSupported=!1,i.error("Local storage is not supported")}var s=e.name||"localStorage",l=e.bind;e.namespace&&(n.namespace=e.namespace),t.mixin({beforeCreate:function(){var e=this;o&&this.$options[s]&&Object.keys(this.$options[s]).forEach((function(r){var o=e.$options[s][r],a=[o.type,o.default],u=a[0],c=a[1];if(n.addProperty(r,u,c),Object.getOwnPropertyDescriptor(n,r))t.config.silent||i.log(r+": is already defined and will be reused");else{var d={get:function(){return t.localStorage.get(r,c)},set:function(e){return t.localStorage.set(r,e)},configurable:!0};Object.defineProperty(n,r,d),t.util.defineReactive(n,r,c)}(l||o.bind)&&!1!==o.bind&&(e.$options.computed=e.$options.computed||{},e.$options.computed[r]||(e.$options.computed[r]={get:function(){return t.localStorage[r]},set:function(e){t.localStorage[r]=e}}))}))}}),t[s]=n,t.prototype["$"+s]=n}}}}()},42761:function(t){"use strict";t.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg=="},87210:function(t){"use strict";t.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K"},94659:function(t){"use strict";t.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg=="},11530:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTE1LjQgMTYuNkwxMC44IDEybDQuNi00LjZMMTQgNmwtNiA2IDYgNiAxLjQtMS40eiIvPjwvc3ZnPg=="},71124:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTE4LjQgNy40TDE3IDZsLTYgNiA2IDYgMS40LTEuNC00LjYtNC42IDQuNi00LjZtLTYgMEwxMSA2bC02IDYgNiA2IDEuNC0xLjRMNy44IDEybDQuNi00LjZ6Ii8+PC9zdmc+"},48461:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTUuNiA3LjRMNyA2bDYgNi02IDYtMS40LTEuNCA0LjYtNC42LTQuNi00LjZtNiAwTDEzIDZsNiA2LTYgNi0xLjQtMS40IDQuNi00LjYtNC42LTQuNnoiLz48L3N2Zz4="},23427:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTguNiAxNi42bDQuNi00LjYtNC42LTQuNkwxMCA2bDYgNi02IDYtMS40LTEuNHoiLz48L3N2Zz4="},39896:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTE1LjQgMTYuNkwxMC44IDEybDQuNi00LjZMMTQgNmwtNiA2IDYgNiAxLjQtMS40eiIvPjwvc3ZnPg=="},76899:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTE4LjQgNy40TDE3IDZsLTYgNiA2IDYgMS40LTEuNC00LjYtNC42IDQuNi00LjZtLTYgMEwxMSA2bC02IDYgNiA2IDEuNC0xLjRMNy44IDEybDQuNi00LjZ6Ii8+PC9zdmc+"},88931:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTUuNiA3LjRMNyA2bDYgNi02IDYtMS40LTEuNCA0LjYtNC42LTQuNi00LjZtNiAwTDEzIDZsNiA2LTYgNi0xLjQtMS40IDQuNi00LjYtNC42LTQuNnoiLz48L3N2Zz4="},16556:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTguNiAxNi42bDQuNi00LjYtNC42LTQuNkwxMCA2bDYgNi02IDYtMS40LTEuNHoiLz48L3N2Zz4="}}]); -//# sourceMappingURL=settings-users-8351.js.map?v=61e8745bc13a1b980462
\ No newline at end of file +(self.webpackChunknextcloud=self.webpackChunknextcloud||[]).push([[8351],{40812:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),a=n.n(o)()(i());a.push([t.id,".modal__header[data-v-36dd2d08]{margin:0}.modal__content[data-v-36dd2d08]{display:flex;flex-direction:column;align-items:center;padding:20px;gap:4px 0}.modal__button-row[data-v-36dd2d08]{display:flex;width:100%;justify-content:space-between}","",{version:3,sources:["webpack://./apps/settings/src/components/GroupListItem.vue"],names:[],mappings:"AAEC,gCACC,QAAA,CAGD,iCACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,YAAA,CACA,SAAA,CAGD,oCACC,YAAA,CACA,UAAA,CACA,6BAAA",sourcesContent:["\n.modal {\n\t&__header {\n\t\tmargin: 0;\n\t}\n\n\t&__content {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tpadding: 20px;\n\t\tgap: 4px 0;\n\t}\n\n\t&__button-row {\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\tjustify-content: space-between;\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},51321:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),a=n.n(o)()(i());a.push([t.id,".empty[data-v-c76ff3be] .icon-vue{width:64px;height:64px}.empty[data-v-c76ff3be] .icon-vue svg{max-width:64px;max-height:64px}","",{version:3,sources:["webpack://./apps/settings/src/components/UserList.vue"],names:[],mappings:"AAKE,kCACC,UAAA,CACA,WAAA,CAEA,sCACC,cAAA,CACA,eAAA",sourcesContent:["\n@import './Users/shared/styles.scss';\n\n.empty {\n\t:deep {\n\t\t.icon-vue {\n\t\t\twidth: 64px;\n\t\t\theight: 64px;\n\n\t\t\tsvg {\n\t\t\t\tmax-width: 64px;\n\t\t\t\tmax-height: 64px;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},38101:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),a=n.n(o)()(i());a.push([t.id,".modal__form[data-v-0634d81b]{display:flex;flex-direction:column;align-items:center;padding:20px;gap:4px 0}.modal__form #new-user-groups-input[data-v-0634d81b]{position:absolute;opacity:0;width:0}.modal__item[data-v-0634d81b]{width:100%}.modal__item[data-v-0634d81b]:not(:focus):not(:active){border-color:var(--color-border-dark)}.modal__hint[data-v-0634d81b]{color:var(--color-text-maxcontrast);margin-top:8px;align-self:flex-start}.modal__label[data-v-0634d81b]{display:block;padding:4px 0}.modal__select[data-v-0634d81b]{width:100%}.modal__submit[data-v-0634d81b]{margin-top:20px}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/NewUserModal.vue"],names:[],mappings:"AAEC,8BACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,YAAA,CACA,SAAA,CAGA,qDACC,iBAAA,CACA,SAAA,CAMA,OAAA,CAIF,8BACC,UAAA,CAEA,uDACC,qCAAA,CAIF,8BACC,mCAAA,CACA,cAAA,CACA,qBAAA,CAGD,+BACC,aAAA,CACA,aAAA,CAGD,gCACC,UAAA,CAGD,gCACC,eAAA",sourcesContent:['\n.modal {\n\t&__form {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tpadding: 20px;\n\t\tgap: 4px 0;\n\n\t\t/* fake input for groups validation */\n\t\t#new-user-groups-input {\n\t\t\tposition: absolute;\n\t\t\topacity: 0;\n\t\t\t/* The "hidden" input is behind the NcSelect, so in general it does\n\t\t\t* not receives clicks. However, with Firefox, after the validation\n\t\t\t* fails, it will receive the first click done on it, so its width needs\n\t\t\t* to be set to 0 to prevent that ("pointer-events: none" does not\n\t\t\t* prevent it). */\n\t\t\twidth: 0;\n\t\t}\n\t}\n\n\t&__item {\n\t\twidth: 100%;\n\n\t\t&:not(:focus):not(:active) {\n\t\t\tborder-color: var(--color-border-dark);\n\t\t}\n\t}\n\n\t&__hint {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tmargin-top: 8px;\n\t\talign-self: flex-start;\n\t}\n\n\t&__label {\n\t\tdisplay: block;\n\t\tpadding: 4px 0;\n\t}\n\n\t&__select {\n\t\twidth: 100%;\n\t}\n\n\t&__submit {\n\t\tmargin-top: 20px;\n\t}\n}\n'],sourceRoot:""}]),e.Z=a},69830:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),a=n.n(o)()(i());a.push([t.id,".footer[data-v-5b39b95a]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.footer__cell[data-v-5b39b95a]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.footer__cell strong[data-v-5b39b95a],.footer__cell span[data-v-5b39b95a],.footer__cell label[data-v-5b39b95a]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.footer__cell--avatar[data-v-5b39b95a],.footer__cell--displayname[data-v-5b39b95a]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.footer__cell--avatar[data-v-5b39b95a]{left:0}.footer__cell--displayname[data-v-5b39b95a]{left:var(--avatar-cell-width);border-right:1px solid var(--color-border)}}.footer__cell--avatar[data-v-5b39b95a]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.footer__cell--multiline span[data-v-5b39b95a]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.footer__cell--multiline span[data-v-5b39b95a]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.footer__cell--large[data-v-5b39b95a]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.footer__cell--obfuscated[data-v-5b39b95a]{min-width:400px;width:400px}.footer__cell--fill[data-v-5b39b95a]{min-width:var(--cell-width-large);width:100%}.footer__cell--actions[data-v-5b39b95a]{position:sticky;right:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-left:1px solid var(--color-border)}.footer__subtitle[data-v-5b39b95a]{color:var(--color-text-maxcontrast)}.footer__cell[data-v-5b39b95a]{position:sticky;color:var(--color-text-maxcontrast)}.footer__cell--loading[data-v-5b39b95a]{left:0;min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0}.footer__cell--count[data-v-5b39b95a]{left:var(--avatar-cell-width);min-width:var(--cell-width);width:var(--cell-width)}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/UserListFooter.vue","webpack://./apps/settings/src/components/Users/shared/styles.scss"],names:[],mappings:"AAGA,yBCoBC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CAIA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,MAAA,CAGD,4CACC,6BAAA,CACA,0CAAA,CAAA,CAIF,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,OAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,yCAAA,CAIF,mCACC,mCAAA,CDjHD,+BACC,eAAA,CACA,mCAAA,CAEA,wCACC,MAAA,CACA,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CAGD,sCACC,6BAAA,CACA,2BAAA,CACA,uBAAA",sourcesContent:["\n@import './shared/styles.scss';\n\n.footer {\n\t@include row;\n\t@include cell;\n\n\t&__cell {\n\t\tposition: sticky;\n\t\tcolor: var(--color-text-maxcontrast);\n\n\t\t&--loading {\n\t\t\tleft: 0;\n\t\t\tmin-width: var(--avatar-cell-width);\n\t\t\twidth: var(--avatar-cell-width);\n\t\t\talign-items: center;\n\t\t\tpadding: 0;\n\t\t}\n\n\t\t&--count {\n\t\t\tleft: var(--avatar-cell-width);\n\t\t\tmin-width: var(--cell-width);\n\t\t\twidth: var(--cell-width);\n\t\t}\n\t}\n}\n","/**\n * @copyright 2023 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n@mixin row {\n\tposition: relative;\n\tdisplay: flex;\n\tmin-width: 100%;\n\twidth: fit-content;\n\theight: var(--row-height);\n\tbackground-color: var(--color-main-background);\n}\n\n@mixin cell {\n\t&__cell {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tpadding: 0 var(--cell-padding);\n\t\tmin-width: var(--cell-width);\n\t\twidth: var(--cell-width);\n\t\tcolor: var(--color-main-text);\n\n\t\tstrong,\n\t\tspan,\n\t\tlabel {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow-wrap: anywhere;\n\t\t}\n\n\t\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\n\t\t\t&--avatar,\n\t\t\t&--displayname {\n\t\t\t\tposition: sticky;\n\t\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\t\tbackground-color: var(--color-main-background);\n\t\t\t}\n\n\t\t\t&--avatar {\n\t\t\t\tleft: 0;\n\t\t\t}\n\n\t\t\t&--displayname {\n\t\t\t\tleft: var(--avatar-cell-width);\n\t\t\t\tborder-right: 1px solid var(--color-border);\n\t\t\t}\n\t\t}\n\n\t\t&--avatar {\n\t\t\tmin-width: var(--avatar-cell-width);\n\t\t\twidth: var(--avatar-cell-width);\n\t\t\talign-items: center;\n\t\t\tpadding: 0;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&--multiline {\n\t\t\tspan {\n\t\t\t\tline-height: 1.3em;\n\t\t\t\twhite-space: unset;\n\n\t\t\t\t@supports (-webkit-line-clamp: 2) {\n\t\t\t\t\tdisplay: -webkit-box;\n\t\t\t\t\t-webkit-line-clamp: 2;\n\t\t\t\t\t-webkit-box-orient: vertical;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&--large {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: var(--cell-width-large);\n\t\t}\n\n\t\t&--obfuscated {\n\t\t\tmin-width: 400px;\n\t\t\twidth: 400px;\n\t\t}\n\n\t\t// Fill remaining row space with cell\n\t\t&--fill {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t&--actions {\n\t\t\tposition: sticky;\n\t\t\tright: 0;\n\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\talign-items: center;\n\t\t\tmin-width: 110px;\n\t\t\twidth: 110px;\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tborder-left: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t&__subtitle {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},74831:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),a=n.n(o)()(i());a.push([t.id,".header[data-v-05cd17c8]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background);border-bottom:1px solid var(--color-border)}.header__cell[data-v-05cd17c8]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.header__cell strong[data-v-05cd17c8],.header__cell span[data-v-05cd17c8],.header__cell label[data-v-05cd17c8]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.header__cell--avatar[data-v-05cd17c8],.header__cell--displayname[data-v-05cd17c8]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.header__cell--avatar[data-v-05cd17c8]{left:0}.header__cell--displayname[data-v-05cd17c8]{left:var(--avatar-cell-width);border-right:1px solid var(--color-border)}}.header__cell--avatar[data-v-05cd17c8]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.header__cell--multiline span[data-v-05cd17c8]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.header__cell--multiline span[data-v-05cd17c8]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.header__cell--large[data-v-05cd17c8]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.header__cell--obfuscated[data-v-05cd17c8]{min-width:400px;width:400px}.header__cell--fill[data-v-05cd17c8]{min-width:var(--cell-width-large);width:100%}.header__cell--actions[data-v-05cd17c8]{position:sticky;right:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-left:1px solid var(--color-border)}.header__subtitle[data-v-05cd17c8]{color:var(--color-text-maxcontrast)}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/UserListHeader.vue","webpack://./apps/settings/src/components/Users/shared/styles.scss"],names:[],mappings:"AAGA,yBCoBC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CDrBA,2CAAA,CCyBA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,MAAA,CAGD,4CACC,6BAAA,CACA,0CAAA,CAAA,CAIF,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,OAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,yCAAA,CAIF,mCACC,mCAAA",sourcesContent:["\n@import './shared/styles.scss';\n\n.header {\n\t@include row;\n\t@include cell;\n\n\tborder-bottom: 1px solid var(--color-border);\n}\n","/**\n * @copyright 2023 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n@mixin row {\n\tposition: relative;\n\tdisplay: flex;\n\tmin-width: 100%;\n\twidth: fit-content;\n\theight: var(--row-height);\n\tbackground-color: var(--color-main-background);\n}\n\n@mixin cell {\n\t&__cell {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tpadding: 0 var(--cell-padding);\n\t\tmin-width: var(--cell-width);\n\t\twidth: var(--cell-width);\n\t\tcolor: var(--color-main-text);\n\n\t\tstrong,\n\t\tspan,\n\t\tlabel {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow-wrap: anywhere;\n\t\t}\n\n\t\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\n\t\t\t&--avatar,\n\t\t\t&--displayname {\n\t\t\t\tposition: sticky;\n\t\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\t\tbackground-color: var(--color-main-background);\n\t\t\t}\n\n\t\t\t&--avatar {\n\t\t\t\tleft: 0;\n\t\t\t}\n\n\t\t\t&--displayname {\n\t\t\t\tleft: var(--avatar-cell-width);\n\t\t\t\tborder-right: 1px solid var(--color-border);\n\t\t\t}\n\t\t}\n\n\t\t&--avatar {\n\t\t\tmin-width: var(--avatar-cell-width);\n\t\t\twidth: var(--avatar-cell-width);\n\t\t\talign-items: center;\n\t\t\tpadding: 0;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&--multiline {\n\t\t\tspan {\n\t\t\t\tline-height: 1.3em;\n\t\t\t\twhite-space: unset;\n\n\t\t\t\t@supports (-webkit-line-clamp: 2) {\n\t\t\t\t\tdisplay: -webkit-box;\n\t\t\t\t\t-webkit-line-clamp: 2;\n\t\t\t\t\t-webkit-box-orient: vertical;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&--large {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: var(--cell-width-large);\n\t\t}\n\n\t\t&--obfuscated {\n\t\t\tmin-width: 400px;\n\t\t\twidth: 400px;\n\t\t}\n\n\t\t// Fill remaining row space with cell\n\t\t&--fill {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t&--actions {\n\t\t\tposition: sticky;\n\t\t\tright: 0;\n\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\talign-items: center;\n\t\t\tmin-width: 110px;\n\t\t\twidth: 110px;\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tborder-left: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t&__subtitle {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},56518:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),a=n.n(o)()(i());a.push([t.id,".user-list__row[data-v-5bb81c4e]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.user-list__row[data-v-5bb81c4e]:hover{background-color:var(--color-background-hover)}.user-list__row:hover .row__cell[data-v-5bb81c4e]:not(.row__cell--actions){background-color:var(--color-background-hover)}.user-list__row .select--fill[data-v-5bb81c4e]{max-width:calc(var(--cell-width-large) - 2*var(--cell-padding))}.row__cell[data-v-5bb81c4e]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.row__cell strong[data-v-5bb81c4e],.row__cell span[data-v-5bb81c4e],.row__cell label[data-v-5bb81c4e]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.row__cell--avatar[data-v-5bb81c4e],.row__cell--displayname[data-v-5bb81c4e]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.row__cell--avatar[data-v-5bb81c4e]{left:0}.row__cell--displayname[data-v-5bb81c4e]{left:var(--avatar-cell-width);border-right:1px solid var(--color-border)}}.row__cell--avatar[data-v-5bb81c4e]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.row__cell--multiline span[data-v-5bb81c4e]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.row__cell--multiline span[data-v-5bb81c4e]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.row__cell--large[data-v-5bb81c4e]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.row__cell--obfuscated[data-v-5bb81c4e]{min-width:400px;width:400px}.row__cell--fill[data-v-5bb81c4e]{min-width:var(--cell-width-large);width:100%}.row__cell--actions[data-v-5bb81c4e]{position:sticky;right:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-left:1px solid var(--color-border)}.row__subtitle[data-v-5bb81c4e]{color:var(--color-text-maxcontrast)}.row__cell[data-v-5bb81c4e]{border-bottom:1px solid var(--color-border)}.row__cell[data-v-5bb81c4e] .input-field,.row__cell[data-v-5bb81c4e] .input-field__main-wrapper,.row__cell[data-v-5bb81c4e] .input-field__input{height:48px !important}.row__cell[data-v-5bb81c4e] .input-field__input:placeholder-shown:not(:focus)+.input-field__label{inset-block-start:16px !important}.row__cell[data-v-5bb81c4e] .button-vue--icon-only{height:44px !important}.row__cell[data-v-5bb81c4e] .v-select.select{min-width:var(--cell-min-width)}.row__progress[data-v-5bb81c4e]{margin-top:4px}.row__progress--warn[data-v-5bb81c4e]::-moz-progress-bar{background:var(--color-warning) !important}.row__progress--warn[data-v-5bb81c4e]::-webkit-progress-value{background:var(--color-warning) !important}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/UserRow.vue","webpack://./apps/settings/src/components/Users/shared/styles.scss"],names:[],mappings:"AAGA,iCCoBC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CDtBA,uCACC,8CAAA,CAEA,2EACC,8CAAA,CAKF,+CACC,+DAAA,CCgBD,4BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,sGAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,6EAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,oCACC,MAAA,CAGD,yCACC,6BAAA,CACA,0CAAA,CAAA,CAIF,oCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,4CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,4CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,mCACC,iCAAA,CACA,6BAAA,CAGD,wCACC,eAAA,CACA,WAAA,CAID,kCACC,iCAAA,CACA,UAAA,CAGD,qCACC,eAAA,CACA,OAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,yCAAA,CAIF,gCACC,mCAAA,CDjGD,4BACC,2CAAA,CAGC,gJAGC,sBAAA,CAIA,kGACC,iCAAA,CAIF,mDACC,sBAAA,CAGD,6CACC,+BAAA,CAKH,gCACC,cAAA,CAGC,yDACC,0CAAA,CAED,8DACC,0CAAA",sourcesContent:["\n@import './shared/styles.scss';\n\n.user-list__row {\n\t@include row;\n\n\t&:hover {\n\t\tbackground-color: var(--color-background-hover);\n\n\t\t.row__cell:not(.row__cell--actions) {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t}\n\n\t// Limit width of select in fill cell\n\t.select--fill {\n\t\tmax-width: calc(var(--cell-width-large) - (2 * var(--cell-padding)));\n\t}\n}\n\n.row {\n\t@include cell;\n\n\t&__cell {\n\t\tborder-bottom: 1px solid var(--color-border);\n\n\t\t:deep {\n\t\t\t.input-field,\n\t\t\t.input-field__main-wrapper,\n\t\t\t.input-field__input {\n\t\t\t\theight: 48px !important;\n\t\t\t}\n\n\t\t\t.input-field__input {\n\t\t\t\t&:placeholder-shown:not(:focus) + .input-field__label {\n\t\t\t\t\tinset-block-start: 16px !important;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.button-vue--icon-only {\n\t\t\t\theight: 44px !important;\n\t\t\t}\n\n\t\t\t.v-select.select {\n\t\t\t\tmin-width: var(--cell-min-width);\n\t\t\t}\n\t\t}\n\t}\n\n\t&__progress {\n\t\tmargin-top: 4px;\n\n\t\t&--warn {\n\t\t\t&::-moz-progress-bar {\n\t\t\t\tbackground: var(--color-warning) !important;\n\t\t\t}\n\t\t\t&::-webkit-progress-value {\n\t\t\t\tbackground: var(--color-warning) !important;\n\t\t\t}\n\t\t}\n\t}\n}\n","/**\n * @copyright 2023 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n@mixin row {\n\tposition: relative;\n\tdisplay: flex;\n\tmin-width: 100%;\n\twidth: fit-content;\n\theight: var(--row-height);\n\tbackground-color: var(--color-main-background);\n}\n\n@mixin cell {\n\t&__cell {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tpadding: 0 var(--cell-padding);\n\t\tmin-width: var(--cell-width);\n\t\twidth: var(--cell-width);\n\t\tcolor: var(--color-main-text);\n\n\t\tstrong,\n\t\tspan,\n\t\tlabel {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow-wrap: anywhere;\n\t\t}\n\n\t\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\n\t\t\t&--avatar,\n\t\t\t&--displayname {\n\t\t\t\tposition: sticky;\n\t\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\t\tbackground-color: var(--color-main-background);\n\t\t\t}\n\n\t\t\t&--avatar {\n\t\t\t\tleft: 0;\n\t\t\t}\n\n\t\t\t&--displayname {\n\t\t\t\tleft: var(--avatar-cell-width);\n\t\t\t\tborder-right: 1px solid var(--color-border);\n\t\t\t}\n\t\t}\n\n\t\t&--avatar {\n\t\t\tmin-width: var(--avatar-cell-width);\n\t\t\twidth: var(--avatar-cell-width);\n\t\t\talign-items: center;\n\t\t\tpadding: 0;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&--multiline {\n\t\t\tspan {\n\t\t\t\tline-height: 1.3em;\n\t\t\t\twhite-space: unset;\n\n\t\t\t\t@supports (-webkit-line-clamp: 2) {\n\t\t\t\t\tdisplay: -webkit-box;\n\t\t\t\t\t-webkit-line-clamp: 2;\n\t\t\t\t\t-webkit-box-orient: vertical;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&--large {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: var(--cell-width-large);\n\t\t}\n\n\t\t&--obfuscated {\n\t\t\tmin-width: 400px;\n\t\t\twidth: 400px;\n\t\t}\n\n\t\t// Fill remaining row space with cell\n\t\t&--fill {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t&--actions {\n\t\t\tposition: sticky;\n\t\t\tright: 0;\n\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\talign-items: center;\n\t\t\tmin-width: 110px;\n\t\t\twidth: 110px;\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tborder-left: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t&__subtitle {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},66547:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),a=n.n(o)()(i());a.push([t.id,"label[for=default-quota-select][data-v-0a250c55]{display:block;padding:4px 0}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/UserSettingsDialog.vue"],names:[],mappings:"AACA,iDACC,aAAA,CACA,aAAA",sourcesContent:['\nlabel[for="default-quota-select"] {\n\tdisplay: block;\n\tpadding: 4px 0;\n}\n'],sourceRoot:""}]),e.Z=a},63936:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),a=n.n(o)()(i());a.push([t.id,".user-list[data-v-4377829d]{--avatar-cell-width: 48px;--cell-padding: 7px;--cell-width: 200px;--cell-width-large: 300px;--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1);display:block;overflow:auto;height:100%}.user-list__header[data-v-4377829d],.user-list__footer[data-v-4377829d]{position:sticky;display:block}.user-list__header[data-v-4377829d]{top:0;z-index:calc(var(--sticky-column-z-index) + 1)}.user-list__footer[data-v-4377829d]{left:0}.user-list__body[data-v-4377829d]{display:flex;flex-direction:column;width:100%}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/VirtualList.vue"],names:[],mappings:"AACA,4BACC,yBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,qEAAA,CACA,6DAAA,CAGA,aAAA,CACA,aAAA,CACA,WAAA,CAEA,wEAEC,eAAA,CAEA,aAAA,CAGD,oCACC,KAAA,CACA,8CAAA,CAGD,oCACC,MAAA,CAGD,kCACC,YAAA,CACA,qBAAA,CACA,UAAA",sourcesContent:["\n.user-list {\n\t--avatar-cell-width: 48px;\n\t--cell-padding: 7px;\n\t--cell-width: 200px;\n\t--cell-width-large: 300px;\n\t--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));\n\t--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1); // Keep the sticky column on top of the select dropdown\n\n\t// Necessary for virtual scroll optimized rendering\n\tdisplay: block;\n\toverflow: auto;\n\theight: 100%;\n\n\t&__header,\n\t&__footer {\n\t\tposition: sticky;\n\t\t// Fix sticky positioning in Firefox\n\t\tdisplay: block;\n\t}\n\n\t&__header {\n\t\ttop: 0;\n\t\tz-index: calc(var(--sticky-column-z-index) + 1);\n\t}\n\n\t&__footer {\n\t\tleft: 0;\n\t}\n\n\t&__body {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\twidth: 100%;\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},60457:function(t,e,n){"use strict";var r=n(87537),i=n.n(r),o=n(23645),a=n.n(o)()(i());a.push([t.id,".app-content[data-v-642e7037]{display:flex;overflow:hidden;flex-direction:column;max-height:100%}.app-navigation-entry__settings[data-v-642e7037]{height:auto !important;flex:0 0 auto}","",{version:3,sources:["webpack://./apps/settings/src/views/Users.vue"],names:[],mappings:"AACA,8BAEC,YAAA,CACA,eAAA,CACA,qBAAA,CACA,eAAA,CAGD,iDACC,sBAAA,CAEA,aAAA",sourcesContent:["\n.app-content {\n\t// Virtual list needs to be full height and is scrollable\n\tdisplay: flex;\n\toverflow: hidden;\n\tflex-direction: column;\n\tmax-height: 100%;\n}\n\n.app-navigation-entry__settings {\n\theight: auto !important;\n\t// Prevent shrinking or growing\n\tflex: 0 0 auto;\n}\n"],sourceRoot:""}]),e.Z=a},9574:function(e,n,r){"use strict";r.r(n),r.d(n,{default:function(){return Me}});var i=r(20144),o=r(87369),a=r.n(o),s=r(74139),l=r(31352),u=r(64024),c=r(31466),d=r(76955),p=r(56071),h=r(35534),f=r(82002),g=r(41705),v=r(61898),m=r(73743),A=r(93182),y=r(20435),w=r(50413),b={name:"AccountOffIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},C=r(51900),_=(0,C.Z)(b,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon account-off-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,4A4,4 0 0,1 16,8C16,9.95 14.6,11.58 12.75,11.93L8.07,7.25C8.42,5.4 10.05,4 12,4M12.28,14L18.28,20L20,21.72L18.73,23L15.73,20H4V18C4,16.16 6.5,14.61 9.87,14.14L2.78,7.05L4.05,5.78L12.28,14M20,18V19.18L15.14,14.32C18,14.93 20,16.35 20,18Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,x=r(57638),L=r(61149),S={name:"ShieldAccountIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},N=(0,C.Z)(S,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon shield-account-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1M12,5A3,3 0 0,1 15,8A3,3 0 0,1 12,11A3,3 0 0,1 9,8A3,3 0 0,1 12,5M17.13,17C15.92,18.85 14.11,20.24 12,20.92C9.89,20.24 8.08,18.85 6.87,17C6.53,16.5 6.24,16 6,15.47C6,13.82 8.71,12.47 12,12.47C15.29,12.47 18,13.79 18,15.47C17.76,16 17.47,16.5 17.13,17Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,k=r(20212),G=r(57274),I=r(59110),U=r(80774),O=r(57612),E=r(73229);function M(t){return M="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},M(t)}function D(){D=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,n){return t[e]=n}}function u(t,e,n,i){var o=e&&e.prototype instanceof p?e:p,a=Object.create(o.prototype),s=new L(i||[]);return r(a,"_invoke",{value:b(t,n,s)}),a}function c(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var d={};function p(){}function h(){}function f(){}var g={};l(g,o,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(S([])));m&&m!==e&&n.call(m,o)&&(g=m);var A=f.prototype=p.prototype=Object.create(g);function y(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function i(r,o,a,s){var l=c(t[r],t,o);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==M(d)&&n.call(d,"__await")?e.resolve(d.__await).then((function(t){i("next",t,a,s)}),(function(t){i("throw",t,a,s)})):e.resolve(d).then((function(t){u.value=t,a(u)}),(function(t){return i("throw",t,a,s)}))}s(l.arg)}var o;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){i(t,n,e,r)}))}return o=o?o.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return{value:void 0,done:!0}}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var s=C(a,n);if(s){if(s===d)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=c(t,e,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===d)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}function C(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,C(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),d;var i=c(r,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,d;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,d):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,d)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function S(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:N}}function N(){return{value:void 0,done:!0}}return h.prototype=f,r(A,"constructor",{value:f,configurable:!0}),r(f,"constructor",{value:h,configurable:!0}),h.displayName=l(f,s,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===h||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,l(t,s,"GeneratorFunction")),t.prototype=Object.create(A),t},t.awrap=function(t){return{__await:t}},y(w.prototype),l(w.prototype,a,(function(){return this})),t.AsyncIterator=w,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new w(u(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},y(A),l(A,s,"Generator"),l(A,o,(function(){return this})),l(A,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=S,L.prototype={constructor:L,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var s=n.call(o,"catchLoc"),l=n.call(o,"finallyLoc");if(s&&l){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,d):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;x(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:S(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),d}},t}function j(t,e,n,r,i,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(r,i)}function P(t){return function(){var e=this,n=arguments;return new Promise((function(r,i){var o=t.apply(e,n);function a(t){j(o,r,i,a,s,"next",t)}function s(t){j(o,r,i,a,s,"throw",t)}a(void 0)}))}}var Z={name:"GroupListItem",components:{AccountGroup:w.Z,Delete:O.Z,Fragment:s.Fragment,NcActionButton:k.Z,NcActionInput:c.Z,NcAppNavigationItem:g.Z,NcButton:G.Z,NcCounterBubble:A.Z,NcModal:I.Z,NcNoteCard:U.Z,Pencil:E.default},props:{active:{type:Boolean,required:!0},count:{type:Number,default:null},id:{type:String,required:!0},name:{type:String,required:!0}},data:function(){return{loadingRenameGroup:!1,openGroupMenu:!1,showRemoveGroupModal:!1}},computed:{settings:function(){return this.$store.getters.getServerData}},methods:{handleGroupMenuOpen:function(){this.openGroupMenu=!0},renameGroup:function(t){var e=this;return P(D().mark((function n(){var r;return D().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(""!==t.trim()){n.next=2;break}return n.abrupt("return");case 2:if(""!==(r=e.$refs.displayNameInput.$el.querySelector('input[type="text"]').value).trim()){n.next=5;break}return n.abrupt("return");case 5:return n.prev=5,e.openGroupMenu=!1,e.loadingRenameGroup=!0,n.next=10,e.$store.dispatch("renameGroup",{groupid:t.trim(),displayName:r.trim()});case 10:e.loadingRenameGroup=!1,n.next=17;break;case 13:n.prev=13,n.t0=n.catch(5),e.openGroupMenu=!0,e.loadingRenameGroup=!1;case 17:case"end":return n.stop()}}),n,null,[[5,13]])})))()},removeGroup:function(){var e=this;return P(D().mark((function n(){return D().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,e.$store.dispatch("removeGroup",e.id);case 3:e.showRemoveGroupModal=!1,n.next=9;break;case 6:n.prev=6,n.t0=n.catch(0),(0,u.x2)(t("settings",'Failed to remove group "{group}"',{group:e.name}));case 9:case"end":return n.stop()}}),n,null,[[0,6]])})))()}}},B=r(93379),T=r.n(B),z=r(7795),F=r.n(z),q=r(90569),$=r.n(q),R=r(3565),Y=r.n(R),H=r(19216),Q=r.n(H),W=r(44589),V=r.n(W),K=r(40812),J={};J.styleTagTransform=V(),J.setAttributes=Y(),J.insert=$().bind(null,"head"),J.domAPI=F(),J.insertStyleElement=Q(),T()(K.Z,J),K.Z&&K.Z.locals&&K.Z.locals;var X=(0,C.Z)(Z,(function(){var t=this,e=t._self._c;return e("Fragment",[t.showRemoveGroupModal?e("NcModal",{on:{close:function(e){t.showRemoveGroupModal=!1}}},[e("div",{staticClass:"modal__content"},[e("h2",{staticClass:"modal__header"},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Please confirm the group removal"))+"\n\t\t\t")]),t._v(" "),e("NcNoteCard",{attrs:{type:"warning","show-alert":""}},[t._v("\n\t\t\t\t"+t._s(t.t("settings",'You are about to remove the group "{group}". The users will NOT be deleted.',{group:t.name}))+"\n\t\t\t")]),t._v(" "),e("div",{staticClass:"modal__button-row"},[e("NcButton",{attrs:{type:"secondary"},on:{click:function(e){t.showRemoveGroupModal=!1}}},[t._v("\n\t\t\t\t\t"+t._s(t.t("settings","Cancel"))+"\n\t\t\t\t")]),t._v(" "),e("NcButton",{attrs:{type:"primary"},on:{click:t.removeGroup}},[t._v("\n\t\t\t\t\t"+t._s(t.t("settings","Confirm"))+"\n\t\t\t\t")])],1)],1)]):t._e(),t._v(" "),e("NcAppNavigationItem",{key:t.id,attrs:{exact:!0,name:t.name,to:{name:"group",params:{selectedGroup:encodeURIComponent(t.id)}},loading:t.loadingRenameGroup,"menu-open":t.openGroupMenu},on:{"update:menuOpen":t.handleGroupMenuOpen},scopedSlots:t._u([{key:"icon",fn:function(){return[e("AccountGroup",{attrs:{size:20}})]},proxy:!0},{key:"counter",fn:function(){return[t.count?e("NcCounterBubble",{attrs:{type:t.active?"highlighted":void 0}},[t._v("\n\t\t\t\t"+t._s(t.count)+"\n\t\t\t")]):t._e()]},proxy:!0},{key:"actions",fn:function(){return["admin"!==t.id&&"disabled"!==t.id&&t.settings.isAdmin?e("NcActionInput",{ref:"displayNameInput",attrs:{"trailing-button-label":t.t("settings","Submit"),type:"text",value:t.name,label:t.t("settings","Rename group")},on:{submit:function(e){return t.renameGroup(t.id)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Pencil",{attrs:{size:20}})]},proxy:!0}],null,!1,580569589)}):t._e(),t._v(" "),"admin"!==t.id&&"disabled"!==t.id&&t.settings.isAdmin?e("NcActionButton",{on:{click:function(e){t.showRemoveGroupModal=!0}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Delete",{attrs:{size:20}})]},proxy:!0}],null,!1,2705356561)},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Remove group"))+"\n\t\t\t")]):t._e()]},proxy:!0}])})],1)}),[],!1,null,"36dd2d08",null).exports,tt=r(86514),et=r(63813),nt=r(69183),rt=r(52925),it=r(20296),ot=r(38605);i.default.directive("elementVisibility",rt.jy);var at=i.default.extend({name:"VirtualList",props:{dataComponent:{type:[Object,Function],required:!0},dataKey:{type:String,required:!0},dataSources:{type:Array,required:!0},itemHeight:{type:Number,required:!0},extraProps:{type:Object,default:function(){return{}}}},data:function(){return{bufferItems:3,index:0,headerHeight:0,tableHeight:0,resizeObserver:null}},computed:{startIndex:function(){return Math.max(0,this.index-3)},shownItems:function(){return Math.ceil((this.tableHeight-this.headerHeight)/this.itemHeight)+6},renderedItems:function(){return this.dataSources.slice(this.startIndex,this.startIndex+this.shownItems)},tbodyStyle:function(){var t=this.startIndex+this.shownItems>this.dataSources.length,e=this.dataSources.length-this.startIndex-this.shownItems,n=Math.min(this.dataSources.length-this.startIndex,e);return{paddingTop:"".concat(this.startIndex*this.itemHeight,"px"),paddingBottom:t?0:"".concat(n*this.itemHeight,"px")}}},mounted:function(){var t,e,n=this,r=this.$el,i=null===(t=this.$refs)||void 0===t?void 0:t.tfoot,o=null===(e=this.$refs)||void 0===e?void 0:e.thead;this.resizeObserver=new ResizeObserver((0,it.debounce)((function(){var t,e;n.headerHeight=null!==(t=null==o?void 0:o.clientHeight)&&void 0!==t?t:0,n.tableHeight=null!==(e=null==r?void 0:r.clientHeight)&&void 0!==e?e:0,ot.Z.debug("VirtualList resizeObserver updated"),n.onScroll()}),100,!1)),this.resizeObserver.observe(r),this.resizeObserver.observe(i),this.resizeObserver.observe(o),this.$el.addEventListener("scroll",this.onScroll)},beforeDestroy:function(){this.resizeObserver&&this.resizeObserver.disconnect()},methods:{handleFooterVisibility:function(t){t&&this.$emit("scroll-end")},onScroll:function(){this.index=Math.max(0,Math.round(this.$el.scrollTop/this.itemHeight))}}}),st=r(63936),lt={};lt.styleTagTransform=V(),lt.setAttributes=Y(),lt.insert=$().bind(null,"head"),lt.domAPI=F(),lt.insertStyleElement=Q(),T()(st.Z,lt),st.Z&&st.Z.locals&&st.Z.locals;var ut=(0,C.Z)(at,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("table",{staticClass:"user-list"},[t._t("before"),t._v(" "),e("thead",{ref:"thead",staticClass:"user-list__header",attrs:{role:"rowgroup"}},[t._t("header")],2),t._v(" "),e("tbody",{staticClass:"user-list__body",style:t.tbodyStyle},t._l(t.renderedItems,(function(n,r){return e(t.dataComponent,t._b({key:n[t.dataKey],tag:"component",attrs:{user:n,visible:(r>=t.bufferItems||t.index<=t.bufferItems)&&r<t.shownItems-t.bufferItems}},"component",t.extraProps,!1))})),1),t._v(" "),e("tfoot",{directives:[{name:"element-visibility",rawName:"v-element-visibility",value:t.handleFooterVisibility,expression:"handleFooterVisibility"}],ref:"tfoot",staticClass:"user-list__footer",attrs:{role:"rowgroup"}},[t._t("footer")],2)],2)}),[],!1,null,"4377829d",null).exports,ct=r(16972),dt=r(61537),pt=r(49368);function ht(t){return ht="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ht(t)}function ft(){ft=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,n){return t[e]=n}}function u(t,e,n,i){var o=e&&e.prototype instanceof p?e:p,a=Object.create(o.prototype),s=new L(i||[]);return r(a,"_invoke",{value:b(t,n,s)}),a}function c(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var d={};function p(){}function h(){}function f(){}var g={};l(g,o,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(S([])));m&&m!==e&&n.call(m,o)&&(g=m);var A=f.prototype=p.prototype=Object.create(g);function y(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function i(r,o,a,s){var l=c(t[r],t,o);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==ht(d)&&n.call(d,"__await")?e.resolve(d.__await).then((function(t){i("next",t,a,s)}),(function(t){i("throw",t,a,s)})):e.resolve(d).then((function(t){u.value=t,a(u)}),(function(t){return i("throw",t,a,s)}))}s(l.arg)}var o;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){i(t,n,e,r)}))}return o=o?o.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return{value:void 0,done:!0}}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var s=C(a,n);if(s){if(s===d)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=c(t,e,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===d)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}function C(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,C(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),d;var i=c(r,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,d;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,d):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,d)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function S(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:N}}function N(){return{value:void 0,done:!0}}return h.prototype=f,r(A,"constructor",{value:f,configurable:!0}),r(f,"constructor",{value:h,configurable:!0}),h.displayName=l(f,s,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===h||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,l(t,s,"GeneratorFunction")),t.prototype=Object.create(A),t},t.awrap=function(t){return{__await:t}},y(w.prototype),l(w.prototype,a,(function(){return this})),t.AsyncIterator=w,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new w(u(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},y(A),l(A,s,"Generator"),l(A,o,(function(){return this})),l(A,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=S,L.prototype={constructor:L,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var s=n.call(o,"catchLoc"),l=n.call(o,"finallyLoc");if(s&&l){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,d):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;x(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:S(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),d}},t}function gt(t,e,n,r,i,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(r,i)}function vt(t){return function(){var e=this,n=arguments;return new Promise((function(r,i){var o=t.apply(e,n);function a(t){gt(o,r,i,a,s,"next",t)}function s(t){gt(o,r,i,a,s,"throw",t)}a(void 0)}))}}function mt(t){return function(t){if(Array.isArray(t))return At(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return At(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?At(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function At(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var yt={name:"NewUserModal",components:{NcButton:G.Z,NcModal:I.Z,NcPasswordField:ct.Z,NcSelect:dt.Z,NcTextField:pt.Z},props:{loading:{type:Object,required:!0},newUser:{type:Object,required:!0},quotaOptions:{type:Array,required:!0}},data:function(){return{possibleManagers:[],managerLabel:t("settings","Set user manager")}},computed:{showConfig:function(){return this.$store.getters.getShowConfig},settings:function(){return this.$store.getters.getServerData},usernameLabel:function(){return this.settings.newUserGenerateUserID?t("settings","Username will be autogenerated"):t("settings","Username (required)")},minPasswordLength:function(){return this.$store.getters.getPasswordPolicyMinLength},groups:function(){return this.$store.getters.getGroups.filter((function(t){return"disabled"!==t.id})).sort((function(t,e){return t.name.localeCompare(e.name)}))},subAdminsGroups:function(){return this.$store.getters.getSubadminGroups},canAddGroups:function(){return this.groups.map((function(t){return(t=Object.assign({},t)).$isDisabled=!1===t.canAdd,t}))},languages:function(){return[{name:t("settings","Common languages"),languages:this.settings.languages.commonLanguages}].concat(mt(this.settings.languages.commonLanguages),[{name:t("settings","Other languages"),languages:this.settings.languages.otherLanguages}],mt(this.settings.languages.otherLanguages))}},beforeMount:function(){var t=this;return vt(ft().mark((function e(){return ft().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.searchUserManager();case 2:case"end":return e.stop()}}),e)})))()},methods:{createUser:function(){var t=this;return vt(ft().mark((function e(){var n,r,i,o,a,s,l;return ft().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.loading.all=!0,e.prev=1,e.next=4,t.$store.dispatch("addUser",{userid:t.newUser.id,password:t.newUser.password,displayName:t.newUser.displayName,email:t.newUser.mailAddress,groups:t.newUser.groups.map((function(t){return t.id})),subadmin:t.newUser.subAdminsGroups.map((function(t){return t.id})),quota:t.newUser.quota.id,language:t.newUser.language.code,manager:t.newUser.manager.id});case 4:t.$emit("reset"),null===(n=t.$refs.username)||void 0===n||null===(n=n.$refs)||void 0===n||null===(n=n.inputField)||void 0===n||null===(n=n.$refs)||void 0===n||null===(n=n.input)||void 0===n||null===(r=n.focus)||void 0===r||r.call(n),t.$emit("close"),e.next=13;break;case 9:e.prev=9,e.t0=e.catch(1),t.loading.all=!1,e.t0.response&&e.t0.response.data&&e.t0.response.data.ocs&&e.t0.response.data.ocs.meta&&(102===(i=e.t0.response.data.ocs.meta.statuscode)?null===(o=t.$refs.username)||void 0===o||null===(o=o.$refs)||void 0===o||null===(o=o.inputField)||void 0===o||null===(o=o.$refs)||void 0===o||null===(o=o.input)||void 0===o||null===(a=o.focus)||void 0===a||a.call(o):107===i&&(null===(s=t.$refs.password)||void 0===s||null===(s=s.$refs)||void 0===s||null===(s=s.inputField)||void 0===s||null===(s=s.$refs)||void 0===s||null===(s=s.input)||void 0===s||null===(l=s.focus)||void 0===l||l.call(s)));case 13:case"end":return e.stop()}}),e,null,[[1,9]])})))()},handleGroupInput:function(t){this.newUser.groups=t.filter((function(t){return Boolean(t.id)}))},createGroup:function(t){var e=this;return vt(ft().mark((function n(){var r;return ft().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return r=t.name,e.loading.groups=!0,n.prev=2,n.next=5,e.$store.dispatch("addGroup",r);case 5:e.newUser.groups.push(e.groups.find((function(t){return t.id===r}))),e.loading.groups=!1,n.next=12;break;case 9:n.prev=9,n.t0=n.catch(2),e.loading.groups=!1;case 12:case"end":return n.stop()}}),n,null,[[2,9]])})))()},validateQuota:function(t){var e=OC.Util.computerFileSize(t);return null!==e&&e>=0?(t=OC.Util.humanFileSize(OC.Util.computerFileSize(t)),this.newUser.quota={id:t,label:t},this.newUser.quota):(this.newUser.quota=this.quotaOptions[0],this.quotaOptions[0])},languageFilterBy:function(t,e,n){return t.languages?t.languages.some((function(t){return t.name.toLocaleLowerCase().includes(n.toLocaleLowerCase())})):(e||"").toLocaleLowerCase().includes(n.toLocaleLowerCase())},searchUserManager:function(t){var e=this;return vt(ft().mark((function n(){return ft().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,e.$store.dispatch("searchUsers",{offset:0,limit:10,search:t}).then((function(t){var n=null!=t&&t.data?Object.values(null==t?void 0:t.data.ocs.data.users):[];n.length>0&&(e.possibleManagers=n)}));case 2:case"end":return n.stop()}}),n)})))()}}},wt=r(38101),bt={};bt.styleTagTransform=V(),bt.setAttributes=Y(),bt.insert=$().bind(null,"head"),bt.domAPI=F(),bt.insertStyleElement=Q(),T()(wt.Z,bt),wt.Z&&wt.Z.locals&&wt.Z.locals;var Ct=(0,C.Z)(yt,(function(){var t=this,e=t._self._c;return e("NcModal",t._g({staticClass:"modal",attrs:{size:"small"}},t.$listeners),[e("form",{staticClass:"modal__form",attrs:{"data-test":"form",disabled:t.loading.all},on:{submit:function(e){return e.preventDefault(),t.createUser.apply(null,arguments)}}},[e("h2",[t._v(t._s(t.t("settings","New user")))]),t._v(" "),e("NcTextField",{ref:"username",staticClass:"modal__item",attrs:{"data-test":"username",value:t.newUser.id,disabled:t.settings.newUserGenerateUserID,label:t.usernameLabel,autocapitalize:"none",autocomplete:"off",spellcheck:"false",pattern:"[a-zA-Z0-9 _\\.@\\-']+",required:""},on:{"update:value":function(e){return t.$set(t.newUser,"id",e)}}}),t._v(" "),e("NcTextField",{staticClass:"modal__item",attrs:{"data-test":"displayName",value:t.newUser.displayName,label:t.t("settings","Display name"),autocapitalize:"none",autocomplete:"off",spellcheck:"false"},on:{"update:value":function(e){return t.$set(t.newUser,"displayName",e)}}}),t._v(" "),t.settings.newUserRequireEmail?t._e():e("span",{staticClass:"modal__hint",attrs:{id:"password-email-hint"}},[t._v("\n\t\t\t"+t._s(t.t("settings","Either password or email is required"))+"\n\t\t")]),t._v(" "),e("NcPasswordField",{ref:"password",staticClass:"modal__item",attrs:{"data-test":"password",value:t.newUser.password,minlength:t.minPasswordLength,maxlength:469,"aria-describedby":"password-email-hint",label:""===t.newUser.mailAddress?t.t("settings","Password (required)"):t.t("settings","Password"),autocapitalize:"none",autocomplete:"new-password",spellcheck:"false",required:""===t.newUser.mailAddress},on:{"update:value":function(e){return t.$set(t.newUser,"password",e)}}}),t._v(" "),e("NcTextField",{staticClass:"modal__item",attrs:{"data-test":"email",type:"email",value:t.newUser.mailAddress,"aria-describedby":"password-email-hint",label:""===t.newUser.password||t.settings.newUserRequireEmail?t.t("settings","Email (required)"):t.t("settings","Email"),autocapitalize:"none",autocomplete:"off",spellcheck:"false",required:""===t.newUser.password||t.settings.newUserRequireEmail},on:{"update:value":function(e){return t.$set(t.newUser,"mailAddress",e)}}}),t._v(" "),e("div",{staticClass:"modal__item"},[t.settings.isAdmin?t._e():e("NcTextField",{class:{"icon-loading-small":t.loading.groups},attrs:{id:"new-user-groups-input",tabindex:"-1",value:t.newUser.groups,required:!t.settings.isAdmin}}),t._v(" "),e("label",{staticClass:"modal__label",attrs:{for:"new-user-groups"}},[t._v("\n\t\t\t\t"+t._s(t.settings.isAdmin?t.t("settings","Groups"):t.t("settings","Groups (required)"))+"\n\t\t\t")]),t._v(" "),e("NcSelect",{staticClass:"modal__select",attrs:{"input-id":"new-user-groups",placeholder:t.t("settings","Set user groups"),disabled:t.loading.groups||t.loading.all,options:t.canAddGroups,value:t.newUser.groups,label:"name","close-on-select":!1,multiple:!0,taggable:!0},on:{input:t.handleGroupInput,"option:created":t.createGroup}})],1),t._v(" "),t.subAdminsGroups.length>0&&t.settings.isAdmin?e("div",{staticClass:"modal__item"},[e("label",{staticClass:"modal__label",attrs:{for:"new-user-sub-admin"}},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Administered groups"))+"\n\t\t\t")]),t._v(" "),e("NcSelect",{staticClass:"modal__select",attrs:{"input-id":"new-user-sub-admin",placeholder:t.t("settings","Set user as admin for …"),options:t.subAdminsGroups,"close-on-select":!1,multiple:!0,label:"name"},model:{value:t.newUser.subAdminsGroups,callback:function(e){t.$set(t.newUser,"subAdminsGroups",e)},expression:"newUser.subAdminsGroups"}})],1):t._e(),t._v(" "),e("div",{staticClass:"modal__item"},[e("label",{staticClass:"modal__label",attrs:{for:"new-user-quota"}},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Quota"))+"\n\t\t\t")]),t._v(" "),e("NcSelect",{staticClass:"modal__select",attrs:{"input-id":"new-user-quota",placeholder:t.t("settings","Set user quota"),options:t.quotaOptions,clearable:!1,taggable:!0,"create-option":t.validateQuota},model:{value:t.newUser.quota,callback:function(e){t.$set(t.newUser,"quota",e)},expression:"newUser.quota"}})],1),t._v(" "),t.showConfig.showLanguages?e("div",{staticClass:"modal__item"},[e("label",{staticClass:"modal__label",attrs:{for:"new-user-language"}},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Language"))+"\n\t\t\t")]),t._v(" "),e("NcSelect",{staticClass:"modal__select",attrs:{"input-id":"new-user-language",placeholder:t.t("settings","Set default language"),clearable:!1,selectable:function(t){return!t.languages},"filter-by":t.languageFilterBy,options:t.languages,label:"name"},model:{value:t.newUser.language,callback:function(e){t.$set(t.newUser,"language",e)},expression:"newUser.language"}})],1):t._e(),t._v(" "),e("div",{class:["modal__item managers",{"icon-loading-small":t.loading.manager}]},[e("label",{staticClass:"modal__label",attrs:{for:"new-user-manager"}},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Manager"))+"\n\t\t\t")]),t._v(" "),e("NcSelect",{staticClass:"modal__select",attrs:{"input-id":"new-user-manager",placeholder:t.managerLabel,options:t.possibleManagers,"user-select":!0,label:"displayname"},on:{search:t.searchUserManager},model:{value:t.newUser.manager,callback:function(e){t.$set(t.newUser,"manager",e)},expression:"newUser.manager"}})],1),t._v(" "),e("NcButton",{staticClass:"modal__submit",attrs:{"data-test":"submit",type:"primary","native-type":"submit"}},[t._v("\n\t\t\t"+t._s(t.t("settings","Add new user"))+"\n\t\t")])],1)])}),[],!1,null,"0634d81b",null),_t=Ct.exports,xt=i.default.extend({name:"UserListFooter",components:{NcLoadingIcon:y.Z},props:{loading:{type:Boolean,required:!0},filteredUsers:{type:Array,required:!0}},computed:{userCount:function(){return this.loading?this.n("settings","{userCount} user …","{userCount} users …",this.filteredUsers.length,{userCount:this.filteredUsers.length}):this.n("settings","{userCount} user","{userCount} users",this.filteredUsers.length,{userCount:this.filteredUsers.length})}},methods:{t:l.Iu,n:l.uN}}),Lt=r(69830),St={};St.styleTagTransform=V(),St.setAttributes=Y(),St.insert=$().bind(null,"head"),St.domAPI=F(),St.insertStyleElement=Q(),T()(Lt.Z,St),Lt.Z&&Lt.Z.locals&&Lt.Z.locals;var Nt=(0,C.Z)(xt,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("tr",{staticClass:"footer"},[e("th",{attrs:{scope:"row"}},[e("span",{staticClass:"hidden-visually"},[t._v(t._s(t.t("settings","Total rows summary")))])]),t._v(" "),e("td",{staticClass:"footer__cell footer__cell--loading"},[t.loading?e("NcLoadingIcon",{attrs:{title:t.t("settings","Loading users …"),size:32}}):t._e()],1),t._v(" "),e("td",{staticClass:"footer__cell footer__cell--count footer__cell--multiline"},[e("span",{attrs:{"aria-describedby":"user-count-desc"}},[t._v(t._s(t.userCount))]),t._v(" "),e("span",{staticClass:"hidden-visually",attrs:{id:"user-count-desc"}},[t._v("\n\t\t\t"+t._s(t.t("settings","Scroll to load more rows"))+"\n\t\t")])])])}),[],!1,null,"5b39b95a",null).exports,kt=i.default.extend({name:"UserListHeader",props:{hasObfuscated:{type:Boolean,required:!0}},computed:{showConfig:function(){return this.$store.getters.getShowConfig},settings:function(){return this.$store.getters.getServerData},subAdminsGroups:function(){return this.$store.getters.getSubadminGroups},passwordLabel:function(){return this.hasObfuscated?(0,l.Iu)("settings","Password or insufficient permissions message"):(0,l.Iu)("settings","Password")}},methods:{t:l.Iu}}),Gt=r(74831),It={};It.styleTagTransform=V(),It.setAttributes=Y(),It.insert=$().bind(null,"head"),It.domAPI=F(),It.insertStyleElement=Q(),T()(Gt.Z,It),Gt.Z&&Gt.Z.locals&&Gt.Z.locals;var Ut=(0,C.Z)(kt,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("tr",{staticClass:"header"},[e("th",{staticClass:"header__cell header__cell--avatar",attrs:{scope:"col"}},[e("span",{staticClass:"hidden-visually"},[t._v("\n\t\t\t"+t._s(t.t("settings","Avatar"))+"\n\t\t")])]),t._v(" "),e("th",{staticClass:"header__cell header__cell--displayname",attrs:{scope:"col"}},[e("strong",[t._v("\n\t\t\t"+t._s(t.t("settings","Display name"))+"\n\t\t")]),t._v(" "),e("span",{staticClass:"header__subtitle"},[t._v("\n\t\t\t"+t._s(t.t("settings","Username"))+"\n\t\t")])]),t._v(" "),e("th",{staticClass:"header__cell",class:{"header__cell--obfuscated":t.hasObfuscated},attrs:{scope:"col"}},[e("span",[t._v(t._s(t.passwordLabel))])]),t._v(" "),e("th",{staticClass:"header__cell",attrs:{scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Email")))])]),t._v(" "),e("th",{staticClass:"header__cell header__cell--large",attrs:{scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Groups")))])]),t._v(" "),t.subAdminsGroups.length>0&&t.settings.isAdmin?e("th",{staticClass:"header__cell header__cell--large",attrs:{scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Group admin for")))])]):t._e(),t._v(" "),e("th",{staticClass:"header__cell",attrs:{scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Quota")))])]),t._v(" "),t.showConfig.showLanguages?e("th",{staticClass:"header__cell header__cell--large",attrs:{scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Language")))])]):t._e(),t._v(" "),t.showConfig.showUserBackend||t.showConfig.showStoragePath?e("th",{staticClass:"header__cell header__cell--large",attrs:{scope:"col"}},[t.showConfig.showUserBackend?e("span",[t._v("\n\t\t\t"+t._s(t.t("settings","User backend"))+"\n\t\t")]):t._e(),t._v(" "),t.showConfig.showStoragePath?e("span",{staticClass:"header__subtitle"},[t._v("\n\t\t\t"+t._s(t.t("settings","Storage location"))+"\n\t\t")]):t._e()]):t._e(),t._v(" "),t.showConfig.showLastLogin?e("th",{staticClass:"header__cell",attrs:{scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Last login")))])]):t._e(),t._v(" "),e("th",{staticClass:"header__cell header__cell--large header__cell--fill",attrs:{scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Manager")))])]),t._v(" "),e("th",{staticClass:"header__cell header__cell--actions",attrs:{scope:"col"}},[e("span",{staticClass:"hidden-visually"},[t._v("\n\t\t\t"+t._s(t.t("settings","User actions"))+"\n\t\t")])])])}),[],!1,null,"05cd17c8",null).exports,Ot=r(77958),Et=r(18519),Mt=r(34854),Dt=r(3349),jt=(0,i.defineComponent)({components:{NcActionButton:k.Z,NcActions:Dt.Z,NcIconSvgWrapper:et.Z},props:{actions:{type:Array,required:!0},disabled:{type:Boolean,required:!0},edit:{type:Boolean,required:!0}},computed:{editSvg:function(){return this.edit?'<svg xmlns="http://www.w3.org/2000/svg" id="mdi-check" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" /></svg>':'<svg xmlns="http://www.w3.org/2000/svg" id="mdi-pencil" viewBox="0 0 24 24"><path d="M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z" /></svg>'}},methods:{toggleEdit:function(){this.$emit("update:edit",!this.edit)}}}),Pt=(0,C.Z)(jt,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcActions",{attrs:{"aria-label":t.t("settings","Toggle user actions menu"),disabled:t.disabled,inline:1}},[e("NcActionButton",{attrs:{"data-test-id":"button-toggleEdit","data-test":"".concat(t.edit),disabled:t.disabled},on:{click:t.toggleEdit},scopedSlots:t._u([{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{key:t.editSvg,attrs:{svg:t.editSvg,"aria-hidden":"true"}})]},proxy:!0}])},[t._v("\n\t\t"+t._s(t.edit?t.t("settings","Done"):t.t("settings","Edit"))+"\n\t\t")]),t._v(" "),t._l(t.actions,(function(n,r){var i=n.action,o=n.icon,a=n.text;return e("NcActionButton",{key:r,attrs:{disabled:t.disabled,"aria-label":a,icon:o},on:{click:i}},[t._v("\n\t\t"+t._s(a)+"\n\t")])}))],2)}),[],!1,null,null,null).exports;function Zt(t){return Zt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Zt(t)}var Bt={props:{user:{type:Object,required:!0},settings:{type:Object,default:function(){return{}}},groups:{type:Array,default:function(){return[]}},subAdminsGroups:{type:Array,default:function(){return[]}},quotaOptions:{type:Array,default:function(){return[]}},languages:{type:Array,required:!0},externalActions:{type:Array,default:function(){return[]}}},computed:{showConfig:function(){return this.$store.getters.getShowConfig},userGroups:function(){var t=this;return this.groups.filter((function(e){return t.user.groups.includes(e.id)}))},userSubAdminsGroups:function(){var t=this;return this.subAdminsGroups.filter((function(e){return t.user.subadmin.includes(e.id)}))},availableGroups:function(){var t=this;return this.groups.map((function(e){var n=Object.assign({},e);return n.$isDisabled=!1===e.canAdd&&!t.user.groups.includes(e.id)||!1===e.canRemove&&t.user.groups.includes(e.id),n}))},usedSpace:function(){return this.user.quota.used?t("settings","{size} used",{size:OC.Util.humanFileSize(this.user.quota.used)}):t("settings","{size} used",{size:OC.Util.humanFileSize(0)})},usedQuota:function(){var t=this.user.quota.quota;return t=t>0?Math.min(100,Math.round(this.user.quota.used/t*100)):95*(1-1/(this.user.quota.used/(10*Math.pow(2,30))+1)),isNaN(t)?0:t},userQuota:function(){if(this.user.quota.quota>=0){var t=OC.Util.humanFileSize(this.user.quota.quota);return this.quotaOptions.find((function(e){return e.id===t}))||{id:t,label:t}}return"default"===this.user.quota.quota?this.quotaOptions[0]:this.quotaOptions[1]},minPasswordLength:function(){return this.$store.getters.getPasswordPolicyMinLength},userLanguage:function(){var t=this,e=this.languages[0].languages.concat(this.languages[1].languages).find((function(e){return e.code===t.user.language}));return"object"!==Zt(e)&&""!==this.user.language?{code:this.user.language,name:this.user.language}:""!==this.user.language&&e},userLastLoginTooltip:function(){return this.user.lastLogin>0?OC.Util.formatDate(this.user.lastLogin):""},userLastLogin:function(){return this.user.lastLogin>0?OC.Util.relativeModifiedDate(this.user.lastLogin):t("settings","Never")}}},Tt={id:"none",label:t("settings","Unlimited")},zt={id:"default",label:t("settings","Default quota")},Ft=function(t){var e=Object.keys(t);return 1===e.length&&"id"===e.at(0)},qt=r(25108);function $t(t){return $t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$t(t)}function Rt(){Rt=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,n){return t[e]=n}}function u(t,e,n,i){var o=e&&e.prototype instanceof p?e:p,a=Object.create(o.prototype),s=new L(i||[]);return r(a,"_invoke",{value:b(t,n,s)}),a}function c(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var d={};function p(){}function h(){}function f(){}var g={};l(g,o,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(S([])));m&&m!==e&&n.call(m,o)&&(g=m);var A=f.prototype=p.prototype=Object.create(g);function y(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function i(r,o,a,s){var l=c(t[r],t,o);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==$t(d)&&n.call(d,"__await")?e.resolve(d.__await).then((function(t){i("next",t,a,s)}),(function(t){i("throw",t,a,s)})):e.resolve(d).then((function(t){u.value=t,a(u)}),(function(t){return i("throw",t,a,s)}))}s(l.arg)}var o;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){i(t,n,e,r)}))}return o=o?o.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return{value:void 0,done:!0}}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var s=C(a,n);if(s){if(s===d)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=c(t,e,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===d)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}function C(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,C(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),d;var i=c(r,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,d;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,d):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,d)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function S(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:N}}function N(){return{value:void 0,done:!0}}return h.prototype=f,r(A,"constructor",{value:f,configurable:!0}),r(f,"constructor",{value:h,configurable:!0}),h.displayName=l(f,s,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===h||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,l(t,s,"GeneratorFunction")),t.prototype=Object.create(A),t},t.awrap=function(t){return{__await:t}},y(w.prototype),l(w.prototype,a,(function(){return this})),t.AsyncIterator=w,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new w(u(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},y(A),l(A,s,"Generator"),l(A,o,(function(){return this})),l(A,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=S,L.prototype={constructor:L,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var s=n.call(o,"catchLoc"),l=n.call(o,"finallyLoc");if(s&&l){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,d):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;x(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:S(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),d}},t}function Yt(t,e,n,r,i,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(r,i)}function Ht(t){return function(){var e=this,n=arguments;return new Promise((function(r,i){var o=t.apply(e,n);function a(t){Yt(o,r,i,a,s,"next",t)}function s(t){Yt(o,r,i,a,s,"throw",t)}a(void 0)}))}}var Qt={name:"UserRow",components:{NcAvatar:Et.Z,NcLoadingIcon:y.Z,NcProgressBar:Mt.Z,NcSelect:dt.Z,NcTextField:pt.Z,UserRowActions:Pt},mixins:[Bt],props:{user:{type:Object,required:!0},visible:{type:Boolean,required:!0},users:{type:Array,required:!0},hasObfuscated:{type:Boolean,required:!0},groups:{type:Array,default:function(){return[]}},subAdminsGroups:{type:Array,required:!0},quotaOptions:{type:Array,required:!0},languages:{type:Array,required:!0},settings:{type:Object,required:!0},externalActions:{type:Array,default:function(){return[]}}},data:function(){var t;return{selectedQuota:!1,rand:Math.random().toString(36).substring(2),loadingPossibleManagers:!1,possibleManagers:[],currentManager:"",editing:!1,loading:{all:!1,displayName:!1,password:!1,mailAddress:!1,groups:!1,subadmins:!1,quota:!1,delete:!1,disable:!1,languages:!1,wipe:!1,manager:!1},editedDisplayName:this.user.displayname,editedPassword:"",editedMail:null!==(t=this.user.email)&&void 0!==t?t:""}},computed:{managerLabel:function(){return t("settings","Set user manager")},isObfuscated:function(){return Ft(this.user)},showConfig:function(){return this.$store.getters.getShowConfig},isLoadingUser:function(){return this.loading.delete||this.loading.disable||this.loading.wipe},isLoadingField:function(){return this.loading.delete||this.loading.disable||this.loading.all},uniqueId:function(){return this.user.id+this.rand},userGroupsLabels:function(){return this.userGroups.map((function(t){return t.name})).join(", ")},userSubAdminsGroupsLabels:function(){return this.userSubAdminsGroups.map((function(t){return t.name})).join(", ")},usedSpace:function(){var e,n;return null!==(e=this.user.quota)&&void 0!==e&&e.used?t("settings","{size} used",{size:OC.Util.humanFileSize(null===(n=this.user.quota)||void 0===n?void 0:n.used)}):t("settings","{size} used",{size:OC.Util.humanFileSize(0)})},canEdit:function(){return(0,Ot.ts)().uid!==this.user.id||this.settings.isAdmin},userQuota:function(){var e,n=null===(e=this.user.quota)||void 0===e?void 0:e.quota;return"default"===n&&"none"!==(n=this.settings.defaultQuota)&&(n=OC.Util.computerFileSize(n)),"none"===n||-3===n?t("settings","Unlimited"):n>=0?OC.Util.humanFileSize(n):OC.Util.humanFileSize(0)},userActions:function(){var e=[{icon:"icon-delete",text:t("settings","Delete user"),action:this.deleteUser},{icon:"icon-delete",text:t("settings","Wipe all devices"),action:this.wipeUserDevices},{icon:this.user.enabled?"icon-close":"icon-add",text:this.user.enabled?t("settings","Disable user"):t("settings","Enable user"),action:this.enableDisableUser}];return null!==this.user.email&&""!==this.user.email&&e.push({icon:"icon-mail",text:t("settings","Resend welcome email"),action:this.sendWelcomeMail}),e.concat(this.externalActions)},editedUserQuota:{get:function(){return!1!==this.selectedQuota?this.selectedQuota:this.settings.defaultQuota!==Tt.id&&OC.Util.computerFileSize(this.settings.defaultQuota)>=0?{id:this.settings.defaultQuota,label:this.settings.defaultQuota}:Tt},set:function(t){this.selectedQuota=t}},availableLanguages:function(){return this.languages[0].languages.concat(this.languages[1].languages)}},beforeMount:function(){var t=this;return Ht(Rt().mark((function e(){return Rt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.user.manager){e.next=3;break}return e.next=3,t.initManager(t.user.manager);case 3:case"end":return e.stop()}}),e)})))()},methods:{wipeUserDevices:function(){var e=this,n=this.user.id;OC.dialogs.confirmDestructive(t("settings","In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet.",{userid:n}),t("settings","Remote wipe of devices"),{type:OC.dialogs.YES_NO_BUTTONS,confirm:t("settings","Wipe {userid}'s devices",{userid:n}),confirmClasses:"error",cancel:t("settings","Cancel")},(function(r){r&&(e.loading.wipe=!0,e.loading.all=!0,e.$store.dispatch("wipeUserDevices",n).then((function(){return(0,u.s$)(t("settings","Wiped {userid}'s devices",{userid:n}))}),{timeout:2e3}).finally((function(){e.loading.wipe=!1,e.loading.all=!1})))}),!0)},filterManagers:function(t){var e=this;return t.filter((function(t){return t.id!==e.user.id}))},initManager:function(t){var e=this;return Ht(Rt().mark((function n(){return Rt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,e.$store.dispatch("getUser",t).then((function(t){e.currentManager=null==t?void 0:t.data.ocs.data}));case 2:case"end":return n.stop()}}),n)})))()},searchInitialUserManager:function(){var t=this;return Ht(Rt().mark((function e(){return Rt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.loadingPossibleManagers=!0,e.next=3,t.searchUserManager();case 3:t.loadingPossibleManagers=!1;case 4:case"end":return e.stop()}}),e)})))()},searchUserManager:function(t){var e=this;return Ht(Rt().mark((function n(){return Rt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,e.$store.dispatch("searchUsers",{offset:0,limit:10,search:t}).then((function(t){var n=null!=t&&t.data?e.filterManagers(Object.values(null==t?void 0:t.data.ocs.data.users)):[];n.length>0&&(e.possibleManagers=n)}));case 2:case"end":return n.stop()}}),n)})))()},updateUserManager:function(e){var n=this;return Ht(Rt().mark((function r(){return Rt().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return null===e&&(n.currentManager=""),n.loading.manager=!0,r.prev=2,r.next=5,n.$store.dispatch("setUserData",{userid:n.user.id,key:"manager",value:n.currentManager?n.currentManager.id:""});case 5:r.next=11;break;case 7:r.prev=7,r.t0=r.catch(2),(0,u.x2)(t("setting","Failed to update user manager")),qt.error(r.t0);case 11:return r.prev=11,n.loading.manager=!1,r.finish(11);case 14:case"end":return r.stop()}}),r,null,[[2,7,11,14]])})))()},deleteUser:function(){var e=this,n=this.user.id;OC.dialogs.confirmDestructive(t("settings","Fully delete {userid}'s account including all their personal files, app data, etc.",{userid:n}),t("settings","Account deletion"),{type:OC.dialogs.YES_NO_BUTTONS,confirm:t("settings","Delete {userid}'s account",{userid:n}),confirmClasses:"error",cancel:t("settings","Cancel")},(function(t){if(t)return e.loading.delete=!0,e.loading.all=!0,e.$store.dispatch("deleteUser",n).then((function(){e.loading.delete=!1,e.loading.all=!1}))}),!0)},enableDisableUser:function(){var t=this;this.loading.delete=!0,this.loading.all=!0;var e=this.user.id,n=!this.user.enabled;return this.$store.dispatch("enableDisableUser",{userid:e,enabled:n}).then((function(){t.loading.delete=!1,t.loading.all=!1}))},updateDisplayName:function(){var e=this;this.loading.displayName=!0,this.$store.dispatch("setUserData",{userid:this.user.id,key:"displayname",value:this.editedDisplayName}).then((function(){e.loading.displayName=!1,e.editedDisplayName===e.user.displayname&&(0,u.s$)(t("setting","Display name was successfully changed"))}))},updatePassword:function(){var e=this;this.loading.password=!0,0===this.editedPassword.length?((0,u.x2)(t("setting","Password can't be empty")),this.loading.password=!1):this.$store.dispatch("setUserData",{userid:this.user.id,key:"password",value:this.editedPassword}).then((function(){e.loading.password=!1,e.editedPassword="",(0,u.s$)(t("setting","Password was successfully changed"))}))},updateEmail:function(){var e=this;this.loading.mailAddress=!0,""===this.editedMail?((0,u.x2)(t("setting","Email can't be empty")),this.loading.mailAddress=!1,this.editedMail=this.user.email):this.$store.dispatch("setUserData",{userid:this.user.id,key:"email",value:this.editedMail}).then((function(){e.loading.mailAddress=!1,e.editedMail===e.user.email&&(0,u.s$)(t("setting","Email was successfully changed"))}))},createGroup:function(t){var e=this;return Ht(Rt().mark((function n(){var r,i;return Rt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return r=t.name,e.loading={groups:!0,subadmins:!0},n.prev=2,n.next=5,e.$store.dispatch("addGroup",r);case 5:return i=e.user.id,n.next=8,e.$store.dispatch("addUserGroup",{userid:i,gid:r});case 8:n.next=13;break;case 10:n.prev=10,n.t0=n.catch(2),qt.error(n.t0);case 13:return n.prev=13,e.loading={groups:!1,subadmins:!1},n.finish(13);case 16:return n.abrupt("return",e.$store.getters.getGroups[e.groups.length]);case 17:case"end":return n.stop()}}),n,null,[[2,10,13,16]])})))()},addUserGroup:function(t){var e=this;return Ht(Rt().mark((function n(){var r,i;return Rt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!t.isCreating){n.next=2;break}return n.abrupt("return");case 2:if(e.loading.groups=!0,r=e.user.id,i=t.id,!1!==t.canAdd){n.next=7;break}return n.abrupt("return",!1);case 7:return n.prev=7,n.next=10,e.$store.dispatch("addUserGroup",{userid:r,gid:i});case 10:n.next=15;break;case 12:n.prev=12,n.t0=n.catch(7),qt.error(n.t0);case 15:return n.prev=15,e.loading.groups=!1,n.finish(15);case 18:case"end":return n.stop()}}),n,null,[[7,12,15,18]])})))()},removeUserGroup:function(t){var e=this;return Ht(Rt().mark((function n(){var r,i;return Rt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!1!==t.canRemove){n.next=2;break}return n.abrupt("return",!1);case 2:return e.loading.groups=!0,r=e.user.id,i=t.id,n.prev=5,n.next=8,e.$store.dispatch("removeUserGroup",{userid:r,gid:i});case 8:e.loading.groups=!1,e.$route.params.selectedGroup===i&&e.$store.commit("deleteUser",r),n.next=15;break;case 12:n.prev=12,n.t0=n.catch(5),e.loading.groups=!1;case 15:case"end":return n.stop()}}),n,null,[[5,12]])})))()},addUserSubAdmin:function(t){var e=this;return Ht(Rt().mark((function n(){var r,i;return Rt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return e.loading.subadmins=!0,r=e.user.id,i=t.id,n.prev=3,n.next=6,e.$store.dispatch("addUserSubAdmin",{userid:r,gid:i});case 6:e.loading.subadmins=!1,n.next=12;break;case 9:n.prev=9,n.t0=n.catch(3),qt.error(n.t0);case 12:case"end":return n.stop()}}),n,null,[[3,9]])})))()},removeUserSubAdmin:function(t){var e=this;return Ht(Rt().mark((function n(){var r,i;return Rt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return e.loading.subadmins=!0,r=e.user.id,i=t.id,n.prev=3,n.next=6,e.$store.dispatch("removeUserSubAdmin",{userid:r,gid:i});case 6:n.next=11;break;case 8:n.prev=8,n.t0=n.catch(3),qt.error(n.t0);case 11:return n.prev=11,e.loading.subadmins=!1,n.finish(11);case 14:case"end":return n.stop()}}),n,null,[[3,8,11,14]])})))()},setUserQuota:function(){var t=arguments,e=this;return Ht(Rt().mark((function n(){var r;return Rt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return"none"===(r=t.length>0&&void 0!==t[0]?t[0]:"none")&&(r=Tt),e.loading.quota=!0,r=r.id?r.id:r,n.prev=4,n.next=7,e.$store.dispatch("setUserData",{userid:e.user.id,key:"quota",value:r});case 7:n.next=12;break;case 9:n.prev=9,n.t0=n.catch(4),qt.error(n.t0);case 12:return n.prev=12,e.loading.quota=!1,n.finish(12);case 15:return n.abrupt("return",r);case 16:case"end":return n.stop()}}),n,null,[[4,9,12,15]])})))()},validateQuota:function(t){var e;return"object"===$t(t)&&(t=(null===(e=t)||void 0===e?void 0:e.id)||t.label),null===OC.Util.computerFileSize(t)?Tt:{id:t=OC.Util.humanFileSize(OC.Util.computerFileSize(t)),label:t}},setUserLanguage:function(t){var e=this;return Ht(Rt().mark((function n(){return Rt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return e.loading.languages=!0,n.prev=1,n.next=4,e.$store.dispatch("setUserData",{userid:e.user.id,key:"language",value:t.code});case 4:e.loading.languages=!1,n.next=10;break;case 7:n.prev=7,n.t0=n.catch(1),qt.error(n.t0);case 10:return n.abrupt("return",t);case 11:case"end":return n.stop()}}),n,null,[[1,7]])})))()},sendWelcomeMail:function(){var e=this;this.loading.all=!0,this.$store.dispatch("sendWelcomeMail",this.user.id).then((function(){return(0,u.s$)(t("setting","Welcome mail sent!"),{timeout:2e3})})).finally((function(){e.loading.all=!1}))},toggleEdit:function(){var t=this;return Ht(Rt().mark((function e(){var n,r;return Rt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.editing=!t.editing,!t.editing){e.next=5;break}return e.next=4,t.$nextTick();case 4:null===(n=t.$refs.displayNameField)||void 0===n||null===(n=n.$refs)||void 0===n||null===(n=n.inputField)||void 0===n||null===(n=n.$refs)||void 0===n||null===(n=n.input)||void 0===n||n.focus();case 5:t.editedDisplayName!==t.user.displayname?t.editedDisplayName=t.user.displayname:t.editedMail!==t.user.email&&(t.editedMail=null!==(r=t.user.email)&&void 0!==r?r:"");case 6:case"end":return e.stop()}}),e)})))()}}},Wt=Qt,Vt=r(56518),Kt={};Kt.styleTagTransform=V(),Kt.setAttributes=Y(),Kt.insert=$().bind(null,"head"),Kt.domAPI=F(),Kt.insertStyleElement=Q(),T()(Vt.Z,Kt),Vt.Z&&Vt.Z.locals&&Vt.Z.locals;var Jt=(0,C.Z)(Wt,(function(){var t,e,n,r,i=this,o=i._self._c;return o("tr",{staticClass:"user-list__row",attrs:{"data-test":i.user.id}},[o("td",{staticClass:"row__cell row__cell--avatar"},[i.isLoadingUser?o("NcLoadingIcon",{attrs:{name:i.t("settings","Loading user …"),size:32}}):i.visible?o("NcAvatar",{attrs:{"disable-menu":"","show-user-status":!1,user:i.user.id}}):i._e()],1),i._v(" "),o("td",{staticClass:"row__cell row__cell--displayname",attrs:{"data-test-id":"cell-displayname"}},[i.editing&&i.user.backendCapabilities.setDisplayName?[o("NcTextField",{ref:"displayNameField",staticClass:"user-row-text-field",class:{"icon-loading-small":i.loading.displayName},attrs:{"data-test-id":"input-displayName","data-test-loading":"".concat(i.loading.displayName),"trailing-button-label":i.t("settings","Submit"),"show-trailing-button":!0,disabled:i.loading.displayName||i.isLoadingField,label:i.t("settings","Change display name"),"trailing-button-icon":"arrowRight",value:i.editedDisplayName,autocapitalize:"off",autocomplete:"off",spellcheck:"false"},on:{"update:value":function(t){i.editedDisplayName=t},"trailing-button-click":i.updateDisplayName}})]:[i.isObfuscated?i._e():o("strong",{attrs:{title:(null===(t=i.user.displayname)||void 0===t?void 0:t.length)>20?i.user.displayname:null}},[i._v("\n\t\t\t\t"+i._s(i.user.displayname)+"\n\t\t\t")]),i._v(" "),o("span",{staticClass:"row__subtitle"},[i._v(i._s(i.user.id))])]],2),i._v(" "),o("td",{staticClass:"row__cell",class:{"row__cell--obfuscated":i.hasObfuscated},attrs:{"data-test-id":"cell-password"}},[i.editing&&i.settings.canChangePassword&&i.user.backendCapabilities.setPassword?[o("NcTextField",{staticClass:"user-row-text-field",class:{"icon-loading-small":i.loading.password},attrs:{"data-test-id":"input-password","data-test-loading":"".concat(i.loading.password),"trailing-button-label":i.t("settings","Submit"),"show-trailing-button":!0,disabled:i.loading.password||i.isLoadingField,minlength:i.minPasswordLength,maxlength:"469",label:i.t("settings","Set new password"),"trailing-button-icon":"arrowRight",value:i.editedPassword,autocapitalize:"off",autocomplete:"new-password",required:"",spellcheck:"false",type:"password"},on:{"update:value":function(t){i.editedPassword=t},"trailing-button-click":i.updatePassword}})]:i.isObfuscated?o("span",[i._v("\n\t\t\t"+i._s(i.t("settings","You do not have permissions to see the details of this user"))+"\n\t\t")]):i._e()],2),i._v(" "),o("td",{staticClass:"row__cell",attrs:{"data-test-id":"cell-email"}},[i.editing?[o("NcTextField",{staticClass:"user-row-text-field",class:{"icon-loading-small":i.loading.mailAddress},attrs:{"show-trailing-button":!0,"trailing-button-label":i.t("settings","Submit"),label:i.t("settings","Set new email address"),disabled:i.loading.mailAddress||i.isLoadingField,"trailing-button-icon":"arrowRight",value:i.editedMail,autocapitalize:"off",autocomplete:"email",spellcheck:"false",type:"email"},on:{"update:value":function(t){i.editedMail=t},"trailing-button-click":i.updateEmail}})]:i.isObfuscated?i._e():o("span",{attrs:{title:(null===(e=i.user.email)||void 0===e?void 0:e.length)>20?i.user.email:null}},[i._v("\n\t\t\t"+i._s(i.user.email)+"\n\t\t")])],2),i._v(" "),o("td",{staticClass:"row__cell row__cell--large row__cell--multiline",attrs:{"data-test-id":"cell-groups"}},[i.editing?[o("label",{staticClass:"hidden-visually",attrs:{for:"groups"+i.uniqueId}},[i._v("\n\t\t\t\t"+i._s(i.t("settings","Add user to group"))+"\n\t\t\t")]),i._v(" "),o("NcSelect",{attrs:{"input-id":"groups"+i.uniqueId,"close-on-select":!1,disabled:i.isLoadingField,loading:i.loading.groups,multiple:!0,"append-to-body":!1,options:i.availableGroups,placeholder:i.t("settings","Add user to group"),taggable:i.settings.isAdmin,value:i.userGroups,label:"name","no-wrap":!0,"create-option":function(t){return{name:t,isCreating:!0}}},on:{"option:created":i.createGroup,"option:selected":function(t){return i.addUserGroup(t.at(-1))},"option:deselected":i.removeUserGroup}})]:i.isObfuscated?i._e():o("span",{attrs:{title:(null===(n=i.userGroupsLabels)||void 0===n?void 0:n.length)>40?i.userGroupsLabels:null}},[i._v("\n\t\t\t"+i._s(i.userGroupsLabels)+"\n\t\t")])],2),i._v(" "),i.subAdminsGroups.length>0&&i.settings.isAdmin?o("td",{staticClass:"row__cell row__cell--large row__cell--multiline",attrs:{"data-test-id":"cell-subadmins"}},[i.editing&&i.settings.isAdmin&&i.subAdminsGroups.length>0?[o("label",{staticClass:"hidden-visually",attrs:{for:"subadmins"+i.uniqueId}},[i._v("\n\t\t\t\t"+i._s(i.t("settings","Set user as admin for"))+"\n\t\t\t")]),i._v(" "),o("NcSelect",{attrs:{id:"subadmins"+i.uniqueId,"close-on-select":!1,disabled:i.isLoadingField,loading:i.loading.subadmins,label:"name","append-to-body":!1,multiple:!0,"no-wrap":!0,options:i.subAdminsGroups,placeholder:i.t("settings","Set user as admin for"),value:i.userSubAdminsGroups},on:{"option:deselected":i.removeUserSubAdmin,"option:selected":function(t){return i.addUserSubAdmin(t.at(-1))}}})]:i.isObfuscated?i._e():o("span",{attrs:{title:(null===(r=i.userSubAdminsGroupsLabels)||void 0===r?void 0:r.length)>40?i.userSubAdminsGroupsLabels:null}},[i._v("\n\t\t\t"+i._s(i.userSubAdminsGroupsLabels)+"\n\t\t")])],2):i._e(),i._v(" "),o("td",{staticClass:"row__cell",attrs:{"data-test-id":"cell-quota"}},[i.editing?[o("label",{staticClass:"hidden-visually",attrs:{for:"quota"+i.uniqueId}},[i._v("\n\t\t\t\t"+i._s(i.t("settings","Select user quota"))+"\n\t\t\t")]),i._v(" "),o("NcSelect",{attrs:{"close-on-select":!0,"create-option":i.validateQuota,disabled:i.isLoadingField,loading:i.loading.quota,"append-to-body":!1,clearable:!1,"input-id":"quota"+i.uniqueId,options:i.quotaOptions,placeholder:i.t("settings","Select user quota"),taggable:!0},on:{"option:selected":i.setUserQuota},model:{value:i.editedUserQuota,callback:function(t){i.editedUserQuota=t},expression:"editedUserQuota"}})]:i.isObfuscated?i._e():[o("label",{attrs:{for:"quota-progress"+i.uniqueId}},[i._v(i._s(i.userQuota)+" ("+i._s(i.usedSpace)+")")]),i._v(" "),o("NcProgressBar",{staticClass:"row__progress",class:{"row__progress--warn":i.usedQuota>80},attrs:{id:"quota-progress"+i.uniqueId,value:i.usedQuota}})]],2),i._v(" "),i.showConfig.showLanguages?o("td",{staticClass:"row__cell row__cell--large",attrs:{"data-test-id":"cell-language"}},[i.editing?[o("label",{staticClass:"hidden-visually",attrs:{for:"language"+i.uniqueId}},[i._v("\n\t\t\t\t"+i._s(i.t("settings","Set the language"))+"\n\t\t\t")]),i._v(" "),o("NcSelect",{attrs:{id:"language"+i.uniqueId,"allow-empty":!1,disabled:i.isLoadingField,loading:i.loading.languages,clearable:!1,"append-to-body":!1,options:i.availableLanguages,placeholder:i.t("settings","No language set"),value:i.userLanguage,label:"name"},on:{input:i.setUserLanguage}})]:i.isObfuscated?i._e():o("span",[i._v("\n\t\t\t"+i._s(i.userLanguage.name)+"\n\t\t")])],2):i._e(),i._v(" "),i.showConfig.showUserBackend||i.showConfig.showStoragePath?o("td",{staticClass:"row__cell row__cell--large",attrs:{"data-test-id":"cell-storageLocation"}},[i.isObfuscated?i._e():[i.showConfig.showUserBackend?o("span",[i._v(i._s(i.user.backend))]):i._e(),i._v(" "),i.showConfig.showStoragePath?o("span",{staticClass:"row__subtitle",attrs:{title:i.user.storageLocation}},[i._v("\n\t\t\t\t"+i._s(i.user.storageLocation)+"\n\t\t\t")]):i._e()]],2):i._e(),i._v(" "),i.showConfig.showLastLogin?o("td",{staticClass:"row__cell",attrs:{title:i.userLastLoginTooltip,"data-test-id":"cell-lastLogin"}},[i.isObfuscated?i._e():o("span",[i._v(i._s(i.userLastLogin))])]):i._e(),i._v(" "),o("td",{staticClass:"row__cell row__cell--large row__cell--fill",attrs:{"data-test-id":"cell-manager"}},[i.editing?[o("label",{staticClass:"hidden-visually",attrs:{for:"manager"+i.uniqueId}},[i._v("\n\t\t\t\t"+i._s(i.managerLabel)+"\n\t\t\t")]),i._v(" "),o("NcSelect",{staticClass:"select--fill",attrs:{"input-id":"manager"+i.uniqueId,"close-on-select":!0,disabled:i.isLoadingField,"append-to-body":!1,loading:i.loadingPossibleManagers||i.loading.manager,label:"displayname",options:i.possibleManagers,placeholder:i.managerLabel},on:{open:i.searchInitialUserManager,search:i.searchUserManager,"option:selected":i.updateUserManager,input:i.updateUserManager},model:{value:i.currentManager,callback:function(t){i.currentManager=t},expression:"currentManager"}})]:i.isObfuscated?i._e():o("span",[i._v("\n\t\t\t"+i._s(i.user.manager)+"\n\t\t")])],2),i._v(" "),o("td",{staticClass:"row__cell row__cell--actions",attrs:{"data-test-id":"cell-actions"}},[i.visible&&!i.isObfuscated&&i.canEdit&&!i.loading.all?o("UserRowActions",{attrs:{actions:i.userActions,disabled:i.isLoadingField,edit:i.editing},on:{"update:edit":i.toggleEdit}}):i._e()],1)])}),[],!1,null,"5bb81c4e",null),Xt=Jt.exports;function te(t){return te="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},te(t)}function ee(){ee=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,n){return t[e]=n}}function u(t,e,n,i){var o=e&&e.prototype instanceof p?e:p,a=Object.create(o.prototype),s=new L(i||[]);return r(a,"_invoke",{value:b(t,n,s)}),a}function c(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var d={};function p(){}function h(){}function f(){}var g={};l(g,o,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(S([])));m&&m!==e&&n.call(m,o)&&(g=m);var A=f.prototype=p.prototype=Object.create(g);function y(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function i(r,o,a,s){var l=c(t[r],t,o);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==te(d)&&n.call(d,"__await")?e.resolve(d.__await).then((function(t){i("next",t,a,s)}),(function(t){i("throw",t,a,s)})):e.resolve(d).then((function(t){u.value=t,a(u)}),(function(t){return i("throw",t,a,s)}))}s(l.arg)}var o;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){i(t,n,e,r)}))}return o=o?o.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return{value:void 0,done:!0}}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var s=C(a,n);if(s){if(s===d)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=c(t,e,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===d)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}function C(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,C(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),d;var i=c(r,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,d;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,d):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,d)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function S(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:N}}function N(){return{value:void 0,done:!0}}return h.prototype=f,r(A,"constructor",{value:f,configurable:!0}),r(f,"constructor",{value:h,configurable:!0}),h.displayName=l(f,s,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===h||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,l(t,s,"GeneratorFunction")),t.prototype=Object.create(A),t},t.awrap=function(t){return{__await:t}},y(w.prototype),l(w.prototype,a,(function(){return this})),t.AsyncIterator=w,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new w(u(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},y(A),l(A,s,"Generator"),l(A,o,(function(){return this})),l(A,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=S,L.prototype={constructor:L,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var s=n.call(o,"catchLoc"),l=n.call(o,"finallyLoc");if(s&&l){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,d):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;x(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:S(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),d}},t}function ne(t,e,n,r,i,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(r,i)}function re(t){return function(){var e=this,n=arguments;return new Promise((function(r,i){var o=t.apply(e,n);function a(t){ne(o,r,i,a,s,"next",t)}function s(t){ne(o,r,i,a,s,"throw",t)}a(void 0)}))}}var ie={id:"",displayName:"",password:"",mailAddress:"",groups:[],manager:"",subAdminsGroups:[],quota:zt,language:{code:"en",name:t("settings","Default language")}},oe={name:"UserList",components:{Fragment:s.Fragment,NcEmptyContent:tt.Z,NcIconSvgWrapper:et.Z,NcLoadingIcon:y.Z,NewUserModal:_t,UserListFooter:Nt,UserListHeader:Ut,VirtualList:ut},props:{selectedGroup:{type:String,default:null},externalActions:{type:Array,default:function(){return[]}}},data:function(){return{UserRow:Xt,loading:{all:!1,groups:!1,users:!1},isInitialLoad:!0,rowHeight:55,usersSvg:'<svg width="16" height="16" version="1.1" viewbox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="m10 1c-1.75 0-3 1.43-3 2.8 0 1.4 0.1 2.4 0.8 3.5 0.2 0.29 0.5 0.35 0.7 0.6 0.135 0.5 0.24 1 0.1 1.5-0.28 0.1-0.525 0.22-0.8 0.33-0.085-0.15-0.23-0.2-0.47-0.4-0.73-0.44-1.56-0.75-2.33-1.04-0.1-0.37-0.1-0.65 0-1 0.156-0.166 0.37-0.27 0.5-0.43 0.46-0.6 0.5-1.654 0.5-2.37 0-1.06-0.954-1.9-2-1.9-1.17 0-2 1-2 1.9 0 0.93 0.034 1.64 0.5 2.37 0.13 0.2 0.367 0.26 0.5 0.43 0.1 0.33 0.1 0.654 0 1-0.85 0.3-1.6 0.64-2.34 1.04-0.57 0.4-0.52 0.205-0.66 1.53-0.11 1.06 2.335 1.13 4 1.13h0.17c-0.054 0.274-0.1 0.63-0.17 1.3-0.16 1.59 3.5 1.7 6 1.7s6.16-0.1 6-1.7c-0.215-2-0.23-1.71-1-2.3-1.1-0.654-2.45-1.17-3.6-1.6-0.15-0.56-0.04-0.97 0.1-1.5 0.235-0.25 0.5-0.36 0.7-0.6 0.7-0.885 0.8-2.425 0.8-3.5 0-1.6-1.43-2.8-3-2.8z"/></svg>\n',searchQuery:"",newUser:Object.assign({},ie)}},computed:{showConfig:function(){return this.$store.getters.getShowConfig},settings:function(){return this.$store.getters.getServerData},style:function(){return{"--row-height":"".concat(this.rowHeight,"px")}},hasObfuscated:function(){return this.filteredUsers.some((function(t){return Ft(t)}))},users:function(){return this.$store.getters.getUsers},filteredUsers:function(){return"disabled"===this.selectedGroup?this.users.filter((function(t){return!1===t.enabled})):(this.settings.isAdmin,this.users.filter((function(t){return!1!==t.enabled})))},groups:function(){return this.$store.getters.getGroups.filter((function(t){return"disabled"!==t.id})).sort((function(t,e){return t.name.localeCompare(e.name)}))},subAdminsGroups:function(){return this.$store.getters.getSubadminGroups},quotaOptions:function(){var t=this.settings.quotaPreset.reduce((function(t,e){return t.concat({id:e,label:e})}),[]);return this.settings.allowUnlimitedQuota&&t.unshift(Tt),t.unshift(zt),t},usersOffset:function(){return this.$store.getters.getUsersOffset},usersLimit:function(){return this.$store.getters.getUsersLimit},usersCount:function(){return this.users.length},languages:function(){return[{label:t("settings","Common languages"),languages:this.settings.languages.commonLanguages},{label:t("settings","Other languages"),languages:this.settings.languages.otherLanguages}]}},watch:{selectedGroup:function(t,e){var n=this;return re(ee().mark((function e(){return ee().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.isInitialLoad=!0,e.next=3,n.redirectIfDisabled();case 3:return n.$store.commit("resetUsers"),e.next=6,n.loadUsers();case 6:n.setNewUserDefaultGroup(t);case 7:case"end":return e.stop()}}),e)})))()},filteredUsers:function(t){ot.Z.debug("".concat(t.length," filtered user(s)"))}},created:function(){var t=this;return re(ee().mark((function e(){return ee().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.loadUsers();case 2:case"end":return e.stop()}}),e)})))()},mounted:function(){var e=this;return re(ee().mark((function n(){return ee().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return e.settings.canChangePassword||OC.Notification.showTemporary(t("settings","Password change is disabled because the master key is disabled")),e.resetForm(),(0,nt.Ld)("nextcloud:unified-search.search",e.search),(0,nt.Ld)("nextcloud:unified-search.reset",e.resetSearch),n.next=6,e.redirectIfDisabled();case 6:case"end":return n.stop()}}),n)})))()},beforeDestroy:function(){(0,nt.r1)("nextcloud:unified-search.search",this.search),(0,nt.r1)("nextcloud:unified-search.reset",this.resetSearch)},methods:{handleScrollEnd:function(){var t=this;return re(ee().mark((function e(){return ee().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.loadUsers();case 2:case"end":return e.stop()}}),e)})))()},loadUsers:function(){var t=this;return re(ee().mark((function e(){return ee().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.loading.users=!0,e.prev=1,e.next=4,t.$store.dispatch("getUsers",{offset:t.usersOffset,limit:t.usersLimit,group:"disabled"!==t.selectedGroup?t.selectedGroup:"",search:t.searchQuery});case 4:ot.Z.debug("".concat(t.users.length," total user(s) loaded")),e.next=11;break;case 7:e.prev=7,e.t0=e.catch(1),ot.Z.error("Failed to load users",{error:e.t0}),(0,u.x2)("Failed to load users");case 11:t.loading.users=!1,t.isInitialLoad=!1;case 13:case"end":return e.stop()}}),e,null,[[1,7]])})))()},closeModal:function(){this.$store.commit("setShowConfig",{key:"showNewUserForm",value:!1})},search:function(t){var e=this;return re(ee().mark((function n(){var r;return ee().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return r=t.query,e.searchQuery=r,e.$store.commit("resetUsers"),n.next=5,e.loadUsers();case 5:case"end":return n.stop()}}),n)})))()},resetSearch:function(){this.search({query:""})},resetForm:function(){this.newUser=Object.assign({},ie),this.settings.defaultLanguage&&i.default.set(this.newUser.language,"code",this.settings.defaultLanguage),this.setNewUserDefaultGroup(this.selectedGroup),this.loading.all=!1},setNewUserDefaultGroup:function(t){if(t&&t.length>0){var e=this.groups.find((function(e){return e.id===t}));if(e)return void(this.newUser.groups=[e])}this.newUser.groups=[]},redirectIfDisabled:function(){var t=this;return re(ee().mark((function e(){var n;return ee().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.$store.getters.getGroups,!("disabled"===t.selectedGroup&&n.findIndex((function(t){return"disabled"===t.id&&0===t.usercount}))>-1)){e.next=5;break}return t.$router.push({name:"users"}),e.next=5,t.loadUsers();case 5:case"end":return e.stop()}}),e)})))()}}},ae=r(51321),se={};se.styleTagTransform=V(),se.setAttributes=Y(),se.insert=$().bind(null,"head"),se.domAPI=F(),se.insertStyleElement=Q(),T()(ae.Z,se),ae.Z&&ae.Z.locals&&ae.Z.locals;var le=(0,C.Z)(oe,(function(){var t=this,e=t._self._c;return e("Fragment",[t.showConfig.showNewUserForm?e("NewUserModal",{attrs:{loading:t.loading,"new-user":t.newUser,"quota-options":t.quotaOptions},on:{reset:t.resetForm,close:t.closeModal}}):t._e(),t._v(" "),0===t.filteredUsers.length?e("NcEmptyContent",{staticClass:"empty",attrs:{name:t.isInitialLoad&&t.loading.users?null:t.t("settings","No users")},scopedSlots:t._u([{key:"icon",fn:function(){return[t.isInitialLoad&&t.loading.users?e("NcLoadingIcon",{attrs:{name:t.t("settings","Loading users …"),size:64}}):e("NcIconSvgWrapper",{attrs:{svg:t.usersSvg}})]},proxy:!0}],null,!1,934871631)}):e("VirtualList",{style:t.style,attrs:{"data-component":t.UserRow,"data-sources":t.filteredUsers,"data-key":"id","data-test-id":"userList","item-height":t.rowHeight,"extra-props":{users:t.users,settings:t.settings,hasObfuscated:t.hasObfuscated,groups:t.groups,subAdminsGroups:t.subAdminsGroups,quotaOptions:t.quotaOptions,languages:t.languages,externalActions:t.externalActions}},on:{"scroll-end":t.handleScrollEnd},scopedSlots:t._u([{key:"before",fn:function(){return[e("caption",{staticClass:"hidden-visually"},[t._v("\n\t\t\t\t"+t._s(t.t("settings","List of users. This list is not fully rendered for performance reasons. The users will be rendered as you navigate through the list."))+"\n\t\t\t")])]},proxy:!0},{key:"header",fn:function(){return[e("UserListHeader",{attrs:{"has-obfuscated":t.hasObfuscated}})]},proxy:!0},{key:"footer",fn:function(){return[e("UserListFooter",{attrs:{loading:t.loading.users,"filtered-users":t.filteredUsers}})]},proxy:!0}])})],1)}),[],!1,null,"c76ff3be",null).exports,ue=r(93664),ce=r(79753),de=r(20932),pe=r(34739),he=r(71998),fe=r(25108);function ge(t){return ge="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ge(t)}function ve(){ve=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,n){return t[e]=n}}function u(t,e,n,i){var o=e&&e.prototype instanceof p?e:p,a=Object.create(o.prototype),s=new L(i||[]);return r(a,"_invoke",{value:b(t,n,s)}),a}function c(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var d={};function p(){}function h(){}function f(){}var g={};l(g,o,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(S([])));m&&m!==e&&n.call(m,o)&&(g=m);var A=f.prototype=p.prototype=Object.create(g);function y(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function i(r,o,a,s){var l=c(t[r],t,o);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==ge(d)&&n.call(d,"__await")?e.resolve(d.__await).then((function(t){i("next",t,a,s)}),(function(t){i("throw",t,a,s)})):e.resolve(d).then((function(t){u.value=t,a(u)}),(function(t){return i("throw",t,a,s)}))}s(l.arg)}var o;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){i(t,n,e,r)}))}return o=o?o.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return{value:void 0,done:!0}}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var s=C(a,n);if(s){if(s===d)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=c(t,e,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===d)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}function C(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,C(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),d;var i=c(r,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,d;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,d):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,d)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function S(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:N}}function N(){return{value:void 0,done:!0}}return h.prototype=f,r(A,"constructor",{value:f,configurable:!0}),r(f,"constructor",{value:h,configurable:!0}),h.displayName=l(f,s,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===h||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,l(t,s,"GeneratorFunction")),t.prototype=Object.create(A),t},t.awrap=function(t){return{__await:t}},y(w.prototype),l(w.prototype,a,(function(){return this})),t.AsyncIterator=w,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new w(u(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},y(A),l(A,s,"Generator"),l(A,o,(function(){return this})),l(A,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=S,L.prototype={constructor:L,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var s=n.call(o,"catchLoc"),l=n.call(o,"finallyLoc");if(s&&l){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,d):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;x(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:S(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),d}},t}function me(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Ae(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?me(Object(n),!0).forEach((function(e){ye(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):me(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function ye(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==ge(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==ge(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===ge(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function we(t,e,n,r,i,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(r,i)}var be={name:"UserSettingsDialog",components:{NcAppSettingsDialog:de.Z,NcAppSettingsSection:pe.Z,NcCheckboxRadioSwitch:he.Z,NcSelect:dt.Z},props:{open:{type:Boolean,required:!0}},data:function(){return{selectedQuota:!1,loadingSendMail:!1}},computed:{isModalOpen:{get:function(){return this.open},set:function(t){this.$emit("update:open",t)}},showConfig:function(){return this.$store.getters.getShowConfig},settings:function(){return this.$store.getters.getServerData},showLanguages:{get:function(){return this.getLocalstorage("showLanguages")},set:function(t){this.setLocalStorage("showLanguages",t)}},showLastLogin:{get:function(){return this.getLocalstorage("showLastLogin")},set:function(t){this.setLocalStorage("showLastLogin",t)}},showUserBackend:{get:function(){return this.getLocalstorage("showUserBackend")},set:function(t){this.setLocalStorage("showUserBackend",t)}},showStoragePath:{get:function(){return this.getLocalstorage("showStoragePath")},set:function(t){this.setLocalStorage("showStoragePath",t)}},quotaOptions:function(){var t=this.settings.quotaPreset.reduce((function(t,e){return t.concat({id:e,label:e})}),[]);return this.settings.allowUnlimitedQuota&&t.unshift(Tt),t},defaultQuota:{get:function(){return!1!==this.selectedQuota?this.selectedQuota:this.settings.defaultQuota!==Tt.id&&OC.Util.computerFileSize(this.settings.defaultQuota)>=0?{id:this.settings.defaultQuota,label:this.settings.defaultQuota}:Tt},set:function(t){this.selectedQuota=t}},sendWelcomeMail:{get:function(){return this.settings.newUserSendEmail},set:function(t){var e,n=this;return(e=ve().mark((function e(){return ve().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,n.loadingSendMail=!0,n.$store.commit("setServerData",Ae(Ae({},n.settings),{},{newUserSendEmail:t})),e.next=5,ue.Z.post((0,ce.generateUrl)("/settings/users/preferences/newUser.sendEmail"),{value:t?"yes":"no"});case 5:e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),fe.error("could not update newUser.sendEmail preference: "+e.t0.message,e.t0);case 10:return e.prev=10,n.loadingSendMail=!1,e.finish(10);case 13:case"end":return e.stop()}}),e,null,[[0,7,10,13]])})),function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(t){we(o,r,i,a,s,"next",t)}function s(t){we(o,r,i,a,s,"throw",t)}a(void 0)}))})()}}},methods:{getLocalstorage:function(t){var e=this.$localStorage.get(t);return this.$store.commit("setShowConfig",{key:t,value:null!==e?"true"===e:this.showConfig[t]}),this.showConfig[t]},setLocalStorage:function(t,e){return this.$store.commit("setShowConfig",{key:t,value:e}),this.$localStorage.set(t,e),e},validateQuota:function(t){var e;return"object"===ge(t)&&(t=(null===(e=t)||void 0===e?void 0:e.id)||t.label),null===OC.Util.computerFileSize(t)?Tt:{id:t=OC.Util.humanFileSize(OC.Util.computerFileSize(t)),label:t}},setDefaultQuota:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"none";"none"===e&&(e=Tt),this.$store.dispatch("setAppConfig",{app:"files",key:"default_quota",value:e.id?e.id:e}).then((function(){"object"!==ge(e)&&(e={id:e,label:e}),t.defaultQuota=e}))}}},Ce=be,_e=r(66547),xe={};xe.styleTagTransform=V(),xe.setAttributes=Y(),xe.insert=$().bind(null,"head"),xe.domAPI=F(),xe.insertStyleElement=Q(),T()(_e.Z,xe),_e.Z&&_e.Z.locals&&_e.Z.locals;var Le=(0,C.Z)(Ce,(function(){var t=this,e=t._self._c;return e("NcAppSettingsDialog",{attrs:{open:t.isModalOpen,"show-navigation":!0,name:t.t("settings","User management settings")},on:{"update:open":function(e){t.isModalOpen=e}}},[e("NcAppSettingsSection",{attrs:{id:"visibility-settings",name:t.t("settings","Visibility")}},[e("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showLanguages",checked:t.showLanguages},on:{"update:checked":function(e){t.showLanguages=e}}},[t._v("\n\t\t\t"+t._s(t.t("settings","Show language"))+"\n\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showUserBackend",checked:t.showUserBackend},on:{"update:checked":function(e){t.showUserBackend=e}}},[t._v("\n\t\t\t"+t._s(t.t("settings","Show user backend"))+"\n\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showStoragePath",checked:t.showStoragePath},on:{"update:checked":function(e){t.showStoragePath=e}}},[t._v("\n\t\t\t"+t._s(t.t("settings","Show storage path"))+"\n\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showLastLogin",checked:t.showLastLogin},on:{"update:checked":function(e){t.showLastLogin=e}}},[t._v("\n\t\t\t"+t._s(t.t("settings","Show last login"))+"\n\t\t")])],1),t._v(" "),e("NcAppSettingsSection",{attrs:{id:"email-settings",name:t.t("settings","Send email")}},[e("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"sendWelcomeMail",checked:t.sendWelcomeMail,disabled:t.loadingSendMail},on:{"update:checked":function(e){t.sendWelcomeMail=e}}},[t._v("\n\t\t\t"+t._s(t.t("settings","Send welcome email to new users"))+"\n\t\t")])],1),t._v(" "),e("NcAppSettingsSection",{attrs:{id:"default-settings",name:t.t("settings","Defaults")}},[e("label",{attrs:{for:"default-quota-select"}},[t._v(t._s(t.t("settings","Default quota")))]),t._v(" "),e("NcSelect",{attrs:{"input-id":"default-quota-select",placement:"top",taggable:!0,options:t.quotaOptions,"create-option":t.validateQuota,placeholder:t.t("settings","Select default quota"),clearable:!1},on:{"option:selected":t.setDefaultQuota},model:{value:t.defaultQuota,callback:function(e){t.defaultQuota=e},expression:"defaultQuota"}})],1)],1)}),[],!1,null,"0a250c55",null).exports;function Se(t){return Se="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Se(t)}function Ne(){Ne=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,n){return t[e]=n}}function u(t,e,n,i){var o=e&&e.prototype instanceof p?e:p,a=Object.create(o.prototype),s=new L(i||[]);return r(a,"_invoke",{value:b(t,n,s)}),a}function c(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var d={};function p(){}function h(){}function f(){}var g={};l(g,o,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(S([])));m&&m!==e&&n.call(m,o)&&(g=m);var A=f.prototype=p.prototype=Object.create(g);function y(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function i(r,o,a,s){var l=c(t[r],t,o);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==Se(d)&&n.call(d,"__await")?e.resolve(d.__await).then((function(t){i("next",t,a,s)}),(function(t){i("throw",t,a,s)})):e.resolve(d).then((function(t){u.value=t,a(u)}),(function(t){return i("throw",t,a,s)}))}s(l.arg)}var o;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){i(t,n,e,r)}))}return o=o?o.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return{value:void 0,done:!0}}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var s=C(a,n);if(s){if(s===d)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=c(t,e,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===d)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}function C(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,C(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),d;var i=c(r,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,d;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,d):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,d)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function S(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:N}}function N(){return{value:void 0,done:!0}}return h.prototype=f,r(A,"constructor",{value:f,configurable:!0}),r(f,"constructor",{value:h,configurable:!0}),h.displayName=l(f,s,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===h||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,l(t,s,"GeneratorFunction")),t.prototype=Object.create(A),t},t.awrap=function(t){return{__await:t}},y(w.prototype),l(w.prototype,a,(function(){return this})),t.AsyncIterator=w,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new w(u(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},y(A),l(A,s,"Generator"),l(A,o,(function(){return this})),l(A,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=S,L.prototype={constructor:L,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var s=n.call(o,"catchLoc"),l=n.call(o,"finallyLoc");if(s&&l){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,d):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;x(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:S(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),d}},t}function ke(t,e,n,r,i,o,a){try{var s=t[o](a),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(r,i)}i.default.use(a());var Ge={name:"Users",components:{AccountGroup:w.Z,AccountOff:_,Cog:x.default,Fragment:s.Fragment,GroupListItem:X,NcActionInput:c.Z,NcActionText:d.Z,NcAppContent:p.Z,NcAppNavigation:h.Z,NcAppNavigationCaption:f.Z,NcAppNavigationItem:g.Z,NcAppNavigationNew:v.Z,NcContent:m.Z,NcCounterBubble:A.Z,NcLoadingIcon:y.Z,Plus:L.Z,ShieldAccount:N,UserList:le,UserSettingsDialog:Le},props:{selectedGroup:{type:String,default:null}},data:function(){return{externalActions:[],newGroupName:"",isAddGroupOpen:!1,loadingAddGroup:!1,hasAddGroupError:!1,isDialogOpen:!1}},computed:{showConfig:function(){return this.$store.getters.getShowConfig},selectedGroupDecoded:function(){return this.selectedGroup?decodeURIComponent(this.selectedGroup):null},users:function(){return this.$store.getters.getUsers},groups:function(){return this.$store.getters.getGroups},usersOffset:function(){return this.$store.getters.getUsersOffset},usersLimit:function(){return this.$store.getters.getUsersLimit},userCount:function(){return this.$store.getters.getUserCount},settings:function(){return this.$store.getters.getServerData},groupList:function(){var t=this;return(Array.isArray(this.groups)?this.groups:[]).filter((function(t){return"disabled"!==t.id&&"admin"!==t.id})).map((function(e){return t.formatGroupMenu(e)}))},adminGroupMenu:function(){return this.formatGroupMenu(this.groups.find((function(t){return"admin"===t.id})))},disabledGroupMenu:function(){return this.formatGroupMenu(this.groups.find((function(t){return"disabled"===t.id})))}},beforeMount:function(){this.$store.commit("initGroups",{groups:this.$store.getters.getServerData.groups,orderBy:this.$store.getters.getServerData.sortGroups,userCount:this.$store.getters.getServerData.userCount}),this.$store.dispatch("getPasswordPolicyMinLength")},created:function(){Object.assign(OCA,{Settings:{UserList:{registerAction:this.registerAction}}})},methods:{t:l.Iu,showNewUserMenu:function(){this.$store.commit("setShowConfig",{key:"showNewUserForm",value:!0})},registerAction:function(t,e,n){return this.externalActions.push({icon:t,text:e,action:n}),this.externalActions},createGroup:function(){var t,e=this;return(t=Ne().mark((function t(){var n;return Ne().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e.hasAddGroupError=!1,""!==(n=e.newGroupName.trim())){t.next=5;break}return e.hasAddGroupError=!0,t.abrupt("return");case 5:return e.isAddGroupOpen=!1,e.loadingAddGroup=!0,t.prev=7,t.next=10,e.$store.dispatch("addGroup",n);case 10:return t.next=12,e.$router.push({name:"group",params:{selectedGroup:encodeURIComponent(n)}});case 12:e.newGroupName="",t.next=18;break;case 15:t.prev=15,t.t0=t.catch(7),(0,u.x2)((0,l.Iu)("settings","Failed to create group"));case 18:e.loadingAddGroup=!1;case 19:case"end":return t.stop()}}),t,null,[[7,15]])})),function(){var e=this,n=arguments;return new Promise((function(r,i){var o=t.apply(e,n);function a(t){ke(o,r,i,a,s,"next",t)}function s(t){ke(o,r,i,a,s,"throw",t)}a(void 0)}))})()},formatGroupMenu:function(t){var e={};return void 0===t?{}:(e.id=t.id,e.title=t.name,e.usercount=t.usercount,t.usercount-t.disabled>0&&(e.count=t.usercount-t.disabled),e)}}},Ie=Ge,Ue=r(60457),Oe={};Oe.styleTagTransform=V(),Oe.setAttributes=Y(),Oe.insert=$().bind(null,"head"),Oe.domAPI=F(),Oe.insertStyleElement=Q(),T()(Ue.Z,Oe),Ue.Z&&Ue.Z.locals&&Ue.Z.locals;var Ee=(0,C.Z)(Ie,(function(){var t=this,e=t._self._c;return e("Fragment",[e("NcContent",{attrs:{"app-name":"settings"}},[e("NcAppNavigation",{scopedSlots:t._u([{key:"list",fn:function(){return[e("NcAppNavigationItem",{attrs:{id:"everyone",exact:!0,name:t.t("settings","Active users"),to:{name:"users"}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("AccountGroup",{attrs:{size:20}})]},proxy:!0},{key:"counter",fn:function(){return[t.userCount?e("NcCounterBubble",{attrs:{type:t.selectedGroupDecoded?void 0:"highlighted"}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.userCount)+"\n\t\t\t\t\t\t")]):t._e()]},proxy:!0}])}),t._v(" "),t.settings.isAdmin?e("NcAppNavigationItem",{attrs:{id:"admin",exact:!0,name:t.t("settings","Admins"),to:{name:"group",params:{selectedGroup:"admin"}}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("ShieldAccount",{attrs:{size:20}})]},proxy:!0},t.adminGroupMenu.count>0?{key:"counter",fn:function(){return[e("NcCounterBubble",{attrs:{type:"admin"===t.selectedGroupDecoded?"highlighted":void 0}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.adminGroupMenu.count)+"\n\t\t\t\t\t\t")])]},proxy:!0}:null],null,!0)}):t._e(),t._v(" "),t.disabledGroupMenu.usercount>0||-1===t.disabledGroupMenu.usercount?e("NcAppNavigationItem",{attrs:{id:"disabled",exact:!0,name:t.t("settings","Disabled users"),to:{name:"group",params:{selectedGroup:"disabled"}}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("AccountOff",{attrs:{size:20}})]},proxy:!0},t.disabledGroupMenu.usercount>0?{key:"counter",fn:function(){return[e("NcCounterBubble",{attrs:{type:"disabled"===t.selectedGroupDecoded?"highlighted":void 0}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.disabledGroupMenu.usercount)+"\n\t\t\t\t\t\t")])]},proxy:!0}:null],null,!0)}):t._e(),t._v(" "),e("NcAppNavigationCaption",{attrs:{name:t.t("settings","Groups"),disabled:t.loadingAddGroup,"aria-label":t.loadingAddGroup?t.t("settings","Creating group …"):t.t("settings","Create group"),"force-menu":"",open:t.isAddGroupOpen},on:{"update:open":function(e){t.isAddGroupOpen=e}},scopedSlots:t._u([{key:"actionsTriggerIcon",fn:function(){return[t.loadingAddGroup?e("NcLoadingIcon"):e("Plus",{attrs:{size:20}})]},proxy:!0},{key:"actions",fn:function(){return[e("NcActionText",{scopedSlots:t._u([{key:"icon",fn:function(){return[e("AccountGroup",{attrs:{size:20}})]},proxy:!0}])},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.t("settings","Create group"))+"\n\t\t\t\t\t\t")]),t._v(" "),e("NcActionInput",{attrs:{label:t.t("settings","Group name"),"label-outside":!1,disabled:t.loadingAddGroup,value:t.newGroupName,error:t.hasAddGroupError,"helper-text":t.hasAddGroupError?t.t("settings","Please enter a valid group name"):""},on:{"update:value":function(e){t.newGroupName=e},submit:t.createGroup}})]},proxy:!0}])}),t._v(" "),t._l(t.groupList,(function(n){return e("GroupListItem",{key:n.id,attrs:{id:n.id,active:t.selectedGroupDecoded===n.id,name:n.title,count:n.count}})}))]},proxy:!0},{key:"footer",fn:function(){return[e("ul",{staticClass:"app-navigation-entry__settings"},[e("NcAppNavigationItem",{attrs:{name:t.t("settings","User management settings")},on:{click:function(e){t.isDialogOpen=!0}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Cog",{attrs:{size:20}})]},proxy:!0}])})],1)]},proxy:!0}])},[e("NcAppNavigationNew",{attrs:{"button-id":"new-user-button",text:t.t("settings","New user"),"button-class":"icon-add"},on:{click:t.showNewUserMenu,keyup:[function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.showNewUserMenu.apply(null,arguments)},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"space",32,e.key,[" ","Spacebar"])?null:t.showNewUserMenu.apply(null,arguments)}]},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Plus",{attrs:{size:20}})]},proxy:!0}])})],1),t._v(" "),e("NcAppContent",[e("UserList",{attrs:{"selected-group":t.selectedGroupDecoded,"external-actions":t.externalActions}})],1)],1),t._v(" "),e("UserSettingsDialog",{attrs:{open:t.isDialogOpen},on:{"update:open":function(e){t.isDialogOpen=e}}})],1)}),[],!1,null,"642e7037",null),Me=Ee.exports},87369:function(t,e,n){var r=n(34155),i=n(25108);t.exports=function(){"use strict";var t=function(){this._properties={},this._namespace="",this._isSupported=!0},e={namespace:{}};e.namespace.get=function(){return this._namespace},e.namespace.set=function(t){this._namespace=t?t+".":""},t.prototype._getLsKey=function(t){return""+this._namespace+t},t.prototype._lsSet=function(t,e,n){var r=this._getLsKey(t),i=n&&[Array,Object].includes(n)?JSON.stringify(e):e;window.localStorage.setItem(r,i)},t.prototype._lsGet=function(t){var e=this._getLsKey(t);return window.localStorage[e]},t.prototype.get=function(t,e,n){if(void 0===e&&(e=null),void 0===n&&(n=String),!this._isSupported)return null;if(this._lsGet(t)){var r=n;for(var i in this._properties)if(i===t){r=this._properties[i].type;break}return this._process(r,this._lsGet(t))}return null!==e?e:null},t.prototype.set=function(t,e){var n=this;if(!this._isSupported)return null;for(var r in n._properties){var i=n._properties[r].type;if(r===t)return n._lsSet(t,e,i),e}return this._lsSet(t,e),e},t.prototype.remove=function(t){return this._isSupported?window.localStorage.removeItem(t):null},t.prototype.addProperty=function(t,e,n){void 0===n&&(n=void 0),e=e||String,this._properties[t]={type:e},this._lsGet(t)||null===n||this._lsSet(t,n,e)},t.prototype._process=function(t,e){switch(t){case Boolean:return"true"===e;case Number:return parseFloat(e);case Array:try{var n=JSON.parse(e);return Array.isArray(n)?n:[]}catch(t){return[]}case Object:try{return JSON.parse(e)}catch(t){return{}}default:return e}},Object.defineProperties(t.prototype,e);var n=new t;return{install:function(t,e){if(void 0===e&&(e={}),void 0===r||!(r.server||r.SERVER_BUILD||r.env&&"server"===r.env.VUE_ENV)){var o=!0;try{var a="__vue-localstorage-test__";window.localStorage.setItem(a,a),window.localStorage.removeItem(a)}catch(t){o=!1,n._isSupported=!1,i.error("Local storage is not supported")}var s=e.name||"localStorage",l=e.bind;e.namespace&&(n.namespace=e.namespace),t.mixin({beforeCreate:function(){var e=this;o&&this.$options[s]&&Object.keys(this.$options[s]).forEach((function(r){var o=e.$options[s][r],a=[o.type,o.default],u=a[0],c=a[1];if(n.addProperty(r,u,c),Object.getOwnPropertyDescriptor(n,r))t.config.silent||i.log(r+": is already defined and will be reused");else{var d={get:function(){return t.localStorage.get(r,c)},set:function(e){return t.localStorage.set(r,e)},configurable:!0};Object.defineProperty(n,r,d),t.util.defineReactive(n,r,c)}(l||o.bind)&&!1!==o.bind&&(e.$options.computed=e.$options.computed||{},e.$options.computed[r]||(e.$options.computed[r]={get:function(){return t.localStorage[r]},set:function(e){t.localStorage[r]=e}}))}))}}),t[s]=n,t.prototype["$"+s]=n}}}}()},42761:function(t){"use strict";t.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg=="},87210:function(t){"use strict";t.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K"},94659:function(t){"use strict";t.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg=="},11530:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTE1LjQgMTYuNkwxMC44IDEybDQuNi00LjZMMTQgNmwtNiA2IDYgNiAxLjQtMS40eiIvPjwvc3ZnPg=="},71124:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTE4LjQgNy40TDE3IDZsLTYgNiA2IDYgMS40LTEuNC00LjYtNC42IDQuNi00LjZtLTYgMEwxMSA2bC02IDYgNiA2IDEuNC0xLjRMNy44IDEybDQuNi00LjZ6Ii8+PC9zdmc+"},48461:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTUuNiA3LjRMNyA2bDYgNi02IDYtMS40LTEuNCA0LjYtNC42LTQuNi00LjZtNiAwTDEzIDZsNiA2LTYgNi0xLjQtMS40IDQuNi00LjYtNC42LTQuNnoiLz48L3N2Zz4="},23427:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTguNiAxNi42bDQuNi00LjYtNC42LTQuNkwxMCA2bDYgNi02IDYtMS40LTEuNHoiLz48L3N2Zz4="},39896:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTE1LjQgMTYuNkwxMC44IDEybDQuNi00LjZMMTQgNmwtNiA2IDYgNiAxLjQtMS40eiIvPjwvc3ZnPg=="},76899:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTE4LjQgNy40TDE3IDZsLTYgNiA2IDYgMS40LTEuNC00LjYtNC42IDQuNi00LjZtLTYgMEwxMSA2bC02IDYgNiA2IDEuNC0xLjRMNy44IDEybDQuNi00LjZ6Ii8+PC9zdmc+"},88931:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTUuNiA3LjRMNyA2bDYgNi02IDYtMS40LTEuNCA0LjYtNC42LTQuNi00LjZtNiAwTDEzIDZsNiA2LTYgNi0xLjQtMS40IDQuNi00LjYtNC42LTQuNnoiLz48L3N2Zz4="},16556:function(t){"use strict";t.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTguNiAxNi42bDQuNi00LjYtNC42LTQuNkwxMCA2bDYgNi02IDYtMS40LTEuNHoiLz48L3N2Zz4="}}]); +//# sourceMappingURL=settings-users-8351.js.map?v=0466ba4747e49633b056
\ No newline at end of file diff --git a/dist/settings-users-8351.js.map b/dist/settings-users-8351.js.map index e2aaeaf7889..03118cd5162 100644 --- a/dist/settings-users-8351.js.map +++ b/dist/settings-users-8351.js.map @@ -1 +1 @@ -{"version":3,"file":"settings-users-8351.js?v=61e8745bc13a1b980462","mappings":"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","sources":["webpack:///nextcloud/apps/settings/src/components/GroupListItem.vue?vue&type=style&index=0&id=36dd2d08&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/UserList.vue?vue&type=style&index=0&id=c76ff3be&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/Users/NewUserModal.vue?vue&type=style&index=0&id=29bc5eca&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/Users/UserListFooter.vue?vue&type=style&index=0&id=5b39b95a&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/Users/UserListHeader.vue?vue&type=style&index=0&id=05cd17c8&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/Users/UserRow.vue?vue&type=style&index=0&id=2766a66a&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/Users/UserSettingsDialog.vue?vue&type=style&index=0&id=0a250c55&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/Users/VirtualList.vue?vue&type=style&index=0&id=4377829d&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/views/Users.vue?vue&type=style&index=0&id=642e7037&prod&lang=scss&scoped=true&","webpack://nextcloud/./apps/settings/src/views/Users.vue?962b","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountOff.vue?vue&type=script&lang=js&","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountOff.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/AccountOff.vue?800f","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountOff.vue?vue&type=template&id=4a2e1178&","webpack:///nextcloud/node_modules/vue-material-design-icons/ShieldAccount.vue?vue&type=script&lang=js&","webpack:///nextcloud/node_modules/vue-material-design-icons/ShieldAccount.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/ShieldAccount.vue?d5b2","webpack:///nextcloud/node_modules/vue-material-design-icons/ShieldAccount.vue?vue&type=template&id=3937f138&","webpack:///nextcloud/apps/settings/src/components/GroupListItem.vue","webpack:///nextcloud/apps/settings/src/components/GroupListItem.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/GroupListItem.vue?db3e","webpack://nextcloud/./apps/settings/src/components/GroupListItem.vue?7b19","webpack://nextcloud/./apps/settings/src/components/GroupListItem.vue?9f48","webpack:///nextcloud/apps/settings/src/components/Users/VirtualList.vue","webpack:///nextcloud/apps/settings/src/components/Users/VirtualList.vue?vue&type=script&lang=ts&","webpack://nextcloud/./apps/settings/src/components/Users/VirtualList.vue?4bb8","webpack://nextcloud/./apps/settings/src/components/Users/VirtualList.vue?1915","webpack:///nextcloud/apps/settings/src/components/Users/NewUserModal.vue","webpack:///nextcloud/apps/settings/src/components/Users/NewUserModal.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/Users/NewUserModal.vue?d7e0","webpack://nextcloud/./apps/settings/src/components/Users/NewUserModal.vue?0748","webpack://nextcloud/./apps/settings/src/components/Users/NewUserModal.vue?6ea8","webpack:///nextcloud/apps/settings/src/components/Users/UserListFooter.vue?vue&type=script&lang=ts&","webpack:///nextcloud/apps/settings/src/components/Users/UserListFooter.vue","webpack://nextcloud/./apps/settings/src/components/Users/UserListFooter.vue?fe55","webpack://nextcloud/./apps/settings/src/components/Users/UserListFooter.vue?b843","webpack:///nextcloud/apps/settings/src/components/Users/UserListHeader.vue?vue&type=script&lang=ts&","webpack:///nextcloud/apps/settings/src/components/Users/UserListHeader.vue","webpack://nextcloud/./apps/settings/src/components/Users/UserListHeader.vue?f79a","webpack://nextcloud/./apps/settings/src/components/Users/UserListHeader.vue?758a","webpack:///nextcloud/apps/settings/src/components/Users/UserRowActions.vue?vue&type=script&lang=ts&","webpack:///nextcloud/apps/settings/src/components/Users/UserRowActions.vue","webpack://nextcloud/./apps/settings/src/components/Users/UserRowActions.vue?3c2a","webpack:///nextcloud/apps/settings/src/mixins/UserRowMixin.js","webpack:///nextcloud/apps/settings/src/utils/userUtils.ts","webpack:///nextcloud/apps/settings/src/components/Users/UserRow.vue","webpack:///nextcloud/apps/settings/src/components/Users/UserRow.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/Users/UserRow.vue?ef2b","webpack://nextcloud/./apps/settings/src/components/Users/UserRow.vue?eb6e","webpack://nextcloud/./apps/settings/src/components/Users/UserRow.vue?5434","webpack:///nextcloud/apps/settings/src/components/UserList.vue","webpack:///nextcloud/apps/settings/src/components/UserList.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/UserList.vue?6a25","webpack://nextcloud/./apps/settings/src/components/UserList.vue?02a4","webpack://nextcloud/./apps/settings/src/components/UserList.vue?c96e","webpack:///nextcloud/apps/settings/src/components/Users/UserSettingsDialog.vue","webpack:///nextcloud/apps/settings/src/components/Users/UserSettingsDialog.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/Users/UserSettingsDialog.vue?ca5f","webpack://nextcloud/./apps/settings/src/components/Users/UserSettingsDialog.vue?f361","webpack://nextcloud/./apps/settings/src/components/Users/UserSettingsDialog.vue?824e","webpack:///nextcloud/apps/settings/src/views/Users.vue","webpack:///nextcloud/apps/settings/src/views/Users.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/views/Users.vue?85ae","webpack://nextcloud/./apps/settings/src/views/Users.vue?cf86","webpack:///nextcloud/node_modules/vue-localstorage/dist/vue-local-storage.js"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".modal__header[data-v-36dd2d08]{margin:0}.modal__content[data-v-36dd2d08]{display:flex;flex-direction:column;align-items:center;padding:20px;gap:4px 0}.modal__button-row[data-v-36dd2d08]{display:flex;width:100%;justify-content:space-between}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/GroupListItem.vue\"],\"names\":[],\"mappings\":\"AAEC,gCACC,QAAA,CAGD,iCACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,YAAA,CACA,SAAA,CAGD,oCACC,YAAA,CACA,UAAA,CACA,6BAAA\",\"sourcesContent\":[\"\\n.modal {\\n\\t&__header {\\n\\t\\tmargin: 0;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\t\\tpadding: 20px;\\n\\t\\tgap: 4px 0;\\n\\t}\\n\\n\\t&__button-row {\\n\\t\\tdisplay: flex;\\n\\t\\twidth: 100%;\\n\\t\\tjustify-content: space-between;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".empty[data-v-c76ff3be] .icon-vue{width:64px;height:64px}.empty[data-v-c76ff3be] .icon-vue svg{max-width:64px;max-height:64px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/UserList.vue\"],\"names\":[],\"mappings\":\"AAKE,kCACC,UAAA,CACA,WAAA,CAEA,sCACC,cAAA,CACA,eAAA\",\"sourcesContent\":[\"\\n@import './Users/shared/styles.scss';\\n\\n.empty {\\n\\t:deep {\\n\\t\\t.icon-vue {\\n\\t\\t\\twidth: 64px;\\n\\t\\t\\theight: 64px;\\n\\n\\t\\t\\tsvg {\\n\\t\\t\\t\\tmax-width: 64px;\\n\\t\\t\\t\\tmax-height: 64px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".modal__form[data-v-29bc5eca]{display:flex;flex-direction:column;align-items:center;padding:20px;gap:4px 0}.modal__form #new-user-groups-input[data-v-29bc5eca]{position:absolute;opacity:0;width:0}.modal__item[data-v-29bc5eca]{width:100%}.modal__item[data-v-29bc5eca]:not(:focus):not(:active){border-color:var(--color-border-dark)}.modal__hint[data-v-29bc5eca]{color:var(--color-text-maxcontrast);margin-top:8px;align-self:flex-start}.modal__label[data-v-29bc5eca]{display:block;padding:4px 0}.modal__select[data-v-29bc5eca]{width:100%}.modal__submit[data-v-29bc5eca]{margin-top:20px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/NewUserModal.vue\"],\"names\":[],\"mappings\":\"AAEC,8BACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,YAAA,CACA,SAAA,CAGA,qDACC,iBAAA,CACA,SAAA,CAMA,OAAA,CAIF,8BACC,UAAA,CAEA,uDACC,qCAAA,CAIF,8BACC,mCAAA,CACA,cAAA,CACA,qBAAA,CAGD,+BACC,aAAA,CACA,aAAA,CAGD,gCACC,UAAA,CAGD,gCACC,eAAA\",\"sourcesContent\":[\"\\n.modal {\\n\\t&__form {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\t\\tpadding: 20px;\\n\\t\\tgap: 4px 0;\\n\\n\\t\\t/* fake input for groups validation */\\n\\t\\t#new-user-groups-input {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\t/* The \\\"hidden\\\" input is behind the NcSelect, so in general it does\\n\\t\\t\\t* not receives clicks. However, with Firefox, after the validation\\n\\t\\t\\t* fails, it will receive the first click done on it, so its width needs\\n\\t\\t\\t* to be set to 0 to prevent that (\\\"pointer-events: none\\\" does not\\n\\t\\t\\t* prevent it). */\\n\\t\\t\\twidth: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t&__item {\\n\\t\\twidth: 100%;\\n\\n\\t\\t&:not(:focus):not(:active) {\\n\\t\\t\\tborder-color: var(--color-border-dark);\\n\\t\\t}\\n\\t}\\n\\n\\t&__hint {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tmargin-top: 8px;\\n\\t\\talign-self: flex-start;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: block;\\n\\t\\tpadding: 4px 0;\\n\\t}\\n\\n\\t&__select {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tmargin-top: 20px;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".footer[data-v-5b39b95a]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.footer__cell[data-v-5b39b95a]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.footer__cell strong[data-v-5b39b95a],.footer__cell span[data-v-5b39b95a],.footer__cell label[data-v-5b39b95a]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.footer__cell--avatar[data-v-5b39b95a],.footer__cell--displayname[data-v-5b39b95a]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.footer__cell--avatar[data-v-5b39b95a]{left:0}.footer__cell--displayname[data-v-5b39b95a]{left:var(--avatar-cell-width);border-right:1px solid var(--color-border)}}.footer__cell--avatar[data-v-5b39b95a]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.footer__cell--multiline span[data-v-5b39b95a]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.footer__cell--multiline span[data-v-5b39b95a]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.footer__cell--large[data-v-5b39b95a]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.footer__cell--obfuscated[data-v-5b39b95a]{min-width:400px;width:400px}.footer__cell--fill[data-v-5b39b95a]{min-width:var(--cell-width-large);width:100%}.footer__cell--actions[data-v-5b39b95a]{position:sticky;right:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-left:1px solid var(--color-border)}.footer__subtitle[data-v-5b39b95a]{color:var(--color-text-maxcontrast)}.footer__cell[data-v-5b39b95a]{position:sticky;color:var(--color-text-maxcontrast)}.footer__cell--loading[data-v-5b39b95a]{left:0;min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0}.footer__cell--count[data-v-5b39b95a]{left:var(--avatar-cell-width);min-width:var(--cell-width);width:var(--cell-width)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserListFooter.vue\",\"webpack://./apps/settings/src/components/Users/shared/styles.scss\"],\"names\":[],\"mappings\":\"AAGA,yBCoBC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CAIA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,MAAA,CAGD,4CACC,6BAAA,CACA,0CAAA,CAAA,CAIF,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,OAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,yCAAA,CAIF,mCACC,mCAAA,CDjHD,+BACC,eAAA,CACA,mCAAA,CAEA,wCACC,MAAA,CACA,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CAGD,sCACC,6BAAA,CACA,2BAAA,CACA,uBAAA\",\"sourcesContent\":[\"\\n@import './shared/styles.scss';\\n\\n.footer {\\n\\t@include row;\\n\\t@include cell;\\n\\n\\t&__cell {\\n\\t\\tposition: sticky;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\n\\t\\t&--loading {\\n\\t\\t\\tleft: 0;\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\n\\t\\t&--count {\\n\\t\\t\\tleft: var(--avatar-cell-width);\\n\\t\\t\\tmin-width: var(--cell-width);\\n\\t\\t\\twidth: var(--cell-width);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright 2023 Christopher Ng <chrng8@gmail.com>\\n *\\n * @author Christopher Ng <chrng8@gmail.com>\\n *\\n * @license AGPL-3.0-or-later\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin row {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tmin-width: 100%;\\n\\twidth: fit-content;\\n\\theight: var(--row-height);\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n@mixin cell {\\n\\t&__cell {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tpadding: 0 var(--cell-padding);\\n\\t\\tmin-width: var(--cell-width);\\n\\t\\twidth: var(--cell-width);\\n\\t\\tcolor: var(--color-main-text);\\n\\n\\t\\tstrong,\\n\\t\\tspan,\\n\\t\\tlabel {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow-wrap: anywhere;\\n\\t\\t}\\n\\n\\t\\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\\n\\t\\t\\t&--avatar,\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tposition: sticky;\\n\\t\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--avatar {\\n\\t\\t\\t\\tleft: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tleft: var(--avatar-cell-width);\\n\\t\\t\\t\\tborder-right: 1px solid var(--color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--avatar {\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&--multiline {\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tline-height: 1.3em;\\n\\t\\t\\t\\twhite-space: unset;\\n\\n\\t\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--large {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: var(--cell-width-large);\\n\\t\\t}\\n\\n\\t\\t&--obfuscated {\\n\\t\\t\\tmin-width: 400px;\\n\\t\\t\\twidth: 400px;\\n\\t\\t}\\n\\n\\t\\t// Fill remaining row space with cell\\n\\t\\t&--fill {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t&--actions {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tright: 0;\\n\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmin-width: 110px;\\n\\t\\t\\twidth: 110px;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-left: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t&__subtitle {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".header[data-v-05cd17c8]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background);border-bottom:1px solid var(--color-border)}.header__cell[data-v-05cd17c8]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.header__cell strong[data-v-05cd17c8],.header__cell span[data-v-05cd17c8],.header__cell label[data-v-05cd17c8]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.header__cell--avatar[data-v-05cd17c8],.header__cell--displayname[data-v-05cd17c8]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.header__cell--avatar[data-v-05cd17c8]{left:0}.header__cell--displayname[data-v-05cd17c8]{left:var(--avatar-cell-width);border-right:1px solid var(--color-border)}}.header__cell--avatar[data-v-05cd17c8]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.header__cell--multiline span[data-v-05cd17c8]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.header__cell--multiline span[data-v-05cd17c8]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.header__cell--large[data-v-05cd17c8]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.header__cell--obfuscated[data-v-05cd17c8]{min-width:400px;width:400px}.header__cell--fill[data-v-05cd17c8]{min-width:var(--cell-width-large);width:100%}.header__cell--actions[data-v-05cd17c8]{position:sticky;right:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-left:1px solid var(--color-border)}.header__subtitle[data-v-05cd17c8]{color:var(--color-text-maxcontrast)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserListHeader.vue\",\"webpack://./apps/settings/src/components/Users/shared/styles.scss\"],\"names\":[],\"mappings\":\"AAGA,yBCoBC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CDrBA,2CAAA,CCyBA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,MAAA,CAGD,4CACC,6BAAA,CACA,0CAAA,CAAA,CAIF,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,OAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,yCAAA,CAIF,mCACC,mCAAA\",\"sourcesContent\":[\"\\n@import './shared/styles.scss';\\n\\n.header {\\n\\t@include row;\\n\\t@include cell;\\n\\n\\tborder-bottom: 1px solid var(--color-border);\\n}\\n\",\"/**\\n * @copyright 2023 Christopher Ng <chrng8@gmail.com>\\n *\\n * @author Christopher Ng <chrng8@gmail.com>\\n *\\n * @license AGPL-3.0-or-later\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin row {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tmin-width: 100%;\\n\\twidth: fit-content;\\n\\theight: var(--row-height);\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n@mixin cell {\\n\\t&__cell {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tpadding: 0 var(--cell-padding);\\n\\t\\tmin-width: var(--cell-width);\\n\\t\\twidth: var(--cell-width);\\n\\t\\tcolor: var(--color-main-text);\\n\\n\\t\\tstrong,\\n\\t\\tspan,\\n\\t\\tlabel {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow-wrap: anywhere;\\n\\t\\t}\\n\\n\\t\\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\\n\\t\\t\\t&--avatar,\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tposition: sticky;\\n\\t\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--avatar {\\n\\t\\t\\t\\tleft: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tleft: var(--avatar-cell-width);\\n\\t\\t\\t\\tborder-right: 1px solid var(--color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--avatar {\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&--multiline {\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tline-height: 1.3em;\\n\\t\\t\\t\\twhite-space: unset;\\n\\n\\t\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--large {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: var(--cell-width-large);\\n\\t\\t}\\n\\n\\t\\t&--obfuscated {\\n\\t\\t\\tmin-width: 400px;\\n\\t\\t\\twidth: 400px;\\n\\t\\t}\\n\\n\\t\\t// Fill remaining row space with cell\\n\\t\\t&--fill {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t&--actions {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tright: 0;\\n\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmin-width: 110px;\\n\\t\\t\\twidth: 110px;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-left: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t&__subtitle {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".user-list__row[data-v-2766a66a]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.user-list__row[data-v-2766a66a]:hover{background-color:var(--color-background-hover)}.user-list__row:hover .row__cell[data-v-2766a66a]:not(.row__cell--actions){background-color:var(--color-background-hover)}.user-list__row .select--fill[data-v-2766a66a]{max-width:calc(var(--cell-width-large) - 2*var(--cell-padding))}.row__cell[data-v-2766a66a]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.row__cell strong[data-v-2766a66a],.row__cell span[data-v-2766a66a],.row__cell label[data-v-2766a66a]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.row__cell--avatar[data-v-2766a66a],.row__cell--displayname[data-v-2766a66a]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.row__cell--avatar[data-v-2766a66a]{left:0}.row__cell--displayname[data-v-2766a66a]{left:var(--avatar-cell-width);border-right:1px solid var(--color-border)}}.row__cell--avatar[data-v-2766a66a]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.row__cell--multiline span[data-v-2766a66a]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.row__cell--multiline span[data-v-2766a66a]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.row__cell--large[data-v-2766a66a]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.row__cell--obfuscated[data-v-2766a66a]{min-width:400px;width:400px}.row__cell--fill[data-v-2766a66a]{min-width:var(--cell-width-large);width:100%}.row__cell--actions[data-v-2766a66a]{position:sticky;right:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-left:1px solid var(--color-border)}.row__subtitle[data-v-2766a66a]{color:var(--color-text-maxcontrast)}.row__cell[data-v-2766a66a]{border-bottom:1px solid var(--color-border)}.row__cell[data-v-2766a66a] .input-field,.row__cell[data-v-2766a66a] .input-field__main-wrapper,.row__cell[data-v-2766a66a] .input-field__input{height:48px !important}.row__cell[data-v-2766a66a] .input-field__input:placeholder-shown:not(:focus)+.input-field__label{inset-block-start:16px !important}.row__cell[data-v-2766a66a] .button-vue--icon-only{height:44px !important}.row__cell[data-v-2766a66a] .v-select.select{min-width:var(--cell-min-width)}.row__progress[data-v-2766a66a]{margin-top:4px}.row__progress--warn[data-v-2766a66a]::-moz-progress-bar{background:var(--color-warning) !important}.row__progress--warn[data-v-2766a66a]::-webkit-progress-value{background:var(--color-warning) !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserRow.vue\",\"webpack://./apps/settings/src/components/Users/shared/styles.scss\"],\"names\":[],\"mappings\":\"AAGA,iCCoBC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CDtBA,uCACC,8CAAA,CAEA,2EACC,8CAAA,CAKF,+CACC,+DAAA,CCgBD,4BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,sGAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,6EAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,oCACC,MAAA,CAGD,yCACC,6BAAA,CACA,0CAAA,CAAA,CAIF,oCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,4CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,4CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,mCACC,iCAAA,CACA,6BAAA,CAGD,wCACC,eAAA,CACA,WAAA,CAID,kCACC,iCAAA,CACA,UAAA,CAGD,qCACC,eAAA,CACA,OAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,yCAAA,CAIF,gCACC,mCAAA,CDjGD,4BACC,2CAAA,CAGC,gJAGC,sBAAA,CAIA,kGACC,iCAAA,CAIF,mDACC,sBAAA,CAGD,6CACC,+BAAA,CAKH,gCACC,cAAA,CAGC,yDACC,0CAAA,CAED,8DACC,0CAAA\",\"sourcesContent\":[\"\\n@import './shared/styles.scss';\\n\\n.user-list__row {\\n\\t@include row;\\n\\n\\t&:hover {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\n\\t\\t.row__cell:not(.row__cell--actions) {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Limit width of select in fill cell\\n\\t.select--fill {\\n\\t\\tmax-width: calc(var(--cell-width-large) - (2 * var(--cell-padding)));\\n\\t}\\n}\\n\\n.row {\\n\\t@include cell;\\n\\n\\t&__cell {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\n\\t\\t:deep {\\n\\t\\t\\t.input-field,\\n\\t\\t\\t.input-field__main-wrapper,\\n\\t\\t\\t.input-field__input {\\n\\t\\t\\t\\theight: 48px !important;\\n\\t\\t\\t}\\n\\n\\t\\t\\t.input-field__input {\\n\\t\\t\\t\\t&:placeholder-shown:not(:focus) + .input-field__label {\\n\\t\\t\\t\\t\\tinset-block-start: 16px !important;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t.button-vue--icon-only {\\n\\t\\t\\t\\theight: 44px !important;\\n\\t\\t\\t}\\n\\n\\t\\t\\t.v-select.select {\\n\\t\\t\\t\\tmin-width: var(--cell-min-width);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__progress {\\n\\t\\tmargin-top: 4px;\\n\\n\\t\\t&--warn {\\n\\t\\t\\t&::-moz-progress-bar {\\n\\t\\t\\t\\tbackground: var(--color-warning) !important;\\n\\t\\t\\t}\\n\\t\\t\\t&::-webkit-progress-value {\\n\\t\\t\\t\\tbackground: var(--color-warning) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright 2023 Christopher Ng <chrng8@gmail.com>\\n *\\n * @author Christopher Ng <chrng8@gmail.com>\\n *\\n * @license AGPL-3.0-or-later\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin row {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tmin-width: 100%;\\n\\twidth: fit-content;\\n\\theight: var(--row-height);\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n@mixin cell {\\n\\t&__cell {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tpadding: 0 var(--cell-padding);\\n\\t\\tmin-width: var(--cell-width);\\n\\t\\twidth: var(--cell-width);\\n\\t\\tcolor: var(--color-main-text);\\n\\n\\t\\tstrong,\\n\\t\\tspan,\\n\\t\\tlabel {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow-wrap: anywhere;\\n\\t\\t}\\n\\n\\t\\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\\n\\t\\t\\t&--avatar,\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tposition: sticky;\\n\\t\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--avatar {\\n\\t\\t\\t\\tleft: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tleft: var(--avatar-cell-width);\\n\\t\\t\\t\\tborder-right: 1px solid var(--color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--avatar {\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&--multiline {\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tline-height: 1.3em;\\n\\t\\t\\t\\twhite-space: unset;\\n\\n\\t\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--large {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: var(--cell-width-large);\\n\\t\\t}\\n\\n\\t\\t&--obfuscated {\\n\\t\\t\\tmin-width: 400px;\\n\\t\\t\\twidth: 400px;\\n\\t\\t}\\n\\n\\t\\t// Fill remaining row space with cell\\n\\t\\t&--fill {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t&--actions {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tright: 0;\\n\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmin-width: 110px;\\n\\t\\t\\twidth: 110px;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-left: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t&__subtitle {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"label[for=default-quota-select][data-v-0a250c55]{display:block;padding:4px 0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserSettingsDialog.vue\"],\"names\":[],\"mappings\":\"AACA,iDACC,aAAA,CACA,aAAA\",\"sourcesContent\":[\"\\nlabel[for=\\\"default-quota-select\\\"] {\\n\\tdisplay: block;\\n\\tpadding: 4px 0;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".user-list[data-v-4377829d]{--avatar-cell-width: 48px;--cell-padding: 7px;--cell-width: 200px;--cell-width-large: 300px;--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1);display:block;overflow:auto;height:100%}.user-list__header[data-v-4377829d],.user-list__footer[data-v-4377829d]{position:sticky;display:block}.user-list__header[data-v-4377829d]{top:0;z-index:calc(var(--sticky-column-z-index) + 1)}.user-list__footer[data-v-4377829d]{left:0}.user-list__body[data-v-4377829d]{display:flex;flex-direction:column;width:100%}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/VirtualList.vue\"],\"names\":[],\"mappings\":\"AACA,4BACC,yBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,qEAAA,CACA,6DAAA,CAGA,aAAA,CACA,aAAA,CACA,WAAA,CAEA,wEAEC,eAAA,CAEA,aAAA,CAGD,oCACC,KAAA,CACA,8CAAA,CAGD,oCACC,MAAA,CAGD,kCACC,YAAA,CACA,qBAAA,CACA,UAAA\",\"sourcesContent\":[\"\\n.user-list {\\n\\t--avatar-cell-width: 48px;\\n\\t--cell-padding: 7px;\\n\\t--cell-width: 200px;\\n\\t--cell-width-large: 300px;\\n\\t--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));\\n\\t--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1); // Keep the sticky column on top of the select dropdown\\n\\n\\t// Necessary for virtual scroll optimized rendering\\n\\tdisplay: block;\\n\\toverflow: auto;\\n\\theight: 100%;\\n\\n\\t&__header,\\n\\t&__footer {\\n\\t\\tposition: sticky;\\n\\t\\t// Fix sticky positioning in Firefox\\n\\t\\tdisplay: block;\\n\\t}\\n\\n\\t&__header {\\n\\t\\ttop: 0;\\n\\t\\tz-index: calc(var(--sticky-column-z-index) + 1);\\n\\t}\\n\\n\\t&__footer {\\n\\t\\tleft: 0;\\n\\t}\\n\\n\\t&__body {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".app-content[data-v-642e7037]{display:flex;overflow:hidden;flex-direction:column;max-height:100%}.app-navigation-entry__settings[data-v-642e7037]{height:auto !important;flex:0 0 auto}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/Users.vue\"],\"names\":[],\"mappings\":\"AACA,8BAEC,YAAA,CACA,eAAA,CACA,qBAAA,CACA,eAAA,CAGD,iDACC,sBAAA,CAEA,aAAA\",\"sourcesContent\":[\"\\n.app-content {\\n\\t// Virtual list needs to be full height and is scrollable\\n\\tdisplay: flex;\\n\\toverflow: hidden;\\n\\tflex-direction: column;\\n\\tmax-height: 100%;\\n}\\n\\n.app-navigation-entry__settings {\\n\\theight: auto !important;\\n\\t// Prevent shrinking or growing\\n\\tflex: 0 0 auto;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Fragment',[_c('NcContent',{attrs:{\"app-name\":\"settings\"}},[_c('NcAppNavigation',{scopedSlots:_vm._u([{key:\"list\",fn:function(){return [_c('NcAppNavigationItem',{attrs:{\"id\":\"everyone\",\"exact\":true,\"name\":_vm.t('settings', 'Active users'),\"to\":{ name: 'users' }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AccountGroup',{attrs:{\"size\":20}})]},proxy:true},{key:\"counter\",fn:function(){return [(_vm.userCount)?_c('NcCounterBubble',{attrs:{\"type\":!_vm.selectedGroupDecoded ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.userCount)+\"\\n\\t\\t\\t\\t\\t\\t\")]):_vm._e()]},proxy:true}])}),_vm._v(\" \"),(_vm.settings.isAdmin)?_c('NcAppNavigationItem',{attrs:{\"id\":\"admin\",\"exact\":true,\"name\":_vm.t('settings', 'Admins'),\"to\":{ name: 'group', params: { selectedGroup: 'admin' } }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ShieldAccount',{attrs:{\"size\":20}})]},proxy:true},(_vm.adminGroupMenu.count > 0)?{key:\"counter\",fn:function(){return [_c('NcCounterBubble',{attrs:{\"type\":_vm.selectedGroupDecoded === 'admin' ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.adminGroupMenu.count)+\"\\n\\t\\t\\t\\t\\t\\t\")])]},proxy:true}:null],null,true)}):_vm._e(),_vm._v(\" \"),(_vm.disabledGroupMenu.usercount > 0 || _vm.disabledGroupMenu.usercount === -1)?_c('NcAppNavigationItem',{attrs:{\"id\":\"disabled\",\"exact\":true,\"name\":_vm.t('settings', 'Disabled users'),\"to\":{ name: 'group', params: { selectedGroup: 'disabled' } }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AccountOff',{attrs:{\"size\":20}})]},proxy:true},(_vm.disabledGroupMenu.usercount > 0)?{key:\"counter\",fn:function(){return [_c('NcCounterBubble',{attrs:{\"type\":_vm.selectedGroupDecoded === 'disabled' ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.disabledGroupMenu.usercount)+\"\\n\\t\\t\\t\\t\\t\\t\")])]},proxy:true}:null],null,true)}):_vm._e(),_vm._v(\" \"),_c('NcAppNavigationCaption',{attrs:{\"name\":_vm.t('settings', 'Groups'),\"disabled\":_vm.loadingAddGroup,\"aria-label\":_vm.loadingAddGroup ? _vm.t('settings', 'Creating group …') : _vm.t('settings', 'Create group'),\"force-menu\":\"\",\"open\":_vm.isAddGroupOpen},on:{\"update:open\":function($event){_vm.isAddGroupOpen=$event}},scopedSlots:_vm._u([{key:\"actionsTriggerIcon\",fn:function(){return [(_vm.loadingAddGroup)?_c('NcLoadingIcon'):_c('Plus',{attrs:{\"size\":20}})]},proxy:true},{key:\"actions\",fn:function(){return [_c('NcActionText',{scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AccountGroup',{attrs:{\"size\":20}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Create group'))+\"\\n\\t\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionInput',{attrs:{\"label\":_vm.t('settings', 'Group name'),\"label-outside\":false,\"disabled\":_vm.loadingAddGroup,\"value\":_vm.newGroupName,\"error\":_vm.hasAddGroupError,\"helper-text\":_vm.hasAddGroupError ? _vm.t('settings', 'Please enter a valid group name') : ''},on:{\"update:value\":function($event){_vm.newGroupName=$event},\"submit\":_vm.createGroup}})]},proxy:true}])}),_vm._v(\" \"),_vm._l((_vm.groupList),function(group){return _c('GroupListItem',{key:group.id,attrs:{\"id\":group.id,\"active\":_vm.selectedGroupDecoded === group.id,\"name\":group.title,\"count\":group.count}})})]},proxy:true},{key:\"footer\",fn:function(){return [_c('ul',{staticClass:\"app-navigation-entry__settings\"},[_c('NcAppNavigationItem',{attrs:{\"name\":_vm.t('settings', 'User management settings')},on:{\"click\":function($event){_vm.isDialogOpen = true}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Cog',{attrs:{\"size\":20}})]},proxy:true}])})],1)]},proxy:true}])},[_c('NcAppNavigationNew',{attrs:{\"button-id\":\"new-user-button\",\"text\":_vm.t('settings','New user'),\"button-class\":\"icon-add\"},on:{\"click\":_vm.showNewUserMenu,\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.showNewUserMenu.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"]))return null;return _vm.showNewUserMenu.apply(null, arguments)}]},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Plus',{attrs:{\"size\":20}})]},proxy:true}])})],1),_vm._v(\" \"),_c('NcAppContent',[_c('UserList',{attrs:{\"selected-group\":_vm.selectedGroupDecoded,\"external-actions\":_vm.externalActions}})],1)],1),_vm._v(\" \"),_c('UserSettingsDialog',{attrs:{\"open\":_vm.isDialogOpen},on:{\"update:open\":function($event){_vm.isDialogOpen=$event}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountOff.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountOff.vue?vue&type=script&lang=js&\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon account-off-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,4A4,4 0 0,1 16,8C16,9.95 14.6,11.58 12.75,11.93L8.07,7.25C8.42,5.4 10.05,4 12,4M12.28,14L18.28,20L20,21.72L18.73,23L15.73,20H4V18C4,16.16 6.5,14.61 9.87,14.14L2.78,7.05L4.05,5.78L12.28,14M20,18V19.18L15.14,14.32C18,14.93 20,16.35 20,18Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"AccountOffIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./AccountOff.vue?vue&type=template&id=4a2e1178&\"\nimport script from \"./AccountOff.vue?vue&type=script&lang=js&\"\nexport * from \"./AccountOff.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon account-off-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,4A4,4 0 0,1 16,8C16,9.95 14.6,11.58 12.75,11.93L8.07,7.25C8.42,5.4 10.05,4 12,4M12.28,14L18.28,20L20,21.72L18.73,23L15.73,20H4V18C4,16.16 6.5,14.61 9.87,14.14L2.78,7.05L4.05,5.78L12.28,14M20,18V19.18L15.14,14.32C18,14.93 20,16.35 20,18Z\"}},[(_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!./ShieldAccount.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ShieldAccount.vue?vue&type=script&lang=js&\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon shield-account-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1M12,5A3,3 0 0,1 15,8A3,3 0 0,1 12,11A3,3 0 0,1 9,8A3,3 0 0,1 12,5M17.13,17C15.92,18.85 14.11,20.24 12,20.92C9.89,20.24 8.08,18.85 6.87,17C6.53,16.5 6.24,16 6,15.47C6,13.82 8.71,12.47 12,12.47C15.29,12.47 18,13.79 18,15.47C17.76,16 17.47,16.5 17.13,17Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ShieldAccountIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./ShieldAccount.vue?vue&type=template&id=3937f138&\"\nimport script from \"./ShieldAccount.vue?vue&type=script&lang=js&\"\nexport * from \"./ShieldAccount.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 shield-account-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1M12,5A3,3 0 0,1 15,8A3,3 0 0,1 12,11A3,3 0 0,1 9,8A3,3 0 0,1 12,5M17.13,17C15.92,18.85 14.11,20.24 12,20.92C9.89,20.24 8.08,18.85 6.87,17C6.53,16.5 6.24,16 6,15.47C6,13.82 8.71,12.47 12,12.47C15.29,12.47 18,13.79 18,15.47C17.76,16 17.47,16.5 17.13,17Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2021 Martin Jänel <spammemore@posteo.de>\n -\n - @author Martin Jänel <spammemore@posteo.de>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<Fragment>\n\t\t<NcModal v-if=\"showRemoveGroupModal\"\n\t\t\t@close=\"showRemoveGroupModal = false\">\n\t\t\t<div class=\"modal__content\">\n\t\t\t\t<h2 class=\"modal__header\">\n\t\t\t\t\t{{ t('settings', 'Please confirm the group removal') }}\n\t\t\t\t</h2>\n\t\t\t\t<NcNoteCard type=\"warning\"\n\t\t\t\t\tshow-alert>\n\t\t\t\t\t{{ t('settings', 'You are about to remove the group \"{group}\". The users will NOT be deleted.', { group: name }) }}\n\t\t\t\t</NcNoteCard>\n\t\t\t\t<div class=\"modal__button-row\">\n\t\t\t\t\t<NcButton type=\"secondary\"\n\t\t\t\t\t\t@click=\"showRemoveGroupModal = false\">\n\t\t\t\t\t\t{{ t('settings', 'Cancel') }}\n\t\t\t\t\t</NcButton>\n\t\t\t\t\t<NcButton type=\"primary\"\n\t\t\t\t\t\t@click=\"removeGroup\">\n\t\t\t\t\t\t{{ t('settings', 'Confirm') }}\n\t\t\t\t\t</NcButton>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</NcModal>\n\n\t\t<NcAppNavigationItem :key=\"id\"\n\t\t\t:exact=\"true\"\n\t\t\t:name=\"name\"\n\t\t\t:to=\"{ name: 'group', params: { selectedGroup: encodeURIComponent(id) } }\"\n\t\t\t:loading=\"loadingRenameGroup\"\n\t\t\t:menu-open=\"openGroupMenu\"\n\t\t\t@update:menuOpen=\"handleGroupMenuOpen\">\n\t\t\t<template #icon>\n\t\t\t\t<AccountGroup :size=\"20\" />\n\t\t\t</template>\n\t\t\t<template #counter>\n\t\t\t\t<NcCounterBubble v-if=\"count\"\n\t\t\t\t\t:type=\"active ? 'highlighted' : undefined\">\n\t\t\t\t\t{{ count }}\n\t\t\t\t</NcCounterBubble>\n\t\t\t</template>\n\t\t\t<template #actions>\n\t\t\t\t<NcActionInput v-if=\"id !== 'admin' && id !== 'disabled' && settings.isAdmin\"\n\t\t\t\t\tref=\"displayNameInput\"\n\t\t\t\t\t:trailing-button-label=\"t('settings', 'Submit')\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t:value=\"name\"\n\t\t\t\t\t:label=\" t('settings', 'Rename group')\"\n\t\t\t\t\t@submit=\"renameGroup(id)\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcActionInput>\n\t\t\t\t<NcActionButton v-if=\"id !== 'admin' && id !== 'disabled' && settings.isAdmin\"\n\t\t\t\t\t@click=\"showRemoveGroupModal = true\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Delete :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ t('settings', 'Remove group') }}\n\t\t\t\t</NcActionButton>\n\t\t\t</template>\n\t\t</NcAppNavigationItem>\n\t</Fragment>\n</template>\n\n<script>\nimport { Fragment } from 'vue-frag'\n\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\nimport NcActionInput from '@nextcloud/vue/dist/Components/NcActionInput.js'\nimport NcAppNavigationItem from '@nextcloud/vue/dist/Components/NcAppNavigationItem.js'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport NcCounterBubble from '@nextcloud/vue/dist/Components/NcCounterBubble.js'\nimport NcModal from '@nextcloud/vue/dist/Components/NcModal.js'\nimport NcNoteCard from '@nextcloud/vue/dist/Components/NcNoteCard.js'\n\nimport AccountGroup from 'vue-material-design-icons/AccountGroup.vue'\nimport Delete from 'vue-material-design-icons/Delete.vue'\nimport Pencil from 'vue-material-design-icons/Pencil.vue'\n\nimport { showError } from '@nextcloud/dialogs'\n\nexport default {\n\tname: 'GroupListItem',\n\tcomponents: {\n\t\tAccountGroup,\n\t\tDelete,\n\t\tFragment,\n\t\tNcActionButton,\n\t\tNcActionInput,\n\t\tNcAppNavigationItem,\n\t\tNcButton,\n\t\tNcCounterBubble,\n\t\tNcModal,\n\t\tNcNoteCard,\n\t\tPencil,\n\t},\n\tprops: {\n\t\t/**\n\t\t * If this group is currently selected\n\t\t */\n\t\tactive: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\t/**\n\t\t * Number of members within this group\n\t\t */\n\t\tcount: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Identifier of this group\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\t/**\n\t\t * Name of this group\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tloadingRenameGroup: false,\n\t\t\topenGroupMenu: false,\n\t\t\tshowRemoveGroupModal: false,\n\t\t}\n\t},\n\tcomputed: {\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData\n\t\t},\n\t},\n\tmethods: {\n\t\thandleGroupMenuOpen() {\n\t\t\tthis.openGroupMenu = true\n\t\t},\n\t\tasync renameGroup(gid) {\n\t\t\t// check if group id is valid\n\t\t\tif (gid.trim() === '') {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst displayName = this.$refs.displayNameInput.$el.querySelector('input[type=\"text\"]').value\n\n\t\t\t// check if group name is valid\n\t\t\tif (displayName.trim() === '') {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tthis.openGroupMenu = false\n\t\t\t\tthis.loadingRenameGroup = true\n\t\t\t\tawait this.$store.dispatch('renameGroup', {\n\t\t\t\t\tgroupid: gid.trim(),\n\t\t\t\t\tdisplayName: displayName.trim(),\n\t\t\t\t})\n\n\t\t\t\tthis.loadingRenameGroup = false\n\t\t\t} catch {\n\t\t\t\tthis.openGroupMenu = true\n\t\t\t\tthis.loadingRenameGroup = false\n\t\t\t}\n\t\t},\n\t\tasync removeGroup() {\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('removeGroup', this.id)\n\t\t\t\tthis.showRemoveGroupModal = false\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('settings', 'Failed to remove group \"{group}\"', { group: this.name }))\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.modal {\n\t&__header {\n\t\tmargin: 0;\n\t}\n\n\t&__content {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tpadding: 20px;\n\t\tgap: 4px 0;\n\t}\n\n\t&__button-row {\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\tjustify-content: space-between;\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupListItem.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!./GroupListItem.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!./GroupListItem.vue?vue&type=style&index=0&id=36dd2d08&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!./GroupListItem.vue?vue&type=style&index=0&id=36dd2d08&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./GroupListItem.vue?vue&type=template&id=36dd2d08&scoped=true&\"\nimport script from \"./GroupListItem.vue?vue&type=script&lang=js&\"\nexport * from \"./GroupListItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GroupListItem.vue?vue&type=style&index=0&id=36dd2d08&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 \"36dd2d08\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Fragment',[(_vm.showRemoveGroupModal)?_c('NcModal',{on:{\"close\":function($event){_vm.showRemoveGroupModal = false}}},[_c('div',{staticClass:\"modal__content\"},[_c('h2',{staticClass:\"modal__header\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Please confirm the group removal'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcNoteCard',{attrs:{\"type\":\"warning\",\"show-alert\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'You are about to remove the group \"{group}\". The users will NOT be deleted.', { group: _vm.name }))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"modal__button-row\"},[_c('NcButton',{attrs:{\"type\":\"secondary\"},on:{\"click\":function($event){_vm.showRemoveGroupModal = false}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Cancel'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.removeGroup}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Confirm'))+\"\\n\\t\\t\\t\\t\")])],1)],1)]):_vm._e(),_vm._v(\" \"),_c('NcAppNavigationItem',{key:_vm.id,attrs:{\"exact\":true,\"name\":_vm.name,\"to\":{ name: 'group', params: { selectedGroup: encodeURIComponent(_vm.id) } },\"loading\":_vm.loadingRenameGroup,\"menu-open\":_vm.openGroupMenu},on:{\"update:menuOpen\":_vm.handleGroupMenuOpen},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AccountGroup',{attrs:{\"size\":20}})]},proxy:true},{key:\"counter\",fn:function(){return [(_vm.count)?_c('NcCounterBubble',{attrs:{\"type\":_vm.active ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.count)+\"\\n\\t\\t\\t\")]):_vm._e()]},proxy:true},{key:\"actions\",fn:function(){return [(_vm.id !== 'admin' && _vm.id !== 'disabled' && _vm.settings.isAdmin)?_c('NcActionInput',{ref:\"displayNameInput\",attrs:{\"trailing-button-label\":_vm.t('settings', 'Submit'),\"type\":\"text\",\"value\":_vm.name,\"label\":_vm.t('settings', 'Rename group')},on:{\"submit\":function($event){return _vm.renameGroup(_vm.id)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Pencil',{attrs:{\"size\":20}})]},proxy:true}],null,false,580569589)}):_vm._e(),_vm._v(\" \"),(_vm.id !== 'admin' && _vm.id !== 'disabled' && _vm.settings.isAdmin)?_c('NcActionButton',{on:{\"click\":function($event){_vm.showRemoveGroupModal = true}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Delete',{attrs:{\"size\":20}})]},proxy:true}],null,false,2705356561)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Remove group'))+\"\\n\\t\\t\\t\")]):_vm._e()]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('table',{staticClass:\"user-list\"},[_vm._t(\"before\"),_vm._v(\" \"),_c('thead',{ref:\"thead\",staticClass:\"user-list__header\",attrs:{\"role\":\"rowgroup\"}},[_vm._t(\"header\")],2),_vm._v(\" \"),_c('tbody',{staticClass:\"user-list__body\",style:(_vm.tbodyStyle)},_vm._l((_vm.renderedItems),function(item,i){return _c(_vm.dataComponent,_vm._b({key:item[_vm.dataKey],tag:\"component\",attrs:{\"user\":item,\"visible\":(i >= _vm.bufferItems || _vm.index <= _vm.bufferItems) && (i < _vm.shownItems - _vm.bufferItems)}},'component',_vm.extraProps,false))}),1),_vm._v(\" \"),_c('tfoot',{directives:[{name:\"element-visibility\",rawName:\"v-element-visibility\",value:(_vm.handleFooterVisibility),expression:\"handleFooterVisibility\"}],ref:\"tfoot\",staticClass:\"user-list__footer\",attrs:{\"role\":\"rowgroup\"}},[_vm._t(\"footer\")],2)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=script&lang=ts&\"","\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!./VirtualList.vue?vue&type=style&index=0&id=4377829d&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!./VirtualList.vue?vue&type=style&index=0&id=4377829d&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./VirtualList.vue?vue&type=template&id=4377829d&scoped=true&\"\nimport script from \"./VirtualList.vue?vue&type=script&lang=ts&\"\nexport * from \"./VirtualList.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./VirtualList.vue?vue&type=style&index=0&id=4377829d&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 \"4377829d\",\n null\n \n)\n\nexport default component.exports","<!--\n\t- @copyright 2023 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<NcModal class=\"modal\"\n\t\tsize=\"small\"\n\t\tv-on=\"$listeners\">\n\t\t<form class=\"modal__form\"\n\t\t\tdata-test=\"form\"\n\t\t\t:disabled=\"loading.all\"\n\t\t\t@submit.prevent=\"createUser\">\n\t\t\t<h2>{{ t('settings', 'New user') }}</h2>\n\t\t\t<NcTextField ref=\"username\"\n\t\t\t\tclass=\"modal__item\"\n\t\t\t\tdata-test=\"username\"\n\t\t\t\t:value.sync=\"newUser.id\"\n\t\t\t\t:disabled=\"settings.newUserGenerateUserID\"\n\t\t\t\t:label=\"usernameLabel\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\tautocorrect=\"off\"\n\t\t\t\tpattern=\"[a-zA-Z0-9 _\\.@\\-']+\"\n\t\t\t\trequired />\n\t\t\t<NcTextField class=\"modal__item\"\n\t\t\t\tdata-test=\"displayName\"\n\t\t\t\t:value.sync=\"newUser.displayName\"\n\t\t\t\t:label=\"t('settings', 'Display name')\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\tautocorrect=\"off\" />\n\t\t\t<span v-if=\"!settings.newUserRequireEmail\"\n\t\t\t\tid=\"password-email-hint\"\n\t\t\t\tclass=\"modal__hint\">\n\t\t\t\t{{ t('settings', 'Either password or email is required') }}\n\t\t\t</span>\n\t\t\t<NcPasswordField ref=\"password\"\n\t\t\t\tclass=\"modal__item\"\n\t\t\t\tdata-test=\"password\"\n\t\t\t\t:value.sync=\"newUser.password\"\n\t\t\t\t:minlength=\"minPasswordLength\"\n\t\t\t\t:maxlength=\"469\"\n\t\t\t\taria-describedby=\"password-email-hint\"\n\t\t\t\t:label=\"newUser.mailAddress === '' ? t('settings', 'Password (required)') : t('settings', 'Password')\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\tautocorrect=\"off\"\n\t\t\t\t:required=\"newUser.mailAddress === ''\" />\n\t\t\t<NcTextField class=\"modal__item\"\n\t\t\t\tdata-test=\"email\"\n\t\t\t\ttype=\"email\"\n\t\t\t\t:value.sync=\"newUser.mailAddress\"\n\t\t\t\taria-describedby=\"password-email-hint\"\n\t\t\t\t:label=\"newUser.password === '' || settings.newUserRequireEmail ? t('settings', 'Email (required)') : t('settings', 'Email')\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\tautocorrect=\"off\"\n\t\t\t\t:required=\"newUser.password === '' || settings.newUserRequireEmail\" />\n\t\t\t<div class=\"modal__item\">\n\t\t\t\t<!-- hidden input trick for vanilla html5 form validation -->\n\t\t\t\t<NcTextField v-if=\"!settings.isAdmin\"\n\t\t\t\t\tid=\"new-user-groups-input\"\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\t:class=\"{ 'icon-loading-small': loading.groups }\"\n\t\t\t\t\t:value=\"newUser.groups\"\n\t\t\t\t\t:required=\"!settings.isAdmin\" />\n\t\t\t\t<label class=\"modal__label\"\n\t\t\t\t\tfor=\"new-user-groups\">\n\t\t\t\t\t{{ !settings.isAdmin ? t('settings', 'Groups (required)') : t('settings', 'Groups') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect class=\"modal__select\"\n\t\t\t\t\tinput-id=\"new-user-groups\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Set user groups')\"\n\t\t\t\t\t:disabled=\"loading.groups || loading.all\"\n\t\t\t\t\t:options=\"canAddGroups\"\n\t\t\t\t\t:value=\"newUser.groups\"\n\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t:close-on-select=\"false\"\n\t\t\t\t\t:multiple=\"true\"\n\t\t\t\t\t:taggable=\"true\"\n\t\t\t\t\t@input=\"handleGroupInput\"\n\t\t\t\t\t@option:created=\"createGroup\" />\n\t\t\t\t\t<!-- If user is not admin, he is a subadmin.\n\t\t\t\t\t\tSubadmins can't create users outside their groups\n\t\t\t\t\t\tTherefore, empty select is forbidden -->\n\t\t\t</div>\n\t\t\t<div v-if=\"subAdminsGroups.length > 0 && settings.isAdmin\"\n\t\t\t\tclass=\"modal__item\">\n\t\t\t\t<label class=\"modal__label\"\n\t\t\t\t\tfor=\"new-user-sub-admin\">\n\t\t\t\t\t{{ t('settings', 'Administered groups') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect v-model=\"newUser.subAdminsGroups\"\n\t\t\t\t\tclass=\"modal__select\"\n\t\t\t\t\tinput-id=\"new-user-sub-admin\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Set user as admin for …')\"\n\t\t\t\t\t:options=\"subAdminsGroups\"\n\t\t\t\t\t:close-on-select=\"false\"\n\t\t\t\t\t:multiple=\"true\"\n\t\t\t\t\tlabel=\"name\" />\n\t\t\t</div>\n\t\t\t<div class=\"modal__item\">\n\t\t\t\t<label class=\"modal__label\"\n\t\t\t\t\tfor=\"new-user-quota\">\n\t\t\t\t\t{{ t('settings', 'Quota') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect v-model=\"newUser.quota\"\n\t\t\t\t\tclass=\"modal__select\"\n\t\t\t\t\tinput-id=\"new-user-quota\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Set user quota')\"\n\t\t\t\t\t:options=\"quotaOptions\"\n\t\t\t\t\t:clearable=\"false\"\n\t\t\t\t\t:taggable=\"true\"\n\t\t\t\t\t:create-option=\"validateQuota\" />\n\t\t\t</div>\n\t\t\t<div v-if=\"showConfig.showLanguages\"\n\t\t\t\tclass=\"modal__item\">\n\t\t\t\t<label class=\"modal__label\"\n\t\t\t\t\tfor=\"new-user-language\">\n\t\t\t\t\t{{ t('settings', 'Language') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect\tv-model=\"newUser.language\"\n\t\t\t\t\tclass=\"modal__select\"\n\t\t\t\t\tinput-id=\"new-user-language\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Set default language')\"\n\t\t\t\t\t:clearable=\"false\"\n\t\t\t\t\t:selectable=\"option => !option.languages\"\n\t\t\t\t\t:filter-by=\"languageFilterBy\"\n\t\t\t\t\t:options=\"languages\"\n\t\t\t\t\tlabel=\"name\" />\n\t\t\t</div>\n\t\t\t<div :class=\"['modal__item managers', { 'icon-loading-small': loading.manager }]\">\n\t\t\t\t<label class=\"modal__label\"\n\t\t\t\t\tfor=\"new-user-manager\">\n\t\t\t\t\t<!-- TRANSLATORS This string describes a manager in the context of an organization -->\n\t\t\t\t\t{{ t('settings', 'Manager') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect v-model=\"newUser.manager\"\n\t\t\t\t\tclass=\"modal__select\"\n\t\t\t\t\tinput-id=\"new-user-manager\"\n\t\t\t\t\t:placeholder=\"managerLabel\"\n\t\t\t\t\t:options=\"possibleManagers\"\n\t\t\t\t\t:user-select=\"true\"\n\t\t\t\t\tlabel=\"displayname\"\n\t\t\t\t\t@search=\"searchUserManager\" />\n\t\t\t</div>\n\t\t\t<NcButton class=\"modal__submit\"\n\t\t\t\tdata-test=\"submit\"\n\t\t\t\ttype=\"primary\"\n\t\t\t\tnative-type=\"submit\">\n\t\t\t\t{{ t('settings', 'Add new user') }}\n\t\t\t</NcButton>\n\t\t</form>\n\t</NcModal>\n</template>\n\n<script>\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport NcModal from '@nextcloud/vue/dist/Components/NcModal.js'\nimport NcPasswordField from '@nextcloud/vue/dist/Components/NcPasswordField.js'\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\nimport NcTextField from '@nextcloud/vue/dist/Components/NcTextField.js'\n\nexport default {\n\tname: 'NewUserModal',\n\n\tcomponents: {\n\t\tNcButton,\n\t\tNcModal,\n\t\tNcPasswordField,\n\t\tNcSelect,\n\t\tNcTextField,\n\t},\n\n\tprops: {\n\t\tloading: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\n\t\tnewUser: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\n\t\tquotaOptions: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tpossibleManagers: [],\n\t\t\t// TRANSLATORS This string describes a manager in the context of an organization\n\t\t\tmanagerLabel: t('settings', 'Set user manager'),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData\n\t\t},\n\n\t\tusernameLabel() {\n\t\t\tif (this.settings.newUserGenerateUserID) {\n\t\t\t\treturn t('settings', 'Username will be autogenerated')\n\t\t\t}\n\t\t\treturn t('settings', 'Username (required)')\n\t\t},\n\n\t\tminPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength\n\t\t},\n\n\t\tgroups() {\n\t\t\t// data provided php side + remove the disabled group\n\t\t\treturn this.$store.getters.getGroups\n\t\t\t\t.filter(group => group.id !== 'disabled')\n\t\t\t\t.sort((a, b) => a.name.localeCompare(b.name))\n\t\t},\n\n\t\tsubAdminsGroups() {\n\t\t\t// data provided php side\n\t\t\treturn this.$store.getters.getSubadminGroups\n\t\t},\n\n\t\tcanAddGroups() {\n\t\t\t// disabled if no permission to add new users to group\n\t\t\treturn this.groups.map(group => {\n\t\t\t\t// clone object because we don't want\n\t\t\t\t// to edit the original groups\n\t\t\t\tgroup = Object.assign({}, group)\n\t\t\t\tgroup.$isDisabled = group.canAdd === false\n\t\t\t\treturn group\n\t\t\t})\n\t\t},\n\n\t\tlanguages() {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tname: t('settings', 'Common languages'),\n\t\t\t\t\tlanguages: this.settings.languages.commonLanguages,\n\t\t\t\t},\n\t\t\t\t...this.settings.languages.commonLanguages,\n\t\t\t\t{\n\t\t\t\t\tname: t('settings', 'Other languages'),\n\t\t\t\t\tlanguages: this.settings.languages.otherLanguages,\n\t\t\t\t},\n\t\t\t\t...this.settings.languages.otherLanguages,\n\t\t\t]\n\t\t},\n\t},\n\n\tasync beforeMount() {\n\t\tawait this.searchUserManager()\n\t},\n\n\tmethods: {\n\t\tasync createUser() {\n\t\t\tthis.loading.all = true\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('addUser', {\n\t\t\t\t\tuserid: this.newUser.id,\n\t\t\t\t\tpassword: this.newUser.password,\n\t\t\t\t\tdisplayName: this.newUser.displayName,\n\t\t\t\t\temail: this.newUser.mailAddress,\n\t\t\t\t\tgroups: this.newUser.groups.map(group => group.id),\n\t\t\t\t\tsubadmin: this.newUser.subAdminsGroups.map(group => group.id),\n\t\t\t\t\tquota: this.newUser.quota.id,\n\t\t\t\t\tlanguage: this.newUser.language.code,\n\t\t\t\t\tmanager: this.newUser.manager.id,\n\t\t\t\t})\n\n\t\t\t\tthis.$emit('reset')\n\t\t\t\tthis.$refs.username?.$refs?.inputField?.$refs?.input?.focus?.()\n\t\t\t\tthis.$emit('close')\n\t\t\t} catch (error) {\n\t\t\t\tthis.loading.all = false\n\t\t\t\tif (error.response && error.response.data && error.response.data.ocs && error.response.data.ocs.meta) {\n\t\t\t\t\tconst statuscode = error.response.data.ocs.meta.statuscode\n\t\t\t\t\tif (statuscode === 102) {\n\t\t\t\t\t\t// wrong username\n\t\t\t\t\t\tthis.$refs.username?.$refs?.inputField?.$refs?.input?.focus?.()\n\t\t\t\t\t} else if (statuscode === 107) {\n\t\t\t\t\t\t// wrong password\n\t\t\t\t\t\tthis.$refs.password?.$refs?.inputField?.$refs?.input?.focus?.()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\thandleGroupInput(groups) {\n\t\t\t/**\n\t\t\t * Filter out groups with no id to prevent duplicate selected options\n\t\t\t *\n\t\t\t * Created groups are added programmatically by `createGroup()`\n\t\t\t */\n\t\t\t this.newUser.groups = groups.filter(group => Boolean(group.id))\n\t\t},\n\n\t\t/**\n\t\t * Create a new group\n\t\t *\n\t\t * @param {any} group Group\n\t\t * @param {string} group.name Group id\n\t\t */\n\t\tasync createGroup({ name: gid }) {\n\t\t\tthis.loading.groups = true\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('addGroup', gid)\n\t\t\t\tthis.newUser.groups.push(this.groups.find(group => group.id === gid))\n\t\t\t\tthis.loading.groups = false\n\t\t\t} catch (error) {\n\t\t\t\tthis.loading.groups = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t *\n\t\t * @param {string} quota Quota in readable format '5 GB'\n\t\t * @return {object}\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tconst validQuota = OC.Util.computerFileSize(quota)\n\t\t\tif (validQuota !== null && validQuota >= 0) {\n\t\t\t\t// unify format output\n\t\t\t\tquota = OC.Util.humanFileSize(OC.Util.computerFileSize(quota))\n\t\t\t\tthis.newUser.quota = { id: quota, label: quota }\n\t\t\t\treturn this.newUser.quota\n\t\t\t}\n\t\t\t// Default is unlimited\n\t\t\tthis.newUser.quota = this.quotaOptions[0]\n\t\t\treturn this.quotaOptions[0]\n\t\t},\n\n\t\tlanguageFilterBy(option, label, search) {\n\t\t\t// Show group header of the language\n\t\t\tif (option.languages) {\n\t\t\t\treturn option.languages.some(\n\t\t\t\t\t({ name }) => name.toLocaleLowerCase().includes(search.toLocaleLowerCase()),\n\t\t\t\t)\n\t\t\t}\n\n\t\t\treturn (label || '').toLocaleLowerCase().includes(search.toLocaleLowerCase())\n\t\t},\n\n\t\tasync searchUserManager(query) {\n\t\t\tawait this.$store.dispatch(\n\t\t\t\t'searchUsers',\n\t\t\t\t{\n\t\t\t\t\toffset: 0,\n\t\t\t\t\tlimit: 10,\n\t\t\t\t\tsearch: query,\n\t\t\t\t},\n\t\t\t).then(response => {\n\t\t\t\tconst users = response?.data ? Object.values(response?.data.ocs.data.users) : []\n\t\t\t\tif (users.length > 0) {\n\t\t\t\t\tthis.possibleManagers = users\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.modal {\n\t&__form {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tpadding: 20px;\n\t\tgap: 4px 0;\n\n\t\t/* fake input for groups validation */\n\t\t#new-user-groups-input {\n\t\t\tposition: absolute;\n\t\t\topacity: 0;\n\t\t\t/* The \"hidden\" input is behind the NcSelect, so in general it does\n\t\t\t* not receives clicks. However, with Firefox, after the validation\n\t\t\t* fails, it will receive the first click done on it, so its width needs\n\t\t\t* to be set to 0 to prevent that (\"pointer-events: none\" does not\n\t\t\t* prevent it). */\n\t\t\twidth: 0;\n\t\t}\n\t}\n\n\t&__item {\n\t\twidth: 100%;\n\n\t\t&:not(:focus):not(:active) {\n\t\t\tborder-color: var(--color-border-dark);\n\t\t}\n\t}\n\n\t&__hint {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tmargin-top: 8px;\n\t\talign-self: flex-start;\n\t}\n\n\t&__label {\n\t\tdisplay: block;\n\t\tpadding: 4px 0;\n\t}\n\n\t&__select {\n\t\twidth: 100%;\n\t}\n\n\t&__submit {\n\t\tmargin-top: 20px;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewUserModal.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!./NewUserModal.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!./NewUserModal.vue?vue&type=style&index=0&id=29bc5eca&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!./NewUserModal.vue?vue&type=style&index=0&id=29bc5eca&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./NewUserModal.vue?vue&type=template&id=29bc5eca&scoped=true&\"\nimport script from \"./NewUserModal.vue?vue&type=script&lang=js&\"\nexport * from \"./NewUserModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NewUserModal.vue?vue&type=style&index=0&id=29bc5eca&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 \"29bc5eca\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcModal',_vm._g({staticClass:\"modal\",attrs:{\"size\":\"small\"}},_vm.$listeners),[_c('form',{staticClass:\"modal__form\",attrs:{\"data-test\":\"form\",\"disabled\":_vm.loading.all},on:{\"submit\":function($event){$event.preventDefault();return _vm.createUser.apply(null, arguments)}}},[_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'New user')))]),_vm._v(\" \"),_c('NcTextField',{ref:\"username\",staticClass:\"modal__item\",attrs:{\"data-test\":\"username\",\"value\":_vm.newUser.id,\"disabled\":_vm.settings.newUserGenerateUserID,\"label\":_vm.usernameLabel,\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"autocorrect\":\"off\",\"pattern\":\"[a-zA-Z0-9 _\\\\.@\\\\-']+\",\"required\":\"\"},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"id\", $event)}}}),_vm._v(\" \"),_c('NcTextField',{staticClass:\"modal__item\",attrs:{\"data-test\":\"displayName\",\"value\":_vm.newUser.displayName,\"label\":_vm.t('settings', 'Display name'),\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"autocorrect\":\"off\"},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"displayName\", $event)}}}),_vm._v(\" \"),(!_vm.settings.newUserRequireEmail)?_c('span',{staticClass:\"modal__hint\",attrs:{\"id\":\"password-email-hint\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Either password or email is required'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcPasswordField',{ref:\"password\",staticClass:\"modal__item\",attrs:{\"data-test\":\"password\",\"value\":_vm.newUser.password,\"minlength\":_vm.minPasswordLength,\"maxlength\":469,\"aria-describedby\":\"password-email-hint\",\"label\":_vm.newUser.mailAddress === '' ? _vm.t('settings', 'Password (required)') : _vm.t('settings', 'Password'),\"autocapitalize\":\"none\",\"autocomplete\":\"new-password\",\"autocorrect\":\"off\",\"required\":_vm.newUser.mailAddress === ''},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"password\", $event)}}}),_vm._v(\" \"),_c('NcTextField',{staticClass:\"modal__item\",attrs:{\"data-test\":\"email\",\"type\":\"email\",\"value\":_vm.newUser.mailAddress,\"aria-describedby\":\"password-email-hint\",\"label\":_vm.newUser.password === '' || _vm.settings.newUserRequireEmail ? _vm.t('settings', 'Email (required)') : _vm.t('settings', 'Email'),\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"autocorrect\":\"off\",\"required\":_vm.newUser.password === '' || _vm.settings.newUserRequireEmail},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"mailAddress\", $event)}}}),_vm._v(\" \"),_c('div',{staticClass:\"modal__item\"},[(!_vm.settings.isAdmin)?_c('NcTextField',{class:{ 'icon-loading-small': _vm.loading.groups },attrs:{\"id\":\"new-user-groups-input\",\"tabindex\":\"-1\",\"value\":_vm.newUser.groups,\"required\":!_vm.settings.isAdmin}}):_vm._e(),_vm._v(\" \"),_c('label',{staticClass:\"modal__label\",attrs:{\"for\":\"new-user-groups\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(!_vm.settings.isAdmin ? _vm.t('settings', 'Groups (required)') : _vm.t('settings', 'Groups'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"modal__select\",attrs:{\"input-id\":\"new-user-groups\",\"placeholder\":_vm.t('settings', 'Set user groups'),\"disabled\":_vm.loading.groups || _vm.loading.all,\"options\":_vm.canAddGroups,\"value\":_vm.newUser.groups,\"label\":\"name\",\"close-on-select\":false,\"multiple\":true,\"taggable\":true},on:{\"input\":_vm.handleGroupInput,\"option:created\":_vm.createGroup}})],1),_vm._v(\" \"),(_vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin)?_c('div',{staticClass:\"modal__item\"},[_c('label',{staticClass:\"modal__label\",attrs:{\"for\":\"new-user-sub-admin\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Administered groups'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"modal__select\",attrs:{\"input-id\":\"new-user-sub-admin\",\"placeholder\":_vm.t('settings', 'Set user as admin for …'),\"options\":_vm.subAdminsGroups,\"close-on-select\":false,\"multiple\":true,\"label\":\"name\"},model:{value:(_vm.newUser.subAdminsGroups),callback:function ($$v) {_vm.$set(_vm.newUser, \"subAdminsGroups\", $$v)},expression:\"newUser.subAdminsGroups\"}})],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"modal__item\"},[_c('label',{staticClass:\"modal__label\",attrs:{\"for\":\"new-user-quota\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Quota'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"modal__select\",attrs:{\"input-id\":\"new-user-quota\",\"placeholder\":_vm.t('settings', 'Set user quota'),\"options\":_vm.quotaOptions,\"clearable\":false,\"taggable\":true,\"create-option\":_vm.validateQuota},model:{value:(_vm.newUser.quota),callback:function ($$v) {_vm.$set(_vm.newUser, \"quota\", $$v)},expression:\"newUser.quota\"}})],1),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('div',{staticClass:\"modal__item\"},[_c('label',{staticClass:\"modal__label\",attrs:{\"for\":\"new-user-language\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Language'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"modal__select\",attrs:{\"input-id\":\"new-user-language\",\"placeholder\":_vm.t('settings', 'Set default language'),\"clearable\":false,\"selectable\":option => !option.languages,\"filter-by\":_vm.languageFilterBy,\"options\":_vm.languages,\"label\":\"name\"},model:{value:(_vm.newUser.language),callback:function ($$v) {_vm.$set(_vm.newUser, \"language\", $$v)},expression:\"newUser.language\"}})],1):_vm._e(),_vm._v(\" \"),_c('div',{class:['modal__item managers', { 'icon-loading-small': _vm.loading.manager }]},[_c('label',{staticClass:\"modal__label\",attrs:{\"for\":\"new-user-manager\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Manager'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"modal__select\",attrs:{\"input-id\":\"new-user-manager\",\"placeholder\":_vm.managerLabel,\"options\":_vm.possibleManagers,\"user-select\":true,\"label\":\"displayname\"},on:{\"search\":_vm.searchUserManager},model:{value:(_vm.newUser.manager),callback:function ($$v) {_vm.$set(_vm.newUser, \"manager\", $$v)},expression:\"newUser.manager\"}})],1),_vm._v(\" \"),_c('NcButton',{staticClass:\"modal__submit\",attrs:{\"data-test\":\"submit\",\"type\":\"primary\",\"native-type\":\"submit\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Add new user'))+\"\\n\\t\\t\")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListFooter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListFooter.vue?vue&type=script&lang=ts&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"footer\"},[_c('th',{attrs:{\"scope\":\"row\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Total rows summary')))])]),_vm._v(\" \"),_c('td',{staticClass:\"footer__cell footer__cell--loading\"},[(_vm.loading)?_c('NcLoadingIcon',{attrs:{\"title\":_vm.t('settings', 'Loading users …'),\"size\":32}}):_vm._e()],1),_vm._v(\" \"),_c('td',{staticClass:\"footer__cell footer__cell--count footer__cell--multiline\"},[_c('span',{attrs:{\"aria-describedby\":\"user-count-desc\"}},[_vm._v(_vm._s(_vm.userCount))]),_vm._v(\" \"),_c('span',{staticClass:\"hidden-visually\",attrs:{\"id\":\"user-count-desc\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Scroll to load more rows'))+\"\\n\\t\\t\")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListFooter.vue?vue&type=style&index=0&id=5b39b95a&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!./UserListFooter.vue?vue&type=style&index=0&id=5b39b95a&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserListFooter.vue?vue&type=template&id=5b39b95a&scoped=true&\"\nimport script from \"./UserListFooter.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserListFooter.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./UserListFooter.vue?vue&type=style&index=0&id=5b39b95a&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 \"5b39b95a\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListHeader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListHeader.vue?vue&type=script&lang=ts&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"header\"},[_c('th',{staticClass:\"header__cell header__cell--avatar\",attrs:{\"scope\":\"col\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Avatar'))+\"\\n\\t\\t\")])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--displayname\",attrs:{\"scope\":\"col\"}},[_c('strong',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Display name'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('span',{staticClass:\"header__subtitle\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Username'))+\"\\n\\t\\t\")])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell\",class:{ 'header__cell--obfuscated': _vm.hasObfuscated },attrs:{\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.passwordLabel))])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell\",attrs:{\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Email')))])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Groups')))])]),_vm._v(\" \"),(_vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin)?_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Group admin for')))])]):_vm._e(),_vm._v(\" \"),_c('th',{staticClass:\"header__cell\",attrs:{\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Quota')))])]),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Language')))])]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend || _vm.showConfig.showStoragePath)?_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"scope\":\"col\"}},[(_vm.showConfig.showUserBackend)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'User backend'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('span',{staticClass:\"header__subtitle\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Storage location'))+\"\\n\\t\\t\")]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('th',{staticClass:\"header__cell\",attrs:{\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Last login')))])]):_vm._e(),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--large header__cell--fill\",attrs:{\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Manager')))])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--actions\",attrs:{\"scope\":\"col\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'User actions'))+\"\\n\\t\\t\")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListHeader.vue?vue&type=style&index=0&id=05cd17c8&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!./UserListHeader.vue?vue&type=style&index=0&id=05cd17c8&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserListHeader.vue?vue&type=template&id=05cd17c8&scoped=true&\"\nimport script from \"./UserListHeader.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserListHeader.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./UserListHeader.vue?vue&type=style&index=0&id=05cd17c8&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 \"05cd17c8\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRowActions.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRowActions.vue?vue&type=script&lang=ts&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcActions',{attrs:{\"aria-label\":_vm.t('settings', 'Toggle user actions menu'),\"disabled\":_vm.disabled,\"inline\":1}},[_c('NcActionButton',{attrs:{\"data-test-id\":\"button-toggleEdit\",\"data-test\":`${_vm.edit}`,\"disabled\":_vm.disabled},on:{\"click\":_vm.toggleEdit},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{key:_vm.editSvg,attrs:{\"svg\":_vm.editSvg,\"aria-hidden\":\"true\"}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.edit ? _vm.t('settings', 'Done') : _vm.t('settings', 'Edit'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_vm._l((_vm.actions),function({ action, icon, text },index){return _c('NcActionButton',{key:index,attrs:{\"disabled\":_vm.disabled,\"aria-label\":text,\"icon\":icon},on:{\"click\":action}},[_vm._v(\"\\n\\t\\t\"+_vm._s(text)+\"\\n\\t\")])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./UserRowActions.vue?vue&type=template&id=54b3810a&\"\nimport script from \"./UserRowActions.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserRowActions.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Greta Doci <gretadoci@gmail.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default {\n\tprops: {\n\t\tuser: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tsettings: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t\tgroups: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\tsubAdminsGroups: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\tquotaOptions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\tlanguages: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\texternalActions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\tcomputed: {\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\t/* GROUPS MANAGEMENT */\n\t\tuserGroups() {\n\t\t\tconst userGroups = this.groups.filter(group => this.user.groups.includes(group.id))\n\t\t\treturn userGroups\n\t\t},\n\t\tuserSubAdminsGroups() {\n\t\t\tconst userSubAdminsGroups = this.subAdminsGroups.filter(group => this.user.subadmin.includes(group.id))\n\t\t\treturn userSubAdminsGroups\n\t\t},\n\t\tavailableGroups() {\n\t\t\treturn this.groups.map((group) => {\n\t\t\t\t// clone object because we don't want\n\t\t\t\t// to edit the original groups\n\t\t\t\tconst groupClone = Object.assign({}, group)\n\n\t\t\t\t// two settings here:\n\t\t\t\t// 1. user NOT in group but no permission to add\n\t\t\t\t// 2. user is in group but no permission to remove\n\t\t\t\tgroupClone.$isDisabled\n\t\t\t\t\t= (group.canAdd === false\n\t\t\t\t\t\t&& !this.user.groups.includes(group.id))\n\t\t\t\t\t|| (group.canRemove === false\n\t\t\t\t\t\t&& this.user.groups.includes(group.id))\n\t\t\t\treturn groupClone\n\t\t\t})\n\t\t},\n\n\t\t/* QUOTA MANAGEMENT */\n\t\tusedSpace() {\n\t\t\tif (this.user.quota.used) {\n\t\t\t\treturn t('settings', '{size} used', { size: OC.Util.humanFileSize(this.user.quota.used) })\n\t\t\t}\n\t\t\treturn t('settings', '{size} used', { size: OC.Util.humanFileSize(0) })\n\t\t},\n\t\tusedQuota() {\n\t\t\tlet quota = this.user.quota.quota\n\t\t\tif (quota > 0) {\n\t\t\t\tquota = Math.min(100, Math.round(this.user.quota.used / quota * 100))\n\t\t\t} else {\n\t\t\t\tconst usedInGB = this.user.quota.used / (10 * Math.pow(2, 30))\n\t\t\t\t// asymptotic curve approaching 50% at 10GB to visualize used stace with infinite quota\n\t\t\t\tquota = 95 * (1 - (1 / (usedInGB + 1)))\n\t\t\t}\n\t\t\treturn isNaN(quota) ? 0 : quota\n\t\t},\n\t\t// Mapping saved values to objects\n\t\tuserQuota() {\n\t\t\tif (this.user.quota.quota >= 0) {\n\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\tconst humanQuota = OC.Util.humanFileSize(this.user.quota.quota)\n\t\t\t\tconst userQuota = this.quotaOptions.find(quota => quota.id === humanQuota)\n\t\t\t\treturn userQuota || { id: humanQuota, label: humanQuota }\n\t\t\t} else if (this.user.quota.quota === 'default') {\n\t\t\t\t// default quota is replaced by the proper value on load\n\t\t\t\treturn this.quotaOptions[0]\n\t\t\t}\n\t\t\treturn this.quotaOptions[1] // unlimited\n\t\t},\n\n\t\t/* PASSWORD POLICY? */\n\t\tminPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength\n\t\t},\n\n\t\t/* LANGUAGE */\n\t\tuserLanguage() {\n\t\t\tconst availableLanguages = this.languages[0].languages.concat(this.languages[1].languages)\n\t\t\tconst userLang = availableLanguages.find(lang => lang.code === this.user.language)\n\t\t\tif (typeof userLang !== 'object' && this.user.language !== '') {\n\t\t\t\treturn {\n\t\t\t\t\tcode: this.user.language,\n\t\t\t\t\tname: this.user.language,\n\t\t\t\t}\n\t\t\t} else if (this.user.language === '') {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn userLang\n\t\t},\n\n\t\t/* LAST LOGIN */\n\t\tuserLastLoginTooltip() {\n\t\t\tif (this.user.lastLogin > 0) {\n\t\t\t\treturn OC.Util.formatDate(this.user.lastLogin)\n\t\t\t}\n\t\t\treturn ''\n\t\t},\n\t\tuserLastLogin() {\n\t\t\tif (this.user.lastLogin > 0) {\n\t\t\t\treturn OC.Util.relativeModifiedDate(this.user.lastLogin)\n\t\t\t}\n\t\t\treturn t('settings', 'Never')\n\t\t},\n\t},\n}\n","/**\n * @copyright 2023 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nexport const unlimitedQuota = {\n id: 'none',\n label: t('settings', 'Unlimited'),\n};\nexport const defaultQuota = {\n id: 'default',\n label: t('settings', 'Default quota'),\n};\n/**\n * Return `true` if the logged in user does not have permissions to view the\n * data of `user`\n * @param user\n * @param user.id\n */\nexport const isObfuscated = (user) => {\n const keys = Object.keys(user);\n return keys.length === 1 && keys.at(0) === 'id';\n};\n","<!--\n - @copyright Copyright (c) 2019 Gary Kim <gary@garykim.dev>\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n\t- @author Christopher Ng <chrng8@gmail.com>\n - @author Gary Kim <gary@garykim.dev>\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<tr class=\"user-list__row\"\n\t\t:data-test=\"user.id\">\n\t\t<td class=\"row__cell row__cell--avatar\">\n\t\t\t<NcLoadingIcon v-if=\"isLoadingUser\"\n\t\t\t\t:name=\"t('settings', 'Loading user …')\"\n\t\t\t\t:size=\"32\" />\n\t\t\t<NcAvatar v-else-if=\"visible\"\n\t\t\t\tdisable-menu\n\t\t\t\t:show-user-status=\"false\"\n\t\t\t\t:user=\"user.id\" />\n\t\t</td>\n\n\t\t<td class=\"row__cell row__cell--displayname\" data-test-id=\"cell-displayname\">\n\t\t\t<template v-if=\"editing && user.backendCapabilities.setDisplayName\">\n\t\t\t\t<NcTextField ref=\"displayNameField\"\n\t\t\t\t\tclass=\"user-row-text-field\"\n\t\t\t\t\tdata-test-id=\"input-displayName\"\n\t\t\t\t\t:data-test-loading=\"`${loading.displayName}`\"\n\t\t\t\t\t:trailing-button-label=\"t('settings', 'Submit')\"\n\t\t\t\t\t:class=\"{ 'icon-loading-small': loading.displayName }\"\n\t\t\t\t\t:show-trailing-button=\"true\"\n\t\t\t\t\t:disabled=\"loading.displayName || isLoadingField\"\n\t\t\t\t\t:label=\"t('settings', 'Change display name')\"\n\t\t\t\t\ttrailing-button-icon=\"arrowRight\"\n\t\t\t\t\t:value.sync=\"editedDisplayName\"\n\t\t\t\t\tautocapitalize=\"off\"\n\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\tautocorrect=\"off\"\n\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t@trailing-button-click=\"updateDisplayName\" />\n\t\t\t</template>\n\t\t\t<template v-else>\n\t\t\t\t<strong v-if=\"!isObfuscated\"\n\t\t\t\t\t:title=\"user.displayname?.length > 20 ? user.displayname : null\">\n\t\t\t\t\t{{ user.displayname }}\n\t\t\t\t</strong>\n\t\t\t\t<span class=\"row__subtitle\">{{ user.id }}</span>\n\t\t\t</template>\n\t\t</td>\n\n\t\t<td data-test-id=\"cell-password\"\n\t\t\tclass=\"row__cell\"\n\t\t\t:class=\"{ 'row__cell--obfuscated': hasObfuscated }\">\n\t\t\t<template v-if=\"editing && settings.canChangePassword && user.backendCapabilities.setPassword\">\n\t\t\t\t<NcTextField class=\"user-row-text-field\"\n\t\t\t\t\tdata-test-id=\"input-password\"\n\t\t\t\t\t:data-test-loading=\"`${loading.password}`\"\n\t\t\t\t\t:trailing-button-label=\"t('settings', 'Submit')\"\n\t\t\t\t\t:class=\"{'icon-loading-small': loading.password}\"\n\t\t\t\t\t:show-trailing-button=\"true\"\n\t\t\t\t\t:disabled=\"loading.password || isLoadingField\"\n\t\t\t\t\t:minlength=\"minPasswordLength\"\n\t\t\t\t\tmaxlength=\"469\"\n\t\t\t\t\t:label=\"t('settings', 'Set new password')\"\n\t\t\t\t\ttrailing-button-icon=\"arrowRight\"\n\t\t\t\t\t:value.sync=\"editedPassword\"\n\t\t\t\t\tautocapitalize=\"off\"\n\t\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\t\tautocorrect=\"off\"\n\t\t\t\t\trequired\n\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t@trailing-button-click=\"updatePassword\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"isObfuscated\">\n\t\t\t\t{{ t('settings', 'You do not have permissions to see the details of this user') }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td class=\"row__cell\" data-test-id=\"cell-email\">\n\t\t\t<template v-if=\"editing\">\n\t\t\t\t<NcTextField class=\"user-row-text-field\"\n\t\t\t\t\t:class=\"{'icon-loading-small': loading.mailAddress}\"\n\t\t\t\t\t:show-trailing-button=\"true\"\n\t\t\t\t\t:trailing-button-label=\"t('settings', 'Submit')\"\n\t\t\t\t\t:label=\"t('settings', 'Set new email address')\"\n\t\t\t\t\t:disabled=\"loading.mailAddress || isLoadingField\"\n\t\t\t\t\ttrailing-button-icon=\"arrowRight\"\n\t\t\t\t\t:value.sync=\"editedMail\"\n\t\t\t\t\tautocapitalize=\"off\"\n\t\t\t\t\tautocomplete=\"email\"\n\t\t\t\t\tautocorrect=\"off\"\n\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\ttype=\"email\"\n\t\t\t\t\t@trailing-button-click=\"updateEmail\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"!isObfuscated\"\n\t\t\t\t:title=\"user.email?.length > 20 ? user.email : null\">\n\t\t\t\t{{ user.email }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td class=\"row__cell row__cell--large row__cell--multiline\" data-test-id=\"cell-groups\">\n\t\t\t<template v-if=\"editing\">\n\t\t\t\t<label class=\"hidden-visually\"\n\t\t\t\t\t:for=\"'groups' + uniqueId\">\n\t\t\t\t\t{{ t('settings', 'Add user to group') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect :input-id=\"'groups' + uniqueId\"\n\t\t\t\t\t:close-on-select=\"false\"\n\t\t\t\t\t:disabled=\"isLoadingField\"\n\t\t\t\t\t:loading=\"loading.groups\"\n\t\t\t\t\t:multiple=\"true\"\n\t\t\t\t\t:append-to-body=\"false\"\n\t\t\t\t\t:options=\"availableGroups\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Add user to group')\"\n\t\t\t\t\t:taggable=\"settings.isAdmin\"\n\t\t\t\t\t:value=\"userGroups\"\n\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t:no-wrap=\"true\"\n\t\t\t\t\t:create-option=\"(value) => ({ name: value, isCreating: true })\"\n\t\t\t\t\t@option:created=\"createGroup\"\n\t\t\t\t\t@option:selected=\"options => addUserGroup(options.at(-1))\"\n\t\t\t\t\t@option:deselected=\"removeUserGroup\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"!isObfuscated\"\n\t\t\t\t:title=\"userGroupsLabels?.length > 40 ? userGroupsLabels : null\">\n\t\t\t\t{{ userGroupsLabels }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td v-if=\"subAdminsGroups.length > 0 && settings.isAdmin\"\n\t\t\tdata-test-id=\"cell-subadmins\"\n\t\t\tclass=\"row__cell row__cell--large row__cell--multiline\">\n\t\t\t<template v-if=\"editing && settings.isAdmin && subAdminsGroups.length > 0\">\n\t\t\t\t<label class=\"hidden-visually\"\n\t\t\t\t\t:for=\"'subadmins' + uniqueId\">\n\t\t\t\t\t{{ t('settings', 'Set user as admin for') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect :id=\"'subadmins' + uniqueId\"\n\t\t\t\t\t:close-on-select=\"false\"\n\t\t\t\t\t:disabled=\"isLoadingField\"\n\t\t\t\t\t:loading=\"loading.subadmins\"\n\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t:append-to-body=\"false\"\n\t\t\t\t\t:multiple=\"true\"\n\t\t\t\t\t:no-wrap=\"true\"\n\t\t\t\t\t:options=\"subAdminsGroups\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Set user as admin for')\"\n\t\t\t\t\t:value=\"userSubAdminsGroups\"\n\t\t\t\t\t@option:deselected=\"removeUserSubAdmin\"\n\t\t\t\t\t@option:selected=\"options => addUserSubAdmin(options.at(-1))\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"!isObfuscated\"\n\t\t\t\t:title=\"userSubAdminsGroupsLabels?.length > 40 ? userSubAdminsGroupsLabels : null\">\n\t\t\t\t{{ userSubAdminsGroupsLabels }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td class=\"row__cell\" data-test-id=\"cell-quota\">\n\t\t\t<template v-if=\"editing\">\n\t\t\t\t<label class=\"hidden-visually\"\n\t\t\t\t\t:for=\"'quota' + uniqueId\">\n\t\t\t\t\t{{ t('settings', 'Select user quota') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect v-model=\"editedUserQuota\"\n\t\t\t\t\t:close-on-select=\"true\"\n\t\t\t\t\t:create-option=\"validateQuota\"\n\t\t\t\t\t:disabled=\"isLoadingField\"\n\t\t\t\t\t:loading=\"loading.quota\"\n\t\t\t\t\t:append-to-body=\"false\"\n\t\t\t\t\t:clearable=\"false\"\n\t\t\t\t\t:input-id=\"'quota' + uniqueId\"\n\t\t\t\t\t:options=\"quotaOptions\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Select user quota')\"\n\t\t\t\t\t:taggable=\"true\"\n\t\t\t\t\t@option:selected=\"setUserQuota\" />\n\t\t\t</template>\n\t\t\t<template v-else-if=\"!isObfuscated\">\n\t\t\t\t<label :for=\"'quota-progress' + uniqueId\">{{ userQuota }} ({{ usedSpace }})</label>\n\t\t\t\t<NcProgressBar :id=\"'quota-progress' + uniqueId\"\n\t\t\t\t\tclass=\"row__progress\"\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t'row__progress--warn': usedQuota > 80,\n\t\t\t\t\t}\"\n\t\t\t\t\t:value=\"usedQuota\" />\n\t\t\t</template>\n\t\t</td>\n\n\t\t<td v-if=\"showConfig.showLanguages\"\n\t\t\tclass=\"row__cell row__cell--large\"\n\t\t\tdata-test-id=\"cell-language\">\n\t\t\t<template v-if=\"editing\">\n\t\t\t\t<label class=\"hidden-visually\"\n\t\t\t\t\t:for=\"'language' + uniqueId\">\n\t\t\t\t\t{{ t('settings', 'Set the language') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect :id=\"'language' + uniqueId\"\n\t\t\t\t\t:allow-empty=\"false\"\n\t\t\t\t\t:disabled=\"isLoadingField\"\n\t\t\t\t\t:loading=\"loading.languages\"\n\t\t\t\t\t:clearable=\"false\"\n\t\t\t\t\t:append-to-body=\"false\"\n\t\t\t\t\t:options=\"availableLanguages\"\n\t\t\t\t\t:placeholder=\"t('settings', 'No language set')\"\n\t\t\t\t\t:value=\"userLanguage\"\n\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t@input=\"setUserLanguage\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"!isObfuscated\">\n\t\t\t\t{{ userLanguage.name }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td v-if=\"showConfig.showUserBackend || showConfig.showStoragePath\"\n\t\t\tdata-test-id=\"cell-storageLocation\"\n\t\t\tclass=\"row__cell row__cell--large\">\n\t\t\t<template v-if=\"!isObfuscated\">\n\t\t\t\t<span v-if=\"showConfig.showUserBackend\">{{ user.backend }}</span>\n\t\t\t\t<span v-if=\"showConfig.showStoragePath\"\n\t\t\t\t\t:title=\"user.storageLocation\"\n\t\t\t\t\tclass=\"row__subtitle\">\n\t\t\t\t\t{{ user.storageLocation }}\n\t\t\t\t</span>\n\t\t\t</template>\n\t\t</td>\n\n\t\t<td v-if=\"showConfig.showLastLogin\"\n\t\t\t:title=\"userLastLoginTooltip\"\n\t\t\tclass=\"row__cell\"\n\t\t\tdata-test-id=\"cell-lastLogin\">\n\t\t\t<span v-if=\"!isObfuscated\">{{ userLastLogin }}</span>\n\t\t</td>\n\n\t\t<td class=\"row__cell row__cell--large row__cell--fill\" data-test-id=\"cell-manager\">\n\t\t\t<template v-if=\"editing\">\n\t\t\t\t<label class=\"hidden-visually\"\n\t\t\t\t\t:for=\"'manager' + uniqueId\">\n\t\t\t\t\t{{ managerLabel }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect v-model=\"currentManager\"\n\t\t\t\t\tclass=\"select--fill\"\n\t\t\t\t\t:input-id=\"'manager' + uniqueId\"\n\t\t\t\t\t:close-on-select=\"true\"\n\t\t\t\t\t:disabled=\"isLoadingField\"\n\t\t\t\t\t:append-to-body=\"false\"\n\t\t\t\t\t:loading=\"loadingPossibleManagers || loading.manager\"\n\t\t\t\t\tlabel=\"displayname\"\n\t\t\t\t\t:options=\"possibleManagers\"\n\t\t\t\t\t:placeholder=\"managerLabel\"\n\t\t\t\t\t@open=\"searchInitialUserManager\"\n\t\t\t\t\t@search=\"searchUserManager\"\n\t\t\t\t\t@option:selected=\"updateUserManager\"\n\t\t\t\t\t@input=\"updateUserManager\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"!isObfuscated\">\n\t\t\t\t{{ user.manager }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td class=\"row__cell row__cell--actions\" data-test-id=\"cell-actions\">\n\t\t\t<UserRowActions v-if=\"visible && !isObfuscated && canEdit && !loading.all\"\n\t\t\t\t:actions=\"userActions\"\n\t\t\t\t:disabled=\"isLoadingField\"\n\t\t\t\t:edit=\"editing\"\n\t\t\t\t@update:edit=\"toggleEdit\" />\n\t\t</td>\n\t</tr>\n</template>\n\n<script>\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { showSuccess, showError } from '@nextcloud/dialogs'\n\nimport NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar.js'\nimport NcLoadingIcon from '@nextcloud/vue/dist/Components/NcLoadingIcon.js'\nimport NcProgressBar from '@nextcloud/vue/dist/Components/NcProgressBar.js'\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\nimport NcTextField from '@nextcloud/vue/dist/Components/NcTextField.js'\n\nimport UserRowActions from './UserRowActions.vue'\n\nimport UserRowMixin from '../../mixins/UserRowMixin.js'\nimport { isObfuscated, unlimitedQuota } from '../../utils/userUtils.ts'\n\nexport default {\n\tname: 'UserRow',\n\n\tcomponents: {\n\t\tNcAvatar,\n\t\tNcLoadingIcon,\n\t\tNcProgressBar,\n\t\tNcSelect,\n\t\tNcTextField,\n\t\tUserRowActions,\n\t},\n\n\tmixins: [\n\t\tUserRowMixin,\n\t],\n\n\tprops: {\n\t\tuser: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tvisible: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tusers: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\thasObfuscated: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tgroups: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\tsubAdminsGroups: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\tquotaOptions: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\tlanguages: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\tsettings: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\texternalActions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tselectedQuota: false,\n\t\t\trand: Math.random().toString(36).substring(2),\n\t\t\tloadingPossibleManagers: false,\n\t\t\tpossibleManagers: [],\n\t\t\tcurrentManager: '',\n\t\t\tediting: false,\n\t\t\tloading: {\n\t\t\t\tall: false,\n\t\t\t\tdisplayName: false,\n\t\t\t\tpassword: false,\n\t\t\t\tmailAddress: false,\n\t\t\t\tgroups: false,\n\t\t\t\tsubadmins: false,\n\t\t\t\tquota: false,\n\t\t\t\tdelete: false,\n\t\t\t\tdisable: false,\n\t\t\t\tlanguages: false,\n\t\t\t\twipe: false,\n\t\t\t\tmanager: false,\n\t\t\t},\n\t\t\teditedDisplayName: this.user.displayname,\n\t\t\teditedPassword: '',\n\t\t\teditedMail: this.user.email ?? '',\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tmanagerLabel() {\n\t\t\t// TRANSLATORS This string describes a manager in the context of an organization\n\t\t\treturn t('settings', 'Set user manager')\n\t\t},\n\n\t\tisObfuscated() {\n\t\t\treturn isObfuscated(this.user)\n\t\t},\n\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\tisLoadingUser() {\n\t\t\treturn this.loading.delete || this.loading.disable || this.loading.wipe\n\t\t},\n\n\t\tisLoadingField() {\n\t\t\treturn this.loading.delete || this.loading.disable || this.loading.all\n\t\t},\n\n\t\tuniqueId() {\n\t\t\treturn this.user.id + this.rand\n\t\t},\n\n\t\tuserGroupsLabels() {\n\t\t\treturn this.userGroups\n\t\t\t\t.map(group => group.name)\n\t\t\t\t.join(', ')\n\t\t},\n\n\t\tuserSubAdminsGroupsLabels() {\n\t\t\treturn this.userSubAdminsGroups\n\t\t\t\t.map(group => group.name)\n\t\t\t\t.join(', ')\n\t\t},\n\n\t\tusedSpace() {\n\t\t\tif (this.user.quota?.used) {\n\t\t\t\treturn t('settings', '{size} used', { size: OC.Util.humanFileSize(this.user.quota?.used) })\n\t\t\t}\n\t\t\treturn t('settings', '{size} used', { size: OC.Util.humanFileSize(0) })\n\t\t},\n\n\t\tcanEdit() {\n\t\t\treturn getCurrentUser().uid !== this.user.id || this.settings.isAdmin\n\t\t},\n\n\t\tuserQuota() {\n\t\t\tlet quota = this.user.quota?.quota\n\n\t\t\tif (quota === 'default') {\n\t\t\t\tquota = this.settings.defaultQuota\n\t\t\t\tif (quota !== 'none') {\n\t\t\t\t\t// convert to numeric value to match what the server would usually return\n\t\t\t\t\tquota = OC.Util.computerFileSize(quota)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// when the default quota is unlimited, the server returns -3 here, map it to \"none\"\n\t\t\tif (quota === 'none' || quota === -3) {\n\t\t\t\treturn t('settings', 'Unlimited')\n\t\t\t} else if (quota >= 0) {\n\t\t\t\treturn OC.Util.humanFileSize(quota)\n\t\t\t}\n\t\t\treturn OC.Util.humanFileSize(0)\n\t\t},\n\n\t\tuserActions() {\n\t\t\tconst actions = [\n\t\t\t\t{\n\t\t\t\t\ticon: 'icon-delete',\n\t\t\t\t\ttext: t('settings', 'Delete user'),\n\t\t\t\t\taction: this.deleteUser,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: 'icon-delete',\n\t\t\t\t\ttext: t('settings', 'Wipe all devices'),\n\t\t\t\t\taction: this.wipeUserDevices,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: this.user.enabled ? 'icon-close' : 'icon-add',\n\t\t\t\t\ttext: this.user.enabled ? t('settings', 'Disable user') : t('settings', 'Enable user'),\n\t\t\t\t\taction: this.enableDisableUser,\n\t\t\t\t},\n\t\t\t]\n\t\t\tif (this.user.email !== null && this.user.email !== '') {\n\t\t\t\tactions.push({\n\t\t\t\t\ticon: 'icon-mail',\n\t\t\t\t\ttext: t('settings', 'Resend welcome email'),\n\t\t\t\t\taction: this.sendWelcomeMail,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn actions.concat(this.externalActions)\n\t\t},\n\n\t\t// mapping saved values to objects\n\t\teditedUserQuota: {\n\t\t\tget() {\n\t\t\t\tif (this.selectedQuota !== false) {\n\t\t\t\t\treturn this.selectedQuota\n\t\t\t\t}\n\t\t\t\tif (this.settings.defaultQuota !== unlimitedQuota.id && OC.Util.computerFileSize(this.settings.defaultQuota) >= 0) {\n\t\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\t\treturn { id: this.settings.defaultQuota, label: this.settings.defaultQuota }\n\t\t\t\t}\n\t\t\t\treturn unlimitedQuota // unlimited\n\t\t\t},\n\t\t\tset(quota) {\n\t\t\t\tthis.selectedQuota = quota\n\t\t\t},\n\t\t},\n\n\t\tavailableLanguages() {\n\t\t\treturn this.languages[0].languages.concat(this.languages[1].languages)\n\t\t},\n\t},\n\n\tasync beforeMount() {\n\t\tif (this.user.manager) {\n\t\t\tawait this.initManager(this.user.manager)\n\t\t}\n\t},\n\n\tmethods: {\n\t\twipeUserDevices() {\n\t\t\tconst userid = this.user.id\n\t\t\tOC.dialogs.confirmDestructive(\n\t\t\t\tt('settings', 'In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet.', { userid }),\n\t\t\t\tt('settings', 'Remote wipe of devices'),\n\t\t\t\t{\n\t\t\t\t\ttype: OC.dialogs.YES_NO_BUTTONS,\n\t\t\t\t\tconfirm: t('settings', 'Wipe {userid}\\'s devices', { userid }),\n\t\t\t\t\tconfirmClasses: 'error',\n\t\t\t\t\tcancel: t('settings', 'Cancel'),\n\t\t\t\t},\n\t\t\t\t(result) => {\n\t\t\t\t\tif (result) {\n\t\t\t\t\t\tthis.loading.wipe = true\n\t\t\t\t\t\tthis.loading.all = true\n\t\t\t\t\t\tthis.$store.dispatch('wipeUserDevices', userid)\n\t\t\t\t\t\t\t.then(() => showSuccess(t('settings', 'Wiped {userid}\\'s devices', { userid })), { timeout: 2000 })\n\t\t\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\t\t\tthis.loading.wipe = false\n\t\t\t\t\t\t\t\tthis.loading.all = false\n\t\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttrue,\n\t\t\t)\n\t\t},\n\n\t\tfilterManagers(managers) {\n\t\t\treturn managers.filter((manager) => manager.id !== this.user.id)\n\t\t},\n\n\t\tasync initManager(userId) {\n\t\t\tawait this.$store.dispatch('getUser', userId).then(response => {\n\t\t\t\tthis.currentManager = response?.data.ocs.data\n\t\t\t})\n\t\t},\n\n\t\tasync searchInitialUserManager() {\n\t\t\tthis.loadingPossibleManagers = true\n\t\t\tawait this.searchUserManager()\n\t\t\tthis.loadingPossibleManagers = false\n\t\t},\n\n\t\tasync searchUserManager(query) {\n\t\t\tawait this.$store.dispatch('searchUsers', { offset: 0, limit: 10, search: query }).then(response => {\n\t\t\t\tconst users = response?.data ? this.filterManagers(Object.values(response?.data.ocs.data.users)) : []\n\t\t\t\tif (users.length > 0) {\n\t\t\t\t\tthis.possibleManagers = users\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t\tasync updateUserManager(manager) {\n\t\t\tif (manager === null) {\n\t\t\t\tthis.currentManager = ''\n\t\t\t}\n\t\t\tthis.loading.manager = true\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('setUserData', {\n\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\tkey: 'manager',\n\t\t\t\t\tvalue: this.currentManager ? this.currentManager.id : '',\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\t// TRANSLATORS This string describes a manager in the context of an organization\n\t\t\t\tshowError(t('setting', 'Failed to update user manager'))\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading.manager = false\n\t\t\t}\n\t\t},\n\n\t\tdeleteUser() {\n\t\t\tconst userid = this.user.id\n\t\t\tOC.dialogs.confirmDestructive(\n\t\t\t\tt('settings', 'Fully delete {userid}\\'s account including all their personal files, app data, etc.', { userid }),\n\t\t\t\tt('settings', 'Account deletion'),\n\t\t\t\t{\n\t\t\t\t\ttype: OC.dialogs.YES_NO_BUTTONS,\n\t\t\t\t\tconfirm: t('settings', 'Delete {userid}\\'s account', { userid }),\n\t\t\t\t\tconfirmClasses: 'error',\n\t\t\t\t\tcancel: t('settings', 'Cancel'),\n\t\t\t\t},\n\t\t\t\t(result) => {\n\t\t\t\t\tif (result) {\n\t\t\t\t\t\tthis.loading.delete = true\n\t\t\t\t\t\tthis.loading.all = true\n\t\t\t\t\t\treturn this.$store.dispatch('deleteUser', userid)\n\t\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\t\tthis.loading.delete = false\n\t\t\t\t\t\t\t\tthis.loading.all = false\n\t\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttrue,\n\t\t\t)\n\t\t},\n\n\t\tenableDisableUser() {\n\t\t\tthis.loading.delete = true\n\t\t\tthis.loading.all = true\n\t\t\tconst userid = this.user.id\n\t\t\tconst enabled = !this.user.enabled\n\t\t\treturn this.$store.dispatch('enableDisableUser', {\n\t\t\t\tuserid,\n\t\t\t\tenabled,\n\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.loading.delete = false\n\t\t\t\t\tthis.loading.all = false\n\t\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Set user displayName\n\t\t *\n\t\t * @param {string} displayName The display name\n\t\t */\n\t\tupdateDisplayName() {\n\t\t\tthis.loading.displayName = true\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id,\n\t\t\t\tkey: 'displayname',\n\t\t\t\tvalue: this.editedDisplayName,\n\t\t\t}).then(() => {\n\t\t\t\tthis.loading.displayName = false\n\t\t\t\tif (this.editedDisplayName === this.user.displayname) {\n\t\t\t\t\tshowSuccess(t('setting', 'Display name was successfully changed'))\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Set user password\n\t\t *\n\t\t * @param {string} password The email address\n\t\t */\n\t\tupdatePassword() {\n\t\t\tthis.loading.password = true\n\t\t\tif (this.editedPassword.length === 0) {\n\t\t\t\tshowError(t('setting', \"Password can't be empty\"))\n\t\t\t\tthis.loading.password = false\n\t\t\t} else {\n\t\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\tkey: 'password',\n\t\t\t\t\tvalue: this.editedPassword,\n\t\t\t\t}).then(() => {\n\t\t\t\t\tthis.loading.password = false\n\t\t\t\t\tthis.editedPassword = ''\n\t\t\t\t\tshowSuccess(t('setting', 'Password was successfully changed'))\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Set user mailAddress\n\t\t *\n\t\t * @param {string} mailAddress The email address\n\t\t */\n\t\tupdateEmail() {\n\t\t\tthis.loading.mailAddress = true\n\t\t\tif (this.editedMail === '') {\n\t\t\t\tshowError(t('setting', \"Email can't be empty\"))\n\t\t\t\tthis.loading.mailAddress = false\n\t\t\t\tthis.editedMail = this.user.email\n\t\t\t} else {\n\t\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\tkey: 'email',\n\t\t\t\t\tvalue: this.editedMail,\n\t\t\t\t}).then(() => {\n\t\t\t\t\tthis.loading.mailAddress = false\n\t\t\t\t\tif (this.editedMail === this.user.email) {\n\t\t\t\t\t\tshowSuccess(t('setting', 'Email was successfully changed'))\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Create a new group and add user to it\n\t\t *\n\t\t * @param {string} gid Group id\n\t\t */\n\t\tasync createGroup({ name: gid }) {\n\t\t\tthis.loading = { groups: true, subadmins: true }\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('addGroup', gid)\n\t\t\t\tconst userid = this.user.id\n\t\t\t\tawait this.$store.dispatch('addUserGroup', { userid, gid })\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading = { groups: false, subadmins: false }\n\t\t\t}\n\t\t\treturn this.$store.getters.getGroups[this.groups.length]\n\t\t},\n\n\t\t/**\n\t\t * Add user to group\n\t\t *\n\t\t * @param {object} group Group object\n\t\t */\n\t\tasync addUserGroup(group) {\n\t\t\tif (group.isCreating) {\n\t\t\t\t// This is NcSelect's internal value for a new inputted group name\n\t\t\t\t// Ignore\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.loading.groups = true\n\t\t\tconst userid = this.user.id\n\t\t\tconst gid = group.id\n\t\t\tif (group.canAdd === false) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('addUserGroup', { userid, gid })\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading.groups = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Remove user from group\n\t\t *\n\t\t * @param {object} group Group object\n\t\t */\n\t\tasync removeUserGroup(group) {\n\t\t\tif (group.canRemove === false) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tthis.loading.groups = true\n\t\t\tconst userid = this.user.id\n\t\t\tconst gid = group.id\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('removeUserGroup', {\n\t\t\t\t\tuserid,\n\t\t\t\t\tgid,\n\t\t\t\t})\n\t\t\t\tthis.loading.groups = false\n\t\t\t\t// remove user from current list if current list is the removed group\n\t\t\t\tif (this.$route.params.selectedGroup === gid) {\n\t\t\t\t\tthis.$store.commit('deleteUser', userid)\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\tthis.loading.groups = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add user to group\n\t\t *\n\t\t * @param {object} group Group object\n\t\t */\n\t\tasync addUserSubAdmin(group) {\n\t\t\tthis.loading.subadmins = true\n\t\t\tconst userid = this.user.id\n\t\t\tconst gid = group.id\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('addUserSubAdmin', {\n\t\t\t\t\tuserid,\n\t\t\t\t\tgid,\n\t\t\t\t})\n\t\t\t\tthis.loading.subadmins = false\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Remove user from group\n\t\t *\n\t\t * @param {object} group Group object\n\t\t */\n\t\tasync removeUserSubAdmin(group) {\n\t\t\tthis.loading.subadmins = true\n\t\t\tconst userid = this.user.id\n\t\t\tconst gid = group.id\n\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('removeUserSubAdmin', {\n\t\t\t\t\tuserid,\n\t\t\t\t\tgid,\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading.subadmins = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Dispatch quota set request\n\t\t *\n\t\t * @param {string | object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t * @return {string}\n\t\t */\n\t\tasync setUserQuota(quota = 'none') {\n\t\t\t// Make sure correct label is set for unlimited quota\n\t\t\tif (quota === 'none') {\n\t\t\t\tquota = unlimitedQuota\n\t\t\t}\n\t\t\tthis.loading.quota = true\n\t\t\t// ensure we only send the preset id\n\t\t\tquota = quota.id ? quota.id : quota\n\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('setUserData', {\n\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\tkey: 'quota',\n\t\t\t\t\tvalue: quota,\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading.quota = false\n\t\t\t}\n\t\t\treturn quota\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t *\n\t\t * @param {string | object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t * @return {object} The validated quota object or unlimited quota if input is invalid\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\tif (typeof quota === 'object') {\n\t\t\t\tquota = quota?.id || quota.label\n\t\t\t}\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tconst validQuota = OC.Util.computerFileSize(quota)\n\t\t\tif (validQuota === null) {\n\t\t\t\treturn unlimitedQuota\n\t\t\t} else {\n\t\t\t\t// unify format output\n\t\t\t\tquota = OC.Util.humanFileSize(OC.Util.computerFileSize(quota))\n\t\t\t\treturn { id: quota, label: quota }\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Dispatch language set request\n\t\t *\n\t\t * @param {object} lang language object {code:'en', name:'English'}\n\t\t * @return {object}\n\t\t */\n\t\tasync setUserLanguage(lang) {\n\t\t\tthis.loading.languages = true\n\t\t\t// ensure we only send the preset id\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('setUserData', {\n\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\tkey: 'language',\n\t\t\t\t\tvalue: lang.code,\n\t\t\t\t})\n\t\t\t\tthis.loading.languages = false\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error)\n\t\t\t}\n\t\t\treturn lang\n\t\t},\n\n\t\t/**\n\t\t * Dispatch new welcome mail request\n\t\t */\n\t\tsendWelcomeMail() {\n\t\t\tthis.loading.all = true\n\t\t\tthis.$store.dispatch('sendWelcomeMail', this.user.id)\n\t\t\t\t.then(() => showSuccess(t('setting', 'Welcome mail sent!'), { timeout: 2000 }))\n\t\t\t\t.finally(() => {\n\t\t\t\t\tthis.loading.all = false\n\t\t\t\t})\n\t\t},\n\n\t\tasync toggleEdit() {\n\t\t\tthis.editing = !this.editing\n\t\t\tif (this.editing) {\n\t\t\t\tawait this.$nextTick()\n\t\t\t\tthis.$refs.displayNameField?.$refs?.inputField?.$refs?.input?.focus()\n\t\t\t}\n\t\t\tif (this.editedDisplayName !== this.user.displayname) {\n\t\t\t\tthis.editedDisplayName = this.user.displayname\n\t\t\t} else if (this.editedMail !== this.user.email) {\n\t\t\t\tthis.editedMail = this.user.email ?? ''\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import './shared/styles.scss';\n\n.user-list__row {\n\t@include row;\n\n\t&:hover {\n\t\tbackground-color: var(--color-background-hover);\n\n\t\t.row__cell:not(.row__cell--actions) {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t}\n\n\t// Limit width of select in fill cell\n\t.select--fill {\n\t\tmax-width: calc(var(--cell-width-large) - (2 * var(--cell-padding)));\n\t}\n}\n\n.row {\n\t@include cell;\n\n\t&__cell {\n\t\tborder-bottom: 1px solid var(--color-border);\n\n\t\t:deep {\n\t\t\t.input-field,\n\t\t\t.input-field__main-wrapper,\n\t\t\t.input-field__input {\n\t\t\t\theight: 48px !important;\n\t\t\t}\n\n\t\t\t.input-field__input {\n\t\t\t\t&:placeholder-shown:not(:focus) + .input-field__label {\n\t\t\t\t\tinset-block-start: 16px !important;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.button-vue--icon-only {\n\t\t\t\theight: 44px !important;\n\t\t\t}\n\n\t\t\t.v-select.select {\n\t\t\t\tmin-width: var(--cell-min-width);\n\t\t\t}\n\t\t}\n\t}\n\n\t&__progress {\n\t\tmargin-top: 4px;\n\n\t\t&--warn {\n\t\t\t&::-moz-progress-bar {\n\t\t\t\tbackground: var(--color-warning) !important;\n\t\t\t}\n\t\t\t&::-webkit-progress-value {\n\t\t\t\tbackground: var(--color-warning) !important;\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRow.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!./UserRow.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!./UserRow.vue?vue&type=style&index=0&id=2766a66a&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!./UserRow.vue?vue&type=style&index=0&id=2766a66a&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserRow.vue?vue&type=template&id=2766a66a&scoped=true&\"\nimport script from \"./UserRow.vue?vue&type=script&lang=js&\"\nexport * from \"./UserRow.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserRow.vue?vue&type=style&index=0&id=2766a66a&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 \"2766a66a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('tr',{staticClass:\"user-list__row\",attrs:{\"data-test\":_vm.user.id}},[_c('td',{staticClass:\"row__cell row__cell--avatar\"},[(_vm.isLoadingUser)?_c('NcLoadingIcon',{attrs:{\"name\":_vm.t('settings', 'Loading user …'),\"size\":32}}):(_vm.visible)?_c('NcAvatar',{attrs:{\"disable-menu\":\"\",\"show-user-status\":false,\"user\":_vm.user.id}}):_vm._e()],1),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--displayname\",attrs:{\"data-test-id\":\"cell-displayname\"}},[(_vm.editing && _vm.user.backendCapabilities.setDisplayName)?[_c('NcTextField',{ref:\"displayNameField\",staticClass:\"user-row-text-field\",class:{ 'icon-loading-small': _vm.loading.displayName },attrs:{\"data-test-id\":\"input-displayName\",\"data-test-loading\":`${_vm.loading.displayName}`,\"trailing-button-label\":_vm.t('settings', 'Submit'),\"show-trailing-button\":true,\"disabled\":_vm.loading.displayName || _vm.isLoadingField,\"label\":_vm.t('settings', 'Change display name'),\"trailing-button-icon\":\"arrowRight\",\"value\":_vm.editedDisplayName,\"autocapitalize\":\"off\",\"autocomplete\":\"off\",\"autocorrect\":\"off\",\"spellcheck\":\"false\"},on:{\"update:value\":function($event){_vm.editedDisplayName=$event},\"trailing-button-click\":_vm.updateDisplayName}})]:[(!_vm.isObfuscated)?_c('strong',{attrs:{\"title\":_vm.user.displayname?.length > 20 ? _vm.user.displayname : null}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.user.displayname)+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('span',{staticClass:\"row__subtitle\"},[_vm._v(_vm._s(_vm.user.id))])]],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell\",class:{ 'row__cell--obfuscated': _vm.hasObfuscated },attrs:{\"data-test-id\":\"cell-password\"}},[(_vm.editing && _vm.settings.canChangePassword && _vm.user.backendCapabilities.setPassword)?[_c('NcTextField',{staticClass:\"user-row-text-field\",class:{'icon-loading-small': _vm.loading.password},attrs:{\"data-test-id\":\"input-password\",\"data-test-loading\":`${_vm.loading.password}`,\"trailing-button-label\":_vm.t('settings', 'Submit'),\"show-trailing-button\":true,\"disabled\":_vm.loading.password || _vm.isLoadingField,\"minlength\":_vm.minPasswordLength,\"maxlength\":\"469\",\"label\":_vm.t('settings', 'Set new password'),\"trailing-button-icon\":\"arrowRight\",\"value\":_vm.editedPassword,\"autocapitalize\":\"off\",\"autocomplete\":\"new-password\",\"autocorrect\":\"off\",\"required\":\"\",\"spellcheck\":\"false\",\"type\":\"password\"},on:{\"update:value\":function($event){_vm.editedPassword=$event},\"trailing-button-click\":_vm.updatePassword}})]:(_vm.isObfuscated)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'You do not have permissions to see the details of this user'))+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell\",attrs:{\"data-test-id\":\"cell-email\"}},[(_vm.editing)?[_c('NcTextField',{staticClass:\"user-row-text-field\",class:{'icon-loading-small': _vm.loading.mailAddress},attrs:{\"show-trailing-button\":true,\"trailing-button-label\":_vm.t('settings', 'Submit'),\"label\":_vm.t('settings', 'Set new email address'),\"disabled\":_vm.loading.mailAddress || _vm.isLoadingField,\"trailing-button-icon\":\"arrowRight\",\"value\":_vm.editedMail,\"autocapitalize\":\"off\",\"autocomplete\":\"email\",\"autocorrect\":\"off\",\"spellcheck\":\"false\",\"type\":\"email\"},on:{\"update:value\":function($event){_vm.editedMail=$event},\"trailing-button-click\":_vm.updateEmail}})]:(!_vm.isObfuscated)?_c('span',{attrs:{\"title\":_vm.user.email?.length > 20 ? _vm.user.email : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.user.email)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--large row__cell--multiline\",attrs:{\"data-test-id\":\"cell-groups\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'groups' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Add user to group'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"input-id\":'groups' + _vm.uniqueId,\"close-on-select\":false,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loading.groups,\"multiple\":true,\"append-to-body\":false,\"options\":_vm.availableGroups,\"placeholder\":_vm.t('settings', 'Add user to group'),\"taggable\":_vm.settings.isAdmin,\"value\":_vm.userGroups,\"label\":\"name\",\"no-wrap\":true,\"create-option\":(value) => ({ name: value, isCreating: true })},on:{\"option:created\":_vm.createGroup,\"option:selected\":options => _vm.addUserGroup(options.at(-1)),\"option:deselected\":_vm.removeUserGroup}})]:(!_vm.isObfuscated)?_c('span',{attrs:{\"title\":_vm.userGroupsLabels?.length > 40 ? _vm.userGroupsLabels : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.userGroupsLabels)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),(_vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin)?_c('td',{staticClass:\"row__cell row__cell--large row__cell--multiline\",attrs:{\"data-test-id\":\"cell-subadmins\"}},[(_vm.editing && _vm.settings.isAdmin && _vm.subAdminsGroups.length > 0)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'subadmins' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Set user as admin for'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"id\":'subadmins' + _vm.uniqueId,\"close-on-select\":false,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loading.subadmins,\"label\":\"name\",\"append-to-body\":false,\"multiple\":true,\"no-wrap\":true,\"options\":_vm.subAdminsGroups,\"placeholder\":_vm.t('settings', 'Set user as admin for'),\"value\":_vm.userSubAdminsGroups},on:{\"option:deselected\":_vm.removeUserSubAdmin,\"option:selected\":options => _vm.addUserSubAdmin(options.at(-1))}})]:(!_vm.isObfuscated)?_c('span',{attrs:{\"title\":_vm.userSubAdminsGroupsLabels?.length > 40 ? _vm.userSubAdminsGroupsLabels : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.userSubAdminsGroupsLabels)+\"\\n\\t\\t\")]):_vm._e()],2):_vm._e(),_vm._v(\" \"),_c('td',{staticClass:\"row__cell\",attrs:{\"data-test-id\":\"cell-quota\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'quota' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Select user quota'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"close-on-select\":true,\"create-option\":_vm.validateQuota,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loading.quota,\"append-to-body\":false,\"clearable\":false,\"input-id\":'quota' + _vm.uniqueId,\"options\":_vm.quotaOptions,\"placeholder\":_vm.t('settings', 'Select user quota'),\"taggable\":true},on:{\"option:selected\":_vm.setUserQuota},model:{value:(_vm.editedUserQuota),callback:function ($$v) {_vm.editedUserQuota=$$v},expression:\"editedUserQuota\"}})]:(!_vm.isObfuscated)?[_c('label',{attrs:{\"for\":'quota-progress' + _vm.uniqueId}},[_vm._v(_vm._s(_vm.userQuota)+\" (\"+_vm._s(_vm.usedSpace)+\")\")]),_vm._v(\" \"),_c('NcProgressBar',{staticClass:\"row__progress\",class:{\n\t\t\t\t\t'row__progress--warn': _vm.usedQuota > 80,\n\t\t\t\t},attrs:{\"id\":'quota-progress' + _vm.uniqueId,\"value\":_vm.usedQuota}})]:_vm._e()],2),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('td',{staticClass:\"row__cell row__cell--large\",attrs:{\"data-test-id\":\"cell-language\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'language' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Set the language'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"id\":'language' + _vm.uniqueId,\"allow-empty\":false,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loading.languages,\"clearable\":false,\"append-to-body\":false,\"options\":_vm.availableLanguages,\"placeholder\":_vm.t('settings', 'No language set'),\"value\":_vm.userLanguage,\"label\":\"name\"},on:{\"input\":_vm.setUserLanguage}})]:(!_vm.isObfuscated)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.userLanguage.name)+\"\\n\\t\\t\")]):_vm._e()],2):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend || _vm.showConfig.showStoragePath)?_c('td',{staticClass:\"row__cell row__cell--large\",attrs:{\"data-test-id\":\"cell-storageLocation\"}},[(!_vm.isObfuscated)?[(_vm.showConfig.showUserBackend)?_c('span',[_vm._v(_vm._s(_vm.user.backend))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('span',{staticClass:\"row__subtitle\",attrs:{\"title\":_vm.user.storageLocation}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.user.storageLocation)+\"\\n\\t\\t\\t\")]):_vm._e()]:_vm._e()],2):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('td',{staticClass:\"row__cell\",attrs:{\"title\":_vm.userLastLoginTooltip,\"data-test-id\":\"cell-lastLogin\"}},[(!_vm.isObfuscated)?_c('span',[_vm._v(_vm._s(_vm.userLastLogin))]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--large row__cell--fill\",attrs:{\"data-test-id\":\"cell-manager\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'manager' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.managerLabel)+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"select--fill\",attrs:{\"input-id\":'manager' + _vm.uniqueId,\"close-on-select\":true,\"disabled\":_vm.isLoadingField,\"append-to-body\":false,\"loading\":_vm.loadingPossibleManagers || _vm.loading.manager,\"label\":\"displayname\",\"options\":_vm.possibleManagers,\"placeholder\":_vm.managerLabel},on:{\"open\":_vm.searchInitialUserManager,\"search\":_vm.searchUserManager,\"option:selected\":_vm.updateUserManager,\"input\":_vm.updateUserManager},model:{value:(_vm.currentManager),callback:function ($$v) {_vm.currentManager=$$v},expression:\"currentManager\"}})]:(!_vm.isObfuscated)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.user.manager)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--actions\",attrs:{\"data-test-id\":\"cell-actions\"}},[(_vm.visible && !_vm.isObfuscated && _vm.canEdit && !_vm.loading.all)?_c('UserRowActions',{attrs:{\"actions\":_vm.userActions,\"disabled\":_vm.isLoadingField,\"edit\":_vm.editing},on:{\"update:edit\":_vm.toggleEdit}}):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<Fragment>\n\t\t<NewUserModal v-if=\"showConfig.showNewUserForm\"\n\t\t\t:loading=\"loading\"\n\t\t\t:new-user=\"newUser\"\n\t\t\t:quota-options=\"quotaOptions\"\n\t\t\t@reset=\"resetForm\"\n\t\t\t@close=\"closeModal\" />\n\n\t\t<NcEmptyContent v-if=\"filteredUsers.length === 0\"\n\t\t\tclass=\"empty\"\n\t\t\t:name=\"isInitialLoad && loading.users ? null : t('settings', 'No users')\">\n\t\t\t<template #icon>\n\t\t\t\t<NcLoadingIcon v-if=\"isInitialLoad && loading.users\"\n\t\t\t\t\t:name=\"t('settings', 'Loading users …')\"\n\t\t\t\t\t:size=\"64\" />\n\t\t\t\t<NcIconSvgWrapper v-else\n\t\t\t\t\t:svg=\"usersSvg\" />\n\t\t\t</template>\n\t\t</NcEmptyContent>\n\n\t\t<VirtualList v-else\n\t\t\t:data-component=\"UserRow\"\n\t\t\t:data-sources=\"filteredUsers\"\n\t\t\tdata-key=\"id\"\n\t\t\tdata-test-id=\"userList\"\n\t\t\t:item-height=\"rowHeight\"\n\t\t\t:style=\"style\"\n\t\t\t:extra-props=\"{\n\t\t\t\tusers,\n\t\t\t\tsettings,\n\t\t\t\thasObfuscated,\n\t\t\t\tgroups,\n\t\t\t\tsubAdminsGroups,\n\t\t\t\tquotaOptions,\n\t\t\t\tlanguages,\n\t\t\t\texternalActions,\n\t\t\t}\"\n\t\t\t@scroll-end=\"handleScrollEnd\">\n\t\t\t<template #before>\n\t\t\t\t<caption class=\"hidden-visually\">\n\t\t\t\t\t{{ t('settings', 'List of users. This list is not fully rendered for performance reasons. The users will be rendered as you navigate through the list.') }}\n\t\t\t\t</caption>\n\t\t\t</template>\n\n\t\t\t<template #header>\n\t\t\t\t<UserListHeader :has-obfuscated=\"hasObfuscated\" />\n\t\t\t</template>\n\n\t\t\t<template #footer>\n\t\t\t\t<UserListFooter :loading=\"loading.users\"\n\t\t\t\t\t:filtered-users=\"filteredUsers\" />\n\t\t\t</template>\n\t\t</VirtualList>\n\t</Fragment>\n</template>\n\n<script>\nimport Vue from 'vue'\nimport { Fragment } from 'vue-frag'\n\nimport NcEmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent.js'\nimport NcIconSvgWrapper from '@nextcloud/vue/dist/Components/NcIconSvgWrapper.js'\nimport NcLoadingIcon from '@nextcloud/vue/dist/Components/NcLoadingIcon.js'\n\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\nimport { showError } from '@nextcloud/dialogs'\n\nimport VirtualList from './Users/VirtualList.vue'\nimport NewUserModal from './Users/NewUserModal.vue'\nimport UserListFooter from './Users/UserListFooter.vue'\nimport UserListHeader from './Users/UserListHeader.vue'\nimport UserRow from './Users/UserRow.vue'\n\nimport { defaultQuota, isObfuscated, unlimitedQuota } from '../utils/userUtils.ts'\nimport logger from '../logger.js'\n\nimport usersSvg from '../../img/users.svg?raw'\n\nconst newUser = {\n\tid: '',\n\tdisplayName: '',\n\tpassword: '',\n\tmailAddress: '',\n\tgroups: [],\n\tmanager: '',\n\tsubAdminsGroups: [],\n\tquota: defaultQuota,\n\tlanguage: {\n\t\tcode: 'en',\n\t\tname: t('settings', 'Default language'),\n\t},\n}\n\nexport default {\n\tname: 'UserList',\n\n\tcomponents: {\n\t\tFragment,\n\t\tNcEmptyContent,\n\t\tNcIconSvgWrapper,\n\t\tNcLoadingIcon,\n\t\tNewUserModal,\n\t\tUserListFooter,\n\t\tUserListHeader,\n\t\tVirtualList,\n\t},\n\n\tprops: {\n\t\tselectedGroup: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\texternalActions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tUserRow,\n\t\t\tloading: {\n\t\t\t\tall: false,\n\t\t\t\tgroups: false,\n\t\t\t\tusers: false,\n\t\t\t},\n\t\t\tisInitialLoad: true,\n\t\t\trowHeight: 55,\n\t\t\tusersSvg,\n\t\t\tsearchQuery: '',\n\t\t\tnewUser: Object.assign({}, newUser),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData\n\t\t},\n\n\t\tstyle() {\n\t\t\treturn {\n\t\t\t\t'--row-height': `${this.rowHeight}px`,\n\t\t\t}\n\t\t},\n\n\t\thasObfuscated() {\n\t\t\treturn this.filteredUsers.some(user => isObfuscated(user))\n\t\t},\n\n\t\tusers() {\n\t\t\treturn this.$store.getters.getUsers\n\t\t},\n\n\t\tfilteredUsers() {\n\t\t\tif (this.selectedGroup === 'disabled') {\n\t\t\t\treturn this.users.filter(user => user.enabled === false)\n\t\t\t}\n\t\t\tif (!this.settings.isAdmin) {\n\t\t\t\t// we don't want subadmins to edit themselves\n\t\t\t\treturn this.users.filter(user => user.enabled !== false)\n\t\t\t}\n\t\t\treturn this.users.filter(user => user.enabled !== false)\n\t\t},\n\n\t\tgroups() {\n\t\t\t// data provided php side + remove the disabled group\n\t\t\treturn this.$store.getters.getGroups\n\t\t\t\t.filter(group => group.id !== 'disabled')\n\t\t\t\t.sort((a, b) => a.name.localeCompare(b.name))\n\t\t},\n\n\t\tsubAdminsGroups() {\n\t\t\t// data provided php side\n\t\t\treturn this.$store.getters.getSubadminGroups\n\t\t},\n\n\t\tquotaOptions() {\n\t\t\t// convert the preset array into objects\n\t\t\tconst quotaPreset = this.settings.quotaPreset.reduce((acc, cur) => acc.concat({\n\t\t\t\tid: cur,\n\t\t\t\tlabel: cur,\n\t\t\t}), [])\n\t\t\t// add default presets\n\t\t\tif (this.settings.allowUnlimitedQuota) {\n\t\t\t\tquotaPreset.unshift(unlimitedQuota)\n\t\t\t}\n\t\t\tquotaPreset.unshift(defaultQuota)\n\t\t\treturn quotaPreset\n\t\t},\n\n\t\tusersOffset() {\n\t\t\treturn this.$store.getters.getUsersOffset\n\t\t},\n\n\t\tusersLimit() {\n\t\t\treturn this.$store.getters.getUsersLimit\n\t\t},\n\n\t\tusersCount() {\n\t\t\treturn this.users.length\n\t\t},\n\n\t\t/* LANGUAGES */\n\t\tlanguages() {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tlabel: t('settings', 'Common languages'),\n\t\t\t\t\tlanguages: this.settings.languages.commonLanguages,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: t('settings', 'Other languages'),\n\t\t\t\t\tlanguages: this.settings.languages.otherLanguages,\n\t\t\t\t},\n\t\t\t]\n\t\t},\n\t},\n\n\twatch: {\n\t\t// watch url change and group select\n\t\tasync selectedGroup(val, old) {\n\t\t\tthis.isInitialLoad = true\n\t\t\t// if selected is the disabled group but it's empty\n\t\t\tawait this.redirectIfDisabled()\n\t\t\tthis.$store.commit('resetUsers')\n\t\t\tawait this.loadUsers()\n\t\t\tthis.setNewUserDefaultGroup(val)\n\t\t},\n\n\t\tfilteredUsers(filteredUsers) {\n\t\t\tlogger.debug(`${filteredUsers.length} filtered user(s)`)\n\t\t},\n\t},\n\n\tasync created() {\n\t\tawait this.loadUsers()\n\t},\n\n\tasync mounted() {\n\t\tif (!this.settings.canChangePassword) {\n\t\t\tOC.Notification.showTemporary(t('settings', 'Password change is disabled because the master key is disabled'))\n\t\t}\n\n\t\t/**\n\t\t * Reset and init new user form\n\t\t */\n\t\tthis.resetForm()\n\n\t\t/**\n\t\t * Register search\n\t\t */\n\t\tsubscribe('nextcloud:unified-search.search', this.search)\n\t\tsubscribe('nextcloud:unified-search.reset', this.resetSearch)\n\n\t\t/**\n\t\t * If disabled group but empty, redirect\n\t\t */\n\t\tawait this.redirectIfDisabled()\n\t},\n\n\tbeforeDestroy() {\n\t\tunsubscribe('nextcloud:unified-search.search', this.search)\n\t\tunsubscribe('nextcloud:unified-search.reset', this.resetSearch)\n\t},\n\n\tmethods: {\n\t\tasync handleScrollEnd() {\n\t\t\tawait this.loadUsers()\n\t\t},\n\n\t\tasync loadUsers() {\n\t\t\tthis.loading.users = true\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('getUsers', {\n\t\t\t\t\toffset: this.usersOffset,\n\t\t\t\t\tlimit: this.usersLimit,\n\t\t\t\t\tgroup: this.selectedGroup !== 'disabled' ? this.selectedGroup : '',\n\t\t\t\t\tsearch: this.searchQuery,\n\t\t\t\t})\n\t\t\t\tlogger.debug(`${this.users.length} total user(s) loaded`)\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('Failed to load users', { error })\n\t\t\t\tshowError('Failed to load users')\n\t\t\t}\n\t\t\tthis.loading.users = false\n\t\t\tthis.isInitialLoad = false\n\t\t},\n\n\t\tcloseModal() {\n\t\t\tthis.$store.commit('setShowConfig', {\n\t\t\t\tkey: 'showNewUserForm',\n\t\t\t\tvalue: false,\n\t\t\t})\n\t\t},\n\n\t\tasync search({ query }) {\n\t\t\tthis.searchQuery = query\n\t\t\tthis.$store.commit('resetUsers')\n\t\t\tawait this.loadUsers()\n\t\t},\n\n\t\tresetSearch() {\n\t\t\tthis.search({ query: '' })\n\t\t},\n\n\t\tresetForm() {\n\t\t\t// revert form to original state\n\t\t\tthis.newUser = Object.assign({}, newUser)\n\n\t\t\t/**\n\t\t\t * Init default language from server data. The use of this.settings\n\t\t\t * requires a computed variable, which break the v-model binding of the form,\n\t\t\t * this is a much easier solution than getter and setter on a computed var\n\t\t\t */\n\t\t\tif (this.settings.defaultLanguage) {\n\t\t\t\tVue.set(this.newUser.language, 'code', this.settings.defaultLanguage)\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * In case the user directly loaded the user list within a group\n\t\t\t * the watch won't be triggered. We need to initialize it.\n\t\t\t */\n\t\t\tthis.setNewUserDefaultGroup(this.selectedGroup)\n\n\t\t\tthis.loading.all = false\n\t\t},\n\n\t\tsetNewUserDefaultGroup(value) {\n\t\t\tif (value && value.length > 0) {\n\t\t\t\t// setting new user default group to the current selected one\n\t\t\t\tconst currentGroup = this.groups.find(group => group.id === value)\n\t\t\t\tif (currentGroup) {\n\t\t\t\t\tthis.newUser.groups = [currentGroup]\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\t\t\t// fallback, empty selected group\n\t\t\tthis.newUser.groups = []\n\t\t},\n\n\t\t/**\n\t\t * If the selected group is the disabled group but the count is 0\n\t\t * redirect to the all users page.\n\t\t * we only check for 0 because we don't have the count on ldap\n\t\t * and we therefore set the usercount to -1 in this specific case\n\t\t */\n\t\tasync redirectIfDisabled() {\n\t\t\tconst allGroups = this.$store.getters.getGroups\n\t\t\tif (this.selectedGroup === 'disabled'\n\t\t\t\t\t\t&& allGroups.findIndex(group => group.id === 'disabled' && group.usercount === 0) > -1) {\n\t\t\t\t// disabled group is empty, redirection to all users\n\t\t\t\tthis.$router.push({ name: 'users' })\n\t\t\t\tawait this.loadUsers()\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import './Users/shared/styles.scss';\n\n.empty {\n\t:deep {\n\t\t.icon-vue {\n\t\t\twidth: 64px;\n\t\t\theight: 64px;\n\n\t\t\tsvg {\n\t\t\t\tmax-width: 64px;\n\t\t\t\tmax-height: 64px;\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserList.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!./UserList.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!./UserList.vue?vue&type=style&index=0&id=c76ff3be&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!./UserList.vue?vue&type=style&index=0&id=c76ff3be&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserList.vue?vue&type=template&id=c76ff3be&scoped=true&\"\nimport script from \"./UserList.vue?vue&type=script&lang=js&\"\nexport * from \"./UserList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserList.vue?vue&type=style&index=0&id=c76ff3be&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 \"c76ff3be\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Fragment',[(_vm.showConfig.showNewUserForm)?_c('NewUserModal',{attrs:{\"loading\":_vm.loading,\"new-user\":_vm.newUser,\"quota-options\":_vm.quotaOptions},on:{\"reset\":_vm.resetForm,\"close\":_vm.closeModal}}):_vm._e(),_vm._v(\" \"),(_vm.filteredUsers.length === 0)?_c('NcEmptyContent',{staticClass:\"empty\",attrs:{\"name\":_vm.isInitialLoad && _vm.loading.users ? null : _vm.t('settings', 'No users')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.isInitialLoad && _vm.loading.users)?_c('NcLoadingIcon',{attrs:{\"name\":_vm.t('settings', 'Loading users …'),\"size\":64}}):_c('NcIconSvgWrapper',{attrs:{\"svg\":_vm.usersSvg}})]},proxy:true}],null,false,934871631)}):_c('VirtualList',{style:(_vm.style),attrs:{\"data-component\":_vm.UserRow,\"data-sources\":_vm.filteredUsers,\"data-key\":\"id\",\"data-test-id\":\"userList\",\"item-height\":_vm.rowHeight,\"extra-props\":{\n\t\t\tusers: _vm.users,\n\t\t\tsettings: _vm.settings,\n\t\t\thasObfuscated: _vm.hasObfuscated,\n\t\t\tgroups: _vm.groups,\n\t\t\tsubAdminsGroups: _vm.subAdminsGroups,\n\t\t\tquotaOptions: _vm.quotaOptions,\n\t\t\tlanguages: _vm.languages,\n\t\t\texternalActions: _vm.externalActions,\n\t\t}},on:{\"scroll-end\":_vm.handleScrollEnd},scopedSlots:_vm._u([{key:\"before\",fn:function(){return [_c('caption',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'List of users. This list is not fully rendered for performance reasons. The users will be rendered as you navigate through the list.'))+\"\\n\\t\\t\\t\")])]},proxy:true},{key:\"header\",fn:function(){return [_c('UserListHeader',{attrs:{\"has-obfuscated\":_vm.hasObfuscated}})]},proxy:true},{key:\"footer\",fn:function(){return [_c('UserListFooter',{attrs:{\"loading\":_vm.loading.users,\"filtered-users\":_vm.filteredUsers}})]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2023 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<NcAppSettingsDialog :open.sync=\"isModalOpen\"\n\t\t:show-navigation=\"true\"\n\t\t:name=\"t('settings', 'User management settings')\">\n\t\t<NcAppSettingsSection id=\"visibility-settings\"\n\t\t\t:name=\"t('settings', 'Visibility')\">\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"showLanguages\"\n\t\t\t\t:checked.sync=\"showLanguages\">\n\t\t\t\t{{ t('settings', 'Show language') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"showUserBackend\"\n\t\t\t\t:checked.sync=\"showUserBackend\">\n\t\t\t\t{{ t('settings', 'Show user backend') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"showStoragePath\"\n\t\t\t\t:checked.sync=\"showStoragePath\">\n\t\t\t\t{{ t('settings', 'Show storage path') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"showLastLogin\"\n\t\t\t\t:checked.sync=\"showLastLogin\">\n\t\t\t\t{{ t('settings', 'Show last login') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</NcAppSettingsSection>\n\n\t\t<NcAppSettingsSection id=\"email-settings\"\n\t\t\t:name=\"t('settings', 'Send email')\">\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"sendWelcomeMail\"\n\t\t\t\t:checked.sync=\"sendWelcomeMail\"\n\t\t\t\t:disabled=\"loadingSendMail\">\n\t\t\t\t{{ t('settings', 'Send welcome email to new users') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</NcAppSettingsSection>\n\n\t\t<NcAppSettingsSection id=\"default-settings\"\n\t\t\t:name=\"t('settings', 'Defaults')\">\n\t\t\t<label for=\"default-quota-select\">{{ t('settings', 'Default quota') }}</label>\n\t\t\t<NcSelect v-model=\"defaultQuota\"\n\t\t\t\tinput-id=\"default-quota-select\"\n\t\t\t\tplacement=\"top\"\n\t\t\t\t:taggable=\"true\"\n\t\t\t\t:options=\"quotaOptions\"\n\t\t\t\t:create-option=\"validateQuota\"\n\t\t\t\t:placeholder=\"t('settings', 'Select default quota')\"\n\t\t\t\t:clearable=\"false\"\n\t\t\t\t@option:selected=\"setDefaultQuota\" />\n\t\t</NcAppSettingsSection>\n\t</NcAppSettingsDialog>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\n\nimport NcAppSettingsDialog from '@nextcloud/vue/dist/Components/NcAppSettingsDialog.js'\nimport NcAppSettingsSection from '@nextcloud/vue/dist/Components/NcAppSettingsSection.js'\nimport NcCheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js'\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\n\nimport { unlimitedQuota } from '../../utils/userUtils.ts'\n\nexport default {\n\tname: 'UserSettingsDialog',\n\n\tcomponents: {\n\t\tNcAppSettingsDialog,\n\t\tNcAppSettingsSection,\n\t\tNcCheckboxRadioSwitch,\n\t\tNcSelect,\n\t},\n\n\tprops: {\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tselectedQuota: false,\n\t\t\tloadingSendMail: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tisModalOpen: {\n\t\t\tget() {\n\t\t\t\treturn this.open\n\t\t\t},\n\t\t\tset(open) {\n\t\t\t\tthis.$emit('update:open', open)\n\t\t\t},\n\t\t},\n\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData\n\t\t},\n\n\t\tshowLanguages: {\n\t\t\tget() {\n\t\t\t\treturn this.getLocalstorage('showLanguages')\n\t\t\t},\n\t\t\tset(status) {\n\t\t\t\tthis.setLocalStorage('showLanguages', status)\n\t\t\t},\n\t\t},\n\n\t\tshowLastLogin: {\n\t\t\tget() {\n\t\t\t\treturn this.getLocalstorage('showLastLogin')\n\t\t\t},\n\t\t\tset(status) {\n\t\t\t\tthis.setLocalStorage('showLastLogin', status)\n\t\t\t},\n\t\t},\n\n\t\tshowUserBackend: {\n\t\t\tget() {\n\t\t\t\treturn this.getLocalstorage('showUserBackend')\n\t\t\t},\n\t\t\tset(status) {\n\t\t\t\tthis.setLocalStorage('showUserBackend', status)\n\t\t\t},\n\t\t},\n\n\t\tshowStoragePath: {\n\t\t\tget() {\n\t\t\t\treturn this.getLocalstorage('showStoragePath')\n\t\t\t},\n\t\t\tset(status) {\n\t\t\t\tthis.setLocalStorage('showStoragePath', status)\n\t\t\t},\n\t\t},\n\n\t\tquotaOptions() {\n\t\t\t// convert the preset array into objects\n\t\t\tconst quotaPreset = this.settings.quotaPreset.reduce((acc, cur) => acc.concat({ id: cur, label: cur }), [])\n\t\t\t// add default presets\n\t\t\tif (this.settings.allowUnlimitedQuota) {\n\t\t\t\tquotaPreset.unshift(unlimitedQuota)\n\t\t\t}\n\t\t\treturn quotaPreset\n\t\t},\n\n\t\tdefaultQuota: {\n\t\t\tget() {\n\t\t\t\tif (this.selectedQuota !== false) {\n\t\t\t\t\treturn this.selectedQuota\n\t\t\t\t}\n\t\t\t\tif (this.settings.defaultQuota !== unlimitedQuota.id && OC.Util.computerFileSize(this.settings.defaultQuota) >= 0) {\n\t\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\t\treturn { id: this.settings.defaultQuota, label: this.settings.defaultQuota }\n\t\t\t\t}\n\t\t\t\treturn unlimitedQuota // unlimited\n\t\t\t},\n\t\t\tset(quota) {\n\t\t\t\tthis.selectedQuota = quota\n\t\t\t},\n\t\t},\n\n\t\tsendWelcomeMail: {\n\t\t\tget() {\n\t\t\t\treturn this.settings.newUserSendEmail\n\t\t\t},\n\t\t\tasync set(value) {\n\t\t\t\ttry {\n\t\t\t\t\tthis.loadingSendMail = true\n\t\t\t\t\tthis.$store.commit('setServerData', {\n\t\t\t\t\t\t...this.settings,\n\t\t\t\t\t\tnewUserSendEmail: value,\n\t\t\t\t\t})\n\t\t\t\t\tawait axios.post(generateUrl('/settings/users/preferences/newUser.sendEmail'), { value: value ? 'yes' : 'no' })\n\t\t\t\t} catch (e) {\n\t\t\t\t\tconsole.error('could not update newUser.sendEmail preference: ' + e.message, e)\n\t\t\t\t} finally {\n\t\t\t\t\tthis.loadingSendMail = false\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\n\tmethods: {\n\t\tgetLocalstorage(key) {\n\t\t\t// force initialization\n\t\t\tconst localConfig = this.$localStorage.get(key)\n\t\t\t// if localstorage is null, fallback to original values\n\t\t\tthis.$store.commit('setShowConfig', { key, value: localConfig !== null ? localConfig === 'true' : this.showConfig[key] })\n\t\t\treturn this.showConfig[key]\n\t\t},\n\n\t\tsetLocalStorage(key, status) {\n\t\t\tthis.$store.commit('setShowConfig', { key, value: status })\n\t\t\tthis.$localStorage.set(key, status)\n\t\t\treturn status\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t *\n\t\t * @param {string | object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t * @return {object} The validated quota object or unlimited quota if input is invalid\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\tif (typeof quota === 'object') {\n\t\t\t\tquota = quota?.id || quota.label\n\t\t\t}\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tconst validQuota = OC.Util.computerFileSize(quota)\n\t\t\tif (validQuota === null) {\n\t\t\t\treturn unlimitedQuota\n\t\t\t} else {\n\t\t\t\t// unify format output\n\t\t\t\tquota = OC.Util.humanFileSize(OC.Util.computerFileSize(quota))\n\t\t\t\treturn { id: quota, label: quota }\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Dispatch default quota set request\n\t\t *\n\t\t * @param {string | object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t */\n\t\tsetDefaultQuota(quota = 'none') {\n\t\t\t// Make sure correct label is set for unlimited quota\n\t\t\tif (quota === 'none') {\n\t\t\t\tquota = unlimitedQuota\n\t\t\t}\n\t\t\tthis.$store.dispatch('setAppConfig', {\n\t\t\t\tapp: 'files',\n\t\t\t\tkey: 'default_quota',\n\t\t\t\t// ensure we only send the preset id\n\t\t\t\tvalue: quota.id ? quota.id : quota,\n\t\t\t}).then(() => {\n\t\t\t\tif (typeof quota !== 'object') {\n\t\t\t\t\tquota = { id: quota, label: quota }\n\t\t\t\t}\n\t\t\t\tthis.defaultQuota = quota\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nlabel[for=\"default-quota-select\"] {\n\tdisplay: block;\n\tpadding: 4px 0;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSettingsDialog.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!./UserSettingsDialog.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!./UserSettingsDialog.vue?vue&type=style&index=0&id=0a250c55&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!./UserSettingsDialog.vue?vue&type=style&index=0&id=0a250c55&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserSettingsDialog.vue?vue&type=template&id=0a250c55&scoped=true&\"\nimport script from \"./UserSettingsDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./UserSettingsDialog.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserSettingsDialog.vue?vue&type=style&index=0&id=0a250c55&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 \"0a250c55\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppSettingsDialog',{attrs:{\"open\":_vm.isModalOpen,\"show-navigation\":true,\"name\":_vm.t('settings', 'User management settings')},on:{\"update:open\":function($event){_vm.isModalOpen=$event}}},[_c('NcAppSettingsSection',{attrs:{\"id\":\"visibility-settings\",\"name\":_vm.t('settings', 'Visibility')}},[_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showLanguages\",\"checked\":_vm.showLanguages},on:{\"update:checked\":function($event){_vm.showLanguages=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show language'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showUserBackend\",\"checked\":_vm.showUserBackend},on:{\"update:checked\":function($event){_vm.showUserBackend=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show user backend'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showStoragePath\",\"checked\":_vm.showStoragePath},on:{\"update:checked\":function($event){_vm.showStoragePath=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show storage path'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showLastLogin\",\"checked\":_vm.showLastLogin},on:{\"update:checked\":function($event){_vm.showLastLogin=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show last login'))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"email-settings\",\"name\":_vm.t('settings', 'Send email')}},[_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"sendWelcomeMail\",\"checked\":_vm.sendWelcomeMail,\"disabled\":_vm.loadingSendMail},on:{\"update:checked\":function($event){_vm.sendWelcomeMail=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Send welcome email to new users'))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"default-settings\",\"name\":_vm.t('settings', 'Defaults')}},[_c('label',{attrs:{\"for\":\"default-quota-select\"}},[_vm._v(_vm._s(_vm.t('settings', 'Default quota')))]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"input-id\":\"default-quota-select\",\"placement\":\"top\",\"taggable\":true,\"options\":_vm.quotaOptions,\"create-option\":_vm.validateQuota,\"placeholder\":_vm.t('settings', 'Select default quota'),\"clearable\":false},on:{\"option:selected\":_vm.setDefaultQuota},model:{value:(_vm.defaultQuota),callback:function ($$v) {_vm.defaultQuota=$$v},expression:\"defaultQuota\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<Fragment>\n\t\t<NcContent app-name=\"settings\">\n\t\t\t<NcAppNavigation>\n\t\t\t\t<NcAppNavigationNew button-id=\"new-user-button\"\n\t\t\t\t\t:text=\"t('settings','New user')\"\n\t\t\t\t\tbutton-class=\"icon-add\"\n\t\t\t\t\t@click=\"showNewUserMenu\"\n\t\t\t\t\t@keyup.enter=\"showNewUserMenu\"\n\t\t\t\t\t@keyup.space=\"showNewUserMenu\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Plus :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcAppNavigationNew>\n\n\t\t\t\t<template #list>\n\t\t\t\t\t<NcAppNavigationItem id=\"everyone\"\n\t\t\t\t\t\t:exact=\"true\"\n\t\t\t\t\t\t:name=\"t('settings', 'Active users')\"\n\t\t\t\t\t\t:to=\"{ name: 'users' }\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<AccountGroup :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #counter>\n\t\t\t\t\t\t\t<NcCounterBubble v-if=\"userCount\" :type=\"!selectedGroupDecoded ? 'highlighted' : undefined\">\n\t\t\t\t\t\t\t\t{{ userCount }}\n\t\t\t\t\t\t\t</NcCounterBubble>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcAppNavigationItem>\n\n\t\t\t\t\t<NcAppNavigationItem v-if=\"settings.isAdmin\"\n\t\t\t\t\t\tid=\"admin\"\n\t\t\t\t\t\t:exact=\"true\"\n\t\t\t\t\t\t:name=\"t('settings', 'Admins')\"\n\t\t\t\t\t\t:to=\"{ name: 'group', params: { selectedGroup: 'admin' } }\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<ShieldAccount :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-if=\"adminGroupMenu.count > 0\" #counter>\n\t\t\t\t\t\t\t<NcCounterBubble :type=\"selectedGroupDecoded === 'admin' ? 'highlighted' : undefined\">\n\t\t\t\t\t\t\t\t{{ adminGroupMenu.count }}\n\t\t\t\t\t\t\t</NcCounterBubble>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcAppNavigationItem>\n\n\t\t\t\t\t<!-- Hide the disabled if none, if we don't have the data (-1) show it -->\n\t\t\t\t\t<NcAppNavigationItem v-if=\"disabledGroupMenu.usercount > 0 || disabledGroupMenu.usercount === -1\"\n\t\t\t\t\t\tid=\"disabled\"\n\t\t\t\t\t\t:exact=\"true\"\n\t\t\t\t\t\t:name=\"t('settings', 'Disabled users')\"\n\t\t\t\t\t\t:to=\"{ name: 'group', params: { selectedGroup: 'disabled' } }\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<AccountOff :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-if=\"disabledGroupMenu.usercount > 0\" #counter>\n\t\t\t\t\t\t\t<NcCounterBubble :type=\"selectedGroupDecoded === 'disabled' ? 'highlighted' : undefined\">\n\t\t\t\t\t\t\t\t{{ disabledGroupMenu.usercount }}\n\t\t\t\t\t\t\t</NcCounterBubble>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcAppNavigationItem>\n\n\t\t\t\t\t<NcAppNavigationCaption :name=\"t('settings', 'Groups')\"\n\t\t\t\t\t\t:disabled=\"loadingAddGroup\"\n\t\t\t\t\t\t:aria-label=\"loadingAddGroup ? t('settings', 'Creating group …') : t('settings', 'Create group')\"\n\t\t\t\t\t\tforce-menu\n\t\t\t\t\t\t:open.sync=\"isAddGroupOpen\">\n\t\t\t\t\t\t<template #actionsTriggerIcon>\n\t\t\t\t\t\t\t<NcLoadingIcon v-if=\"loadingAddGroup\" />\n\t\t\t\t\t\t\t<Plus v-else :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #actions>\n\t\t\t\t\t\t\t<NcActionText>\n\t\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t\t<AccountGroup :size=\"20\" />\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t{{ t('settings', 'Create group') }}\n\t\t\t\t\t\t\t</NcActionText>\n\t\t\t\t\t\t\t<NcActionInput :label=\"t('settings', 'Group name')\"\n\t\t\t\t\t\t\t\t:label-outside=\"false\"\n\t\t\t\t\t\t\t\t:disabled=\"loadingAddGroup\"\n\t\t\t\t\t\t\t\t:value.sync=\"newGroupName\"\n\t\t\t\t\t\t\t\t:error=\"hasAddGroupError\"\n\t\t\t\t\t\t\t\t:helper-text=\"hasAddGroupError ? t('settings', 'Please enter a valid group name') : ''\"\n\t\t\t\t\t\t\t\t@submit=\"createGroup\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcAppNavigationCaption>\n\n\t\t\t\t\t<GroupListItem v-for=\"group in groupList\"\n\t\t\t\t\t\t:id=\"group.id\"\n\t\t\t\t\t\t:key=\"group.id\"\n\t\t\t\t\t\t:active=\"selectedGroupDecoded === group.id\"\n\t\t\t\t\t\t:name=\"group.title\"\n\t\t\t\t\t\t:count=\"group.count\" />\n\t\t\t\t</template>\n\n\t\t\t\t<template #footer>\n\t\t\t\t\t<ul class=\"app-navigation-entry__settings\">\n\t\t\t\t\t\t<NcAppNavigationItem :name=\"t('settings', 'User management settings')\"\n\t\t\t\t\t\t\t@click=\"isDialogOpen = true\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<Cog :size=\"20\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</NcAppNavigationItem>\n\t\t\t\t\t</ul>\n\t\t\t\t</template>\n\t\t\t</NcAppNavigation>\n\n\t\t\t<NcAppContent>\n\t\t\t\t<UserList :selected-group=\"selectedGroupDecoded\"\n\t\t\t\t\t:external-actions=\"externalActions\" />\n\t\t\t</NcAppContent>\n\t\t</NcContent>\n\n\t\t<UserSettingsDialog :open.sync=\"isDialogOpen\" />\n\t</Fragment>\n</template>\n\n<script>\nimport Vue from 'vue'\nimport VueLocalStorage from 'vue-localstorage'\nimport { Fragment } from 'vue-frag'\nimport { translate as t } from '@nextcloud/l10n'\nimport { showError } from '@nextcloud/dialogs'\n\nimport NcActionInput from '@nextcloud/vue/dist/Components/NcActionInput.js'\nimport NcActionText from '@nextcloud/vue/dist/Components/NcActionText.js'\nimport NcAppContent from '@nextcloud/vue/dist/Components/NcAppContent.js'\nimport NcAppNavigation from '@nextcloud/vue/dist/Components/NcAppNavigation.js'\nimport NcAppNavigationCaption from '@nextcloud/vue/dist/Components/NcAppNavigationCaption.js'\nimport NcAppNavigationItem from '@nextcloud/vue/dist/Components/NcAppNavigationItem.js'\nimport NcAppNavigationNew from '@nextcloud/vue/dist/Components/NcAppNavigationNew.js'\nimport NcContent from '@nextcloud/vue/dist/Components/NcContent.js'\nimport NcCounterBubble from '@nextcloud/vue/dist/Components/NcCounterBubble.js'\nimport NcLoadingIcon from '@nextcloud/vue/dist/Components/NcLoadingIcon.js'\n\nimport AccountGroup from 'vue-material-design-icons/AccountGroup.vue'\nimport AccountOff from 'vue-material-design-icons/AccountOff.vue'\nimport Cog from 'vue-material-design-icons/Cog.vue'\nimport Plus from 'vue-material-design-icons/Plus.vue'\nimport ShieldAccount from 'vue-material-design-icons/ShieldAccount.vue'\n\nimport GroupListItem from '../components/GroupListItem.vue'\nimport UserList from '../components/UserList.vue'\nimport UserSettingsDialog from '../components/Users/UserSettingsDialog.vue'\n\nVue.use(VueLocalStorage)\n\nexport default {\n\tname: 'Users',\n\n\tcomponents: {\n\t\tAccountGroup,\n\t\tAccountOff,\n\t\tCog,\n\t\tFragment,\n\t\tGroupListItem,\n\t\tNcActionInput,\n\t\tNcActionText,\n\t\tNcAppContent,\n\t\tNcAppNavigation,\n\t\tNcAppNavigationCaption,\n\t\tNcAppNavigationItem,\n\t\tNcAppNavigationNew,\n\t\tNcContent,\n\t\tNcCounterBubble,\n\t\tNcLoadingIcon,\n\t\tPlus,\n\t\tShieldAccount,\n\t\tUserList,\n\t\tUserSettingsDialog,\n\t},\n\n\tprops: {\n\t\tselectedGroup: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\t// temporary value used for multiselect change\n\t\t\texternalActions: [],\n\t\t\tnewGroupName: '',\n\t\t\tisAddGroupOpen: false,\n\t\t\tloadingAddGroup: false,\n\t\t\thasAddGroupError: false,\n\t\t\tisDialogOpen: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\tselectedGroupDecoded() {\n\t\t\treturn this.selectedGroup ? decodeURIComponent(this.selectedGroup) : null\n\t\t},\n\n\t\tusers() {\n\t\t\treturn this.$store.getters.getUsers\n\t\t},\n\n\t\tgroups() {\n\t\t\treturn this.$store.getters.getGroups\n\t\t},\n\n\t\tusersOffset() {\n\t\t\treturn this.$store.getters.getUsersOffset\n\t\t},\n\n\t\tusersLimit() {\n\t\t\treturn this.$store.getters.getUsersLimit\n\t\t},\n\n\t\tuserCount() {\n\t\t\treturn this.$store.getters.getUserCount\n\t\t},\n\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData\n\t\t},\n\n\t\tgroupList() {\n\t\t\tconst groups = Array.isArray(this.groups) ? this.groups : []\n\n\t\t\treturn groups\n\t\t\t\t// filter out disabled and admin\n\t\t\t\t.filter(group => group.id !== 'disabled' && group.id !== 'admin')\n\t\t\t\t.map(group => this.formatGroupMenu(group))\n\t\t},\n\n\t\tadminGroupMenu() {\n\t\t\treturn this.formatGroupMenu(this.groups.find(group => group.id === 'admin'))\n\t\t},\n\n\t\tdisabledGroupMenu() {\n\t\t\treturn this.formatGroupMenu(this.groups.find(group => group.id === 'disabled'))\n\t\t},\n\t},\n\n\tbeforeMount() {\n\t\tthis.$store.commit('initGroups', {\n\t\t\tgroups: this.$store.getters.getServerData.groups,\n\t\t\torderBy: this.$store.getters.getServerData.sortGroups,\n\t\t\tuserCount: this.$store.getters.getServerData.userCount,\n\t\t})\n\t\tthis.$store.dispatch('getPasswordPolicyMinLength')\n\t},\n\n\tcreated() {\n\t\t// init the OCA.Settings.UserList object\n\t\t// and add the registerAction method\n\t\tObject.assign(OCA, {\n\t\t\tSettings: {\n\t\t\t\tUserList: {\n\t\t\t\t\tregisterAction: this.registerAction,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t},\n\n\tmethods: {\n\t\tt,\n\n\t\tshowNewUserMenu() {\n\t\t\tthis.$store.commit('setShowConfig', {\n\t\t\t\tkey: 'showNewUserForm',\n\t\t\t\tvalue: true,\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Register a new action for the user menu\n\t\t *\n\t\t * @param {string} icon the icon class\n\t\t * @param {string} text the text to display\n\t\t * @param {Function} action the function to run\n\t\t * @return {Array}\n\t\t */\n\t\tregisterAction(icon, text, action) {\n\t\t\tthis.externalActions.push({\n\t\t\t\ticon,\n\t\t\t\ttext,\n\t\t\t\taction,\n\t\t\t})\n\t\t\treturn this.externalActions\n\t\t},\n\n\t\t/**\n\t\t * Create a new group\n\t\t */\n\t\tasync createGroup() {\n\t\t\tthis.hasAddGroupError = false\n\t\t\tconst groupId = this.newGroupName.trim()\n\t\t\tif (groupId === '') {\n\t\t\t\tthis.hasAddGroupError = true\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.isAddGroupOpen = false\n\t\t\tthis.loadingAddGroup = true\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('addGroup', groupId)\n\t\t\t\tawait this.$router.push({\n\t\t\t\t\tname: 'group',\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tselectedGroup: encodeURIComponent(groupId),\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tthis.newGroupName = ''\n\t\t\t} catch {\n\t\t\t\tshowError(t('settings', 'Failed to create group'))\n\t\t\t}\n\t\t\tthis.loadingAddGroup = false\n\t\t},\n\n\t\t/**\n\t\t * Format a group to a menu entry\n\t\t *\n\t\t * @param {object} group the group\n\t\t * @return {object}\n\t\t */\n\t\tformatGroupMenu(group) {\n\t\t\tconst item = {}\n\t\t\tif (typeof group === 'undefined') {\n\t\t\t\treturn {}\n\t\t\t}\n\n\t\t\titem.id = group.id\n\t\t\titem.title = group.name\n\t\t\titem.usercount = group.usercount\n\n\t\t\t// users count for all groups\n\t\t\tif (group.usercount - group.disabled > 0) {\n\t\t\t\titem.count = group.usercount - group.disabled\n\t\t\t}\n\n\t\t\treturn item\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.app-content {\n\t// Virtual list needs to be full height and is scrollable\n\tdisplay: flex;\n\toverflow: hidden;\n\tflex-direction: column;\n\tmax-height: 100%;\n}\n\n.app-navigation-entry__settings {\n\theight: auto !important;\n\t// Prevent shrinking or growing\n\tflex: 0 0 auto;\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Users.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!./Users.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!./Users.vue?vue&type=style&index=0&id=642e7037&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!./Users.vue?vue&type=style&index=0&id=642e7037&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Users.vue?vue&type=template&id=642e7037&scoped=true&\"\nimport script from \"./Users.vue?vue&type=script&lang=js&\"\nexport * from \"./Users.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Users.vue?vue&type=style&index=0&id=642e7037&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 \"642e7037\",\n null\n \n)\n\nexport default component.exports","/**\n * vue-local-storage v0.6.0\n * (c) 2017 Alexander Avakov\n * @license MIT\n */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.VueLocalStorage = factory());\n}(this, (function () { 'use strict';\n\nvar VueLocalStorage = function VueLocalStorage () {\n this._properties = {};\n this._namespace = '';\n this._isSupported = true;\n};\n\nvar prototypeAccessors = { namespace: {} };\n\n/**\n * Namespace getter.\n *\n * @returns {string}\n */\nprototypeAccessors.namespace.get = function () {\n return this._namespace\n};\n\n/**\n * Namespace setter.\n *\n * @param {string} value\n */\nprototypeAccessors.namespace.set = function (value) {\n this._namespace = value ? (value + \".\") : '';\n};\n\n/**\n * Concatenates localStorage key with namespace prefix.\n *\n * @param {string} lsKey\n * @returns {string}\n * @private\n */\nVueLocalStorage.prototype._getLsKey = function _getLsKey (lsKey) {\n return (\"\" + (this._namespace) + lsKey)\n};\n\n/**\n * Set a value to localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @param {*} rawValue\n * @param {*} type\n * @private\n */\nVueLocalStorage.prototype._lsSet = function _lsSet (lsKey, rawValue, type) {\n var key = this._getLsKey(lsKey);\n var value = type && [Array, Object].includes(type)\n ? JSON.stringify(rawValue)\n : rawValue;\n\n window.localStorage.setItem(key, value);\n};\n\n/**\n * Get value from localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @returns {any}\n * @private\n */\nVueLocalStorage.prototype._lsGet = function _lsGet (lsKey) {\n var key = this._getLsKey(lsKey);\n\n return window.localStorage[key]\n};\n\n/**\n * Get value from localStorage\n *\n * @param {String} lsKey\n * @param {*} defaultValue\n * @param {*} defaultType\n * @returns {*}\n */\nVueLocalStorage.prototype.get = function get (lsKey, defaultValue, defaultType) {\n var this$1 = this;\n if ( defaultValue === void 0 ) defaultValue = null;\n if ( defaultType === void 0 ) defaultType = String;\n\n if (!this._isSupported) {\n return null\n }\n\n if (this._lsGet(lsKey)) {\n var type = defaultType;\n\n for (var key in this$1._properties) {\n if (key === lsKey) {\n type = this$1._properties[key].type;\n break\n }\n }\n\n return this._process(type, this._lsGet(lsKey))\n }\n\n return defaultValue !== null ? defaultValue : null\n};\n\n/**\n * Set localStorage value\n *\n * @param {String} lsKey\n * @param {*} value\n * @returns {*}\n */\nVueLocalStorage.prototype.set = function set (lsKey, value) {\n var this$1 = this;\n\n if (!this._isSupported) {\n return null\n }\n\n for (var key in this$1._properties) {\n var type = this$1._properties[key].type;\n\n if ((key === lsKey)) {\n this$1._lsSet(lsKey, value, type);\n\n return value\n }\n }\n\n this._lsSet(lsKey, value);\n\n return value\n};\n\n/**\n * Remove value from localStorage\n *\n * @param {String} lsKey\n */\nVueLocalStorage.prototype.remove = function remove (lsKey) {\n if (!this._isSupported) {\n return null\n }\n\n return window.localStorage.removeItem(lsKey)\n};\n\n/**\n * Add new property to localStorage\n *\n * @param {String} key\n * @param {function} type\n * @param {*} defaultValue\n */\nVueLocalStorage.prototype.addProperty = function addProperty (key, type, defaultValue) {\n if ( defaultValue === void 0 ) defaultValue = undefined;\n\n type = type || String;\n\n this._properties[key] = { type: type };\n\n if (!this._lsGet(key) && defaultValue !== null) {\n this._lsSet(key, defaultValue, type);\n }\n};\n\n/**\n * Process the value before return it from localStorage\n *\n * @param {String} type\n * @param {*} value\n * @returns {*}\n * @private\n */\nVueLocalStorage.prototype._process = function _process (type, value) {\n switch (type) {\n case Boolean:\n return value === 'true'\n case Number:\n return parseFloat(value)\n case Array:\n try {\n var array = JSON.parse(value);\n\n return Array.isArray(array) ? array : []\n } catch (e) {\n return []\n }\n case Object:\n try {\n return JSON.parse(value)\n } catch (e) {\n return {}\n }\n default:\n return value\n }\n};\n\nObject.defineProperties( VueLocalStorage.prototype, prototypeAccessors );\n\nvar vueLocalStorage = new VueLocalStorage();\n\nvar index = {\n /**\n * Install vue-local-storage plugin\n *\n * @param {Vue} Vue\n * @param {Object} options\n */\n install: function (Vue, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof process !== 'undefined' &&\n (\n process.server ||\n process.SERVER_BUILD ||\n (process.env && process.env.VUE_ENV === 'server')\n )\n ) {\n return\n }\n\n var isSupported = true;\n\n try {\n var test = '__vue-localstorage-test__';\n\n window.localStorage.setItem(test, test);\n window.localStorage.removeItem(test);\n } catch (e) {\n isSupported = false;\n vueLocalStorage._isSupported = false;\n\n console.error('Local storage is not supported');\n }\n\n var name = options.name || 'localStorage';\n var bind = options.bind;\n\n if (options.namespace) {\n vueLocalStorage.namespace = options.namespace;\n }\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n var this$1 = this;\n\n if (!isSupported) {\n return\n }\n\n if (this.$options[name]) {\n Object.keys(this.$options[name]).forEach(function (key) {\n var config = this$1.$options[name][key];\n var ref = [config.type, config.default];\n var type = ref[0];\n var defaultValue = ref[1];\n\n vueLocalStorage.addProperty(key, type, defaultValue);\n\n var existingProp = Object.getOwnPropertyDescriptor(vueLocalStorage, key);\n\n if (!existingProp) {\n var prop = {\n get: function () { return Vue.localStorage.get(key, defaultValue); },\n set: function (val) { return Vue.localStorage.set(key, val); },\n configurable: true\n };\n\n Object.defineProperty(vueLocalStorage, key, prop);\n Vue.util.defineReactive(vueLocalStorage, key, defaultValue);\n } else if (!Vue.config.silent) {\n console.log((key + \": is already defined and will be reused\"));\n }\n\n if ((bind || config.bind) && config.bind !== false) {\n this$1.$options.computed = this$1.$options.computed || {};\n\n if (!this$1.$options.computed[key]) {\n this$1.$options.computed[key] = {\n get: function () { return Vue.localStorage[key]; },\n set: function (val) { Vue.localStorage[key] = val; }\n };\n }\n }\n });\n }\n }\n });\n\n Vue[name] = vueLocalStorage;\n Vue.prototype[(\"$\" + name)] = vueLocalStorage;\n }\n};\n\nreturn index;\n\n})));\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","name","emits","props","title","type","String","fillColor","default","size","Number","_vm","this","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","_regeneratorRuntime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","defineProperty","obj","key","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","_typeof","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","undefined","done","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","return","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","doneResult","displayName","isGeneratorFunction","genFun","ctor","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","arguments","apply","components","AccountGroup","Delete","Fragment","NcActionButton","NcActionInput","NcAppNavigationItem","NcButton","NcCounterBubble","NcModal","NcNoteCard","Pencil","active","Boolean","required","count","data","loadingRenameGroup","openGroupMenu","showRemoveGroupModal","computed","settings","$store","getters","getServerData","methods","handleGroupMenuOpen","renameGroup","gid","_this","_callee","_context","trim","$refs","displayNameInput","$el","querySelector","dispatch","groupid","t0","removeGroup","_this2","_callee2","_context2","showError","t","group","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","params","selectedGroup","encodeURIComponent","scopedSlots","_u","proxy","isAdmin","ref","Vue","directive","vElementVisibility","extend","dataComponent","Function","dataKey","dataSources","Array","itemHeight","extraProps","bufferItems","index","headerHeight","tableHeight","resizeObserver","startIndex","Math","max","shownItems","ceil","renderedItems","tbodyStyle","isOverScrolled","lastIndex","hiddenAfterItems","min","paddingTop","concat","paddingBottom","mounted","_this$$refs","_this$$refs2","root","tfoot","thead","ResizeObserver","debounce","_thead$clientHeight","_root$clientHeight","clientHeight","logger","debug","onScroll","observe","addEventListener","beforeDestroy","disconnect","handleFooterVisibility","visible","round","scrollTop","_setupProxy","_t","style","_l","item","tag","directives","rawName","expression","_toConsumableArray","arr","isArray","_arrayLikeToArray","_arrayWithoutHoles","from","_iterableToArray","o","minLen","n","toString","test","_unsupportedIterableToArray","_nonIterableSpread","len","arr2","NcPasswordField","NcSelect","NcTextField","loading","newUser","quotaOptions","possibleManagers","managerLabel","showConfig","getShowConfig","usernameLabel","newUserGenerateUserID","minPasswordLength","getPasswordPolicyMinLength","groups","getGroups","filter","sort","a","b","localeCompare","subAdminsGroups","getSubadminGroups","canAddGroups","map","assign","$isDisabled","canAdd","languages","commonLanguages","otherLanguages","beforeMount","searchUserManager","createUser","_this2$$refs$username","_this2$$refs$username2","statuscode","_this2$$refs$username3","_this2$$refs$username4","_this2$$refs$password","_this2$$refs$password2","all","userid","password","email","mailAddress","subadmin","quota","language","code","manager","username","inputField","input","focus","response","ocs","meta","handleGroupInput","createGroup","_ref","_this3","_callee3","_context3","find","validateQuota","validQuota","OC","Util","computerFileSize","humanFileSize","label","languageFilterBy","option","search","some","_ref2","toLocaleLowerCase","includes","query","_this4","_callee4","_context4","offset","limit","users","_g","$listeners","preventDefault","$set","newUserRequireEmail","class","model","callback","$$v","showLanguages","NcLoadingIcon","filteredUsers","userCount","hasObfuscated","passwordLabel","showUserBackend","showStoragePath","showLastLogin","defineComponent","NcActions","NcIconSvgWrapper","actions","disabled","edit","editSvg","toggleEdit","action","icon","text","user","externalActions","userGroups","userSubAdminsGroups","availableGroups","groupClone","canRemove","usedSpace","used","usedQuota","pow","userQuota","humanQuota","userLanguage","userLang","lang","userLastLoginTooltip","lastLogin","formatDate","userLastLogin","relativeModifiedDate","unlimitedQuota","defaultQuota","isObfuscated","at","NcAvatar","NcProgressBar","UserRowActions","mixins","UserRowMixin","_this$user$email","selectedQuota","rand","random","substring","loadingPossibleManagers","currentManager","editing","subadmins","delete","disable","wipe","editedDisplayName","displayname","editedPassword","editedMail","isLoadingUser","isLoadingField","uniqueId","userGroupsLabels","join","userSubAdminsGroupsLabels","_this$user$quota","_this$user$quota2","canEdit","getCurrentUser","uid","_this$user$quota3","userActions","deleteUser","wipeUserDevices","enabled","enableDisableUser","sendWelcomeMail","editedUserQuota","get","set","availableLanguages","initManager","dialogs","confirmDestructive","YES_NO_BUTTONS","confirm","confirmClasses","cancel","showSuccess","timeout","finally","filterManagers","managers","userId","searchInitialUserManager","_this5","_this6","updateUserManager","_this7","_callee5","_context5","console","_this8","_this9","updateDisplayName","_this10","updatePassword","_this11","updateEmail","_this12","_this13","_callee6","_context6","addUserGroup","_this14","_callee7","_context7","isCreating","removeUserGroup","_this15","_callee8","_context8","$route","commit","addUserSubAdmin","_this16","_callee9","_context9","removeUserSubAdmin","_this17","_callee10","_context10","setUserQuota","_arguments","_this18","_callee11","_context11","_quota","setUserLanguage","_this19","_callee12","_context12","_this20","_this21","_callee13","_this21$$refs$display","_this21$user$email","_context13","$nextTick","displayNameField","_vm$user$displayname","_vm$user$email","_vm$userGroupsLabels","_vm$userSubAdminsGrou","backendCapabilities","setDisplayName","canChangePassword","setPassword","backend","storageLocation","NcEmptyContent","NewUserModal","UserListFooter","UserListHeader","VirtualList","UserRow","isInitialLoad","rowHeight","usersSvg","searchQuery","getUsers","quotaPreset","reduce","acc","cur","allowUnlimitedQuota","unshift","usersOffset","getUsersOffset","usersLimit","getUsersLimit","usersCount","watch","old","redirectIfDisabled","loadUsers","setNewUserDefaultGroup","created","Notification","showTemporary","resetForm","subscribe","resetSearch","unsubscribe","handleScrollEnd","closeModal","defaultLanguage","currentGroup","allGroups","findIndex","usercount","$router","showNewUserForm","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_objectSpread","target","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","hint","prim","toPrimitive","res","_toPrimitive","_toPropertyKey","NcAppSettingsDialog","NcAppSettingsSection","NcCheckboxRadioSwitch","open","loadingSendMail","isModalOpen","getLocalstorage","status","setLocalStorage","newUserSendEmail","axios","post","generateUrl","message","localConfig","$localStorage","setDefaultQuota","app","use","VueLocalStorage","AccountOff","Cog","GroupListItem","NcActionText","NcAppContent","NcAppNavigation","NcAppNavigationCaption","NcAppNavigationNew","NcContent","Plus","ShieldAccount","UserList","UserSettingsDialog","newGroupName","isAddGroupOpen","loadingAddGroup","hasAddGroupError","isDialogOpen","selectedGroupDecoded","decodeURIComponent","getUserCount","groupList","formatGroupMenu","adminGroupMenu","disabledGroupMenu","orderBy","sortGroups","OCA","Settings","registerAction","showNewUserMenu","groupId","indexOf","_k","keyCode","_properties","_namespace","_isSupported","prototypeAccessors","namespace","_getLsKey","lsKey","_lsSet","rawValue","JSON","stringify","window","localStorage","setItem","_lsGet","defaultValue","defaultType","_process","this$1","remove","removeItem","addProperty","parseFloat","array","parse","e","vueLocalStorage","install","process","server","SERVER_BUILD","env","VUE_ENV","isSupported","bind","mixin","beforeCreate","$options","config","silent","log","prop","util","defineReactive","factory"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"file":"settings-users-8351.js?v=0466ba4747e49633b056","mappings":"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","sources":["webpack:///nextcloud/apps/settings/src/components/GroupListItem.vue?vue&type=style&index=0&id=36dd2d08&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/UserList.vue?vue&type=style&index=0&id=c76ff3be&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/Users/NewUserModal.vue?vue&type=style&index=0&id=0634d81b&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/Users/UserListFooter.vue?vue&type=style&index=0&id=5b39b95a&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/Users/UserListHeader.vue?vue&type=style&index=0&id=05cd17c8&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/Users/UserRow.vue?vue&type=style&index=0&id=5bb81c4e&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/Users/UserSettingsDialog.vue?vue&type=style&index=0&id=0a250c55&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/Users/VirtualList.vue?vue&type=style&index=0&id=4377829d&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/views/Users.vue?vue&type=style&index=0&id=642e7037&prod&lang=scss&scoped=true&","webpack://nextcloud/./apps/settings/src/views/Users.vue?962b","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountOff.vue?vue&type=script&lang=js&","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountOff.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/AccountOff.vue?800f","webpack:///nextcloud/node_modules/vue-material-design-icons/AccountOff.vue?vue&type=template&id=4a2e1178&","webpack:///nextcloud/node_modules/vue-material-design-icons/ShieldAccount.vue?vue&type=script&lang=js&","webpack:///nextcloud/node_modules/vue-material-design-icons/ShieldAccount.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/ShieldAccount.vue?d5b2","webpack:///nextcloud/node_modules/vue-material-design-icons/ShieldAccount.vue?vue&type=template&id=3937f138&","webpack:///nextcloud/apps/settings/src/components/GroupListItem.vue","webpack:///nextcloud/apps/settings/src/components/GroupListItem.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/GroupListItem.vue?db3e","webpack://nextcloud/./apps/settings/src/components/GroupListItem.vue?7b19","webpack://nextcloud/./apps/settings/src/components/GroupListItem.vue?9f48","webpack:///nextcloud/apps/settings/src/components/Users/VirtualList.vue","webpack:///nextcloud/apps/settings/src/components/Users/VirtualList.vue?vue&type=script&lang=ts&","webpack://nextcloud/./apps/settings/src/components/Users/VirtualList.vue?4bb8","webpack://nextcloud/./apps/settings/src/components/Users/VirtualList.vue?1915","webpack:///nextcloud/apps/settings/src/components/Users/NewUserModal.vue","webpack:///nextcloud/apps/settings/src/components/Users/NewUserModal.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/Users/NewUserModal.vue?c974","webpack://nextcloud/./apps/settings/src/components/Users/NewUserModal.vue?0748","webpack://nextcloud/./apps/settings/src/components/Users/NewUserModal.vue?6ea8","webpack:///nextcloud/apps/settings/src/components/Users/UserListFooter.vue?vue&type=script&lang=ts&","webpack:///nextcloud/apps/settings/src/components/Users/UserListFooter.vue","webpack://nextcloud/./apps/settings/src/components/Users/UserListFooter.vue?fe55","webpack://nextcloud/./apps/settings/src/components/Users/UserListFooter.vue?b843","webpack:///nextcloud/apps/settings/src/components/Users/UserListHeader.vue?vue&type=script&lang=ts&","webpack:///nextcloud/apps/settings/src/components/Users/UserListHeader.vue","webpack://nextcloud/./apps/settings/src/components/Users/UserListHeader.vue?f79a","webpack://nextcloud/./apps/settings/src/components/Users/UserListHeader.vue?758a","webpack:///nextcloud/apps/settings/src/components/Users/UserRowActions.vue?vue&type=script&lang=ts&","webpack:///nextcloud/apps/settings/src/components/Users/UserRowActions.vue","webpack://nextcloud/./apps/settings/src/components/Users/UserRowActions.vue?3c2a","webpack:///nextcloud/apps/settings/src/mixins/UserRowMixin.js","webpack:///nextcloud/apps/settings/src/utils/userUtils.ts","webpack:///nextcloud/apps/settings/src/components/Users/UserRow.vue","webpack:///nextcloud/apps/settings/src/components/Users/UserRow.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/Users/UserRow.vue?92ff","webpack://nextcloud/./apps/settings/src/components/Users/UserRow.vue?eb6e","webpack://nextcloud/./apps/settings/src/components/Users/UserRow.vue?5434","webpack:///nextcloud/apps/settings/src/components/UserList.vue","webpack:///nextcloud/apps/settings/src/components/UserList.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/UserList.vue?6a25","webpack://nextcloud/./apps/settings/src/components/UserList.vue?02a4","webpack://nextcloud/./apps/settings/src/components/UserList.vue?c96e","webpack:///nextcloud/apps/settings/src/components/Users/UserSettingsDialog.vue","webpack:///nextcloud/apps/settings/src/components/Users/UserSettingsDialog.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/Users/UserSettingsDialog.vue?ca5f","webpack://nextcloud/./apps/settings/src/components/Users/UserSettingsDialog.vue?f361","webpack://nextcloud/./apps/settings/src/components/Users/UserSettingsDialog.vue?824e","webpack:///nextcloud/apps/settings/src/views/Users.vue","webpack:///nextcloud/apps/settings/src/views/Users.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/views/Users.vue?85ae","webpack://nextcloud/./apps/settings/src/views/Users.vue?cf86","webpack:///nextcloud/node_modules/vue-localstorage/dist/vue-local-storage.js"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".modal__header[data-v-36dd2d08]{margin:0}.modal__content[data-v-36dd2d08]{display:flex;flex-direction:column;align-items:center;padding:20px;gap:4px 0}.modal__button-row[data-v-36dd2d08]{display:flex;width:100%;justify-content:space-between}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/GroupListItem.vue\"],\"names\":[],\"mappings\":\"AAEC,gCACC,QAAA,CAGD,iCACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,YAAA,CACA,SAAA,CAGD,oCACC,YAAA,CACA,UAAA,CACA,6BAAA\",\"sourcesContent\":[\"\\n.modal {\\n\\t&__header {\\n\\t\\tmargin: 0;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\t\\tpadding: 20px;\\n\\t\\tgap: 4px 0;\\n\\t}\\n\\n\\t&__button-row {\\n\\t\\tdisplay: flex;\\n\\t\\twidth: 100%;\\n\\t\\tjustify-content: space-between;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".empty[data-v-c76ff3be] .icon-vue{width:64px;height:64px}.empty[data-v-c76ff3be] .icon-vue svg{max-width:64px;max-height:64px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/UserList.vue\"],\"names\":[],\"mappings\":\"AAKE,kCACC,UAAA,CACA,WAAA,CAEA,sCACC,cAAA,CACA,eAAA\",\"sourcesContent\":[\"\\n@import './Users/shared/styles.scss';\\n\\n.empty {\\n\\t:deep {\\n\\t\\t.icon-vue {\\n\\t\\t\\twidth: 64px;\\n\\t\\t\\theight: 64px;\\n\\n\\t\\t\\tsvg {\\n\\t\\t\\t\\tmax-width: 64px;\\n\\t\\t\\t\\tmax-height: 64px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".modal__form[data-v-0634d81b]{display:flex;flex-direction:column;align-items:center;padding:20px;gap:4px 0}.modal__form #new-user-groups-input[data-v-0634d81b]{position:absolute;opacity:0;width:0}.modal__item[data-v-0634d81b]{width:100%}.modal__item[data-v-0634d81b]:not(:focus):not(:active){border-color:var(--color-border-dark)}.modal__hint[data-v-0634d81b]{color:var(--color-text-maxcontrast);margin-top:8px;align-self:flex-start}.modal__label[data-v-0634d81b]{display:block;padding:4px 0}.modal__select[data-v-0634d81b]{width:100%}.modal__submit[data-v-0634d81b]{margin-top:20px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/NewUserModal.vue\"],\"names\":[],\"mappings\":\"AAEC,8BACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,YAAA,CACA,SAAA,CAGA,qDACC,iBAAA,CACA,SAAA,CAMA,OAAA,CAIF,8BACC,UAAA,CAEA,uDACC,qCAAA,CAIF,8BACC,mCAAA,CACA,cAAA,CACA,qBAAA,CAGD,+BACC,aAAA,CACA,aAAA,CAGD,gCACC,UAAA,CAGD,gCACC,eAAA\",\"sourcesContent\":[\"\\n.modal {\\n\\t&__form {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\t\\tpadding: 20px;\\n\\t\\tgap: 4px 0;\\n\\n\\t\\t/* fake input for groups validation */\\n\\t\\t#new-user-groups-input {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\t/* The \\\"hidden\\\" input is behind the NcSelect, so in general it does\\n\\t\\t\\t* not receives clicks. However, with Firefox, after the validation\\n\\t\\t\\t* fails, it will receive the first click done on it, so its width needs\\n\\t\\t\\t* to be set to 0 to prevent that (\\\"pointer-events: none\\\" does not\\n\\t\\t\\t* prevent it). */\\n\\t\\t\\twidth: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t&__item {\\n\\t\\twidth: 100%;\\n\\n\\t\\t&:not(:focus):not(:active) {\\n\\t\\t\\tborder-color: var(--color-border-dark);\\n\\t\\t}\\n\\t}\\n\\n\\t&__hint {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tmargin-top: 8px;\\n\\t\\talign-self: flex-start;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: block;\\n\\t\\tpadding: 4px 0;\\n\\t}\\n\\n\\t&__select {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tmargin-top: 20px;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".footer[data-v-5b39b95a]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.footer__cell[data-v-5b39b95a]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.footer__cell strong[data-v-5b39b95a],.footer__cell span[data-v-5b39b95a],.footer__cell label[data-v-5b39b95a]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.footer__cell--avatar[data-v-5b39b95a],.footer__cell--displayname[data-v-5b39b95a]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.footer__cell--avatar[data-v-5b39b95a]{left:0}.footer__cell--displayname[data-v-5b39b95a]{left:var(--avatar-cell-width);border-right:1px solid var(--color-border)}}.footer__cell--avatar[data-v-5b39b95a]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.footer__cell--multiline span[data-v-5b39b95a]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.footer__cell--multiline span[data-v-5b39b95a]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.footer__cell--large[data-v-5b39b95a]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.footer__cell--obfuscated[data-v-5b39b95a]{min-width:400px;width:400px}.footer__cell--fill[data-v-5b39b95a]{min-width:var(--cell-width-large);width:100%}.footer__cell--actions[data-v-5b39b95a]{position:sticky;right:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-left:1px solid var(--color-border)}.footer__subtitle[data-v-5b39b95a]{color:var(--color-text-maxcontrast)}.footer__cell[data-v-5b39b95a]{position:sticky;color:var(--color-text-maxcontrast)}.footer__cell--loading[data-v-5b39b95a]{left:0;min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0}.footer__cell--count[data-v-5b39b95a]{left:var(--avatar-cell-width);min-width:var(--cell-width);width:var(--cell-width)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserListFooter.vue\",\"webpack://./apps/settings/src/components/Users/shared/styles.scss\"],\"names\":[],\"mappings\":\"AAGA,yBCoBC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CAIA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,MAAA,CAGD,4CACC,6BAAA,CACA,0CAAA,CAAA,CAIF,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,OAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,yCAAA,CAIF,mCACC,mCAAA,CDjHD,+BACC,eAAA,CACA,mCAAA,CAEA,wCACC,MAAA,CACA,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CAGD,sCACC,6BAAA,CACA,2BAAA,CACA,uBAAA\",\"sourcesContent\":[\"\\n@import './shared/styles.scss';\\n\\n.footer {\\n\\t@include row;\\n\\t@include cell;\\n\\n\\t&__cell {\\n\\t\\tposition: sticky;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\n\\t\\t&--loading {\\n\\t\\t\\tleft: 0;\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\n\\t\\t&--count {\\n\\t\\t\\tleft: var(--avatar-cell-width);\\n\\t\\t\\tmin-width: var(--cell-width);\\n\\t\\t\\twidth: var(--cell-width);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright 2023 Christopher Ng <chrng8@gmail.com>\\n *\\n * @author Christopher Ng <chrng8@gmail.com>\\n *\\n * @license AGPL-3.0-or-later\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin row {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tmin-width: 100%;\\n\\twidth: fit-content;\\n\\theight: var(--row-height);\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n@mixin cell {\\n\\t&__cell {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tpadding: 0 var(--cell-padding);\\n\\t\\tmin-width: var(--cell-width);\\n\\t\\twidth: var(--cell-width);\\n\\t\\tcolor: var(--color-main-text);\\n\\n\\t\\tstrong,\\n\\t\\tspan,\\n\\t\\tlabel {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow-wrap: anywhere;\\n\\t\\t}\\n\\n\\t\\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\\n\\t\\t\\t&--avatar,\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tposition: sticky;\\n\\t\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--avatar {\\n\\t\\t\\t\\tleft: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tleft: var(--avatar-cell-width);\\n\\t\\t\\t\\tborder-right: 1px solid var(--color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--avatar {\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&--multiline {\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tline-height: 1.3em;\\n\\t\\t\\t\\twhite-space: unset;\\n\\n\\t\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--large {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: var(--cell-width-large);\\n\\t\\t}\\n\\n\\t\\t&--obfuscated {\\n\\t\\t\\tmin-width: 400px;\\n\\t\\t\\twidth: 400px;\\n\\t\\t}\\n\\n\\t\\t// Fill remaining row space with cell\\n\\t\\t&--fill {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t&--actions {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tright: 0;\\n\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmin-width: 110px;\\n\\t\\t\\twidth: 110px;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-left: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t&__subtitle {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".header[data-v-05cd17c8]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background);border-bottom:1px solid var(--color-border)}.header__cell[data-v-05cd17c8]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.header__cell strong[data-v-05cd17c8],.header__cell span[data-v-05cd17c8],.header__cell label[data-v-05cd17c8]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.header__cell--avatar[data-v-05cd17c8],.header__cell--displayname[data-v-05cd17c8]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.header__cell--avatar[data-v-05cd17c8]{left:0}.header__cell--displayname[data-v-05cd17c8]{left:var(--avatar-cell-width);border-right:1px solid var(--color-border)}}.header__cell--avatar[data-v-05cd17c8]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.header__cell--multiline span[data-v-05cd17c8]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.header__cell--multiline span[data-v-05cd17c8]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.header__cell--large[data-v-05cd17c8]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.header__cell--obfuscated[data-v-05cd17c8]{min-width:400px;width:400px}.header__cell--fill[data-v-05cd17c8]{min-width:var(--cell-width-large);width:100%}.header__cell--actions[data-v-05cd17c8]{position:sticky;right:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-left:1px solid var(--color-border)}.header__subtitle[data-v-05cd17c8]{color:var(--color-text-maxcontrast)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserListHeader.vue\",\"webpack://./apps/settings/src/components/Users/shared/styles.scss\"],\"names\":[],\"mappings\":\"AAGA,yBCoBC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CDrBA,2CAAA,CCyBA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,MAAA,CAGD,4CACC,6BAAA,CACA,0CAAA,CAAA,CAIF,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,OAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,yCAAA,CAIF,mCACC,mCAAA\",\"sourcesContent\":[\"\\n@import './shared/styles.scss';\\n\\n.header {\\n\\t@include row;\\n\\t@include cell;\\n\\n\\tborder-bottom: 1px solid var(--color-border);\\n}\\n\",\"/**\\n * @copyright 2023 Christopher Ng <chrng8@gmail.com>\\n *\\n * @author Christopher Ng <chrng8@gmail.com>\\n *\\n * @license AGPL-3.0-or-later\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin row {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tmin-width: 100%;\\n\\twidth: fit-content;\\n\\theight: var(--row-height);\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n@mixin cell {\\n\\t&__cell {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tpadding: 0 var(--cell-padding);\\n\\t\\tmin-width: var(--cell-width);\\n\\t\\twidth: var(--cell-width);\\n\\t\\tcolor: var(--color-main-text);\\n\\n\\t\\tstrong,\\n\\t\\tspan,\\n\\t\\tlabel {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow-wrap: anywhere;\\n\\t\\t}\\n\\n\\t\\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\\n\\t\\t\\t&--avatar,\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tposition: sticky;\\n\\t\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--avatar {\\n\\t\\t\\t\\tleft: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tleft: var(--avatar-cell-width);\\n\\t\\t\\t\\tborder-right: 1px solid var(--color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--avatar {\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&--multiline {\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tline-height: 1.3em;\\n\\t\\t\\t\\twhite-space: unset;\\n\\n\\t\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--large {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: var(--cell-width-large);\\n\\t\\t}\\n\\n\\t\\t&--obfuscated {\\n\\t\\t\\tmin-width: 400px;\\n\\t\\t\\twidth: 400px;\\n\\t\\t}\\n\\n\\t\\t// Fill remaining row space with cell\\n\\t\\t&--fill {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t&--actions {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tright: 0;\\n\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmin-width: 110px;\\n\\t\\t\\twidth: 110px;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-left: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t&__subtitle {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".user-list__row[data-v-5bb81c4e]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.user-list__row[data-v-5bb81c4e]:hover{background-color:var(--color-background-hover)}.user-list__row:hover .row__cell[data-v-5bb81c4e]:not(.row__cell--actions){background-color:var(--color-background-hover)}.user-list__row .select--fill[data-v-5bb81c4e]{max-width:calc(var(--cell-width-large) - 2*var(--cell-padding))}.row__cell[data-v-5bb81c4e]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.row__cell strong[data-v-5bb81c4e],.row__cell span[data-v-5bb81c4e],.row__cell label[data-v-5bb81c4e]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.row__cell--avatar[data-v-5bb81c4e],.row__cell--displayname[data-v-5bb81c4e]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.row__cell--avatar[data-v-5bb81c4e]{left:0}.row__cell--displayname[data-v-5bb81c4e]{left:var(--avatar-cell-width);border-right:1px solid var(--color-border)}}.row__cell--avatar[data-v-5bb81c4e]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.row__cell--multiline span[data-v-5bb81c4e]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.row__cell--multiline span[data-v-5bb81c4e]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.row__cell--large[data-v-5bb81c4e]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.row__cell--obfuscated[data-v-5bb81c4e]{min-width:400px;width:400px}.row__cell--fill[data-v-5bb81c4e]{min-width:var(--cell-width-large);width:100%}.row__cell--actions[data-v-5bb81c4e]{position:sticky;right:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-left:1px solid var(--color-border)}.row__subtitle[data-v-5bb81c4e]{color:var(--color-text-maxcontrast)}.row__cell[data-v-5bb81c4e]{border-bottom:1px solid var(--color-border)}.row__cell[data-v-5bb81c4e] .input-field,.row__cell[data-v-5bb81c4e] .input-field__main-wrapper,.row__cell[data-v-5bb81c4e] .input-field__input{height:48px !important}.row__cell[data-v-5bb81c4e] .input-field__input:placeholder-shown:not(:focus)+.input-field__label{inset-block-start:16px !important}.row__cell[data-v-5bb81c4e] .button-vue--icon-only{height:44px !important}.row__cell[data-v-5bb81c4e] .v-select.select{min-width:var(--cell-min-width)}.row__progress[data-v-5bb81c4e]{margin-top:4px}.row__progress--warn[data-v-5bb81c4e]::-moz-progress-bar{background:var(--color-warning) !important}.row__progress--warn[data-v-5bb81c4e]::-webkit-progress-value{background:var(--color-warning) !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserRow.vue\",\"webpack://./apps/settings/src/components/Users/shared/styles.scss\"],\"names\":[],\"mappings\":\"AAGA,iCCoBC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CDtBA,uCACC,8CAAA,CAEA,2EACC,8CAAA,CAKF,+CACC,+DAAA,CCgBD,4BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,sGAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,6EAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,oCACC,MAAA,CAGD,yCACC,6BAAA,CACA,0CAAA,CAAA,CAIF,oCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,4CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,4CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,mCACC,iCAAA,CACA,6BAAA,CAGD,wCACC,eAAA,CACA,WAAA,CAID,kCACC,iCAAA,CACA,UAAA,CAGD,qCACC,eAAA,CACA,OAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,yCAAA,CAIF,gCACC,mCAAA,CDjGD,4BACC,2CAAA,CAGC,gJAGC,sBAAA,CAIA,kGACC,iCAAA,CAIF,mDACC,sBAAA,CAGD,6CACC,+BAAA,CAKH,gCACC,cAAA,CAGC,yDACC,0CAAA,CAED,8DACC,0CAAA\",\"sourcesContent\":[\"\\n@import './shared/styles.scss';\\n\\n.user-list__row {\\n\\t@include row;\\n\\n\\t&:hover {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\n\\t\\t.row__cell:not(.row__cell--actions) {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Limit width of select in fill cell\\n\\t.select--fill {\\n\\t\\tmax-width: calc(var(--cell-width-large) - (2 * var(--cell-padding)));\\n\\t}\\n}\\n\\n.row {\\n\\t@include cell;\\n\\n\\t&__cell {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\n\\t\\t:deep {\\n\\t\\t\\t.input-field,\\n\\t\\t\\t.input-field__main-wrapper,\\n\\t\\t\\t.input-field__input {\\n\\t\\t\\t\\theight: 48px !important;\\n\\t\\t\\t}\\n\\n\\t\\t\\t.input-field__input {\\n\\t\\t\\t\\t&:placeholder-shown:not(:focus) + .input-field__label {\\n\\t\\t\\t\\t\\tinset-block-start: 16px !important;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t.button-vue--icon-only {\\n\\t\\t\\t\\theight: 44px !important;\\n\\t\\t\\t}\\n\\n\\t\\t\\t.v-select.select {\\n\\t\\t\\t\\tmin-width: var(--cell-min-width);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__progress {\\n\\t\\tmargin-top: 4px;\\n\\n\\t\\t&--warn {\\n\\t\\t\\t&::-moz-progress-bar {\\n\\t\\t\\t\\tbackground: var(--color-warning) !important;\\n\\t\\t\\t}\\n\\t\\t\\t&::-webkit-progress-value {\\n\\t\\t\\t\\tbackground: var(--color-warning) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright 2023 Christopher Ng <chrng8@gmail.com>\\n *\\n * @author Christopher Ng <chrng8@gmail.com>\\n *\\n * @license AGPL-3.0-or-later\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin row {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tmin-width: 100%;\\n\\twidth: fit-content;\\n\\theight: var(--row-height);\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n@mixin cell {\\n\\t&__cell {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tpadding: 0 var(--cell-padding);\\n\\t\\tmin-width: var(--cell-width);\\n\\t\\twidth: var(--cell-width);\\n\\t\\tcolor: var(--color-main-text);\\n\\n\\t\\tstrong,\\n\\t\\tspan,\\n\\t\\tlabel {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow-wrap: anywhere;\\n\\t\\t}\\n\\n\\t\\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\\n\\t\\t\\t&--avatar,\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tposition: sticky;\\n\\t\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--avatar {\\n\\t\\t\\t\\tleft: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tleft: var(--avatar-cell-width);\\n\\t\\t\\t\\tborder-right: 1px solid var(--color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--avatar {\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&--multiline {\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tline-height: 1.3em;\\n\\t\\t\\t\\twhite-space: unset;\\n\\n\\t\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--large {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: var(--cell-width-large);\\n\\t\\t}\\n\\n\\t\\t&--obfuscated {\\n\\t\\t\\tmin-width: 400px;\\n\\t\\t\\twidth: 400px;\\n\\t\\t}\\n\\n\\t\\t// Fill remaining row space with cell\\n\\t\\t&--fill {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t&--actions {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tright: 0;\\n\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmin-width: 110px;\\n\\t\\t\\twidth: 110px;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-left: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t&__subtitle {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"label[for=default-quota-select][data-v-0a250c55]{display:block;padding:4px 0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserSettingsDialog.vue\"],\"names\":[],\"mappings\":\"AACA,iDACC,aAAA,CACA,aAAA\",\"sourcesContent\":[\"\\nlabel[for=\\\"default-quota-select\\\"] {\\n\\tdisplay: block;\\n\\tpadding: 4px 0;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".user-list[data-v-4377829d]{--avatar-cell-width: 48px;--cell-padding: 7px;--cell-width: 200px;--cell-width-large: 300px;--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1);display:block;overflow:auto;height:100%}.user-list__header[data-v-4377829d],.user-list__footer[data-v-4377829d]{position:sticky;display:block}.user-list__header[data-v-4377829d]{top:0;z-index:calc(var(--sticky-column-z-index) + 1)}.user-list__footer[data-v-4377829d]{left:0}.user-list__body[data-v-4377829d]{display:flex;flex-direction:column;width:100%}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/VirtualList.vue\"],\"names\":[],\"mappings\":\"AACA,4BACC,yBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,qEAAA,CACA,6DAAA,CAGA,aAAA,CACA,aAAA,CACA,WAAA,CAEA,wEAEC,eAAA,CAEA,aAAA,CAGD,oCACC,KAAA,CACA,8CAAA,CAGD,oCACC,MAAA,CAGD,kCACC,YAAA,CACA,qBAAA,CACA,UAAA\",\"sourcesContent\":[\"\\n.user-list {\\n\\t--avatar-cell-width: 48px;\\n\\t--cell-padding: 7px;\\n\\t--cell-width: 200px;\\n\\t--cell-width-large: 300px;\\n\\t--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));\\n\\t--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1); // Keep the sticky column on top of the select dropdown\\n\\n\\t// Necessary for virtual scroll optimized rendering\\n\\tdisplay: block;\\n\\toverflow: auto;\\n\\theight: 100%;\\n\\n\\t&__header,\\n\\t&__footer {\\n\\t\\tposition: sticky;\\n\\t\\t// Fix sticky positioning in Firefox\\n\\t\\tdisplay: block;\\n\\t}\\n\\n\\t&__header {\\n\\t\\ttop: 0;\\n\\t\\tz-index: calc(var(--sticky-column-z-index) + 1);\\n\\t}\\n\\n\\t&__footer {\\n\\t\\tleft: 0;\\n\\t}\\n\\n\\t&__body {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".app-content[data-v-642e7037]{display:flex;overflow:hidden;flex-direction:column;max-height:100%}.app-navigation-entry__settings[data-v-642e7037]{height:auto !important;flex:0 0 auto}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/Users.vue\"],\"names\":[],\"mappings\":\"AACA,8BAEC,YAAA,CACA,eAAA,CACA,qBAAA,CACA,eAAA,CAGD,iDACC,sBAAA,CAEA,aAAA\",\"sourcesContent\":[\"\\n.app-content {\\n\\t// Virtual list needs to be full height and is scrollable\\n\\tdisplay: flex;\\n\\toverflow: hidden;\\n\\tflex-direction: column;\\n\\tmax-height: 100%;\\n}\\n\\n.app-navigation-entry__settings {\\n\\theight: auto !important;\\n\\t// Prevent shrinking or growing\\n\\tflex: 0 0 auto;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Fragment',[_c('NcContent',{attrs:{\"app-name\":\"settings\"}},[_c('NcAppNavigation',{scopedSlots:_vm._u([{key:\"list\",fn:function(){return [_c('NcAppNavigationItem',{attrs:{\"id\":\"everyone\",\"exact\":true,\"name\":_vm.t('settings', 'Active users'),\"to\":{ name: 'users' }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AccountGroup',{attrs:{\"size\":20}})]},proxy:true},{key:\"counter\",fn:function(){return [(_vm.userCount)?_c('NcCounterBubble',{attrs:{\"type\":!_vm.selectedGroupDecoded ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.userCount)+\"\\n\\t\\t\\t\\t\\t\\t\")]):_vm._e()]},proxy:true}])}),_vm._v(\" \"),(_vm.settings.isAdmin)?_c('NcAppNavigationItem',{attrs:{\"id\":\"admin\",\"exact\":true,\"name\":_vm.t('settings', 'Admins'),\"to\":{ name: 'group', params: { selectedGroup: 'admin' } }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('ShieldAccount',{attrs:{\"size\":20}})]},proxy:true},(_vm.adminGroupMenu.count > 0)?{key:\"counter\",fn:function(){return [_c('NcCounterBubble',{attrs:{\"type\":_vm.selectedGroupDecoded === 'admin' ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.adminGroupMenu.count)+\"\\n\\t\\t\\t\\t\\t\\t\")])]},proxy:true}:null],null,true)}):_vm._e(),_vm._v(\" \"),(_vm.disabledGroupMenu.usercount > 0 || _vm.disabledGroupMenu.usercount === -1)?_c('NcAppNavigationItem',{attrs:{\"id\":\"disabled\",\"exact\":true,\"name\":_vm.t('settings', 'Disabled users'),\"to\":{ name: 'group', params: { selectedGroup: 'disabled' } }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AccountOff',{attrs:{\"size\":20}})]},proxy:true},(_vm.disabledGroupMenu.usercount > 0)?{key:\"counter\",fn:function(){return [_c('NcCounterBubble',{attrs:{\"type\":_vm.selectedGroupDecoded === 'disabled' ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.disabledGroupMenu.usercount)+\"\\n\\t\\t\\t\\t\\t\\t\")])]},proxy:true}:null],null,true)}):_vm._e(),_vm._v(\" \"),_c('NcAppNavigationCaption',{attrs:{\"name\":_vm.t('settings', 'Groups'),\"disabled\":_vm.loadingAddGroup,\"aria-label\":_vm.loadingAddGroup ? _vm.t('settings', 'Creating group …') : _vm.t('settings', 'Create group'),\"force-menu\":\"\",\"open\":_vm.isAddGroupOpen},on:{\"update:open\":function($event){_vm.isAddGroupOpen=$event}},scopedSlots:_vm._u([{key:\"actionsTriggerIcon\",fn:function(){return [(_vm.loadingAddGroup)?_c('NcLoadingIcon'):_c('Plus',{attrs:{\"size\":20}})]},proxy:true},{key:\"actions\",fn:function(){return [_c('NcActionText',{scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AccountGroup',{attrs:{\"size\":20}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Create group'))+\"\\n\\t\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionInput',{attrs:{\"label\":_vm.t('settings', 'Group name'),\"label-outside\":false,\"disabled\":_vm.loadingAddGroup,\"value\":_vm.newGroupName,\"error\":_vm.hasAddGroupError,\"helper-text\":_vm.hasAddGroupError ? _vm.t('settings', 'Please enter a valid group name') : ''},on:{\"update:value\":function($event){_vm.newGroupName=$event},\"submit\":_vm.createGroup}})]},proxy:true}])}),_vm._v(\" \"),_vm._l((_vm.groupList),function(group){return _c('GroupListItem',{key:group.id,attrs:{\"id\":group.id,\"active\":_vm.selectedGroupDecoded === group.id,\"name\":group.title,\"count\":group.count}})})]},proxy:true},{key:\"footer\",fn:function(){return [_c('ul',{staticClass:\"app-navigation-entry__settings\"},[_c('NcAppNavigationItem',{attrs:{\"name\":_vm.t('settings', 'User management settings')},on:{\"click\":function($event){_vm.isDialogOpen = true}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Cog',{attrs:{\"size\":20}})]},proxy:true}])})],1)]},proxy:true}])},[_c('NcAppNavigationNew',{attrs:{\"button-id\":\"new-user-button\",\"text\":_vm.t('settings','New user'),\"button-class\":\"icon-add\"},on:{\"click\":_vm.showNewUserMenu,\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.showNewUserMenu.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"]))return null;return _vm.showNewUserMenu.apply(null, arguments)}]},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Plus',{attrs:{\"size\":20}})]},proxy:true}])})],1),_vm._v(\" \"),_c('NcAppContent',[_c('UserList',{attrs:{\"selected-group\":_vm.selectedGroupDecoded,\"external-actions\":_vm.externalActions}})],1)],1),_vm._v(\" \"),_c('UserSettingsDialog',{attrs:{\"open\":_vm.isDialogOpen},on:{\"update:open\":function($event){_vm.isDialogOpen=$event}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountOff.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AccountOff.vue?vue&type=script&lang=js&\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon account-off-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,4A4,4 0 0,1 16,8C16,9.95 14.6,11.58 12.75,11.93L8.07,7.25C8.42,5.4 10.05,4 12,4M12.28,14L18.28,20L20,21.72L18.73,23L15.73,20H4V18C4,16.16 6.5,14.61 9.87,14.14L2.78,7.05L4.05,5.78L12.28,14M20,18V19.18L15.14,14.32C18,14.93 20,16.35 20,18Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"AccountOffIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./AccountOff.vue?vue&type=template&id=4a2e1178&\"\nimport script from \"./AccountOff.vue?vue&type=script&lang=js&\"\nexport * from \"./AccountOff.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon account-off-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,4A4,4 0 0,1 16,8C16,9.95 14.6,11.58 12.75,11.93L8.07,7.25C8.42,5.4 10.05,4 12,4M12.28,14L18.28,20L20,21.72L18.73,23L15.73,20H4V18C4,16.16 6.5,14.61 9.87,14.14L2.78,7.05L4.05,5.78L12.28,14M20,18V19.18L15.14,14.32C18,14.93 20,16.35 20,18Z\"}},[(_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!./ShieldAccount.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ShieldAccount.vue?vue&type=script&lang=js&\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon shield-account-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1M12,5A3,3 0 0,1 15,8A3,3 0 0,1 12,11A3,3 0 0,1 9,8A3,3 0 0,1 12,5M17.13,17C15.92,18.85 14.11,20.24 12,20.92C9.89,20.24 8.08,18.85 6.87,17C6.53,16.5 6.24,16 6,15.47C6,13.82 8.71,12.47 12,12.47C15.29,12.47 18,13.79 18,15.47C17.76,16 17.47,16.5 17.13,17Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ShieldAccountIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./ShieldAccount.vue?vue&type=template&id=3937f138&\"\nimport script from \"./ShieldAccount.vue?vue&type=script&lang=js&\"\nexport * from \"./ShieldAccount.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 shield-account-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1M12,5A3,3 0 0,1 15,8A3,3 0 0,1 12,11A3,3 0 0,1 9,8A3,3 0 0,1 12,5M17.13,17C15.92,18.85 14.11,20.24 12,20.92C9.89,20.24 8.08,18.85 6.87,17C6.53,16.5 6.24,16 6,15.47C6,13.82 8.71,12.47 12,12.47C15.29,12.47 18,13.79 18,15.47C17.76,16 17.47,16.5 17.13,17Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2021 Martin Jänel <spammemore@posteo.de>\n -\n - @author Martin Jänel <spammemore@posteo.de>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<Fragment>\n\t\t<NcModal v-if=\"showRemoveGroupModal\"\n\t\t\t@close=\"showRemoveGroupModal = false\">\n\t\t\t<div class=\"modal__content\">\n\t\t\t\t<h2 class=\"modal__header\">\n\t\t\t\t\t{{ t('settings', 'Please confirm the group removal') }}\n\t\t\t\t</h2>\n\t\t\t\t<NcNoteCard type=\"warning\"\n\t\t\t\t\tshow-alert>\n\t\t\t\t\t{{ t('settings', 'You are about to remove the group \"{group}\". The users will NOT be deleted.', { group: name }) }}\n\t\t\t\t</NcNoteCard>\n\t\t\t\t<div class=\"modal__button-row\">\n\t\t\t\t\t<NcButton type=\"secondary\"\n\t\t\t\t\t\t@click=\"showRemoveGroupModal = false\">\n\t\t\t\t\t\t{{ t('settings', 'Cancel') }}\n\t\t\t\t\t</NcButton>\n\t\t\t\t\t<NcButton type=\"primary\"\n\t\t\t\t\t\t@click=\"removeGroup\">\n\t\t\t\t\t\t{{ t('settings', 'Confirm') }}\n\t\t\t\t\t</NcButton>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</NcModal>\n\n\t\t<NcAppNavigationItem :key=\"id\"\n\t\t\t:exact=\"true\"\n\t\t\t:name=\"name\"\n\t\t\t:to=\"{ name: 'group', params: { selectedGroup: encodeURIComponent(id) } }\"\n\t\t\t:loading=\"loadingRenameGroup\"\n\t\t\t:menu-open=\"openGroupMenu\"\n\t\t\t@update:menuOpen=\"handleGroupMenuOpen\">\n\t\t\t<template #icon>\n\t\t\t\t<AccountGroup :size=\"20\" />\n\t\t\t</template>\n\t\t\t<template #counter>\n\t\t\t\t<NcCounterBubble v-if=\"count\"\n\t\t\t\t\t:type=\"active ? 'highlighted' : undefined\">\n\t\t\t\t\t{{ count }}\n\t\t\t\t</NcCounterBubble>\n\t\t\t</template>\n\t\t\t<template #actions>\n\t\t\t\t<NcActionInput v-if=\"id !== 'admin' && id !== 'disabled' && settings.isAdmin\"\n\t\t\t\t\tref=\"displayNameInput\"\n\t\t\t\t\t:trailing-button-label=\"t('settings', 'Submit')\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t:value=\"name\"\n\t\t\t\t\t:label=\" t('settings', 'Rename group')\"\n\t\t\t\t\t@submit=\"renameGroup(id)\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Pencil :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcActionInput>\n\t\t\t\t<NcActionButton v-if=\"id !== 'admin' && id !== 'disabled' && settings.isAdmin\"\n\t\t\t\t\t@click=\"showRemoveGroupModal = true\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Delete :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ t('settings', 'Remove group') }}\n\t\t\t\t</NcActionButton>\n\t\t\t</template>\n\t\t</NcAppNavigationItem>\n\t</Fragment>\n</template>\n\n<script>\nimport { Fragment } from 'vue-frag'\n\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\nimport NcActionInput from '@nextcloud/vue/dist/Components/NcActionInput.js'\nimport NcAppNavigationItem from '@nextcloud/vue/dist/Components/NcAppNavigationItem.js'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport NcCounterBubble from '@nextcloud/vue/dist/Components/NcCounterBubble.js'\nimport NcModal from '@nextcloud/vue/dist/Components/NcModal.js'\nimport NcNoteCard from '@nextcloud/vue/dist/Components/NcNoteCard.js'\n\nimport AccountGroup from 'vue-material-design-icons/AccountGroup.vue'\nimport Delete from 'vue-material-design-icons/Delete.vue'\nimport Pencil from 'vue-material-design-icons/Pencil.vue'\n\nimport { showError } from '@nextcloud/dialogs'\n\nexport default {\n\tname: 'GroupListItem',\n\tcomponents: {\n\t\tAccountGroup,\n\t\tDelete,\n\t\tFragment,\n\t\tNcActionButton,\n\t\tNcActionInput,\n\t\tNcAppNavigationItem,\n\t\tNcButton,\n\t\tNcCounterBubble,\n\t\tNcModal,\n\t\tNcNoteCard,\n\t\tPencil,\n\t},\n\tprops: {\n\t\t/**\n\t\t * If this group is currently selected\n\t\t */\n\t\tactive: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\t/**\n\t\t * Number of members within this group\n\t\t */\n\t\tcount: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Identifier of this group\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\t/**\n\t\t * Name of this group\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tloadingRenameGroup: false,\n\t\t\topenGroupMenu: false,\n\t\t\tshowRemoveGroupModal: false,\n\t\t}\n\t},\n\tcomputed: {\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData\n\t\t},\n\t},\n\tmethods: {\n\t\thandleGroupMenuOpen() {\n\t\t\tthis.openGroupMenu = true\n\t\t},\n\t\tasync renameGroup(gid) {\n\t\t\t// check if group id is valid\n\t\t\tif (gid.trim() === '') {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst displayName = this.$refs.displayNameInput.$el.querySelector('input[type=\"text\"]').value\n\n\t\t\t// check if group name is valid\n\t\t\tif (displayName.trim() === '') {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tthis.openGroupMenu = false\n\t\t\t\tthis.loadingRenameGroup = true\n\t\t\t\tawait this.$store.dispatch('renameGroup', {\n\t\t\t\t\tgroupid: gid.trim(),\n\t\t\t\t\tdisplayName: displayName.trim(),\n\t\t\t\t})\n\n\t\t\t\tthis.loadingRenameGroup = false\n\t\t\t} catch {\n\t\t\t\tthis.openGroupMenu = true\n\t\t\t\tthis.loadingRenameGroup = false\n\t\t\t}\n\t\t},\n\t\tasync removeGroup() {\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('removeGroup', this.id)\n\t\t\t\tthis.showRemoveGroupModal = false\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('settings', 'Failed to remove group \"{group}\"', { group: this.name }))\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.modal {\n\t&__header {\n\t\tmargin: 0;\n\t}\n\n\t&__content {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tpadding: 20px;\n\t\tgap: 4px 0;\n\t}\n\n\t&__button-row {\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\tjustify-content: space-between;\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupListItem.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!./GroupListItem.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!./GroupListItem.vue?vue&type=style&index=0&id=36dd2d08&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!./GroupListItem.vue?vue&type=style&index=0&id=36dd2d08&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./GroupListItem.vue?vue&type=template&id=36dd2d08&scoped=true&\"\nimport script from \"./GroupListItem.vue?vue&type=script&lang=js&\"\nexport * from \"./GroupListItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GroupListItem.vue?vue&type=style&index=0&id=36dd2d08&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 \"36dd2d08\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Fragment',[(_vm.showRemoveGroupModal)?_c('NcModal',{on:{\"close\":function($event){_vm.showRemoveGroupModal = false}}},[_c('div',{staticClass:\"modal__content\"},[_c('h2',{staticClass:\"modal__header\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Please confirm the group removal'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcNoteCard',{attrs:{\"type\":\"warning\",\"show-alert\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'You are about to remove the group \"{group}\". The users will NOT be deleted.', { group: _vm.name }))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"modal__button-row\"},[_c('NcButton',{attrs:{\"type\":\"secondary\"},on:{\"click\":function($event){_vm.showRemoveGroupModal = false}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Cancel'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.removeGroup}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Confirm'))+\"\\n\\t\\t\\t\\t\")])],1)],1)]):_vm._e(),_vm._v(\" \"),_c('NcAppNavigationItem',{key:_vm.id,attrs:{\"exact\":true,\"name\":_vm.name,\"to\":{ name: 'group', params: { selectedGroup: encodeURIComponent(_vm.id) } },\"loading\":_vm.loadingRenameGroup,\"menu-open\":_vm.openGroupMenu},on:{\"update:menuOpen\":_vm.handleGroupMenuOpen},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AccountGroup',{attrs:{\"size\":20}})]},proxy:true},{key:\"counter\",fn:function(){return [(_vm.count)?_c('NcCounterBubble',{attrs:{\"type\":_vm.active ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.count)+\"\\n\\t\\t\\t\")]):_vm._e()]},proxy:true},{key:\"actions\",fn:function(){return [(_vm.id !== 'admin' && _vm.id !== 'disabled' && _vm.settings.isAdmin)?_c('NcActionInput',{ref:\"displayNameInput\",attrs:{\"trailing-button-label\":_vm.t('settings', 'Submit'),\"type\":\"text\",\"value\":_vm.name,\"label\":_vm.t('settings', 'Rename group')},on:{\"submit\":function($event){return _vm.renameGroup(_vm.id)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Pencil',{attrs:{\"size\":20}})]},proxy:true}],null,false,580569589)}):_vm._e(),_vm._v(\" \"),(_vm.id !== 'admin' && _vm.id !== 'disabled' && _vm.settings.isAdmin)?_c('NcActionButton',{on:{\"click\":function($event){_vm.showRemoveGroupModal = true}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Delete',{attrs:{\"size\":20}})]},proxy:true}],null,false,2705356561)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Remove group'))+\"\\n\\t\\t\\t\")]):_vm._e()]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('table',{staticClass:\"user-list\"},[_vm._t(\"before\"),_vm._v(\" \"),_c('thead',{ref:\"thead\",staticClass:\"user-list__header\",attrs:{\"role\":\"rowgroup\"}},[_vm._t(\"header\")],2),_vm._v(\" \"),_c('tbody',{staticClass:\"user-list__body\",style:(_vm.tbodyStyle)},_vm._l((_vm.renderedItems),function(item,i){return _c(_vm.dataComponent,_vm._b({key:item[_vm.dataKey],tag:\"component\",attrs:{\"user\":item,\"visible\":(i >= _vm.bufferItems || _vm.index <= _vm.bufferItems) && (i < _vm.shownItems - _vm.bufferItems)}},'component',_vm.extraProps,false))}),1),_vm._v(\" \"),_c('tfoot',{directives:[{name:\"element-visibility\",rawName:\"v-element-visibility\",value:(_vm.handleFooterVisibility),expression:\"handleFooterVisibility\"}],ref:\"tfoot\",staticClass:\"user-list__footer\",attrs:{\"role\":\"rowgroup\"}},[_vm._t(\"footer\")],2)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=script&lang=ts&\"","\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!./VirtualList.vue?vue&type=style&index=0&id=4377829d&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!./VirtualList.vue?vue&type=style&index=0&id=4377829d&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./VirtualList.vue?vue&type=template&id=4377829d&scoped=true&\"\nimport script from \"./VirtualList.vue?vue&type=script&lang=ts&\"\nexport * from \"./VirtualList.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./VirtualList.vue?vue&type=style&index=0&id=4377829d&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 \"4377829d\",\n null\n \n)\n\nexport default component.exports","<!--\n\t- @copyright 2023 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<NcModal class=\"modal\"\n\t\tsize=\"small\"\n\t\tv-on=\"$listeners\">\n\t\t<form class=\"modal__form\"\n\t\t\tdata-test=\"form\"\n\t\t\t:disabled=\"loading.all\"\n\t\t\t@submit.prevent=\"createUser\">\n\t\t\t<h2>{{ t('settings', 'New user') }}</h2>\n\t\t\t<NcTextField ref=\"username\"\n\t\t\t\tclass=\"modal__item\"\n\t\t\t\tdata-test=\"username\"\n\t\t\t\t:value.sync=\"newUser.id\"\n\t\t\t\t:disabled=\"settings.newUserGenerateUserID\"\n\t\t\t\t:label=\"usernameLabel\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\tspellcheck=\"false\"\n\t\t\t\tpattern=\"[a-zA-Z0-9 _\\.@\\-']+\"\n\t\t\t\trequired />\n\t\t\t<NcTextField class=\"modal__item\"\n\t\t\t\tdata-test=\"displayName\"\n\t\t\t\t:value.sync=\"newUser.displayName\"\n\t\t\t\t:label=\"t('settings', 'Display name')\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\tspellcheck=\"false\" />\n\t\t\t<span v-if=\"!settings.newUserRequireEmail\"\n\t\t\t\tid=\"password-email-hint\"\n\t\t\t\tclass=\"modal__hint\">\n\t\t\t\t{{ t('settings', 'Either password or email is required') }}\n\t\t\t</span>\n\t\t\t<NcPasswordField ref=\"password\"\n\t\t\t\tclass=\"modal__item\"\n\t\t\t\tdata-test=\"password\"\n\t\t\t\t:value.sync=\"newUser.password\"\n\t\t\t\t:minlength=\"minPasswordLength\"\n\t\t\t\t:maxlength=\"469\"\n\t\t\t\taria-describedby=\"password-email-hint\"\n\t\t\t\t:label=\"newUser.mailAddress === '' ? t('settings', 'Password (required)') : t('settings', 'Password')\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\tspellcheck=\"false\"\n\t\t\t\t:required=\"newUser.mailAddress === ''\" />\n\t\t\t<NcTextField class=\"modal__item\"\n\t\t\t\tdata-test=\"email\"\n\t\t\t\ttype=\"email\"\n\t\t\t\t:value.sync=\"newUser.mailAddress\"\n\t\t\t\taria-describedby=\"password-email-hint\"\n\t\t\t\t:label=\"newUser.password === '' || settings.newUserRequireEmail ? t('settings', 'Email (required)') : t('settings', 'Email')\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\tspellcheck=\"false\"\n\t\t\t\t:required=\"newUser.password === '' || settings.newUserRequireEmail\" />\n\t\t\t<div class=\"modal__item\">\n\t\t\t\t<!-- hidden input trick for vanilla html5 form validation -->\n\t\t\t\t<NcTextField v-if=\"!settings.isAdmin\"\n\t\t\t\t\tid=\"new-user-groups-input\"\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\t:class=\"{ 'icon-loading-small': loading.groups }\"\n\t\t\t\t\t:value=\"newUser.groups\"\n\t\t\t\t\t:required=\"!settings.isAdmin\" />\n\t\t\t\t<label class=\"modal__label\"\n\t\t\t\t\tfor=\"new-user-groups\">\n\t\t\t\t\t{{ !settings.isAdmin ? t('settings', 'Groups (required)') : t('settings', 'Groups') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect class=\"modal__select\"\n\t\t\t\t\tinput-id=\"new-user-groups\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Set user groups')\"\n\t\t\t\t\t:disabled=\"loading.groups || loading.all\"\n\t\t\t\t\t:options=\"canAddGroups\"\n\t\t\t\t\t:value=\"newUser.groups\"\n\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t:close-on-select=\"false\"\n\t\t\t\t\t:multiple=\"true\"\n\t\t\t\t\t:taggable=\"true\"\n\t\t\t\t\t@input=\"handleGroupInput\"\n\t\t\t\t\t@option:created=\"createGroup\" />\n\t\t\t\t\t<!-- If user is not admin, he is a subadmin.\n\t\t\t\t\t\tSubadmins can't create users outside their groups\n\t\t\t\t\t\tTherefore, empty select is forbidden -->\n\t\t\t</div>\n\t\t\t<div v-if=\"subAdminsGroups.length > 0 && settings.isAdmin\"\n\t\t\t\tclass=\"modal__item\">\n\t\t\t\t<label class=\"modal__label\"\n\t\t\t\t\tfor=\"new-user-sub-admin\">\n\t\t\t\t\t{{ t('settings', 'Administered groups') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect v-model=\"newUser.subAdminsGroups\"\n\t\t\t\t\tclass=\"modal__select\"\n\t\t\t\t\tinput-id=\"new-user-sub-admin\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Set user as admin for …')\"\n\t\t\t\t\t:options=\"subAdminsGroups\"\n\t\t\t\t\t:close-on-select=\"false\"\n\t\t\t\t\t:multiple=\"true\"\n\t\t\t\t\tlabel=\"name\" />\n\t\t\t</div>\n\t\t\t<div class=\"modal__item\">\n\t\t\t\t<label class=\"modal__label\"\n\t\t\t\t\tfor=\"new-user-quota\">\n\t\t\t\t\t{{ t('settings', 'Quota') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect v-model=\"newUser.quota\"\n\t\t\t\t\tclass=\"modal__select\"\n\t\t\t\t\tinput-id=\"new-user-quota\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Set user quota')\"\n\t\t\t\t\t:options=\"quotaOptions\"\n\t\t\t\t\t:clearable=\"false\"\n\t\t\t\t\t:taggable=\"true\"\n\t\t\t\t\t:create-option=\"validateQuota\" />\n\t\t\t</div>\n\t\t\t<div v-if=\"showConfig.showLanguages\"\n\t\t\t\tclass=\"modal__item\">\n\t\t\t\t<label class=\"modal__label\"\n\t\t\t\t\tfor=\"new-user-language\">\n\t\t\t\t\t{{ t('settings', 'Language') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect\tv-model=\"newUser.language\"\n\t\t\t\t\tclass=\"modal__select\"\n\t\t\t\t\tinput-id=\"new-user-language\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Set default language')\"\n\t\t\t\t\t:clearable=\"false\"\n\t\t\t\t\t:selectable=\"option => !option.languages\"\n\t\t\t\t\t:filter-by=\"languageFilterBy\"\n\t\t\t\t\t:options=\"languages\"\n\t\t\t\t\tlabel=\"name\" />\n\t\t\t</div>\n\t\t\t<div :class=\"['modal__item managers', { 'icon-loading-small': loading.manager }]\">\n\t\t\t\t<label class=\"modal__label\"\n\t\t\t\t\tfor=\"new-user-manager\">\n\t\t\t\t\t<!-- TRANSLATORS This string describes a manager in the context of an organization -->\n\t\t\t\t\t{{ t('settings', 'Manager') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect v-model=\"newUser.manager\"\n\t\t\t\t\tclass=\"modal__select\"\n\t\t\t\t\tinput-id=\"new-user-manager\"\n\t\t\t\t\t:placeholder=\"managerLabel\"\n\t\t\t\t\t:options=\"possibleManagers\"\n\t\t\t\t\t:user-select=\"true\"\n\t\t\t\t\tlabel=\"displayname\"\n\t\t\t\t\t@search=\"searchUserManager\" />\n\t\t\t</div>\n\t\t\t<NcButton class=\"modal__submit\"\n\t\t\t\tdata-test=\"submit\"\n\t\t\t\ttype=\"primary\"\n\t\t\t\tnative-type=\"submit\">\n\t\t\t\t{{ t('settings', 'Add new user') }}\n\t\t\t</NcButton>\n\t\t</form>\n\t</NcModal>\n</template>\n\n<script>\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport NcModal from '@nextcloud/vue/dist/Components/NcModal.js'\nimport NcPasswordField from '@nextcloud/vue/dist/Components/NcPasswordField.js'\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\nimport NcTextField from '@nextcloud/vue/dist/Components/NcTextField.js'\n\nexport default {\n\tname: 'NewUserModal',\n\n\tcomponents: {\n\t\tNcButton,\n\t\tNcModal,\n\t\tNcPasswordField,\n\t\tNcSelect,\n\t\tNcTextField,\n\t},\n\n\tprops: {\n\t\tloading: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\n\t\tnewUser: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\n\t\tquotaOptions: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tpossibleManagers: [],\n\t\t\t// TRANSLATORS This string describes a manager in the context of an organization\n\t\t\tmanagerLabel: t('settings', 'Set user manager'),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData\n\t\t},\n\n\t\tusernameLabel() {\n\t\t\tif (this.settings.newUserGenerateUserID) {\n\t\t\t\treturn t('settings', 'Username will be autogenerated')\n\t\t\t}\n\t\t\treturn t('settings', 'Username (required)')\n\t\t},\n\n\t\tminPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength\n\t\t},\n\n\t\tgroups() {\n\t\t\t// data provided php side + remove the disabled group\n\t\t\treturn this.$store.getters.getGroups\n\t\t\t\t.filter(group => group.id !== 'disabled')\n\t\t\t\t.sort((a, b) => a.name.localeCompare(b.name))\n\t\t},\n\n\t\tsubAdminsGroups() {\n\t\t\t// data provided php side\n\t\t\treturn this.$store.getters.getSubadminGroups\n\t\t},\n\n\t\tcanAddGroups() {\n\t\t\t// disabled if no permission to add new users to group\n\t\t\treturn this.groups.map(group => {\n\t\t\t\t// clone object because we don't want\n\t\t\t\t// to edit the original groups\n\t\t\t\tgroup = Object.assign({}, group)\n\t\t\t\tgroup.$isDisabled = group.canAdd === false\n\t\t\t\treturn group\n\t\t\t})\n\t\t},\n\n\t\tlanguages() {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tname: t('settings', 'Common languages'),\n\t\t\t\t\tlanguages: this.settings.languages.commonLanguages,\n\t\t\t\t},\n\t\t\t\t...this.settings.languages.commonLanguages,\n\t\t\t\t{\n\t\t\t\t\tname: t('settings', 'Other languages'),\n\t\t\t\t\tlanguages: this.settings.languages.otherLanguages,\n\t\t\t\t},\n\t\t\t\t...this.settings.languages.otherLanguages,\n\t\t\t]\n\t\t},\n\t},\n\n\tasync beforeMount() {\n\t\tawait this.searchUserManager()\n\t},\n\n\tmethods: {\n\t\tasync createUser() {\n\t\t\tthis.loading.all = true\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('addUser', {\n\t\t\t\t\tuserid: this.newUser.id,\n\t\t\t\t\tpassword: this.newUser.password,\n\t\t\t\t\tdisplayName: this.newUser.displayName,\n\t\t\t\t\temail: this.newUser.mailAddress,\n\t\t\t\t\tgroups: this.newUser.groups.map(group => group.id),\n\t\t\t\t\tsubadmin: this.newUser.subAdminsGroups.map(group => group.id),\n\t\t\t\t\tquota: this.newUser.quota.id,\n\t\t\t\t\tlanguage: this.newUser.language.code,\n\t\t\t\t\tmanager: this.newUser.manager.id,\n\t\t\t\t})\n\n\t\t\t\tthis.$emit('reset')\n\t\t\t\tthis.$refs.username?.$refs?.inputField?.$refs?.input?.focus?.()\n\t\t\t\tthis.$emit('close')\n\t\t\t} catch (error) {\n\t\t\t\tthis.loading.all = false\n\t\t\t\tif (error.response && error.response.data && error.response.data.ocs && error.response.data.ocs.meta) {\n\t\t\t\t\tconst statuscode = error.response.data.ocs.meta.statuscode\n\t\t\t\t\tif (statuscode === 102) {\n\t\t\t\t\t\t// wrong username\n\t\t\t\t\t\tthis.$refs.username?.$refs?.inputField?.$refs?.input?.focus?.()\n\t\t\t\t\t} else if (statuscode === 107) {\n\t\t\t\t\t\t// wrong password\n\t\t\t\t\t\tthis.$refs.password?.$refs?.inputField?.$refs?.input?.focus?.()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\thandleGroupInput(groups) {\n\t\t\t/**\n\t\t\t * Filter out groups with no id to prevent duplicate selected options\n\t\t\t *\n\t\t\t * Created groups are added programmatically by `createGroup()`\n\t\t\t */\n\t\t\t this.newUser.groups = groups.filter(group => Boolean(group.id))\n\t\t},\n\n\t\t/**\n\t\t * Create a new group\n\t\t *\n\t\t * @param {any} group Group\n\t\t * @param {string} group.name Group id\n\t\t */\n\t\tasync createGroup({ name: gid }) {\n\t\t\tthis.loading.groups = true\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('addGroup', gid)\n\t\t\t\tthis.newUser.groups.push(this.groups.find(group => group.id === gid))\n\t\t\t\tthis.loading.groups = false\n\t\t\t} catch (error) {\n\t\t\t\tthis.loading.groups = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t *\n\t\t * @param {string} quota Quota in readable format '5 GB'\n\t\t * @return {object}\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tconst validQuota = OC.Util.computerFileSize(quota)\n\t\t\tif (validQuota !== null && validQuota >= 0) {\n\t\t\t\t// unify format output\n\t\t\t\tquota = OC.Util.humanFileSize(OC.Util.computerFileSize(quota))\n\t\t\t\tthis.newUser.quota = { id: quota, label: quota }\n\t\t\t\treturn this.newUser.quota\n\t\t\t}\n\t\t\t// Default is unlimited\n\t\t\tthis.newUser.quota = this.quotaOptions[0]\n\t\t\treturn this.quotaOptions[0]\n\t\t},\n\n\t\tlanguageFilterBy(option, label, search) {\n\t\t\t// Show group header of the language\n\t\t\tif (option.languages) {\n\t\t\t\treturn option.languages.some(\n\t\t\t\t\t({ name }) => name.toLocaleLowerCase().includes(search.toLocaleLowerCase()),\n\t\t\t\t)\n\t\t\t}\n\n\t\t\treturn (label || '').toLocaleLowerCase().includes(search.toLocaleLowerCase())\n\t\t},\n\n\t\tasync searchUserManager(query) {\n\t\t\tawait this.$store.dispatch(\n\t\t\t\t'searchUsers',\n\t\t\t\t{\n\t\t\t\t\toffset: 0,\n\t\t\t\t\tlimit: 10,\n\t\t\t\t\tsearch: query,\n\t\t\t\t},\n\t\t\t).then(response => {\n\t\t\t\tconst users = response?.data ? Object.values(response?.data.ocs.data.users) : []\n\t\t\t\tif (users.length > 0) {\n\t\t\t\t\tthis.possibleManagers = users\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.modal {\n\t&__form {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tpadding: 20px;\n\t\tgap: 4px 0;\n\n\t\t/* fake input for groups validation */\n\t\t#new-user-groups-input {\n\t\t\tposition: absolute;\n\t\t\topacity: 0;\n\t\t\t/* The \"hidden\" input is behind the NcSelect, so in general it does\n\t\t\t* not receives clicks. However, with Firefox, after the validation\n\t\t\t* fails, it will receive the first click done on it, so its width needs\n\t\t\t* to be set to 0 to prevent that (\"pointer-events: none\" does not\n\t\t\t* prevent it). */\n\t\t\twidth: 0;\n\t\t}\n\t}\n\n\t&__item {\n\t\twidth: 100%;\n\n\t\t&:not(:focus):not(:active) {\n\t\t\tborder-color: var(--color-border-dark);\n\t\t}\n\t}\n\n\t&__hint {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tmargin-top: 8px;\n\t\talign-self: flex-start;\n\t}\n\n\t&__label {\n\t\tdisplay: block;\n\t\tpadding: 4px 0;\n\t}\n\n\t&__select {\n\t\twidth: 100%;\n\t}\n\n\t&__submit {\n\t\tmargin-top: 20px;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewUserModal.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!./NewUserModal.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!./NewUserModal.vue?vue&type=style&index=0&id=0634d81b&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!./NewUserModal.vue?vue&type=style&index=0&id=0634d81b&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./NewUserModal.vue?vue&type=template&id=0634d81b&scoped=true&\"\nimport script from \"./NewUserModal.vue?vue&type=script&lang=js&\"\nexport * from \"./NewUserModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NewUserModal.vue?vue&type=style&index=0&id=0634d81b&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 \"0634d81b\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcModal',_vm._g({staticClass:\"modal\",attrs:{\"size\":\"small\"}},_vm.$listeners),[_c('form',{staticClass:\"modal__form\",attrs:{\"data-test\":\"form\",\"disabled\":_vm.loading.all},on:{\"submit\":function($event){$event.preventDefault();return _vm.createUser.apply(null, arguments)}}},[_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'New user')))]),_vm._v(\" \"),_c('NcTextField',{ref:\"username\",staticClass:\"modal__item\",attrs:{\"data-test\":\"username\",\"value\":_vm.newUser.id,\"disabled\":_vm.settings.newUserGenerateUserID,\"label\":_vm.usernameLabel,\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"spellcheck\":\"false\",\"pattern\":\"[a-zA-Z0-9 _\\\\.@\\\\-']+\",\"required\":\"\"},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"id\", $event)}}}),_vm._v(\" \"),_c('NcTextField',{staticClass:\"modal__item\",attrs:{\"data-test\":\"displayName\",\"value\":_vm.newUser.displayName,\"label\":_vm.t('settings', 'Display name'),\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"spellcheck\":\"false\"},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"displayName\", $event)}}}),_vm._v(\" \"),(!_vm.settings.newUserRequireEmail)?_c('span',{staticClass:\"modal__hint\",attrs:{\"id\":\"password-email-hint\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Either password or email is required'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcPasswordField',{ref:\"password\",staticClass:\"modal__item\",attrs:{\"data-test\":\"password\",\"value\":_vm.newUser.password,\"minlength\":_vm.minPasswordLength,\"maxlength\":469,\"aria-describedby\":\"password-email-hint\",\"label\":_vm.newUser.mailAddress === '' ? _vm.t('settings', 'Password (required)') : _vm.t('settings', 'Password'),\"autocapitalize\":\"none\",\"autocomplete\":\"new-password\",\"spellcheck\":\"false\",\"required\":_vm.newUser.mailAddress === ''},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"password\", $event)}}}),_vm._v(\" \"),_c('NcTextField',{staticClass:\"modal__item\",attrs:{\"data-test\":\"email\",\"type\":\"email\",\"value\":_vm.newUser.mailAddress,\"aria-describedby\":\"password-email-hint\",\"label\":_vm.newUser.password === '' || _vm.settings.newUserRequireEmail ? _vm.t('settings', 'Email (required)') : _vm.t('settings', 'Email'),\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"spellcheck\":\"false\",\"required\":_vm.newUser.password === '' || _vm.settings.newUserRequireEmail},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"mailAddress\", $event)}}}),_vm._v(\" \"),_c('div',{staticClass:\"modal__item\"},[(!_vm.settings.isAdmin)?_c('NcTextField',{class:{ 'icon-loading-small': _vm.loading.groups },attrs:{\"id\":\"new-user-groups-input\",\"tabindex\":\"-1\",\"value\":_vm.newUser.groups,\"required\":!_vm.settings.isAdmin}}):_vm._e(),_vm._v(\" \"),_c('label',{staticClass:\"modal__label\",attrs:{\"for\":\"new-user-groups\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(!_vm.settings.isAdmin ? _vm.t('settings', 'Groups (required)') : _vm.t('settings', 'Groups'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"modal__select\",attrs:{\"input-id\":\"new-user-groups\",\"placeholder\":_vm.t('settings', 'Set user groups'),\"disabled\":_vm.loading.groups || _vm.loading.all,\"options\":_vm.canAddGroups,\"value\":_vm.newUser.groups,\"label\":\"name\",\"close-on-select\":false,\"multiple\":true,\"taggable\":true},on:{\"input\":_vm.handleGroupInput,\"option:created\":_vm.createGroup}})],1),_vm._v(\" \"),(_vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin)?_c('div',{staticClass:\"modal__item\"},[_c('label',{staticClass:\"modal__label\",attrs:{\"for\":\"new-user-sub-admin\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Administered groups'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"modal__select\",attrs:{\"input-id\":\"new-user-sub-admin\",\"placeholder\":_vm.t('settings', 'Set user as admin for …'),\"options\":_vm.subAdminsGroups,\"close-on-select\":false,\"multiple\":true,\"label\":\"name\"},model:{value:(_vm.newUser.subAdminsGroups),callback:function ($$v) {_vm.$set(_vm.newUser, \"subAdminsGroups\", $$v)},expression:\"newUser.subAdminsGroups\"}})],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"modal__item\"},[_c('label',{staticClass:\"modal__label\",attrs:{\"for\":\"new-user-quota\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Quota'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"modal__select\",attrs:{\"input-id\":\"new-user-quota\",\"placeholder\":_vm.t('settings', 'Set user quota'),\"options\":_vm.quotaOptions,\"clearable\":false,\"taggable\":true,\"create-option\":_vm.validateQuota},model:{value:(_vm.newUser.quota),callback:function ($$v) {_vm.$set(_vm.newUser, \"quota\", $$v)},expression:\"newUser.quota\"}})],1),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('div',{staticClass:\"modal__item\"},[_c('label',{staticClass:\"modal__label\",attrs:{\"for\":\"new-user-language\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Language'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"modal__select\",attrs:{\"input-id\":\"new-user-language\",\"placeholder\":_vm.t('settings', 'Set default language'),\"clearable\":false,\"selectable\":option => !option.languages,\"filter-by\":_vm.languageFilterBy,\"options\":_vm.languages,\"label\":\"name\"},model:{value:(_vm.newUser.language),callback:function ($$v) {_vm.$set(_vm.newUser, \"language\", $$v)},expression:\"newUser.language\"}})],1):_vm._e(),_vm._v(\" \"),_c('div',{class:['modal__item managers', { 'icon-loading-small': _vm.loading.manager }]},[_c('label',{staticClass:\"modal__label\",attrs:{\"for\":\"new-user-manager\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Manager'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"modal__select\",attrs:{\"input-id\":\"new-user-manager\",\"placeholder\":_vm.managerLabel,\"options\":_vm.possibleManagers,\"user-select\":true,\"label\":\"displayname\"},on:{\"search\":_vm.searchUserManager},model:{value:(_vm.newUser.manager),callback:function ($$v) {_vm.$set(_vm.newUser, \"manager\", $$v)},expression:\"newUser.manager\"}})],1),_vm._v(\" \"),_c('NcButton',{staticClass:\"modal__submit\",attrs:{\"data-test\":\"submit\",\"type\":\"primary\",\"native-type\":\"submit\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Add new user'))+\"\\n\\t\\t\")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListFooter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListFooter.vue?vue&type=script&lang=ts&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"footer\"},[_c('th',{attrs:{\"scope\":\"row\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Total rows summary')))])]),_vm._v(\" \"),_c('td',{staticClass:\"footer__cell footer__cell--loading\"},[(_vm.loading)?_c('NcLoadingIcon',{attrs:{\"title\":_vm.t('settings', 'Loading users …'),\"size\":32}}):_vm._e()],1),_vm._v(\" \"),_c('td',{staticClass:\"footer__cell footer__cell--count footer__cell--multiline\"},[_c('span',{attrs:{\"aria-describedby\":\"user-count-desc\"}},[_vm._v(_vm._s(_vm.userCount))]),_vm._v(\" \"),_c('span',{staticClass:\"hidden-visually\",attrs:{\"id\":\"user-count-desc\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Scroll to load more rows'))+\"\\n\\t\\t\")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListFooter.vue?vue&type=style&index=0&id=5b39b95a&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!./UserListFooter.vue?vue&type=style&index=0&id=5b39b95a&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserListFooter.vue?vue&type=template&id=5b39b95a&scoped=true&\"\nimport script from \"./UserListFooter.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserListFooter.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./UserListFooter.vue?vue&type=style&index=0&id=5b39b95a&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 \"5b39b95a\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListHeader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListHeader.vue?vue&type=script&lang=ts&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"header\"},[_c('th',{staticClass:\"header__cell header__cell--avatar\",attrs:{\"scope\":\"col\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Avatar'))+\"\\n\\t\\t\")])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--displayname\",attrs:{\"scope\":\"col\"}},[_c('strong',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Display name'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('span',{staticClass:\"header__subtitle\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Username'))+\"\\n\\t\\t\")])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell\",class:{ 'header__cell--obfuscated': _vm.hasObfuscated },attrs:{\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.passwordLabel))])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell\",attrs:{\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Email')))])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Groups')))])]),_vm._v(\" \"),(_vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin)?_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Group admin for')))])]):_vm._e(),_vm._v(\" \"),_c('th',{staticClass:\"header__cell\",attrs:{\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Quota')))])]),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Language')))])]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend || _vm.showConfig.showStoragePath)?_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"scope\":\"col\"}},[(_vm.showConfig.showUserBackend)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'User backend'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('span',{staticClass:\"header__subtitle\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Storage location'))+\"\\n\\t\\t\")]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('th',{staticClass:\"header__cell\",attrs:{\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Last login')))])]):_vm._e(),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--large header__cell--fill\",attrs:{\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Manager')))])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--actions\",attrs:{\"scope\":\"col\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'User actions'))+\"\\n\\t\\t\")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListHeader.vue?vue&type=style&index=0&id=05cd17c8&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!./UserListHeader.vue?vue&type=style&index=0&id=05cd17c8&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserListHeader.vue?vue&type=template&id=05cd17c8&scoped=true&\"\nimport script from \"./UserListHeader.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserListHeader.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./UserListHeader.vue?vue&type=style&index=0&id=05cd17c8&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 \"05cd17c8\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRowActions.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRowActions.vue?vue&type=script&lang=ts&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcActions',{attrs:{\"aria-label\":_vm.t('settings', 'Toggle user actions menu'),\"disabled\":_vm.disabled,\"inline\":1}},[_c('NcActionButton',{attrs:{\"data-test-id\":\"button-toggleEdit\",\"data-test\":`${_vm.edit}`,\"disabled\":_vm.disabled},on:{\"click\":_vm.toggleEdit},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{key:_vm.editSvg,attrs:{\"svg\":_vm.editSvg,\"aria-hidden\":\"true\"}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.edit ? _vm.t('settings', 'Done') : _vm.t('settings', 'Edit'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_vm._l((_vm.actions),function({ action, icon, text },index){return _c('NcActionButton',{key:index,attrs:{\"disabled\":_vm.disabled,\"aria-label\":text,\"icon\":icon},on:{\"click\":action}},[_vm._v(\"\\n\\t\\t\"+_vm._s(text)+\"\\n\\t\")])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./UserRowActions.vue?vue&type=template&id=54b3810a&\"\nimport script from \"./UserRowActions.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserRowActions.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Greta Doci <gretadoci@gmail.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default {\n\tprops: {\n\t\tuser: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tsettings: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t\tgroups: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\tsubAdminsGroups: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\tquotaOptions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\tlanguages: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\texternalActions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\tcomputed: {\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\t/* GROUPS MANAGEMENT */\n\t\tuserGroups() {\n\t\t\tconst userGroups = this.groups.filter(group => this.user.groups.includes(group.id))\n\t\t\treturn userGroups\n\t\t},\n\t\tuserSubAdminsGroups() {\n\t\t\tconst userSubAdminsGroups = this.subAdminsGroups.filter(group => this.user.subadmin.includes(group.id))\n\t\t\treturn userSubAdminsGroups\n\t\t},\n\t\tavailableGroups() {\n\t\t\treturn this.groups.map((group) => {\n\t\t\t\t// clone object because we don't want\n\t\t\t\t// to edit the original groups\n\t\t\t\tconst groupClone = Object.assign({}, group)\n\n\t\t\t\t// two settings here:\n\t\t\t\t// 1. user NOT in group but no permission to add\n\t\t\t\t// 2. user is in group but no permission to remove\n\t\t\t\tgroupClone.$isDisabled\n\t\t\t\t\t= (group.canAdd === false\n\t\t\t\t\t\t&& !this.user.groups.includes(group.id))\n\t\t\t\t\t|| (group.canRemove === false\n\t\t\t\t\t\t&& this.user.groups.includes(group.id))\n\t\t\t\treturn groupClone\n\t\t\t})\n\t\t},\n\n\t\t/* QUOTA MANAGEMENT */\n\t\tusedSpace() {\n\t\t\tif (this.user.quota.used) {\n\t\t\t\treturn t('settings', '{size} used', { size: OC.Util.humanFileSize(this.user.quota.used) })\n\t\t\t}\n\t\t\treturn t('settings', '{size} used', { size: OC.Util.humanFileSize(0) })\n\t\t},\n\t\tusedQuota() {\n\t\t\tlet quota = this.user.quota.quota\n\t\t\tif (quota > 0) {\n\t\t\t\tquota = Math.min(100, Math.round(this.user.quota.used / quota * 100))\n\t\t\t} else {\n\t\t\t\tconst usedInGB = this.user.quota.used / (10 * Math.pow(2, 30))\n\t\t\t\t// asymptotic curve approaching 50% at 10GB to visualize used stace with infinite quota\n\t\t\t\tquota = 95 * (1 - (1 / (usedInGB + 1)))\n\t\t\t}\n\t\t\treturn isNaN(quota) ? 0 : quota\n\t\t},\n\t\t// Mapping saved values to objects\n\t\tuserQuota() {\n\t\t\tif (this.user.quota.quota >= 0) {\n\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\tconst humanQuota = OC.Util.humanFileSize(this.user.quota.quota)\n\t\t\t\tconst userQuota = this.quotaOptions.find(quota => quota.id === humanQuota)\n\t\t\t\treturn userQuota || { id: humanQuota, label: humanQuota }\n\t\t\t} else if (this.user.quota.quota === 'default') {\n\t\t\t\t// default quota is replaced by the proper value on load\n\t\t\t\treturn this.quotaOptions[0]\n\t\t\t}\n\t\t\treturn this.quotaOptions[1] // unlimited\n\t\t},\n\n\t\t/* PASSWORD POLICY? */\n\t\tminPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength\n\t\t},\n\n\t\t/* LANGUAGE */\n\t\tuserLanguage() {\n\t\t\tconst availableLanguages = this.languages[0].languages.concat(this.languages[1].languages)\n\t\t\tconst userLang = availableLanguages.find(lang => lang.code === this.user.language)\n\t\t\tif (typeof userLang !== 'object' && this.user.language !== '') {\n\t\t\t\treturn {\n\t\t\t\t\tcode: this.user.language,\n\t\t\t\t\tname: this.user.language,\n\t\t\t\t}\n\t\t\t} else if (this.user.language === '') {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn userLang\n\t\t},\n\n\t\t/* LAST LOGIN */\n\t\tuserLastLoginTooltip() {\n\t\t\tif (this.user.lastLogin > 0) {\n\t\t\t\treturn OC.Util.formatDate(this.user.lastLogin)\n\t\t\t}\n\t\t\treturn ''\n\t\t},\n\t\tuserLastLogin() {\n\t\t\tif (this.user.lastLogin > 0) {\n\t\t\t\treturn OC.Util.relativeModifiedDate(this.user.lastLogin)\n\t\t\t}\n\t\t\treturn t('settings', 'Never')\n\t\t},\n\t},\n}\n","/**\n * @copyright 2023 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nexport const unlimitedQuota = {\n id: 'none',\n label: t('settings', 'Unlimited'),\n};\nexport const defaultQuota = {\n id: 'default',\n label: t('settings', 'Default quota'),\n};\n/**\n * Return `true` if the logged in user does not have permissions to view the\n * data of `user`\n * @param user\n * @param user.id\n */\nexport const isObfuscated = (user) => {\n const keys = Object.keys(user);\n return keys.length === 1 && keys.at(0) === 'id';\n};\n","<!--\n - @copyright Copyright (c) 2019 Gary Kim <gary@garykim.dev>\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n\t- @author Christopher Ng <chrng8@gmail.com>\n - @author Gary Kim <gary@garykim.dev>\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<tr class=\"user-list__row\"\n\t\t:data-test=\"user.id\">\n\t\t<td class=\"row__cell row__cell--avatar\">\n\t\t\t<NcLoadingIcon v-if=\"isLoadingUser\"\n\t\t\t\t:name=\"t('settings', 'Loading user …')\"\n\t\t\t\t:size=\"32\" />\n\t\t\t<NcAvatar v-else-if=\"visible\"\n\t\t\t\tdisable-menu\n\t\t\t\t:show-user-status=\"false\"\n\t\t\t\t:user=\"user.id\" />\n\t\t</td>\n\n\t\t<td class=\"row__cell row__cell--displayname\" data-test-id=\"cell-displayname\">\n\t\t\t<template v-if=\"editing && user.backendCapabilities.setDisplayName\">\n\t\t\t\t<NcTextField ref=\"displayNameField\"\n\t\t\t\t\tclass=\"user-row-text-field\"\n\t\t\t\t\tdata-test-id=\"input-displayName\"\n\t\t\t\t\t:data-test-loading=\"`${loading.displayName}`\"\n\t\t\t\t\t:trailing-button-label=\"t('settings', 'Submit')\"\n\t\t\t\t\t:class=\"{ 'icon-loading-small': loading.displayName }\"\n\t\t\t\t\t:show-trailing-button=\"true\"\n\t\t\t\t\t:disabled=\"loading.displayName || isLoadingField\"\n\t\t\t\t\t:label=\"t('settings', 'Change display name')\"\n\t\t\t\t\ttrailing-button-icon=\"arrowRight\"\n\t\t\t\t\t:value.sync=\"editedDisplayName\"\n\t\t\t\t\tautocapitalize=\"off\"\n\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t@trailing-button-click=\"updateDisplayName\" />\n\t\t\t</template>\n\t\t\t<template v-else>\n\t\t\t\t<strong v-if=\"!isObfuscated\"\n\t\t\t\t\t:title=\"user.displayname?.length > 20 ? user.displayname : null\">\n\t\t\t\t\t{{ user.displayname }}\n\t\t\t\t</strong>\n\t\t\t\t<span class=\"row__subtitle\">{{ user.id }}</span>\n\t\t\t</template>\n\t\t</td>\n\n\t\t<td data-test-id=\"cell-password\"\n\t\t\tclass=\"row__cell\"\n\t\t\t:class=\"{ 'row__cell--obfuscated': hasObfuscated }\">\n\t\t\t<template v-if=\"editing && settings.canChangePassword && user.backendCapabilities.setPassword\">\n\t\t\t\t<NcTextField class=\"user-row-text-field\"\n\t\t\t\t\tdata-test-id=\"input-password\"\n\t\t\t\t\t:data-test-loading=\"`${loading.password}`\"\n\t\t\t\t\t:trailing-button-label=\"t('settings', 'Submit')\"\n\t\t\t\t\t:class=\"{'icon-loading-small': loading.password}\"\n\t\t\t\t\t:show-trailing-button=\"true\"\n\t\t\t\t\t:disabled=\"loading.password || isLoadingField\"\n\t\t\t\t\t:minlength=\"minPasswordLength\"\n\t\t\t\t\tmaxlength=\"469\"\n\t\t\t\t\t:label=\"t('settings', 'Set new password')\"\n\t\t\t\t\ttrailing-button-icon=\"arrowRight\"\n\t\t\t\t\t:value.sync=\"editedPassword\"\n\t\t\t\t\tautocapitalize=\"off\"\n\t\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\t\trequired\n\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t@trailing-button-click=\"updatePassword\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"isObfuscated\">\n\t\t\t\t{{ t('settings', 'You do not have permissions to see the details of this user') }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td class=\"row__cell\" data-test-id=\"cell-email\">\n\t\t\t<template v-if=\"editing\">\n\t\t\t\t<NcTextField class=\"user-row-text-field\"\n\t\t\t\t\t:class=\"{'icon-loading-small': loading.mailAddress}\"\n\t\t\t\t\t:show-trailing-button=\"true\"\n\t\t\t\t\t:trailing-button-label=\"t('settings', 'Submit')\"\n\t\t\t\t\t:label=\"t('settings', 'Set new email address')\"\n\t\t\t\t\t:disabled=\"loading.mailAddress || isLoadingField\"\n\t\t\t\t\ttrailing-button-icon=\"arrowRight\"\n\t\t\t\t\t:value.sync=\"editedMail\"\n\t\t\t\t\tautocapitalize=\"off\"\n\t\t\t\t\tautocomplete=\"email\"\n\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\ttype=\"email\"\n\t\t\t\t\t@trailing-button-click=\"updateEmail\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"!isObfuscated\"\n\t\t\t\t:title=\"user.email?.length > 20 ? user.email : null\">\n\t\t\t\t{{ user.email }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td class=\"row__cell row__cell--large row__cell--multiline\" data-test-id=\"cell-groups\">\n\t\t\t<template v-if=\"editing\">\n\t\t\t\t<label class=\"hidden-visually\"\n\t\t\t\t\t:for=\"'groups' + uniqueId\">\n\t\t\t\t\t{{ t('settings', 'Add user to group') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect :input-id=\"'groups' + uniqueId\"\n\t\t\t\t\t:close-on-select=\"false\"\n\t\t\t\t\t:disabled=\"isLoadingField\"\n\t\t\t\t\t:loading=\"loading.groups\"\n\t\t\t\t\t:multiple=\"true\"\n\t\t\t\t\t:append-to-body=\"false\"\n\t\t\t\t\t:options=\"availableGroups\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Add user to group')\"\n\t\t\t\t\t:taggable=\"settings.isAdmin\"\n\t\t\t\t\t:value=\"userGroups\"\n\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t:no-wrap=\"true\"\n\t\t\t\t\t:create-option=\"(value) => ({ name: value, isCreating: true })\"\n\t\t\t\t\t@option:created=\"createGroup\"\n\t\t\t\t\t@option:selected=\"options => addUserGroup(options.at(-1))\"\n\t\t\t\t\t@option:deselected=\"removeUserGroup\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"!isObfuscated\"\n\t\t\t\t:title=\"userGroupsLabels?.length > 40 ? userGroupsLabels : null\">\n\t\t\t\t{{ userGroupsLabels }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td v-if=\"subAdminsGroups.length > 0 && settings.isAdmin\"\n\t\t\tdata-test-id=\"cell-subadmins\"\n\t\t\tclass=\"row__cell row__cell--large row__cell--multiline\">\n\t\t\t<template v-if=\"editing && settings.isAdmin && subAdminsGroups.length > 0\">\n\t\t\t\t<label class=\"hidden-visually\"\n\t\t\t\t\t:for=\"'subadmins' + uniqueId\">\n\t\t\t\t\t{{ t('settings', 'Set user as admin for') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect :id=\"'subadmins' + uniqueId\"\n\t\t\t\t\t:close-on-select=\"false\"\n\t\t\t\t\t:disabled=\"isLoadingField\"\n\t\t\t\t\t:loading=\"loading.subadmins\"\n\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t:append-to-body=\"false\"\n\t\t\t\t\t:multiple=\"true\"\n\t\t\t\t\t:no-wrap=\"true\"\n\t\t\t\t\t:options=\"subAdminsGroups\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Set user as admin for')\"\n\t\t\t\t\t:value=\"userSubAdminsGroups\"\n\t\t\t\t\t@option:deselected=\"removeUserSubAdmin\"\n\t\t\t\t\t@option:selected=\"options => addUserSubAdmin(options.at(-1))\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"!isObfuscated\"\n\t\t\t\t:title=\"userSubAdminsGroupsLabels?.length > 40 ? userSubAdminsGroupsLabels : null\">\n\t\t\t\t{{ userSubAdminsGroupsLabels }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td class=\"row__cell\" data-test-id=\"cell-quota\">\n\t\t\t<template v-if=\"editing\">\n\t\t\t\t<label class=\"hidden-visually\"\n\t\t\t\t\t:for=\"'quota' + uniqueId\">\n\t\t\t\t\t{{ t('settings', 'Select user quota') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect v-model=\"editedUserQuota\"\n\t\t\t\t\t:close-on-select=\"true\"\n\t\t\t\t\t:create-option=\"validateQuota\"\n\t\t\t\t\t:disabled=\"isLoadingField\"\n\t\t\t\t\t:loading=\"loading.quota\"\n\t\t\t\t\t:append-to-body=\"false\"\n\t\t\t\t\t:clearable=\"false\"\n\t\t\t\t\t:input-id=\"'quota' + uniqueId\"\n\t\t\t\t\t:options=\"quotaOptions\"\n\t\t\t\t\t:placeholder=\"t('settings', 'Select user quota')\"\n\t\t\t\t\t:taggable=\"true\"\n\t\t\t\t\t@option:selected=\"setUserQuota\" />\n\t\t\t</template>\n\t\t\t<template v-else-if=\"!isObfuscated\">\n\t\t\t\t<label :for=\"'quota-progress' + uniqueId\">{{ userQuota }} ({{ usedSpace }})</label>\n\t\t\t\t<NcProgressBar :id=\"'quota-progress' + uniqueId\"\n\t\t\t\t\tclass=\"row__progress\"\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t'row__progress--warn': usedQuota > 80,\n\t\t\t\t\t}\"\n\t\t\t\t\t:value=\"usedQuota\" />\n\t\t\t</template>\n\t\t</td>\n\n\t\t<td v-if=\"showConfig.showLanguages\"\n\t\t\tclass=\"row__cell row__cell--large\"\n\t\t\tdata-test-id=\"cell-language\">\n\t\t\t<template v-if=\"editing\">\n\t\t\t\t<label class=\"hidden-visually\"\n\t\t\t\t\t:for=\"'language' + uniqueId\">\n\t\t\t\t\t{{ t('settings', 'Set the language') }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect :id=\"'language' + uniqueId\"\n\t\t\t\t\t:allow-empty=\"false\"\n\t\t\t\t\t:disabled=\"isLoadingField\"\n\t\t\t\t\t:loading=\"loading.languages\"\n\t\t\t\t\t:clearable=\"false\"\n\t\t\t\t\t:append-to-body=\"false\"\n\t\t\t\t\t:options=\"availableLanguages\"\n\t\t\t\t\t:placeholder=\"t('settings', 'No language set')\"\n\t\t\t\t\t:value=\"userLanguage\"\n\t\t\t\t\tlabel=\"name\"\n\t\t\t\t\t@input=\"setUserLanguage\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"!isObfuscated\">\n\t\t\t\t{{ userLanguage.name }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td v-if=\"showConfig.showUserBackend || showConfig.showStoragePath\"\n\t\t\tdata-test-id=\"cell-storageLocation\"\n\t\t\tclass=\"row__cell row__cell--large\">\n\t\t\t<template v-if=\"!isObfuscated\">\n\t\t\t\t<span v-if=\"showConfig.showUserBackend\">{{ user.backend }}</span>\n\t\t\t\t<span v-if=\"showConfig.showStoragePath\"\n\t\t\t\t\t:title=\"user.storageLocation\"\n\t\t\t\t\tclass=\"row__subtitle\">\n\t\t\t\t\t{{ user.storageLocation }}\n\t\t\t\t</span>\n\t\t\t</template>\n\t\t</td>\n\n\t\t<td v-if=\"showConfig.showLastLogin\"\n\t\t\t:title=\"userLastLoginTooltip\"\n\t\t\tclass=\"row__cell\"\n\t\t\tdata-test-id=\"cell-lastLogin\">\n\t\t\t<span v-if=\"!isObfuscated\">{{ userLastLogin }}</span>\n\t\t</td>\n\n\t\t<td class=\"row__cell row__cell--large row__cell--fill\" data-test-id=\"cell-manager\">\n\t\t\t<template v-if=\"editing\">\n\t\t\t\t<label class=\"hidden-visually\"\n\t\t\t\t\t:for=\"'manager' + uniqueId\">\n\t\t\t\t\t{{ managerLabel }}\n\t\t\t\t</label>\n\t\t\t\t<NcSelect v-model=\"currentManager\"\n\t\t\t\t\tclass=\"select--fill\"\n\t\t\t\t\t:input-id=\"'manager' + uniqueId\"\n\t\t\t\t\t:close-on-select=\"true\"\n\t\t\t\t\t:disabled=\"isLoadingField\"\n\t\t\t\t\t:append-to-body=\"false\"\n\t\t\t\t\t:loading=\"loadingPossibleManagers || loading.manager\"\n\t\t\t\t\tlabel=\"displayname\"\n\t\t\t\t\t:options=\"possibleManagers\"\n\t\t\t\t\t:placeholder=\"managerLabel\"\n\t\t\t\t\t@open=\"searchInitialUserManager\"\n\t\t\t\t\t@search=\"searchUserManager\"\n\t\t\t\t\t@option:selected=\"updateUserManager\"\n\t\t\t\t\t@input=\"updateUserManager\" />\n\t\t\t</template>\n\t\t\t<span v-else-if=\"!isObfuscated\">\n\t\t\t\t{{ user.manager }}\n\t\t\t</span>\n\t\t</td>\n\n\t\t<td class=\"row__cell row__cell--actions\" data-test-id=\"cell-actions\">\n\t\t\t<UserRowActions v-if=\"visible && !isObfuscated && canEdit && !loading.all\"\n\t\t\t\t:actions=\"userActions\"\n\t\t\t\t:disabled=\"isLoadingField\"\n\t\t\t\t:edit=\"editing\"\n\t\t\t\t@update:edit=\"toggleEdit\" />\n\t\t</td>\n\t</tr>\n</template>\n\n<script>\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { showSuccess, showError } from '@nextcloud/dialogs'\n\nimport NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar.js'\nimport NcLoadingIcon from '@nextcloud/vue/dist/Components/NcLoadingIcon.js'\nimport NcProgressBar from '@nextcloud/vue/dist/Components/NcProgressBar.js'\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\nimport NcTextField from '@nextcloud/vue/dist/Components/NcTextField.js'\n\nimport UserRowActions from './UserRowActions.vue'\n\nimport UserRowMixin from '../../mixins/UserRowMixin.js'\nimport { isObfuscated, unlimitedQuota } from '../../utils/userUtils.ts'\n\nexport default {\n\tname: 'UserRow',\n\n\tcomponents: {\n\t\tNcAvatar,\n\t\tNcLoadingIcon,\n\t\tNcProgressBar,\n\t\tNcSelect,\n\t\tNcTextField,\n\t\tUserRowActions,\n\t},\n\n\tmixins: [\n\t\tUserRowMixin,\n\t],\n\n\tprops: {\n\t\tuser: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tvisible: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tusers: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\thasObfuscated: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tgroups: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\tsubAdminsGroups: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\tquotaOptions: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\tlanguages: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\tsettings: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\texternalActions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tselectedQuota: false,\n\t\t\trand: Math.random().toString(36).substring(2),\n\t\t\tloadingPossibleManagers: false,\n\t\t\tpossibleManagers: [],\n\t\t\tcurrentManager: '',\n\t\t\tediting: false,\n\t\t\tloading: {\n\t\t\t\tall: false,\n\t\t\t\tdisplayName: false,\n\t\t\t\tpassword: false,\n\t\t\t\tmailAddress: false,\n\t\t\t\tgroups: false,\n\t\t\t\tsubadmins: false,\n\t\t\t\tquota: false,\n\t\t\t\tdelete: false,\n\t\t\t\tdisable: false,\n\t\t\t\tlanguages: false,\n\t\t\t\twipe: false,\n\t\t\t\tmanager: false,\n\t\t\t},\n\t\t\teditedDisplayName: this.user.displayname,\n\t\t\teditedPassword: '',\n\t\t\teditedMail: this.user.email ?? '',\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tmanagerLabel() {\n\t\t\t// TRANSLATORS This string describes a manager in the context of an organization\n\t\t\treturn t('settings', 'Set user manager')\n\t\t},\n\n\t\tisObfuscated() {\n\t\t\treturn isObfuscated(this.user)\n\t\t},\n\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\tisLoadingUser() {\n\t\t\treturn this.loading.delete || this.loading.disable || this.loading.wipe\n\t\t},\n\n\t\tisLoadingField() {\n\t\t\treturn this.loading.delete || this.loading.disable || this.loading.all\n\t\t},\n\n\t\tuniqueId() {\n\t\t\treturn this.user.id + this.rand\n\t\t},\n\n\t\tuserGroupsLabels() {\n\t\t\treturn this.userGroups\n\t\t\t\t.map(group => group.name)\n\t\t\t\t.join(', ')\n\t\t},\n\n\t\tuserSubAdminsGroupsLabels() {\n\t\t\treturn this.userSubAdminsGroups\n\t\t\t\t.map(group => group.name)\n\t\t\t\t.join(', ')\n\t\t},\n\n\t\tusedSpace() {\n\t\t\tif (this.user.quota?.used) {\n\t\t\t\treturn t('settings', '{size} used', { size: OC.Util.humanFileSize(this.user.quota?.used) })\n\t\t\t}\n\t\t\treturn t('settings', '{size} used', { size: OC.Util.humanFileSize(0) })\n\t\t},\n\n\t\tcanEdit() {\n\t\t\treturn getCurrentUser().uid !== this.user.id || this.settings.isAdmin\n\t\t},\n\n\t\tuserQuota() {\n\t\t\tlet quota = this.user.quota?.quota\n\n\t\t\tif (quota === 'default') {\n\t\t\t\tquota = this.settings.defaultQuota\n\t\t\t\tif (quota !== 'none') {\n\t\t\t\t\t// convert to numeric value to match what the server would usually return\n\t\t\t\t\tquota = OC.Util.computerFileSize(quota)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// when the default quota is unlimited, the server returns -3 here, map it to \"none\"\n\t\t\tif (quota === 'none' || quota === -3) {\n\t\t\t\treturn t('settings', 'Unlimited')\n\t\t\t} else if (quota >= 0) {\n\t\t\t\treturn OC.Util.humanFileSize(quota)\n\t\t\t}\n\t\t\treturn OC.Util.humanFileSize(0)\n\t\t},\n\n\t\tuserActions() {\n\t\t\tconst actions = [\n\t\t\t\t{\n\t\t\t\t\ticon: 'icon-delete',\n\t\t\t\t\ttext: t('settings', 'Delete user'),\n\t\t\t\t\taction: this.deleteUser,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: 'icon-delete',\n\t\t\t\t\ttext: t('settings', 'Wipe all devices'),\n\t\t\t\t\taction: this.wipeUserDevices,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: this.user.enabled ? 'icon-close' : 'icon-add',\n\t\t\t\t\ttext: this.user.enabled ? t('settings', 'Disable user') : t('settings', 'Enable user'),\n\t\t\t\t\taction: this.enableDisableUser,\n\t\t\t\t},\n\t\t\t]\n\t\t\tif (this.user.email !== null && this.user.email !== '') {\n\t\t\t\tactions.push({\n\t\t\t\t\ticon: 'icon-mail',\n\t\t\t\t\ttext: t('settings', 'Resend welcome email'),\n\t\t\t\t\taction: this.sendWelcomeMail,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn actions.concat(this.externalActions)\n\t\t},\n\n\t\t// mapping saved values to objects\n\t\teditedUserQuota: {\n\t\t\tget() {\n\t\t\t\tif (this.selectedQuota !== false) {\n\t\t\t\t\treturn this.selectedQuota\n\t\t\t\t}\n\t\t\t\tif (this.settings.defaultQuota !== unlimitedQuota.id && OC.Util.computerFileSize(this.settings.defaultQuota) >= 0) {\n\t\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\t\treturn { id: this.settings.defaultQuota, label: this.settings.defaultQuota }\n\t\t\t\t}\n\t\t\t\treturn unlimitedQuota // unlimited\n\t\t\t},\n\t\t\tset(quota) {\n\t\t\t\tthis.selectedQuota = quota\n\t\t\t},\n\t\t},\n\n\t\tavailableLanguages() {\n\t\t\treturn this.languages[0].languages.concat(this.languages[1].languages)\n\t\t},\n\t},\n\n\tasync beforeMount() {\n\t\tif (this.user.manager) {\n\t\t\tawait this.initManager(this.user.manager)\n\t\t}\n\t},\n\n\tmethods: {\n\t\twipeUserDevices() {\n\t\t\tconst userid = this.user.id\n\t\t\tOC.dialogs.confirmDestructive(\n\t\t\t\tt('settings', 'In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet.', { userid }),\n\t\t\t\tt('settings', 'Remote wipe of devices'),\n\t\t\t\t{\n\t\t\t\t\ttype: OC.dialogs.YES_NO_BUTTONS,\n\t\t\t\t\tconfirm: t('settings', 'Wipe {userid}\\'s devices', { userid }),\n\t\t\t\t\tconfirmClasses: 'error',\n\t\t\t\t\tcancel: t('settings', 'Cancel'),\n\t\t\t\t},\n\t\t\t\t(result) => {\n\t\t\t\t\tif (result) {\n\t\t\t\t\t\tthis.loading.wipe = true\n\t\t\t\t\t\tthis.loading.all = true\n\t\t\t\t\t\tthis.$store.dispatch('wipeUserDevices', userid)\n\t\t\t\t\t\t\t.then(() => showSuccess(t('settings', 'Wiped {userid}\\'s devices', { userid })), { timeout: 2000 })\n\t\t\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\t\t\tthis.loading.wipe = false\n\t\t\t\t\t\t\t\tthis.loading.all = false\n\t\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttrue,\n\t\t\t)\n\t\t},\n\n\t\tfilterManagers(managers) {\n\t\t\treturn managers.filter((manager) => manager.id !== this.user.id)\n\t\t},\n\n\t\tasync initManager(userId) {\n\t\t\tawait this.$store.dispatch('getUser', userId).then(response => {\n\t\t\t\tthis.currentManager = response?.data.ocs.data\n\t\t\t})\n\t\t},\n\n\t\tasync searchInitialUserManager() {\n\t\t\tthis.loadingPossibleManagers = true\n\t\t\tawait this.searchUserManager()\n\t\t\tthis.loadingPossibleManagers = false\n\t\t},\n\n\t\tasync searchUserManager(query) {\n\t\t\tawait this.$store.dispatch('searchUsers', { offset: 0, limit: 10, search: query }).then(response => {\n\t\t\t\tconst users = response?.data ? this.filterManagers(Object.values(response?.data.ocs.data.users)) : []\n\t\t\t\tif (users.length > 0) {\n\t\t\t\t\tthis.possibleManagers = users\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t\tasync updateUserManager(manager) {\n\t\t\tif (manager === null) {\n\t\t\t\tthis.currentManager = ''\n\t\t\t}\n\t\t\tthis.loading.manager = true\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('setUserData', {\n\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\tkey: 'manager',\n\t\t\t\t\tvalue: this.currentManager ? this.currentManager.id : '',\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\t// TRANSLATORS This string describes a manager in the context of an organization\n\t\t\t\tshowError(t('setting', 'Failed to update user manager'))\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading.manager = false\n\t\t\t}\n\t\t},\n\n\t\tdeleteUser() {\n\t\t\tconst userid = this.user.id\n\t\t\tOC.dialogs.confirmDestructive(\n\t\t\t\tt('settings', 'Fully delete {userid}\\'s account including all their personal files, app data, etc.', { userid }),\n\t\t\t\tt('settings', 'Account deletion'),\n\t\t\t\t{\n\t\t\t\t\ttype: OC.dialogs.YES_NO_BUTTONS,\n\t\t\t\t\tconfirm: t('settings', 'Delete {userid}\\'s account', { userid }),\n\t\t\t\t\tconfirmClasses: 'error',\n\t\t\t\t\tcancel: t('settings', 'Cancel'),\n\t\t\t\t},\n\t\t\t\t(result) => {\n\t\t\t\t\tif (result) {\n\t\t\t\t\t\tthis.loading.delete = true\n\t\t\t\t\t\tthis.loading.all = true\n\t\t\t\t\t\treturn this.$store.dispatch('deleteUser', userid)\n\t\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\t\tthis.loading.delete = false\n\t\t\t\t\t\t\t\tthis.loading.all = false\n\t\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttrue,\n\t\t\t)\n\t\t},\n\n\t\tenableDisableUser() {\n\t\t\tthis.loading.delete = true\n\t\t\tthis.loading.all = true\n\t\t\tconst userid = this.user.id\n\t\t\tconst enabled = !this.user.enabled\n\t\t\treturn this.$store.dispatch('enableDisableUser', {\n\t\t\t\tuserid,\n\t\t\t\tenabled,\n\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.loading.delete = false\n\t\t\t\t\tthis.loading.all = false\n\t\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Set user displayName\n\t\t *\n\t\t * @param {string} displayName The display name\n\t\t */\n\t\tupdateDisplayName() {\n\t\t\tthis.loading.displayName = true\n\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\tuserid: this.user.id,\n\t\t\t\tkey: 'displayname',\n\t\t\t\tvalue: this.editedDisplayName,\n\t\t\t}).then(() => {\n\t\t\t\tthis.loading.displayName = false\n\t\t\t\tif (this.editedDisplayName === this.user.displayname) {\n\t\t\t\t\tshowSuccess(t('setting', 'Display name was successfully changed'))\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Set user password\n\t\t *\n\t\t * @param {string} password The email address\n\t\t */\n\t\tupdatePassword() {\n\t\t\tthis.loading.password = true\n\t\t\tif (this.editedPassword.length === 0) {\n\t\t\t\tshowError(t('setting', \"Password can't be empty\"))\n\t\t\t\tthis.loading.password = false\n\t\t\t} else {\n\t\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\tkey: 'password',\n\t\t\t\t\tvalue: this.editedPassword,\n\t\t\t\t}).then(() => {\n\t\t\t\t\tthis.loading.password = false\n\t\t\t\t\tthis.editedPassword = ''\n\t\t\t\t\tshowSuccess(t('setting', 'Password was successfully changed'))\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Set user mailAddress\n\t\t *\n\t\t * @param {string} mailAddress The email address\n\t\t */\n\t\tupdateEmail() {\n\t\t\tthis.loading.mailAddress = true\n\t\t\tif (this.editedMail === '') {\n\t\t\t\tshowError(t('setting', \"Email can't be empty\"))\n\t\t\t\tthis.loading.mailAddress = false\n\t\t\t\tthis.editedMail = this.user.email\n\t\t\t} else {\n\t\t\t\tthis.$store.dispatch('setUserData', {\n\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\tkey: 'email',\n\t\t\t\t\tvalue: this.editedMail,\n\t\t\t\t}).then(() => {\n\t\t\t\t\tthis.loading.mailAddress = false\n\t\t\t\t\tif (this.editedMail === this.user.email) {\n\t\t\t\t\t\tshowSuccess(t('setting', 'Email was successfully changed'))\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Create a new group and add user to it\n\t\t *\n\t\t * @param {string} gid Group id\n\t\t */\n\t\tasync createGroup({ name: gid }) {\n\t\t\tthis.loading = { groups: true, subadmins: true }\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('addGroup', gid)\n\t\t\t\tconst userid = this.user.id\n\t\t\t\tawait this.$store.dispatch('addUserGroup', { userid, gid })\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading = { groups: false, subadmins: false }\n\t\t\t}\n\t\t\treturn this.$store.getters.getGroups[this.groups.length]\n\t\t},\n\n\t\t/**\n\t\t * Add user to group\n\t\t *\n\t\t * @param {object} group Group object\n\t\t */\n\t\tasync addUserGroup(group) {\n\t\t\tif (group.isCreating) {\n\t\t\t\t// This is NcSelect's internal value for a new inputted group name\n\t\t\t\t// Ignore\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.loading.groups = true\n\t\t\tconst userid = this.user.id\n\t\t\tconst gid = group.id\n\t\t\tif (group.canAdd === false) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('addUserGroup', { userid, gid })\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading.groups = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Remove user from group\n\t\t *\n\t\t * @param {object} group Group object\n\t\t */\n\t\tasync removeUserGroup(group) {\n\t\t\tif (group.canRemove === false) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tthis.loading.groups = true\n\t\t\tconst userid = this.user.id\n\t\t\tconst gid = group.id\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('removeUserGroup', {\n\t\t\t\t\tuserid,\n\t\t\t\t\tgid,\n\t\t\t\t})\n\t\t\t\tthis.loading.groups = false\n\t\t\t\t// remove user from current list if current list is the removed group\n\t\t\t\tif (this.$route.params.selectedGroup === gid) {\n\t\t\t\t\tthis.$store.commit('deleteUser', userid)\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\tthis.loading.groups = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add user to group\n\t\t *\n\t\t * @param {object} group Group object\n\t\t */\n\t\tasync addUserSubAdmin(group) {\n\t\t\tthis.loading.subadmins = true\n\t\t\tconst userid = this.user.id\n\t\t\tconst gid = group.id\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('addUserSubAdmin', {\n\t\t\t\t\tuserid,\n\t\t\t\t\tgid,\n\t\t\t\t})\n\t\t\t\tthis.loading.subadmins = false\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Remove user from group\n\t\t *\n\t\t * @param {object} group Group object\n\t\t */\n\t\tasync removeUserSubAdmin(group) {\n\t\t\tthis.loading.subadmins = true\n\t\t\tconst userid = this.user.id\n\t\t\tconst gid = group.id\n\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('removeUserSubAdmin', {\n\t\t\t\t\tuserid,\n\t\t\t\t\tgid,\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading.subadmins = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Dispatch quota set request\n\t\t *\n\t\t * @param {string | object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t * @return {string}\n\t\t */\n\t\tasync setUserQuota(quota = 'none') {\n\t\t\t// Make sure correct label is set for unlimited quota\n\t\t\tif (quota === 'none') {\n\t\t\t\tquota = unlimitedQuota\n\t\t\t}\n\t\t\tthis.loading.quota = true\n\t\t\t// ensure we only send the preset id\n\t\t\tquota = quota.id ? quota.id : quota\n\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('setUserData', {\n\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\tkey: 'quota',\n\t\t\t\t\tvalue: quota,\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading.quota = false\n\t\t\t}\n\t\t\treturn quota\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t *\n\t\t * @param {string | object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t * @return {object} The validated quota object or unlimited quota if input is invalid\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\tif (typeof quota === 'object') {\n\t\t\t\tquota = quota?.id || quota.label\n\t\t\t}\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tconst validQuota = OC.Util.computerFileSize(quota)\n\t\t\tif (validQuota === null) {\n\t\t\t\treturn unlimitedQuota\n\t\t\t} else {\n\t\t\t\t// unify format output\n\t\t\t\tquota = OC.Util.humanFileSize(OC.Util.computerFileSize(quota))\n\t\t\t\treturn { id: quota, label: quota }\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Dispatch language set request\n\t\t *\n\t\t * @param {object} lang language object {code:'en', name:'English'}\n\t\t * @return {object}\n\t\t */\n\t\tasync setUserLanguage(lang) {\n\t\t\tthis.loading.languages = true\n\t\t\t// ensure we only send the preset id\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('setUserData', {\n\t\t\t\t\tuserid: this.user.id,\n\t\t\t\t\tkey: 'language',\n\t\t\t\t\tvalue: lang.code,\n\t\t\t\t})\n\t\t\t\tthis.loading.languages = false\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error)\n\t\t\t}\n\t\t\treturn lang\n\t\t},\n\n\t\t/**\n\t\t * Dispatch new welcome mail request\n\t\t */\n\t\tsendWelcomeMail() {\n\t\t\tthis.loading.all = true\n\t\t\tthis.$store.dispatch('sendWelcomeMail', this.user.id)\n\t\t\t\t.then(() => showSuccess(t('setting', 'Welcome mail sent!'), { timeout: 2000 }))\n\t\t\t\t.finally(() => {\n\t\t\t\t\tthis.loading.all = false\n\t\t\t\t})\n\t\t},\n\n\t\tasync toggleEdit() {\n\t\t\tthis.editing = !this.editing\n\t\t\tif (this.editing) {\n\t\t\t\tawait this.$nextTick()\n\t\t\t\tthis.$refs.displayNameField?.$refs?.inputField?.$refs?.input?.focus()\n\t\t\t}\n\t\t\tif (this.editedDisplayName !== this.user.displayname) {\n\t\t\t\tthis.editedDisplayName = this.user.displayname\n\t\t\t} else if (this.editedMail !== this.user.email) {\n\t\t\t\tthis.editedMail = this.user.email ?? ''\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import './shared/styles.scss';\n\n.user-list__row {\n\t@include row;\n\n\t&:hover {\n\t\tbackground-color: var(--color-background-hover);\n\n\t\t.row__cell:not(.row__cell--actions) {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t}\n\n\t// Limit width of select in fill cell\n\t.select--fill {\n\t\tmax-width: calc(var(--cell-width-large) - (2 * var(--cell-padding)));\n\t}\n}\n\n.row {\n\t@include cell;\n\n\t&__cell {\n\t\tborder-bottom: 1px solid var(--color-border);\n\n\t\t:deep {\n\t\t\t.input-field,\n\t\t\t.input-field__main-wrapper,\n\t\t\t.input-field__input {\n\t\t\t\theight: 48px !important;\n\t\t\t}\n\n\t\t\t.input-field__input {\n\t\t\t\t&:placeholder-shown:not(:focus) + .input-field__label {\n\t\t\t\t\tinset-block-start: 16px !important;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.button-vue--icon-only {\n\t\t\t\theight: 44px !important;\n\t\t\t}\n\n\t\t\t.v-select.select {\n\t\t\t\tmin-width: var(--cell-min-width);\n\t\t\t}\n\t\t}\n\t}\n\n\t&__progress {\n\t\tmargin-top: 4px;\n\n\t\t&--warn {\n\t\t\t&::-moz-progress-bar {\n\t\t\t\tbackground: var(--color-warning) !important;\n\t\t\t}\n\t\t\t&::-webkit-progress-value {\n\t\t\t\tbackground: var(--color-warning) !important;\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRow.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!./UserRow.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!./UserRow.vue?vue&type=style&index=0&id=5bb81c4e&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!./UserRow.vue?vue&type=style&index=0&id=5bb81c4e&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserRow.vue?vue&type=template&id=5bb81c4e&scoped=true&\"\nimport script from \"./UserRow.vue?vue&type=script&lang=js&\"\nexport * from \"./UserRow.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserRow.vue?vue&type=style&index=0&id=5bb81c4e&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 \"5bb81c4e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('tr',{staticClass:\"user-list__row\",attrs:{\"data-test\":_vm.user.id}},[_c('td',{staticClass:\"row__cell row__cell--avatar\"},[(_vm.isLoadingUser)?_c('NcLoadingIcon',{attrs:{\"name\":_vm.t('settings', 'Loading user …'),\"size\":32}}):(_vm.visible)?_c('NcAvatar',{attrs:{\"disable-menu\":\"\",\"show-user-status\":false,\"user\":_vm.user.id}}):_vm._e()],1),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--displayname\",attrs:{\"data-test-id\":\"cell-displayname\"}},[(_vm.editing && _vm.user.backendCapabilities.setDisplayName)?[_c('NcTextField',{ref:\"displayNameField\",staticClass:\"user-row-text-field\",class:{ 'icon-loading-small': _vm.loading.displayName },attrs:{\"data-test-id\":\"input-displayName\",\"data-test-loading\":`${_vm.loading.displayName}`,\"trailing-button-label\":_vm.t('settings', 'Submit'),\"show-trailing-button\":true,\"disabled\":_vm.loading.displayName || _vm.isLoadingField,\"label\":_vm.t('settings', 'Change display name'),\"trailing-button-icon\":\"arrowRight\",\"value\":_vm.editedDisplayName,\"autocapitalize\":\"off\",\"autocomplete\":\"off\",\"spellcheck\":\"false\"},on:{\"update:value\":function($event){_vm.editedDisplayName=$event},\"trailing-button-click\":_vm.updateDisplayName}})]:[(!_vm.isObfuscated)?_c('strong',{attrs:{\"title\":_vm.user.displayname?.length > 20 ? _vm.user.displayname : null}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.user.displayname)+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('span',{staticClass:\"row__subtitle\"},[_vm._v(_vm._s(_vm.user.id))])]],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell\",class:{ 'row__cell--obfuscated': _vm.hasObfuscated },attrs:{\"data-test-id\":\"cell-password\"}},[(_vm.editing && _vm.settings.canChangePassword && _vm.user.backendCapabilities.setPassword)?[_c('NcTextField',{staticClass:\"user-row-text-field\",class:{'icon-loading-small': _vm.loading.password},attrs:{\"data-test-id\":\"input-password\",\"data-test-loading\":`${_vm.loading.password}`,\"trailing-button-label\":_vm.t('settings', 'Submit'),\"show-trailing-button\":true,\"disabled\":_vm.loading.password || _vm.isLoadingField,\"minlength\":_vm.minPasswordLength,\"maxlength\":\"469\",\"label\":_vm.t('settings', 'Set new password'),\"trailing-button-icon\":\"arrowRight\",\"value\":_vm.editedPassword,\"autocapitalize\":\"off\",\"autocomplete\":\"new-password\",\"required\":\"\",\"spellcheck\":\"false\",\"type\":\"password\"},on:{\"update:value\":function($event){_vm.editedPassword=$event},\"trailing-button-click\":_vm.updatePassword}})]:(_vm.isObfuscated)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'You do not have permissions to see the details of this user'))+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell\",attrs:{\"data-test-id\":\"cell-email\"}},[(_vm.editing)?[_c('NcTextField',{staticClass:\"user-row-text-field\",class:{'icon-loading-small': _vm.loading.mailAddress},attrs:{\"show-trailing-button\":true,\"trailing-button-label\":_vm.t('settings', 'Submit'),\"label\":_vm.t('settings', 'Set new email address'),\"disabled\":_vm.loading.mailAddress || _vm.isLoadingField,\"trailing-button-icon\":\"arrowRight\",\"value\":_vm.editedMail,\"autocapitalize\":\"off\",\"autocomplete\":\"email\",\"spellcheck\":\"false\",\"type\":\"email\"},on:{\"update:value\":function($event){_vm.editedMail=$event},\"trailing-button-click\":_vm.updateEmail}})]:(!_vm.isObfuscated)?_c('span',{attrs:{\"title\":_vm.user.email?.length > 20 ? _vm.user.email : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.user.email)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--large row__cell--multiline\",attrs:{\"data-test-id\":\"cell-groups\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'groups' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Add user to group'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"input-id\":'groups' + _vm.uniqueId,\"close-on-select\":false,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loading.groups,\"multiple\":true,\"append-to-body\":false,\"options\":_vm.availableGroups,\"placeholder\":_vm.t('settings', 'Add user to group'),\"taggable\":_vm.settings.isAdmin,\"value\":_vm.userGroups,\"label\":\"name\",\"no-wrap\":true,\"create-option\":(value) => ({ name: value, isCreating: true })},on:{\"option:created\":_vm.createGroup,\"option:selected\":options => _vm.addUserGroup(options.at(-1)),\"option:deselected\":_vm.removeUserGroup}})]:(!_vm.isObfuscated)?_c('span',{attrs:{\"title\":_vm.userGroupsLabels?.length > 40 ? _vm.userGroupsLabels : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.userGroupsLabels)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),(_vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin)?_c('td',{staticClass:\"row__cell row__cell--large row__cell--multiline\",attrs:{\"data-test-id\":\"cell-subadmins\"}},[(_vm.editing && _vm.settings.isAdmin && _vm.subAdminsGroups.length > 0)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'subadmins' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Set user as admin for'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"id\":'subadmins' + _vm.uniqueId,\"close-on-select\":false,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loading.subadmins,\"label\":\"name\",\"append-to-body\":false,\"multiple\":true,\"no-wrap\":true,\"options\":_vm.subAdminsGroups,\"placeholder\":_vm.t('settings', 'Set user as admin for'),\"value\":_vm.userSubAdminsGroups},on:{\"option:deselected\":_vm.removeUserSubAdmin,\"option:selected\":options => _vm.addUserSubAdmin(options.at(-1))}})]:(!_vm.isObfuscated)?_c('span',{attrs:{\"title\":_vm.userSubAdminsGroupsLabels?.length > 40 ? _vm.userSubAdminsGroupsLabels : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.userSubAdminsGroupsLabels)+\"\\n\\t\\t\")]):_vm._e()],2):_vm._e(),_vm._v(\" \"),_c('td',{staticClass:\"row__cell\",attrs:{\"data-test-id\":\"cell-quota\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'quota' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Select user quota'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"close-on-select\":true,\"create-option\":_vm.validateQuota,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loading.quota,\"append-to-body\":false,\"clearable\":false,\"input-id\":'quota' + _vm.uniqueId,\"options\":_vm.quotaOptions,\"placeholder\":_vm.t('settings', 'Select user quota'),\"taggable\":true},on:{\"option:selected\":_vm.setUserQuota},model:{value:(_vm.editedUserQuota),callback:function ($$v) {_vm.editedUserQuota=$$v},expression:\"editedUserQuota\"}})]:(!_vm.isObfuscated)?[_c('label',{attrs:{\"for\":'quota-progress' + _vm.uniqueId}},[_vm._v(_vm._s(_vm.userQuota)+\" (\"+_vm._s(_vm.usedSpace)+\")\")]),_vm._v(\" \"),_c('NcProgressBar',{staticClass:\"row__progress\",class:{\n\t\t\t\t\t'row__progress--warn': _vm.usedQuota > 80,\n\t\t\t\t},attrs:{\"id\":'quota-progress' + _vm.uniqueId,\"value\":_vm.usedQuota}})]:_vm._e()],2),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('td',{staticClass:\"row__cell row__cell--large\",attrs:{\"data-test-id\":\"cell-language\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'language' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Set the language'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"id\":'language' + _vm.uniqueId,\"allow-empty\":false,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loading.languages,\"clearable\":false,\"append-to-body\":false,\"options\":_vm.availableLanguages,\"placeholder\":_vm.t('settings', 'No language set'),\"value\":_vm.userLanguage,\"label\":\"name\"},on:{\"input\":_vm.setUserLanguage}})]:(!_vm.isObfuscated)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.userLanguage.name)+\"\\n\\t\\t\")]):_vm._e()],2):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend || _vm.showConfig.showStoragePath)?_c('td',{staticClass:\"row__cell row__cell--large\",attrs:{\"data-test-id\":\"cell-storageLocation\"}},[(!_vm.isObfuscated)?[(_vm.showConfig.showUserBackend)?_c('span',[_vm._v(_vm._s(_vm.user.backend))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('span',{staticClass:\"row__subtitle\",attrs:{\"title\":_vm.user.storageLocation}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.user.storageLocation)+\"\\n\\t\\t\\t\")]):_vm._e()]:_vm._e()],2):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('td',{staticClass:\"row__cell\",attrs:{\"title\":_vm.userLastLoginTooltip,\"data-test-id\":\"cell-lastLogin\"}},[(!_vm.isObfuscated)?_c('span',[_vm._v(_vm._s(_vm.userLastLogin))]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--large row__cell--fill\",attrs:{\"data-test-id\":\"cell-manager\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'manager' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.managerLabel)+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"select--fill\",attrs:{\"input-id\":'manager' + _vm.uniqueId,\"close-on-select\":true,\"disabled\":_vm.isLoadingField,\"append-to-body\":false,\"loading\":_vm.loadingPossibleManagers || _vm.loading.manager,\"label\":\"displayname\",\"options\":_vm.possibleManagers,\"placeholder\":_vm.managerLabel},on:{\"open\":_vm.searchInitialUserManager,\"search\":_vm.searchUserManager,\"option:selected\":_vm.updateUserManager,\"input\":_vm.updateUserManager},model:{value:(_vm.currentManager),callback:function ($$v) {_vm.currentManager=$$v},expression:\"currentManager\"}})]:(!_vm.isObfuscated)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.user.manager)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--actions\",attrs:{\"data-test-id\":\"cell-actions\"}},[(_vm.visible && !_vm.isObfuscated && _vm.canEdit && !_vm.loading.all)?_c('UserRowActions',{attrs:{\"actions\":_vm.userActions,\"disabled\":_vm.isLoadingField,\"edit\":_vm.editing},on:{\"update:edit\":_vm.toggleEdit}}):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<Fragment>\n\t\t<NewUserModal v-if=\"showConfig.showNewUserForm\"\n\t\t\t:loading=\"loading\"\n\t\t\t:new-user=\"newUser\"\n\t\t\t:quota-options=\"quotaOptions\"\n\t\t\t@reset=\"resetForm\"\n\t\t\t@close=\"closeModal\" />\n\n\t\t<NcEmptyContent v-if=\"filteredUsers.length === 0\"\n\t\t\tclass=\"empty\"\n\t\t\t:name=\"isInitialLoad && loading.users ? null : t('settings', 'No users')\">\n\t\t\t<template #icon>\n\t\t\t\t<NcLoadingIcon v-if=\"isInitialLoad && loading.users\"\n\t\t\t\t\t:name=\"t('settings', 'Loading users …')\"\n\t\t\t\t\t:size=\"64\" />\n\t\t\t\t<NcIconSvgWrapper v-else\n\t\t\t\t\t:svg=\"usersSvg\" />\n\t\t\t</template>\n\t\t</NcEmptyContent>\n\n\t\t<VirtualList v-else\n\t\t\t:data-component=\"UserRow\"\n\t\t\t:data-sources=\"filteredUsers\"\n\t\t\tdata-key=\"id\"\n\t\t\tdata-test-id=\"userList\"\n\t\t\t:item-height=\"rowHeight\"\n\t\t\t:style=\"style\"\n\t\t\t:extra-props=\"{\n\t\t\t\tusers,\n\t\t\t\tsettings,\n\t\t\t\thasObfuscated,\n\t\t\t\tgroups,\n\t\t\t\tsubAdminsGroups,\n\t\t\t\tquotaOptions,\n\t\t\t\tlanguages,\n\t\t\t\texternalActions,\n\t\t\t}\"\n\t\t\t@scroll-end=\"handleScrollEnd\">\n\t\t\t<template #before>\n\t\t\t\t<caption class=\"hidden-visually\">\n\t\t\t\t\t{{ t('settings', 'List of users. This list is not fully rendered for performance reasons. The users will be rendered as you navigate through the list.') }}\n\t\t\t\t</caption>\n\t\t\t</template>\n\n\t\t\t<template #header>\n\t\t\t\t<UserListHeader :has-obfuscated=\"hasObfuscated\" />\n\t\t\t</template>\n\n\t\t\t<template #footer>\n\t\t\t\t<UserListFooter :loading=\"loading.users\"\n\t\t\t\t\t:filtered-users=\"filteredUsers\" />\n\t\t\t</template>\n\t\t</VirtualList>\n\t</Fragment>\n</template>\n\n<script>\nimport Vue from 'vue'\nimport { Fragment } from 'vue-frag'\n\nimport NcEmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent.js'\nimport NcIconSvgWrapper from '@nextcloud/vue/dist/Components/NcIconSvgWrapper.js'\nimport NcLoadingIcon from '@nextcloud/vue/dist/Components/NcLoadingIcon.js'\n\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\nimport { showError } from '@nextcloud/dialogs'\n\nimport VirtualList from './Users/VirtualList.vue'\nimport NewUserModal from './Users/NewUserModal.vue'\nimport UserListFooter from './Users/UserListFooter.vue'\nimport UserListHeader from './Users/UserListHeader.vue'\nimport UserRow from './Users/UserRow.vue'\n\nimport { defaultQuota, isObfuscated, unlimitedQuota } from '../utils/userUtils.ts'\nimport logger from '../logger.js'\n\nimport usersSvg from '../../img/users.svg?raw'\n\nconst newUser = {\n\tid: '',\n\tdisplayName: '',\n\tpassword: '',\n\tmailAddress: '',\n\tgroups: [],\n\tmanager: '',\n\tsubAdminsGroups: [],\n\tquota: defaultQuota,\n\tlanguage: {\n\t\tcode: 'en',\n\t\tname: t('settings', 'Default language'),\n\t},\n}\n\nexport default {\n\tname: 'UserList',\n\n\tcomponents: {\n\t\tFragment,\n\t\tNcEmptyContent,\n\t\tNcIconSvgWrapper,\n\t\tNcLoadingIcon,\n\t\tNewUserModal,\n\t\tUserListFooter,\n\t\tUserListHeader,\n\t\tVirtualList,\n\t},\n\n\tprops: {\n\t\tselectedGroup: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\texternalActions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tUserRow,\n\t\t\tloading: {\n\t\t\t\tall: false,\n\t\t\t\tgroups: false,\n\t\t\t\tusers: false,\n\t\t\t},\n\t\t\tisInitialLoad: true,\n\t\t\trowHeight: 55,\n\t\t\tusersSvg,\n\t\t\tsearchQuery: '',\n\t\t\tnewUser: Object.assign({}, newUser),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData\n\t\t},\n\n\t\tstyle() {\n\t\t\treturn {\n\t\t\t\t'--row-height': `${this.rowHeight}px`,\n\t\t\t}\n\t\t},\n\n\t\thasObfuscated() {\n\t\t\treturn this.filteredUsers.some(user => isObfuscated(user))\n\t\t},\n\n\t\tusers() {\n\t\t\treturn this.$store.getters.getUsers\n\t\t},\n\n\t\tfilteredUsers() {\n\t\t\tif (this.selectedGroup === 'disabled') {\n\t\t\t\treturn this.users.filter(user => user.enabled === false)\n\t\t\t}\n\t\t\tif (!this.settings.isAdmin) {\n\t\t\t\t// we don't want subadmins to edit themselves\n\t\t\t\treturn this.users.filter(user => user.enabled !== false)\n\t\t\t}\n\t\t\treturn this.users.filter(user => user.enabled !== false)\n\t\t},\n\n\t\tgroups() {\n\t\t\t// data provided php side + remove the disabled group\n\t\t\treturn this.$store.getters.getGroups\n\t\t\t\t.filter(group => group.id !== 'disabled')\n\t\t\t\t.sort((a, b) => a.name.localeCompare(b.name))\n\t\t},\n\n\t\tsubAdminsGroups() {\n\t\t\t// data provided php side\n\t\t\treturn this.$store.getters.getSubadminGroups\n\t\t},\n\n\t\tquotaOptions() {\n\t\t\t// convert the preset array into objects\n\t\t\tconst quotaPreset = this.settings.quotaPreset.reduce((acc, cur) => acc.concat({\n\t\t\t\tid: cur,\n\t\t\t\tlabel: cur,\n\t\t\t}), [])\n\t\t\t// add default presets\n\t\t\tif (this.settings.allowUnlimitedQuota) {\n\t\t\t\tquotaPreset.unshift(unlimitedQuota)\n\t\t\t}\n\t\t\tquotaPreset.unshift(defaultQuota)\n\t\t\treturn quotaPreset\n\t\t},\n\n\t\tusersOffset() {\n\t\t\treturn this.$store.getters.getUsersOffset\n\t\t},\n\n\t\tusersLimit() {\n\t\t\treturn this.$store.getters.getUsersLimit\n\t\t},\n\n\t\tusersCount() {\n\t\t\treturn this.users.length\n\t\t},\n\n\t\t/* LANGUAGES */\n\t\tlanguages() {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tlabel: t('settings', 'Common languages'),\n\t\t\t\t\tlanguages: this.settings.languages.commonLanguages,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: t('settings', 'Other languages'),\n\t\t\t\t\tlanguages: this.settings.languages.otherLanguages,\n\t\t\t\t},\n\t\t\t]\n\t\t},\n\t},\n\n\twatch: {\n\t\t// watch url change and group select\n\t\tasync selectedGroup(val, old) {\n\t\t\tthis.isInitialLoad = true\n\t\t\t// if selected is the disabled group but it's empty\n\t\t\tawait this.redirectIfDisabled()\n\t\t\tthis.$store.commit('resetUsers')\n\t\t\tawait this.loadUsers()\n\t\t\tthis.setNewUserDefaultGroup(val)\n\t\t},\n\n\t\tfilteredUsers(filteredUsers) {\n\t\t\tlogger.debug(`${filteredUsers.length} filtered user(s)`)\n\t\t},\n\t},\n\n\tasync created() {\n\t\tawait this.loadUsers()\n\t},\n\n\tasync mounted() {\n\t\tif (!this.settings.canChangePassword) {\n\t\t\tOC.Notification.showTemporary(t('settings', 'Password change is disabled because the master key is disabled'))\n\t\t}\n\n\t\t/**\n\t\t * Reset and init new user form\n\t\t */\n\t\tthis.resetForm()\n\n\t\t/**\n\t\t * Register search\n\t\t */\n\t\tsubscribe('nextcloud:unified-search.search', this.search)\n\t\tsubscribe('nextcloud:unified-search.reset', this.resetSearch)\n\n\t\t/**\n\t\t * If disabled group but empty, redirect\n\t\t */\n\t\tawait this.redirectIfDisabled()\n\t},\n\n\tbeforeDestroy() {\n\t\tunsubscribe('nextcloud:unified-search.search', this.search)\n\t\tunsubscribe('nextcloud:unified-search.reset', this.resetSearch)\n\t},\n\n\tmethods: {\n\t\tasync handleScrollEnd() {\n\t\t\tawait this.loadUsers()\n\t\t},\n\n\t\tasync loadUsers() {\n\t\t\tthis.loading.users = true\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('getUsers', {\n\t\t\t\t\toffset: this.usersOffset,\n\t\t\t\t\tlimit: this.usersLimit,\n\t\t\t\t\tgroup: this.selectedGroup !== 'disabled' ? this.selectedGroup : '',\n\t\t\t\t\tsearch: this.searchQuery,\n\t\t\t\t})\n\t\t\t\tlogger.debug(`${this.users.length} total user(s) loaded`)\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('Failed to load users', { error })\n\t\t\t\tshowError('Failed to load users')\n\t\t\t}\n\t\t\tthis.loading.users = false\n\t\t\tthis.isInitialLoad = false\n\t\t},\n\n\t\tcloseModal() {\n\t\t\tthis.$store.commit('setShowConfig', {\n\t\t\t\tkey: 'showNewUserForm',\n\t\t\t\tvalue: false,\n\t\t\t})\n\t\t},\n\n\t\tasync search({ query }) {\n\t\t\tthis.searchQuery = query\n\t\t\tthis.$store.commit('resetUsers')\n\t\t\tawait this.loadUsers()\n\t\t},\n\n\t\tresetSearch() {\n\t\t\tthis.search({ query: '' })\n\t\t},\n\n\t\tresetForm() {\n\t\t\t// revert form to original state\n\t\t\tthis.newUser = Object.assign({}, newUser)\n\n\t\t\t/**\n\t\t\t * Init default language from server data. The use of this.settings\n\t\t\t * requires a computed variable, which break the v-model binding of the form,\n\t\t\t * this is a much easier solution than getter and setter on a computed var\n\t\t\t */\n\t\t\tif (this.settings.defaultLanguage) {\n\t\t\t\tVue.set(this.newUser.language, 'code', this.settings.defaultLanguage)\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * In case the user directly loaded the user list within a group\n\t\t\t * the watch won't be triggered. We need to initialize it.\n\t\t\t */\n\t\t\tthis.setNewUserDefaultGroup(this.selectedGroup)\n\n\t\t\tthis.loading.all = false\n\t\t},\n\n\t\tsetNewUserDefaultGroup(value) {\n\t\t\tif (value && value.length > 0) {\n\t\t\t\t// setting new user default group to the current selected one\n\t\t\t\tconst currentGroup = this.groups.find(group => group.id === value)\n\t\t\t\tif (currentGroup) {\n\t\t\t\t\tthis.newUser.groups = [currentGroup]\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\t\t\t// fallback, empty selected group\n\t\t\tthis.newUser.groups = []\n\t\t},\n\n\t\t/**\n\t\t * If the selected group is the disabled group but the count is 0\n\t\t * redirect to the all users page.\n\t\t * we only check for 0 because we don't have the count on ldap\n\t\t * and we therefore set the usercount to -1 in this specific case\n\t\t */\n\t\tasync redirectIfDisabled() {\n\t\t\tconst allGroups = this.$store.getters.getGroups\n\t\t\tif (this.selectedGroup === 'disabled'\n\t\t\t\t\t\t&& allGroups.findIndex(group => group.id === 'disabled' && group.usercount === 0) > -1) {\n\t\t\t\t// disabled group is empty, redirection to all users\n\t\t\t\tthis.$router.push({ name: 'users' })\n\t\t\t\tawait this.loadUsers()\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import './Users/shared/styles.scss';\n\n.empty {\n\t:deep {\n\t\t.icon-vue {\n\t\t\twidth: 64px;\n\t\t\theight: 64px;\n\n\t\t\tsvg {\n\t\t\t\tmax-width: 64px;\n\t\t\t\tmax-height: 64px;\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserList.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!./UserList.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!./UserList.vue?vue&type=style&index=0&id=c76ff3be&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!./UserList.vue?vue&type=style&index=0&id=c76ff3be&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserList.vue?vue&type=template&id=c76ff3be&scoped=true&\"\nimport script from \"./UserList.vue?vue&type=script&lang=js&\"\nexport * from \"./UserList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserList.vue?vue&type=style&index=0&id=c76ff3be&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 \"c76ff3be\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Fragment',[(_vm.showConfig.showNewUserForm)?_c('NewUserModal',{attrs:{\"loading\":_vm.loading,\"new-user\":_vm.newUser,\"quota-options\":_vm.quotaOptions},on:{\"reset\":_vm.resetForm,\"close\":_vm.closeModal}}):_vm._e(),_vm._v(\" \"),(_vm.filteredUsers.length === 0)?_c('NcEmptyContent',{staticClass:\"empty\",attrs:{\"name\":_vm.isInitialLoad && _vm.loading.users ? null : _vm.t('settings', 'No users')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.isInitialLoad && _vm.loading.users)?_c('NcLoadingIcon',{attrs:{\"name\":_vm.t('settings', 'Loading users …'),\"size\":64}}):_c('NcIconSvgWrapper',{attrs:{\"svg\":_vm.usersSvg}})]},proxy:true}],null,false,934871631)}):_c('VirtualList',{style:(_vm.style),attrs:{\"data-component\":_vm.UserRow,\"data-sources\":_vm.filteredUsers,\"data-key\":\"id\",\"data-test-id\":\"userList\",\"item-height\":_vm.rowHeight,\"extra-props\":{\n\t\t\tusers: _vm.users,\n\t\t\tsettings: _vm.settings,\n\t\t\thasObfuscated: _vm.hasObfuscated,\n\t\t\tgroups: _vm.groups,\n\t\t\tsubAdminsGroups: _vm.subAdminsGroups,\n\t\t\tquotaOptions: _vm.quotaOptions,\n\t\t\tlanguages: _vm.languages,\n\t\t\texternalActions: _vm.externalActions,\n\t\t}},on:{\"scroll-end\":_vm.handleScrollEnd},scopedSlots:_vm._u([{key:\"before\",fn:function(){return [_c('caption',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'List of users. This list is not fully rendered for performance reasons. The users will be rendered as you navigate through the list.'))+\"\\n\\t\\t\\t\")])]},proxy:true},{key:\"header\",fn:function(){return [_c('UserListHeader',{attrs:{\"has-obfuscated\":_vm.hasObfuscated}})]},proxy:true},{key:\"footer\",fn:function(){return [_c('UserListFooter',{attrs:{\"loading\":_vm.loading.users,\"filtered-users\":_vm.filteredUsers}})]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2023 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<NcAppSettingsDialog :open.sync=\"isModalOpen\"\n\t\t:show-navigation=\"true\"\n\t\t:name=\"t('settings', 'User management settings')\">\n\t\t<NcAppSettingsSection id=\"visibility-settings\"\n\t\t\t:name=\"t('settings', 'Visibility')\">\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"showLanguages\"\n\t\t\t\t:checked.sync=\"showLanguages\">\n\t\t\t\t{{ t('settings', 'Show language') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"showUserBackend\"\n\t\t\t\t:checked.sync=\"showUserBackend\">\n\t\t\t\t{{ t('settings', 'Show user backend') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"showStoragePath\"\n\t\t\t\t:checked.sync=\"showStoragePath\">\n\t\t\t\t{{ t('settings', 'Show storage path') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"showLastLogin\"\n\t\t\t\t:checked.sync=\"showLastLogin\">\n\t\t\t\t{{ t('settings', 'Show last login') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</NcAppSettingsSection>\n\n\t\t<NcAppSettingsSection id=\"email-settings\"\n\t\t\t:name=\"t('settings', 'Send email')\">\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\tdata-test=\"sendWelcomeMail\"\n\t\t\t\t:checked.sync=\"sendWelcomeMail\"\n\t\t\t\t:disabled=\"loadingSendMail\">\n\t\t\t\t{{ t('settings', 'Send welcome email to new users') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</NcAppSettingsSection>\n\n\t\t<NcAppSettingsSection id=\"default-settings\"\n\t\t\t:name=\"t('settings', 'Defaults')\">\n\t\t\t<label for=\"default-quota-select\">{{ t('settings', 'Default quota') }}</label>\n\t\t\t<NcSelect v-model=\"defaultQuota\"\n\t\t\t\tinput-id=\"default-quota-select\"\n\t\t\t\tplacement=\"top\"\n\t\t\t\t:taggable=\"true\"\n\t\t\t\t:options=\"quotaOptions\"\n\t\t\t\t:create-option=\"validateQuota\"\n\t\t\t\t:placeholder=\"t('settings', 'Select default quota')\"\n\t\t\t\t:clearable=\"false\"\n\t\t\t\t@option:selected=\"setDefaultQuota\" />\n\t\t</NcAppSettingsSection>\n\t</NcAppSettingsDialog>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\n\nimport NcAppSettingsDialog from '@nextcloud/vue/dist/Components/NcAppSettingsDialog.js'\nimport NcAppSettingsSection from '@nextcloud/vue/dist/Components/NcAppSettingsSection.js'\nimport NcCheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js'\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\n\nimport { unlimitedQuota } from '../../utils/userUtils.ts'\n\nexport default {\n\tname: 'UserSettingsDialog',\n\n\tcomponents: {\n\t\tNcAppSettingsDialog,\n\t\tNcAppSettingsSection,\n\t\tNcCheckboxRadioSwitch,\n\t\tNcSelect,\n\t},\n\n\tprops: {\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tselectedQuota: false,\n\t\t\tloadingSendMail: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tisModalOpen: {\n\t\t\tget() {\n\t\t\t\treturn this.open\n\t\t\t},\n\t\t\tset(open) {\n\t\t\t\tthis.$emit('update:open', open)\n\t\t\t},\n\t\t},\n\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData\n\t\t},\n\n\t\tshowLanguages: {\n\t\t\tget() {\n\t\t\t\treturn this.getLocalstorage('showLanguages')\n\t\t\t},\n\t\t\tset(status) {\n\t\t\t\tthis.setLocalStorage('showLanguages', status)\n\t\t\t},\n\t\t},\n\n\t\tshowLastLogin: {\n\t\t\tget() {\n\t\t\t\treturn this.getLocalstorage('showLastLogin')\n\t\t\t},\n\t\t\tset(status) {\n\t\t\t\tthis.setLocalStorage('showLastLogin', status)\n\t\t\t},\n\t\t},\n\n\t\tshowUserBackend: {\n\t\t\tget() {\n\t\t\t\treturn this.getLocalstorage('showUserBackend')\n\t\t\t},\n\t\t\tset(status) {\n\t\t\t\tthis.setLocalStorage('showUserBackend', status)\n\t\t\t},\n\t\t},\n\n\t\tshowStoragePath: {\n\t\t\tget() {\n\t\t\t\treturn this.getLocalstorage('showStoragePath')\n\t\t\t},\n\t\t\tset(status) {\n\t\t\t\tthis.setLocalStorage('showStoragePath', status)\n\t\t\t},\n\t\t},\n\n\t\tquotaOptions() {\n\t\t\t// convert the preset array into objects\n\t\t\tconst quotaPreset = this.settings.quotaPreset.reduce((acc, cur) => acc.concat({ id: cur, label: cur }), [])\n\t\t\t// add default presets\n\t\t\tif (this.settings.allowUnlimitedQuota) {\n\t\t\t\tquotaPreset.unshift(unlimitedQuota)\n\t\t\t}\n\t\t\treturn quotaPreset\n\t\t},\n\n\t\tdefaultQuota: {\n\t\t\tget() {\n\t\t\t\tif (this.selectedQuota !== false) {\n\t\t\t\t\treturn this.selectedQuota\n\t\t\t\t}\n\t\t\t\tif (this.settings.defaultQuota !== unlimitedQuota.id && OC.Util.computerFileSize(this.settings.defaultQuota) >= 0) {\n\t\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\t\treturn { id: this.settings.defaultQuota, label: this.settings.defaultQuota }\n\t\t\t\t}\n\t\t\t\treturn unlimitedQuota // unlimited\n\t\t\t},\n\t\t\tset(quota) {\n\t\t\t\tthis.selectedQuota = quota\n\t\t\t},\n\t\t},\n\n\t\tsendWelcomeMail: {\n\t\t\tget() {\n\t\t\t\treturn this.settings.newUserSendEmail\n\t\t\t},\n\t\t\tasync set(value) {\n\t\t\t\ttry {\n\t\t\t\t\tthis.loadingSendMail = true\n\t\t\t\t\tthis.$store.commit('setServerData', {\n\t\t\t\t\t\t...this.settings,\n\t\t\t\t\t\tnewUserSendEmail: value,\n\t\t\t\t\t})\n\t\t\t\t\tawait axios.post(generateUrl('/settings/users/preferences/newUser.sendEmail'), { value: value ? 'yes' : 'no' })\n\t\t\t\t} catch (e) {\n\t\t\t\t\tconsole.error('could not update newUser.sendEmail preference: ' + e.message, e)\n\t\t\t\t} finally {\n\t\t\t\t\tthis.loadingSendMail = false\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\n\tmethods: {\n\t\tgetLocalstorage(key) {\n\t\t\t// force initialization\n\t\t\tconst localConfig = this.$localStorage.get(key)\n\t\t\t// if localstorage is null, fallback to original values\n\t\t\tthis.$store.commit('setShowConfig', { key, value: localConfig !== null ? localConfig === 'true' : this.showConfig[key] })\n\t\t\treturn this.showConfig[key]\n\t\t},\n\n\t\tsetLocalStorage(key, status) {\n\t\t\tthis.$store.commit('setShowConfig', { key, value: status })\n\t\t\tthis.$localStorage.set(key, status)\n\t\t\treturn status\n\t\t},\n\n\t\t/**\n\t\t * Validate quota string to make sure it's a valid human file size\n\t\t *\n\t\t * @param {string | object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t * @return {object} The validated quota object or unlimited quota if input is invalid\n\t\t */\n\t\tvalidateQuota(quota) {\n\t\t\tif (typeof quota === 'object') {\n\t\t\t\tquota = quota?.id || quota.label\n\t\t\t}\n\t\t\t// only used for new presets sent through @Tag\n\t\t\tconst validQuota = OC.Util.computerFileSize(quota)\n\t\t\tif (validQuota === null) {\n\t\t\t\treturn unlimitedQuota\n\t\t\t} else {\n\t\t\t\t// unify format output\n\t\t\t\tquota = OC.Util.humanFileSize(OC.Util.computerFileSize(quota))\n\t\t\t\treturn { id: quota, label: quota }\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Dispatch default quota set request\n\t\t *\n\t\t * @param {string | object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n\t\t */\n\t\tsetDefaultQuota(quota = 'none') {\n\t\t\t// Make sure correct label is set for unlimited quota\n\t\t\tif (quota === 'none') {\n\t\t\t\tquota = unlimitedQuota\n\t\t\t}\n\t\t\tthis.$store.dispatch('setAppConfig', {\n\t\t\t\tapp: 'files',\n\t\t\t\tkey: 'default_quota',\n\t\t\t\t// ensure we only send the preset id\n\t\t\t\tvalue: quota.id ? quota.id : quota,\n\t\t\t}).then(() => {\n\t\t\t\tif (typeof quota !== 'object') {\n\t\t\t\t\tquota = { id: quota, label: quota }\n\t\t\t\t}\n\t\t\t\tthis.defaultQuota = quota\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nlabel[for=\"default-quota-select\"] {\n\tdisplay: block;\n\tpadding: 4px 0;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSettingsDialog.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!./UserSettingsDialog.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!./UserSettingsDialog.vue?vue&type=style&index=0&id=0a250c55&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!./UserSettingsDialog.vue?vue&type=style&index=0&id=0a250c55&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserSettingsDialog.vue?vue&type=template&id=0a250c55&scoped=true&\"\nimport script from \"./UserSettingsDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./UserSettingsDialog.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserSettingsDialog.vue?vue&type=style&index=0&id=0a250c55&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 \"0a250c55\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppSettingsDialog',{attrs:{\"open\":_vm.isModalOpen,\"show-navigation\":true,\"name\":_vm.t('settings', 'User management settings')},on:{\"update:open\":function($event){_vm.isModalOpen=$event}}},[_c('NcAppSettingsSection',{attrs:{\"id\":\"visibility-settings\",\"name\":_vm.t('settings', 'Visibility')}},[_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showLanguages\",\"checked\":_vm.showLanguages},on:{\"update:checked\":function($event){_vm.showLanguages=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show language'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showUserBackend\",\"checked\":_vm.showUserBackend},on:{\"update:checked\":function($event){_vm.showUserBackend=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show user backend'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showStoragePath\",\"checked\":_vm.showStoragePath},on:{\"update:checked\":function($event){_vm.showStoragePath=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show storage path'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showLastLogin\",\"checked\":_vm.showLastLogin},on:{\"update:checked\":function($event){_vm.showLastLogin=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show last login'))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"email-settings\",\"name\":_vm.t('settings', 'Send email')}},[_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"sendWelcomeMail\",\"checked\":_vm.sendWelcomeMail,\"disabled\":_vm.loadingSendMail},on:{\"update:checked\":function($event){_vm.sendWelcomeMail=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Send welcome email to new users'))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"default-settings\",\"name\":_vm.t('settings', 'Defaults')}},[_c('label',{attrs:{\"for\":\"default-quota-select\"}},[_vm._v(_vm._s(_vm.t('settings', 'Default quota')))]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"input-id\":\"default-quota-select\",\"placement\":\"top\",\"taggable\":true,\"options\":_vm.quotaOptions,\"create-option\":_vm.validateQuota,\"placeholder\":_vm.t('settings', 'Select default quota'),\"clearable\":false},on:{\"option:selected\":_vm.setDefaultQuota},model:{value:(_vm.defaultQuota),callback:function ($$v) {_vm.defaultQuota=$$v},expression:\"defaultQuota\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<Fragment>\n\t\t<NcContent app-name=\"settings\">\n\t\t\t<NcAppNavigation>\n\t\t\t\t<NcAppNavigationNew button-id=\"new-user-button\"\n\t\t\t\t\t:text=\"t('settings','New user')\"\n\t\t\t\t\tbutton-class=\"icon-add\"\n\t\t\t\t\t@click=\"showNewUserMenu\"\n\t\t\t\t\t@keyup.enter=\"showNewUserMenu\"\n\t\t\t\t\t@keyup.space=\"showNewUserMenu\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Plus :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcAppNavigationNew>\n\n\t\t\t\t<template #list>\n\t\t\t\t\t<NcAppNavigationItem id=\"everyone\"\n\t\t\t\t\t\t:exact=\"true\"\n\t\t\t\t\t\t:name=\"t('settings', 'Active users')\"\n\t\t\t\t\t\t:to=\"{ name: 'users' }\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<AccountGroup :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #counter>\n\t\t\t\t\t\t\t<NcCounterBubble v-if=\"userCount\" :type=\"!selectedGroupDecoded ? 'highlighted' : undefined\">\n\t\t\t\t\t\t\t\t{{ userCount }}\n\t\t\t\t\t\t\t</NcCounterBubble>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcAppNavigationItem>\n\n\t\t\t\t\t<NcAppNavigationItem v-if=\"settings.isAdmin\"\n\t\t\t\t\t\tid=\"admin\"\n\t\t\t\t\t\t:exact=\"true\"\n\t\t\t\t\t\t:name=\"t('settings', 'Admins')\"\n\t\t\t\t\t\t:to=\"{ name: 'group', params: { selectedGroup: 'admin' } }\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<ShieldAccount :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-if=\"adminGroupMenu.count > 0\" #counter>\n\t\t\t\t\t\t\t<NcCounterBubble :type=\"selectedGroupDecoded === 'admin' ? 'highlighted' : undefined\">\n\t\t\t\t\t\t\t\t{{ adminGroupMenu.count }}\n\t\t\t\t\t\t\t</NcCounterBubble>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcAppNavigationItem>\n\n\t\t\t\t\t<!-- Hide the disabled if none, if we don't have the data (-1) show it -->\n\t\t\t\t\t<NcAppNavigationItem v-if=\"disabledGroupMenu.usercount > 0 || disabledGroupMenu.usercount === -1\"\n\t\t\t\t\t\tid=\"disabled\"\n\t\t\t\t\t\t:exact=\"true\"\n\t\t\t\t\t\t:name=\"t('settings', 'Disabled users')\"\n\t\t\t\t\t\t:to=\"{ name: 'group', params: { selectedGroup: 'disabled' } }\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<AccountOff :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-if=\"disabledGroupMenu.usercount > 0\" #counter>\n\t\t\t\t\t\t\t<NcCounterBubble :type=\"selectedGroupDecoded === 'disabled' ? 'highlighted' : undefined\">\n\t\t\t\t\t\t\t\t{{ disabledGroupMenu.usercount }}\n\t\t\t\t\t\t\t</NcCounterBubble>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcAppNavigationItem>\n\n\t\t\t\t\t<NcAppNavigationCaption :name=\"t('settings', 'Groups')\"\n\t\t\t\t\t\t:disabled=\"loadingAddGroup\"\n\t\t\t\t\t\t:aria-label=\"loadingAddGroup ? t('settings', 'Creating group …') : t('settings', 'Create group')\"\n\t\t\t\t\t\tforce-menu\n\t\t\t\t\t\t:open.sync=\"isAddGroupOpen\">\n\t\t\t\t\t\t<template #actionsTriggerIcon>\n\t\t\t\t\t\t\t<NcLoadingIcon v-if=\"loadingAddGroup\" />\n\t\t\t\t\t\t\t<Plus v-else :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #actions>\n\t\t\t\t\t\t\t<NcActionText>\n\t\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t\t<AccountGroup :size=\"20\" />\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t{{ t('settings', 'Create group') }}\n\t\t\t\t\t\t\t</NcActionText>\n\t\t\t\t\t\t\t<NcActionInput :label=\"t('settings', 'Group name')\"\n\t\t\t\t\t\t\t\t:label-outside=\"false\"\n\t\t\t\t\t\t\t\t:disabled=\"loadingAddGroup\"\n\t\t\t\t\t\t\t\t:value.sync=\"newGroupName\"\n\t\t\t\t\t\t\t\t:error=\"hasAddGroupError\"\n\t\t\t\t\t\t\t\t:helper-text=\"hasAddGroupError ? t('settings', 'Please enter a valid group name') : ''\"\n\t\t\t\t\t\t\t\t@submit=\"createGroup\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcAppNavigationCaption>\n\n\t\t\t\t\t<GroupListItem v-for=\"group in groupList\"\n\t\t\t\t\t\t:id=\"group.id\"\n\t\t\t\t\t\t:key=\"group.id\"\n\t\t\t\t\t\t:active=\"selectedGroupDecoded === group.id\"\n\t\t\t\t\t\t:name=\"group.title\"\n\t\t\t\t\t\t:count=\"group.count\" />\n\t\t\t\t</template>\n\n\t\t\t\t<template #footer>\n\t\t\t\t\t<ul class=\"app-navigation-entry__settings\">\n\t\t\t\t\t\t<NcAppNavigationItem :name=\"t('settings', 'User management settings')\"\n\t\t\t\t\t\t\t@click=\"isDialogOpen = true\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<Cog :size=\"20\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</NcAppNavigationItem>\n\t\t\t\t\t</ul>\n\t\t\t\t</template>\n\t\t\t</NcAppNavigation>\n\n\t\t\t<NcAppContent>\n\t\t\t\t<UserList :selected-group=\"selectedGroupDecoded\"\n\t\t\t\t\t:external-actions=\"externalActions\" />\n\t\t\t</NcAppContent>\n\t\t</NcContent>\n\n\t\t<UserSettingsDialog :open.sync=\"isDialogOpen\" />\n\t</Fragment>\n</template>\n\n<script>\nimport Vue from 'vue'\nimport VueLocalStorage from 'vue-localstorage'\nimport { Fragment } from 'vue-frag'\nimport { translate as t } from '@nextcloud/l10n'\nimport { showError } from '@nextcloud/dialogs'\n\nimport NcActionInput from '@nextcloud/vue/dist/Components/NcActionInput.js'\nimport NcActionText from '@nextcloud/vue/dist/Components/NcActionText.js'\nimport NcAppContent from '@nextcloud/vue/dist/Components/NcAppContent.js'\nimport NcAppNavigation from '@nextcloud/vue/dist/Components/NcAppNavigation.js'\nimport NcAppNavigationCaption from '@nextcloud/vue/dist/Components/NcAppNavigationCaption.js'\nimport NcAppNavigationItem from '@nextcloud/vue/dist/Components/NcAppNavigationItem.js'\nimport NcAppNavigationNew from '@nextcloud/vue/dist/Components/NcAppNavigationNew.js'\nimport NcContent from '@nextcloud/vue/dist/Components/NcContent.js'\nimport NcCounterBubble from '@nextcloud/vue/dist/Components/NcCounterBubble.js'\nimport NcLoadingIcon from '@nextcloud/vue/dist/Components/NcLoadingIcon.js'\n\nimport AccountGroup from 'vue-material-design-icons/AccountGroup.vue'\nimport AccountOff from 'vue-material-design-icons/AccountOff.vue'\nimport Cog from 'vue-material-design-icons/Cog.vue'\nimport Plus from 'vue-material-design-icons/Plus.vue'\nimport ShieldAccount from 'vue-material-design-icons/ShieldAccount.vue'\n\nimport GroupListItem from '../components/GroupListItem.vue'\nimport UserList from '../components/UserList.vue'\nimport UserSettingsDialog from '../components/Users/UserSettingsDialog.vue'\n\nVue.use(VueLocalStorage)\n\nexport default {\n\tname: 'Users',\n\n\tcomponents: {\n\t\tAccountGroup,\n\t\tAccountOff,\n\t\tCog,\n\t\tFragment,\n\t\tGroupListItem,\n\t\tNcActionInput,\n\t\tNcActionText,\n\t\tNcAppContent,\n\t\tNcAppNavigation,\n\t\tNcAppNavigationCaption,\n\t\tNcAppNavigationItem,\n\t\tNcAppNavigationNew,\n\t\tNcContent,\n\t\tNcCounterBubble,\n\t\tNcLoadingIcon,\n\t\tPlus,\n\t\tShieldAccount,\n\t\tUserList,\n\t\tUserSettingsDialog,\n\t},\n\n\tprops: {\n\t\tselectedGroup: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\t// temporary value used for multiselect change\n\t\t\texternalActions: [],\n\t\t\tnewGroupName: '',\n\t\t\tisAddGroupOpen: false,\n\t\t\tloadingAddGroup: false,\n\t\t\thasAddGroupError: false,\n\t\t\tisDialogOpen: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\tselectedGroupDecoded() {\n\t\t\treturn this.selectedGroup ? decodeURIComponent(this.selectedGroup) : null\n\t\t},\n\n\t\tusers() {\n\t\t\treturn this.$store.getters.getUsers\n\t\t},\n\n\t\tgroups() {\n\t\t\treturn this.$store.getters.getGroups\n\t\t},\n\n\t\tusersOffset() {\n\t\t\treturn this.$store.getters.getUsersOffset\n\t\t},\n\n\t\tusersLimit() {\n\t\t\treturn this.$store.getters.getUsersLimit\n\t\t},\n\n\t\tuserCount() {\n\t\t\treturn this.$store.getters.getUserCount\n\t\t},\n\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData\n\t\t},\n\n\t\tgroupList() {\n\t\t\tconst groups = Array.isArray(this.groups) ? this.groups : []\n\n\t\t\treturn groups\n\t\t\t\t// filter out disabled and admin\n\t\t\t\t.filter(group => group.id !== 'disabled' && group.id !== 'admin')\n\t\t\t\t.map(group => this.formatGroupMenu(group))\n\t\t},\n\n\t\tadminGroupMenu() {\n\t\t\treturn this.formatGroupMenu(this.groups.find(group => group.id === 'admin'))\n\t\t},\n\n\t\tdisabledGroupMenu() {\n\t\t\treturn this.formatGroupMenu(this.groups.find(group => group.id === 'disabled'))\n\t\t},\n\t},\n\n\tbeforeMount() {\n\t\tthis.$store.commit('initGroups', {\n\t\t\tgroups: this.$store.getters.getServerData.groups,\n\t\t\torderBy: this.$store.getters.getServerData.sortGroups,\n\t\t\tuserCount: this.$store.getters.getServerData.userCount,\n\t\t})\n\t\tthis.$store.dispatch('getPasswordPolicyMinLength')\n\t},\n\n\tcreated() {\n\t\t// init the OCA.Settings.UserList object\n\t\t// and add the registerAction method\n\t\tObject.assign(OCA, {\n\t\t\tSettings: {\n\t\t\t\tUserList: {\n\t\t\t\t\tregisterAction: this.registerAction,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t},\n\n\tmethods: {\n\t\tt,\n\n\t\tshowNewUserMenu() {\n\t\t\tthis.$store.commit('setShowConfig', {\n\t\t\t\tkey: 'showNewUserForm',\n\t\t\t\tvalue: true,\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Register a new action for the user menu\n\t\t *\n\t\t * @param {string} icon the icon class\n\t\t * @param {string} text the text to display\n\t\t * @param {Function} action the function to run\n\t\t * @return {Array}\n\t\t */\n\t\tregisterAction(icon, text, action) {\n\t\t\tthis.externalActions.push({\n\t\t\t\ticon,\n\t\t\t\ttext,\n\t\t\t\taction,\n\t\t\t})\n\t\t\treturn this.externalActions\n\t\t},\n\n\t\t/**\n\t\t * Create a new group\n\t\t */\n\t\tasync createGroup() {\n\t\t\tthis.hasAddGroupError = false\n\t\t\tconst groupId = this.newGroupName.trim()\n\t\t\tif (groupId === '') {\n\t\t\t\tthis.hasAddGroupError = true\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.isAddGroupOpen = false\n\t\t\tthis.loadingAddGroup = true\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('addGroup', groupId)\n\t\t\t\tawait this.$router.push({\n\t\t\t\t\tname: 'group',\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tselectedGroup: encodeURIComponent(groupId),\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tthis.newGroupName = ''\n\t\t\t} catch {\n\t\t\t\tshowError(t('settings', 'Failed to create group'))\n\t\t\t}\n\t\t\tthis.loadingAddGroup = false\n\t\t},\n\n\t\t/**\n\t\t * Format a group to a menu entry\n\t\t *\n\t\t * @param {object} group the group\n\t\t * @return {object}\n\t\t */\n\t\tformatGroupMenu(group) {\n\t\t\tconst item = {}\n\t\t\tif (typeof group === 'undefined') {\n\t\t\t\treturn {}\n\t\t\t}\n\n\t\t\titem.id = group.id\n\t\t\titem.title = group.name\n\t\t\titem.usercount = group.usercount\n\n\t\t\t// users count for all groups\n\t\t\tif (group.usercount - group.disabled > 0) {\n\t\t\t\titem.count = group.usercount - group.disabled\n\t\t\t}\n\n\t\t\treturn item\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.app-content {\n\t// Virtual list needs to be full height and is scrollable\n\tdisplay: flex;\n\toverflow: hidden;\n\tflex-direction: column;\n\tmax-height: 100%;\n}\n\n.app-navigation-entry__settings {\n\theight: auto !important;\n\t// Prevent shrinking or growing\n\tflex: 0 0 auto;\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Users.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!./Users.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!./Users.vue?vue&type=style&index=0&id=642e7037&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!./Users.vue?vue&type=style&index=0&id=642e7037&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Users.vue?vue&type=template&id=642e7037&scoped=true&\"\nimport script from \"./Users.vue?vue&type=script&lang=js&\"\nexport * from \"./Users.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Users.vue?vue&type=style&index=0&id=642e7037&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 \"642e7037\",\n null\n \n)\n\nexport default component.exports","/**\n * vue-local-storage v0.6.0\n * (c) 2017 Alexander Avakov\n * @license MIT\n */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.VueLocalStorage = factory());\n}(this, (function () { 'use strict';\n\nvar VueLocalStorage = function VueLocalStorage () {\n this._properties = {};\n this._namespace = '';\n this._isSupported = true;\n};\n\nvar prototypeAccessors = { namespace: {} };\n\n/**\n * Namespace getter.\n *\n * @returns {string}\n */\nprototypeAccessors.namespace.get = function () {\n return this._namespace\n};\n\n/**\n * Namespace setter.\n *\n * @param {string} value\n */\nprototypeAccessors.namespace.set = function (value) {\n this._namespace = value ? (value + \".\") : '';\n};\n\n/**\n * Concatenates localStorage key with namespace prefix.\n *\n * @param {string} lsKey\n * @returns {string}\n * @private\n */\nVueLocalStorage.prototype._getLsKey = function _getLsKey (lsKey) {\n return (\"\" + (this._namespace) + lsKey)\n};\n\n/**\n * Set a value to localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @param {*} rawValue\n * @param {*} type\n * @private\n */\nVueLocalStorage.prototype._lsSet = function _lsSet (lsKey, rawValue, type) {\n var key = this._getLsKey(lsKey);\n var value = type && [Array, Object].includes(type)\n ? JSON.stringify(rawValue)\n : rawValue;\n\n window.localStorage.setItem(key, value);\n};\n\n/**\n * Get value from localStorage giving respect to the namespace.\n *\n * @param {string} lsKey\n * @returns {any}\n * @private\n */\nVueLocalStorage.prototype._lsGet = function _lsGet (lsKey) {\n var key = this._getLsKey(lsKey);\n\n return window.localStorage[key]\n};\n\n/**\n * Get value from localStorage\n *\n * @param {String} lsKey\n * @param {*} defaultValue\n * @param {*} defaultType\n * @returns {*}\n */\nVueLocalStorage.prototype.get = function get (lsKey, defaultValue, defaultType) {\n var this$1 = this;\n if ( defaultValue === void 0 ) defaultValue = null;\n if ( defaultType === void 0 ) defaultType = String;\n\n if (!this._isSupported) {\n return null\n }\n\n if (this._lsGet(lsKey)) {\n var type = defaultType;\n\n for (var key in this$1._properties) {\n if (key === lsKey) {\n type = this$1._properties[key].type;\n break\n }\n }\n\n return this._process(type, this._lsGet(lsKey))\n }\n\n return defaultValue !== null ? defaultValue : null\n};\n\n/**\n * Set localStorage value\n *\n * @param {String} lsKey\n * @param {*} value\n * @returns {*}\n */\nVueLocalStorage.prototype.set = function set (lsKey, value) {\n var this$1 = this;\n\n if (!this._isSupported) {\n return null\n }\n\n for (var key in this$1._properties) {\n var type = this$1._properties[key].type;\n\n if ((key === lsKey)) {\n this$1._lsSet(lsKey, value, type);\n\n return value\n }\n }\n\n this._lsSet(lsKey, value);\n\n return value\n};\n\n/**\n * Remove value from localStorage\n *\n * @param {String} lsKey\n */\nVueLocalStorage.prototype.remove = function remove (lsKey) {\n if (!this._isSupported) {\n return null\n }\n\n return window.localStorage.removeItem(lsKey)\n};\n\n/**\n * Add new property to localStorage\n *\n * @param {String} key\n * @param {function} type\n * @param {*} defaultValue\n */\nVueLocalStorage.prototype.addProperty = function addProperty (key, type, defaultValue) {\n if ( defaultValue === void 0 ) defaultValue = undefined;\n\n type = type || String;\n\n this._properties[key] = { type: type };\n\n if (!this._lsGet(key) && defaultValue !== null) {\n this._lsSet(key, defaultValue, type);\n }\n};\n\n/**\n * Process the value before return it from localStorage\n *\n * @param {String} type\n * @param {*} value\n * @returns {*}\n * @private\n */\nVueLocalStorage.prototype._process = function _process (type, value) {\n switch (type) {\n case Boolean:\n return value === 'true'\n case Number:\n return parseFloat(value)\n case Array:\n try {\n var array = JSON.parse(value);\n\n return Array.isArray(array) ? array : []\n } catch (e) {\n return []\n }\n case Object:\n try {\n return JSON.parse(value)\n } catch (e) {\n return {}\n }\n default:\n return value\n }\n};\n\nObject.defineProperties( VueLocalStorage.prototype, prototypeAccessors );\n\nvar vueLocalStorage = new VueLocalStorage();\n\nvar index = {\n /**\n * Install vue-local-storage plugin\n *\n * @param {Vue} Vue\n * @param {Object} options\n */\n install: function (Vue, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof process !== 'undefined' &&\n (\n process.server ||\n process.SERVER_BUILD ||\n (process.env && process.env.VUE_ENV === 'server')\n )\n ) {\n return\n }\n\n var isSupported = true;\n\n try {\n var test = '__vue-localstorage-test__';\n\n window.localStorage.setItem(test, test);\n window.localStorage.removeItem(test);\n } catch (e) {\n isSupported = false;\n vueLocalStorage._isSupported = false;\n\n console.error('Local storage is not supported');\n }\n\n var name = options.name || 'localStorage';\n var bind = options.bind;\n\n if (options.namespace) {\n vueLocalStorage.namespace = options.namespace;\n }\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n var this$1 = this;\n\n if (!isSupported) {\n return\n }\n\n if (this.$options[name]) {\n Object.keys(this.$options[name]).forEach(function (key) {\n var config = this$1.$options[name][key];\n var ref = [config.type, config.default];\n var type = ref[0];\n var defaultValue = ref[1];\n\n vueLocalStorage.addProperty(key, type, defaultValue);\n\n var existingProp = Object.getOwnPropertyDescriptor(vueLocalStorage, key);\n\n if (!existingProp) {\n var prop = {\n get: function () { return Vue.localStorage.get(key, defaultValue); },\n set: function (val) { return Vue.localStorage.set(key, val); },\n configurable: true\n };\n\n Object.defineProperty(vueLocalStorage, key, prop);\n Vue.util.defineReactive(vueLocalStorage, key, defaultValue);\n } else if (!Vue.config.silent) {\n console.log((key + \": is already defined and will be reused\"));\n }\n\n if ((bind || config.bind) && config.bind !== false) {\n this$1.$options.computed = this$1.$options.computed || {};\n\n if (!this$1.$options.computed[key]) {\n this$1.$options.computed[key] = {\n get: function () { return Vue.localStorage[key]; },\n set: function (val) { Vue.localStorage[key] = val; }\n };\n }\n }\n });\n }\n }\n });\n\n Vue[name] = vueLocalStorage;\n Vue.prototype[(\"$\" + name)] = vueLocalStorage;\n }\n};\n\nreturn index;\n\n})));\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","name","emits","props","title","type","String","fillColor","default","size","Number","_vm","this","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","_regeneratorRuntime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","defineProperty","obj","key","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","_typeof","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","undefined","done","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","return","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","doneResult","displayName","isGeneratorFunction","genFun","ctor","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","arguments","apply","components","AccountGroup","Delete","Fragment","NcActionButton","NcActionInput","NcAppNavigationItem","NcButton","NcCounterBubble","NcModal","NcNoteCard","Pencil","active","Boolean","required","count","data","loadingRenameGroup","openGroupMenu","showRemoveGroupModal","computed","settings","$store","getters","getServerData","methods","handleGroupMenuOpen","renameGroup","gid","_this","_callee","_context","trim","$refs","displayNameInput","$el","querySelector","dispatch","groupid","t0","removeGroup","_this2","_callee2","_context2","showError","t","group","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","params","selectedGroup","encodeURIComponent","scopedSlots","_u","proxy","isAdmin","ref","Vue","directive","vElementVisibility","extend","dataComponent","Function","dataKey","dataSources","Array","itemHeight","extraProps","bufferItems","index","headerHeight","tableHeight","resizeObserver","startIndex","Math","max","shownItems","ceil","renderedItems","tbodyStyle","isOverScrolled","lastIndex","hiddenAfterItems","min","paddingTop","concat","paddingBottom","mounted","_this$$refs","_this$$refs2","root","tfoot","thead","ResizeObserver","debounce","_thead$clientHeight","_root$clientHeight","clientHeight","logger","debug","onScroll","observe","addEventListener","beforeDestroy","disconnect","handleFooterVisibility","visible","round","scrollTop","_setupProxy","_t","style","_l","item","tag","directives","rawName","expression","_toConsumableArray","arr","isArray","_arrayLikeToArray","_arrayWithoutHoles","from","_iterableToArray","o","minLen","n","toString","test","_unsupportedIterableToArray","_nonIterableSpread","len","arr2","NcPasswordField","NcSelect","NcTextField","loading","newUser","quotaOptions","possibleManagers","managerLabel","showConfig","getShowConfig","usernameLabel","newUserGenerateUserID","minPasswordLength","getPasswordPolicyMinLength","groups","getGroups","filter","sort","a","b","localeCompare","subAdminsGroups","getSubadminGroups","canAddGroups","map","assign","$isDisabled","canAdd","languages","commonLanguages","otherLanguages","beforeMount","searchUserManager","createUser","_this2$$refs$username","_this2$$refs$username2","statuscode","_this2$$refs$username3","_this2$$refs$username4","_this2$$refs$password","_this2$$refs$password2","all","userid","password","email","mailAddress","subadmin","quota","language","code","manager","username","inputField","input","focus","response","ocs","meta","handleGroupInput","createGroup","_ref","_this3","_callee3","_context3","find","validateQuota","validQuota","OC","Util","computerFileSize","humanFileSize","label","languageFilterBy","option","search","some","_ref2","toLocaleLowerCase","includes","query","_this4","_callee4","_context4","offset","limit","users","_g","$listeners","preventDefault","$set","newUserRequireEmail","class","model","callback","$$v","showLanguages","NcLoadingIcon","filteredUsers","userCount","hasObfuscated","passwordLabel","showUserBackend","showStoragePath","showLastLogin","defineComponent","NcActions","NcIconSvgWrapper","actions","disabled","edit","editSvg","toggleEdit","action","icon","text","user","externalActions","userGroups","userSubAdminsGroups","availableGroups","groupClone","canRemove","usedSpace","used","usedQuota","pow","userQuota","humanQuota","userLanguage","userLang","lang","userLastLoginTooltip","lastLogin","formatDate","userLastLogin","relativeModifiedDate","unlimitedQuota","defaultQuota","isObfuscated","at","NcAvatar","NcProgressBar","UserRowActions","mixins","UserRowMixin","_this$user$email","selectedQuota","rand","random","substring","loadingPossibleManagers","currentManager","editing","subadmins","delete","disable","wipe","editedDisplayName","displayname","editedPassword","editedMail","isLoadingUser","isLoadingField","uniqueId","userGroupsLabels","join","userSubAdminsGroupsLabels","_this$user$quota","_this$user$quota2","canEdit","getCurrentUser","uid","_this$user$quota3","userActions","deleteUser","wipeUserDevices","enabled","enableDisableUser","sendWelcomeMail","editedUserQuota","get","set","availableLanguages","initManager","dialogs","confirmDestructive","YES_NO_BUTTONS","confirm","confirmClasses","cancel","showSuccess","timeout","finally","filterManagers","managers","userId","searchInitialUserManager","_this5","_this6","updateUserManager","_this7","_callee5","_context5","console","_this8","_this9","updateDisplayName","_this10","updatePassword","_this11","updateEmail","_this12","_this13","_callee6","_context6","addUserGroup","_this14","_callee7","_context7","isCreating","removeUserGroup","_this15","_callee8","_context8","$route","commit","addUserSubAdmin","_this16","_callee9","_context9","removeUserSubAdmin","_this17","_callee10","_context10","setUserQuota","_arguments","_this18","_callee11","_context11","_quota","setUserLanguage","_this19","_callee12","_context12","_this20","_this21","_callee13","_this21$$refs$display","_this21$user$email","_context13","$nextTick","displayNameField","_vm$user$displayname","_vm$user$email","_vm$userGroupsLabels","_vm$userSubAdminsGrou","backendCapabilities","setDisplayName","canChangePassword","setPassword","backend","storageLocation","NcEmptyContent","NewUserModal","UserListFooter","UserListHeader","VirtualList","UserRow","isInitialLoad","rowHeight","usersSvg","searchQuery","getUsers","quotaPreset","reduce","acc","cur","allowUnlimitedQuota","unshift","usersOffset","getUsersOffset","usersLimit","getUsersLimit","usersCount","watch","old","redirectIfDisabled","loadUsers","setNewUserDefaultGroup","created","Notification","showTemporary","resetForm","subscribe","resetSearch","unsubscribe","handleScrollEnd","closeModal","defaultLanguage","currentGroup","allGroups","findIndex","usercount","$router","showNewUserForm","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_objectSpread","target","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","hint","prim","toPrimitive","res","_toPrimitive","_toPropertyKey","NcAppSettingsDialog","NcAppSettingsSection","NcCheckboxRadioSwitch","open","loadingSendMail","isModalOpen","getLocalstorage","status","setLocalStorage","newUserSendEmail","axios","post","generateUrl","message","localConfig","$localStorage","setDefaultQuota","app","use","VueLocalStorage","AccountOff","Cog","GroupListItem","NcActionText","NcAppContent","NcAppNavigation","NcAppNavigationCaption","NcAppNavigationNew","NcContent","Plus","ShieldAccount","UserList","UserSettingsDialog","newGroupName","isAddGroupOpen","loadingAddGroup","hasAddGroupError","isDialogOpen","selectedGroupDecoded","decodeURIComponent","getUserCount","groupList","formatGroupMenu","adminGroupMenu","disabledGroupMenu","orderBy","sortGroups","OCA","Settings","registerAction","showNewUserMenu","groupId","indexOf","_k","keyCode","_properties","_namespace","_isSupported","prototypeAccessors","namespace","_getLsKey","lsKey","_lsSet","rawValue","JSON","stringify","window","localStorage","setItem","_lsGet","defaultValue","defaultType","_process","this$1","remove","removeItem","addProperty","parseFloat","array","parse","e","vueLocalStorage","install","process","server","SERVER_BUILD","env","VUE_ENV","isSupported","bind","mixin","beforeCreate","$options","config","silent","log","prop","util","defineReactive","factory"],"sourceRoot":""}
\ No newline at end of file diff --git a/dist/settings-vue-settings-apps-users-management.js b/dist/settings-vue-settings-apps-users-management.js index 4d7cf9ca9c0..81c350ccd21 100644 --- a/dist/settings-vue-settings-apps-users-management.js +++ b/dist/settings-vue-settings-apps-users-management.js @@ -1,3 +1,3 @@ /*! For license information please see settings-vue-settings-apps-users-management.js.LICENSE.txt */ -!function(){var e,r,o,i={92652:function(t,e,r){"use strict";r.d(e,{J:function(){return o}});var n=r(31352),o=Object.freeze({enabled:(0,n.Iu)("settings","Active apps"),disabled:(0,n.Iu)("settings","Disabled apps"),updates:(0,n.Iu)("settings","Updates"),"app-bundles":(0,n.Iu)("settings","App bundles"),featured:(0,n.Iu)("settings","Featured apps"),supported:(0,n.Iu)("settings","Supported apps")})},38605:function(t,e,r){"use strict";var n=r(17499);e.Z=(0,n.IY)().setApp("settings").detectUser().build()},97268:function(e,r,o){"use strict";var i=o(20144),a=o(2324),u=o(83678),s={name:"App",beforeMount:function(){null!==document.getElementById("serverData")&&this.$store.commit("setServerData",JSON.parse(document.getElementById("serverData").dataset.server))}},c=(0,o(51900).Z)(s,(function(){return(0,this._self._c)("router-view")}),[],!1,null,null,null).exports,f=o(25108);function p(t,e){for(var r in e)t[r]=e[r];return t}var l=/[!'()*]/g,d=function(t){return"%"+t.charCodeAt(0).toString(16)},h=/%2C/g,m=function(t){return encodeURIComponent(t).replace(l,d).replace(h,",")};function g(t){try{return decodeURIComponent(t)}catch(t){}return t}var v=function(t){return null==t||"object"==typeof t?t:String(t)};function y(t){var e={};return(t=t.trim().replace(/^(\?|#|&)/,""))?(t.split("&").forEach((function(t){var r=t.replace(/\+/g," ").split("="),n=g(r.shift()),o=r.length>0?g(r.join("=")):null;void 0===e[n]?e[n]=o:Array.isArray(e[n])?e[n].push(o):e[n]=[e[n],o]})),e):e}function b(t){var e=t?Object.keys(t).map((function(e){var r=t[e];if(void 0===r)return"";if(null===r)return m(e);if(Array.isArray(r)){var n=[];return r.forEach((function(t){void 0!==t&&(null===t?n.push(m(e)):n.push(m(e)+"="+m(t)))})),n.join("&")}return m(e)+"="+m(r)})).filter((function(t){return t.length>0})).join("&"):null;return e?"?"+e:""}var w=/\/?$/;function A(t,e,r,n){var o=n&&n.options.stringifyQuery,i=e.query||{};try{i=L(i)}catch(t){}var a={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||"/",hash:e.hash||"",query:i,params:e.params||{},fullPath:U(e,o),matched:t?x(t):[]};return r&&(a.redirectedFrom=U(r,o)),Object.freeze(a)}function L(t){if(Array.isArray(t))return t.map(L);if(t&&"object"==typeof t){var e={};for(var r in t)e[r]=L(t[r]);return e}return t}var E=A(null,{path:"/"});function x(t){for(var e=[];t;)e.unshift(t),t=t.parent;return e}function U(t,e){var r=t.path,n=t.query;void 0===n&&(n={});var o=t.hash;return void 0===o&&(o=""),(r||"/")+(e||b)(n)+o}function I(t,e,r){return e===E?t===e:!!e&&(t.path&&e.path?t.path.replace(w,"")===e.path.replace(w,"")&&(r||t.hash===e.hash&&O(t.query,e.query)):!(!t.name||!e.name)&&t.name===e.name&&(r||t.hash===e.hash&&O(t.query,e.query)&&O(t.params,e.params)))}function O(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t===e;var r=Object.keys(t).sort(),n=Object.keys(e).sort();return r.length===n.length&&r.every((function(r,o){var i=t[r];if(n[o]!==r)return!1;var a=e[r];return null==i||null==a?i===a:"object"==typeof i&&"object"==typeof a?O(i,a):String(i)===String(a)}))}function C(t){for(var e=0;e<t.matched.length;e++){var r=t.matched[e];for(var n in r.instances){var o=r.instances[n],i=r.enteredCbs[n];if(o&&i){delete r.enteredCbs[n];for(var a=0;a<i.length;a++)o._isBeingDestroyed||i[a](o)}}}}var P={name:"RouterView",functional:!0,props:{name:{type:String,default:"default"}},render:function(t,e){var r=e.props,n=e.children,o=e.parent,i=e.data;i.routerView=!0;for(var a=o.$createElement,u=r.name,s=o.$route,c=o._routerViewCache||(o._routerViewCache={}),f=0,l=!1;o&&o._routerRoot!==o;){var d=o.$vnode?o.$vnode.data:{};d.routerView&&f++,d.keepAlive&&o._directInactive&&o._inactive&&(l=!0),o=o.$parent}if(i.routerViewDepth=f,l){var h=c[u],m=h&&h.component;return m?(h.configProps&&_(m,i,h.route,h.configProps),a(m,i,n)):a()}var g=s.matched[f],v=g&&g.components[u];if(!g||!v)return c[u]=null,a();c[u]={component:v},i.registerRouteInstance=function(t,e){var r=g.instances[u];(e&&r!==t||!e&&r===t)&&(g.instances[u]=e)},(i.hook||(i.hook={})).prepatch=function(t,e){g.instances[u]=e.componentInstance},i.hook.init=function(t){t.data.keepAlive&&t.componentInstance&&t.componentInstance!==g.instances[u]&&(g.instances[u]=t.componentInstance),C(s)};var y=g.props&&g.props[u];return y&&(p(c[u],{route:s,configProps:y}),_(v,i,s,y)),a(v,i,n)}};function _(t,e,r,n){var o=e.props=function(t,e){switch(typeof e){case"undefined":return;case"object":return e;case"function":return e(t);case"boolean":return e?t.params:void 0}}(r,n);if(o){o=e.props=p({},o);var i=e.attrs=e.attrs||{};for(var a in o)t.props&&a in t.props||(i[a]=o[a],delete o[a])}}function k(t,e,r){var n=t.charAt(0);if("/"===n)return t;if("?"===n||"#"===n)return e+t;var o=e.split("/");r&&o[o.length-1]||o.pop();for(var i=t.replace(/^\//,"").split("/"),a=0;a<i.length;a++){var u=i[a];".."===u?o.pop():"."!==u&&o.push(u)}return""!==o[0]&&o.unshift(""),o.join("/")}function R(t){return t.replace(/\/(?:\s*\/)+/g,"/")}var S=Array.isArray||function(t){return"[object Array]"==Object.prototype.toString.call(t)},j=function t(e,r,n){return S(r)||(n=r||n,r=[]),n=n||{},e instanceof RegExp?function(t,e){var r=t.source.match(/\((?!\?)/g);if(r)for(var n=0;n<r.length;n++)e.push({name:n,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return Z(t,e)}(e,r):S(e)?function(e,r,n){for(var o=[],i=0;i<e.length;i++)o.push(t(e[i],r,n).source);return Z(new RegExp("(?:"+o.join("|")+")",H(n)),r)}(e,r,n):function(t,e,r){return V($(t,r),e,r)}(e,r,n)},T=$,F=B,N=V,G=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function $(t,e){for(var r,n=[],o=0,i=0,a="",u=e&&e.delimiter||"/";null!=(r=G.exec(t));){var s=r[0],c=r[1],f=r.index;if(a+=t.slice(i,f),i=f+s.length,c)a+=c[1];else{var p=t[i],l=r[2],d=r[3],h=r[4],m=r[5],g=r[6],v=r[7];a&&(n.push(a),a="");var y=null!=l&&null!=p&&p!==l,b="+"===g||"*"===g,w="?"===g||"*"===g,A=r[2]||u,L=h||m;n.push({name:d||o++,prefix:l||"",delimiter:A,optional:w,repeat:b,partial:y,asterisk:!!v,pattern:L?M(L):v?".*":"[^"+D(A)+"]+?"})}}return i<t.length&&(a+=t.substr(i)),a&&n.push(a),n}function q(t){return encodeURI(t).replace(/[\/?#]/g,(function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()}))}function B(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)"object"==typeof t[n]&&(r[n]=new RegExp("^(?:"+t[n].pattern+")$",H(e)));return function(e,n){for(var o="",i=e||{},a=(n||{}).pretty?q:encodeURIComponent,u=0;u<t.length;u++){var s=t[u];if("string"!=typeof s){var c,f=i[s.name];if(null==f){if(s.optional){s.partial&&(o+=s.prefix);continue}throw new TypeError('Expected "'+s.name+'" to be defined')}if(S(f)){if(!s.repeat)throw new TypeError('Expected "'+s.name+'" to not repeat, but received `'+JSON.stringify(f)+"`");if(0===f.length){if(s.optional)continue;throw new TypeError('Expected "'+s.name+'" to not be empty')}for(var p=0;p<f.length;p++){if(c=a(f[p]),!r[u].test(c))throw new TypeError('Expected all "'+s.name+'" to match "'+s.pattern+'", but received `'+JSON.stringify(c)+"`");o+=(0===p?s.prefix:s.delimiter)+c}}else{if(c=s.asterisk?encodeURI(f).replace(/[?#]/g,(function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})):a(f),!r[u].test(c))throw new TypeError('Expected "'+s.name+'" to match "'+s.pattern+'", but received "'+c+'"');o+=s.prefix+c}}else o+=s}return o}}function D(t){return t.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function M(t){return t.replace(/([=!:$\/()])/g,"\\$1")}function Z(t,e){return t.keys=e,t}function H(t){return t&&t.sensitive?"":"i"}function V(t,e,r){S(e)||(r=e||r,e=[]);for(var n=(r=r||{}).strict,o=!1!==r.end,i="",a=0;a<t.length;a++){var u=t[a];if("string"==typeof u)i+=D(u);else{var s=D(u.prefix),c="(?:"+u.pattern+")";e.push(u),u.repeat&&(c+="(?:"+s+c+")*"),i+=c=u.optional?u.partial?s+"("+c+")?":"(?:"+s+"("+c+"))?":s+"("+c+")"}}var f=D(r.delimiter||"/"),p=i.slice(-f.length)===f;return n||(i=(p?i.slice(0,-f.length):i)+"(?:"+f+"(?=$))?"),i+=o?"$":n&&p?"":"(?="+f+"|$)",Z(new RegExp("^"+i,H(r)),e)}j.parse=T,j.compile=function(t,e){return B($(t,e),e)},j.tokensToFunction=F,j.tokensToRegExp=N;var z=Object.create(null);function Y(t,e,r){e=e||{};try{var n=z[t]||(z[t]=j.compile(t));return"string"==typeof e.pathMatch&&(e[0]=e.pathMatch),n(e,{pretty:!0})}catch(t){return""}finally{delete e[0]}}function J(t,e,r,n){var o="string"==typeof t?{path:t}:t;if(o._normalized)return o;if(o.name){var i=(o=p({},t)).params;return i&&"object"==typeof i&&(o.params=p({},i)),o}if(!o.path&&o.params&&e){(o=p({},o))._normalized=!0;var a=p(p({},e.params),o.params);if(e.name)o.name=e.name,o.params=a;else if(e.matched.length){var u=e.matched[e.matched.length-1].path;o.path=Y(u,a,e.path)}return o}var s=function(t){var e="",r="",n=t.indexOf("#");n>=0&&(e=t.slice(n),t=t.slice(0,n));var o=t.indexOf("?");return o>=0&&(r=t.slice(o+1),t=t.slice(0,o)),{path:t,query:r,hash:e}}(o.path||""),c=e&&e.path||"/",f=s.path?k(s.path,c,r||o.append):c,l=function(t,e,r){void 0===e&&(e={});var n,o=r||y;try{n=o(t||"")}catch(t){n={}}for(var i in e){var a=e[i];n[i]=Array.isArray(a)?a.map(v):v(a)}return n}(s.query,o.query,n&&n.options.parseQuery),d=o.hash||s.hash;return d&&"#"!==d.charAt(0)&&(d="#"+d),{_normalized:!0,path:f,query:l,hash:d}}var K,Q=function(){},W={name:"RouterLink",props:{to:{type:[String,Object],required:!0},tag:{type:String,default:"a"},custom:Boolean,exact:Boolean,exactPath:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,ariaCurrentValue:{type:String,default:"page"},event:{type:[String,Array],default:"click"}},render:function(t){var e=this,r=this.$router,n=this.$route,o=r.resolve(this.to,n,this.append),i=o.location,a=o.route,u=o.href,s={},c=r.options.linkActiveClass,f=r.options.linkExactActiveClass,l=null==c?"router-link-active":c,d=null==f?"router-link-exact-active":f,h=null==this.activeClass?l:this.activeClass,m=null==this.exactActiveClass?d:this.exactActiveClass,g=a.redirectedFrom?A(null,J(a.redirectedFrom),null,r):a;s[m]=I(n,g,this.exactPath),s[h]=this.exact||this.exactPath?s[m]:function(t,e){return 0===t.path.replace(w,"/").indexOf(e.path.replace(w,"/"))&&(!e.hash||t.hash===e.hash)&&function(t,e){for(var r in e)if(!(r in t))return!1;return!0}(t.query,e.query)}(n,g);var v=s[m]?this.ariaCurrentValue:null,y=function(t){X(t)&&(e.replace?r.replace(i,Q):r.push(i,Q))},b={click:X};Array.isArray(this.event)?this.event.forEach((function(t){b[t]=y})):b[this.event]=y;var L={class:s},E=!this.$scopedSlots.$hasNormal&&this.$scopedSlots.default&&this.$scopedSlots.default({href:u,route:a,navigate:y,isActive:s[h],isExactActive:s[m]});if(E){if(1===E.length)return E[0];if(E.length>1||!E.length)return 0===E.length?t():t("span",{},E)}if("a"===this.tag)L.on=b,L.attrs={href:u,"aria-current":v};else{var x=tt(this.$slots.default);if(x){x.isStatic=!1;var U=x.data=p({},x.data);for(var O in U.on=U.on||{},U.on){var C=U.on[O];O in b&&(U.on[O]=Array.isArray(C)?C:[C])}for(var P in b)P in U.on?U.on[P].push(b[P]):U.on[P]=y;var _=x.data.attrs=p({},x.data.attrs);_.href=u,_["aria-current"]=v}else L.on=b}return t(this.tag,L,this.$slots.default)}};function X(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey||t.defaultPrevented||void 0!==t.button&&0!==t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){var e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function tt(t){if(t)for(var e,r=0;r<t.length;r++){if("a"===(e=t[r]).tag)return e;if(e.children&&(e=tt(e.children)))return e}}var et="undefined"!=typeof window;function rt(t,e,r,n,o){var i=e||[],a=r||Object.create(null),u=n||Object.create(null);t.forEach((function(t){nt(i,a,u,t,o)}));for(var s=0,c=i.length;s<c;s++)"*"===i[s]&&(i.push(i.splice(s,1)[0]),c--,s--);return{pathList:i,pathMap:a,nameMap:u}}function nt(t,e,r,n,o,i){var a=n.path,u=n.name,s=n.pathToRegexpOptions||{},c=function(t,e,r){return r||(t=t.replace(/\/$/,"")),"/"===t[0]||null==e?t:R(e.path+"/"+t)}(a,o,s.strict);"boolean"==typeof n.caseSensitive&&(s.sensitive=n.caseSensitive);var f={path:c,regex:ot(c,s),components:n.components||{default:n.component},alias:n.alias?"string"==typeof n.alias?[n.alias]:n.alias:[],instances:{},enteredCbs:{},name:u,parent:o,matchAs:i,redirect:n.redirect,beforeEnter:n.beforeEnter,meta:n.meta||{},props:null==n.props?{}:n.components?n.props:{default:n.props}};if(n.children&&n.children.forEach((function(n){var o=i?R(i+"/"+n.path):void 0;nt(t,e,r,n,f,o)})),e[f.path]||(t.push(f.path),e[f.path]=f),void 0!==n.alias)for(var p=Array.isArray(n.alias)?n.alias:[n.alias],l=0;l<p.length;++l){var d={path:p[l],children:n.children};nt(t,e,r,d,o,f.path||"/")}u&&(r[u]||(r[u]=f))}function ot(t,e){return j(t,[],e)}function it(t,e){var r=rt(t),n=r.pathList,o=r.pathMap,i=r.nameMap;function a(t,r,a){var s=J(t,r,!1,e),c=s.name;if(c){var f=i[c];if(!f)return u(null,s);var p=f.regex.keys.filter((function(t){return!t.optional})).map((function(t){return t.name}));if("object"!=typeof s.params&&(s.params={}),r&&"object"==typeof r.params)for(var l in r.params)!(l in s.params)&&p.indexOf(l)>-1&&(s.params[l]=r.params[l]);return s.path=Y(f.path,s.params),u(f,s,a)}if(s.path){s.params={};for(var d=0;d<n.length;d++){var h=n[d],m=o[h];if(at(m.regex,s.path,s.params))return u(m,s,a)}}return u(null,s)}function u(t,r,n){return t&&t.redirect?function(t,r){var n=t.redirect,o="function"==typeof n?n(A(t,r,null,e)):n;if("string"==typeof o&&(o={path:o}),!o||"object"!=typeof o)return u(null,r);var s=o,c=s.name,f=s.path,p=r.query,l=r.hash,d=r.params;if(p=s.hasOwnProperty("query")?s.query:p,l=s.hasOwnProperty("hash")?s.hash:l,d=s.hasOwnProperty("params")?s.params:d,c)return i[c],a({_normalized:!0,name:c,query:p,hash:l,params:d},void 0,r);if(f){var h=function(t,e){return k(t,e.parent?e.parent.path:"/",!0)}(f,t);return a({_normalized:!0,path:Y(h,d),query:p,hash:l},void 0,r)}return u(null,r)}(t,n||r):t&&t.matchAs?function(t,e,r){var n=a({_normalized:!0,path:Y(r,e.params)});if(n){var o=n.matched,i=o[o.length-1];return e.params=n.params,u(i,e)}return u(null,e)}(0,r,t.matchAs):A(t,r,n,e)}return{match:a,addRoute:function(t,e){var r="object"!=typeof t?i[t]:void 0;rt([e||t],n,o,i,r),r&&r.alias.length&&rt(r.alias.map((function(t){return{path:t,children:[e]}})),n,o,i,r)},getRoutes:function(){return n.map((function(t){return o[t]}))},addRoutes:function(t){rt(t,n,o,i)}}}function at(t,e,r){var n=e.match(t);if(!n)return!1;if(!r)return!0;for(var o=1,i=n.length;o<i;++o){var a=t.keys[o-1];a&&(r[a.name||"pathMatch"]="string"==typeof n[o]?g(n[o]):n[o])}return!0}var ut=et&&window.performance&&window.performance.now?window.performance:Date;function st(){return ut.now().toFixed(3)}var ct=st();function ft(){return ct}function pt(t){return ct=t}var lt=Object.create(null);function dt(){"scrollRestoration"in window.history&&(window.history.scrollRestoration="manual");var t=window.location.protocol+"//"+window.location.host,e=window.location.href.replace(t,""),r=p({},window.history.state);return r.key=ft(),window.history.replaceState(r,"",e),window.addEventListener("popstate",gt),function(){window.removeEventListener("popstate",gt)}}function ht(t,e,r,n){if(t.app){var o=t.options.scrollBehavior;o&&t.app.$nextTick((function(){var i=function(){var t=ft();if(t)return lt[t]}(),a=o.call(t,e,r,n?i:null);a&&("function"==typeof a.then?a.then((function(t){At(t,i)})).catch((function(t){})):At(a,i))}))}}function mt(){var t=ft();t&&(lt[t]={x:window.pageXOffset,y:window.pageYOffset})}function gt(t){mt(),t.state&&t.state.key&&pt(t.state.key)}function vt(t){return bt(t.x)||bt(t.y)}function yt(t){return{x:bt(t.x)?t.x:window.pageXOffset,y:bt(t.y)?t.y:window.pageYOffset}}function bt(t){return"number"==typeof t}var wt=/^#\d/;function At(t,e){var r,n="object"==typeof t;if(n&&"string"==typeof t.selector){var o=wt.test(t.selector)?document.getElementById(t.selector.slice(1)):document.querySelector(t.selector);if(o){var i=t.offset&&"object"==typeof t.offset?t.offset:{};e=function(t,e){var r=document.documentElement.getBoundingClientRect(),n=t.getBoundingClientRect();return{x:n.left-r.left-e.x,y:n.top-r.top-e.y}}(o,i={x:bt((r=i).x)?r.x:0,y:bt(r.y)?r.y:0})}else vt(t)&&(e=yt(t))}else n&&vt(t)&&(e=yt(t));e&&("scrollBehavior"in document.documentElement.style?window.scrollTo({left:e.x,top:e.y,behavior:t.behavior}):window.scrollTo(e.x,e.y))}var Lt,Et=et&&(-1===(Lt=window.navigator.userAgent).indexOf("Android 2.")&&-1===Lt.indexOf("Android 4.0")||-1===Lt.indexOf("Mobile Safari")||-1!==Lt.indexOf("Chrome")||-1!==Lt.indexOf("Windows Phone"))&&window.history&&"function"==typeof window.history.pushState;function xt(t,e){mt();var r=window.history;try{if(e){var n=p({},r.state);n.key=ft(),r.replaceState(n,"",t)}else r.pushState({key:pt(st())},"",t)}catch(r){window.location[e?"replace":"assign"](t)}}function Ut(t){xt(t,!0)}var It={redirected:2,aborted:4,cancelled:8,duplicated:16};function Ot(t,e){return Ct(t,e,It.cancelled,'Navigation cancelled from "'+t.fullPath+'" to "'+e.fullPath+'" with a new navigation.')}function Ct(t,e,r,n){var o=new Error(n);return o._isRouter=!0,o.from=t,o.to=e,o.type=r,o}var Pt=["params","query","hash"];function _t(t){return Object.prototype.toString.call(t).indexOf("Error")>-1}function kt(t,e){return _t(t)&&t._isRouter&&(null==e||t.type===e)}function Rt(t,e,r){var n=function(o){o>=t.length?r():t[o]?e(t[o],(function(){n(o+1)})):n(o+1)};n(0)}function St(t,e){return jt(t.map((function(t){return Object.keys(t.components).map((function(r){return e(t.components[r],t.instances[r],t,r)}))})))}function jt(t){return Array.prototype.concat.apply([],t)}var Tt="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function Ft(t){var e=!1;return function(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];if(!e)return e=!0,t.apply(this,r)}}var Nt=function(t,e){this.router=t,this.base=function(t){if(!t)if(et){var e=document.querySelector("base");t=(t=e&&e.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else t="/";return"/"!==t.charAt(0)&&(t="/"+t),t.replace(/\/$/,"")}(e),this.current=E,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};function Gt(t,e,r,n){var o=St(t,(function(t,n,o,i){var a=function(t,e){return"function"!=typeof t&&(t=K.extend(t)),t.options[e]}(t,e);if(a)return Array.isArray(a)?a.map((function(t){return r(t,n,o,i)})):r(a,n,o,i)}));return jt(n?o.reverse():o)}function $t(t,e){if(e)return function(){return t.apply(e,arguments)}}Nt.prototype.listen=function(t){this.cb=t},Nt.prototype.onReady=function(t,e){this.ready?t():(this.readyCbs.push(t),e&&this.readyErrorCbs.push(e))},Nt.prototype.onError=function(t){this.errorCbs.push(t)},Nt.prototype.transitionTo=function(t,e,r){var n,o=this;try{n=this.router.match(t,this.current)}catch(t){throw this.errorCbs.forEach((function(e){e(t)})),t}var i=this.current;this.confirmTransition(n,(function(){o.updateRoute(n),e&&e(n),o.ensureURL(),o.router.afterHooks.forEach((function(t){t&&t(n,i)})),o.ready||(o.ready=!0,o.readyCbs.forEach((function(t){t(n)})))}),(function(t){r&&r(t),t&&!o.ready&&(kt(t,It.redirected)&&i===E||(o.ready=!0,o.readyErrorCbs.forEach((function(e){e(t)}))))}))},Nt.prototype.confirmTransition=function(t,e,r){var n=this,o=this.current;this.pending=t;var i,a,u=function(t){!kt(t)&&_t(t)&&(n.errorCbs.length?n.errorCbs.forEach((function(e){e(t)})):f.error(t)),r&&r(t)},s=t.matched.length-1,c=o.matched.length-1;if(I(t,o)&&s===c&&t.matched[s]===o.matched[c])return this.ensureURL(),t.hash&&ht(this.router,o,t,!1),u(((a=Ct(i=o,t,It.duplicated,'Avoided redundant navigation to current location: "'+i.fullPath+'".')).name="NavigationDuplicated",a));var p,l=function(t,e){var r,n=Math.max(t.length,e.length);for(r=0;r<n&&t[r]===e[r];r++);return{updated:e.slice(0,r),activated:e.slice(r),deactivated:t.slice(r)}}(this.current.matched,t.matched),d=l.updated,h=l.deactivated,m=l.activated,g=[].concat(function(t){return Gt(t,"beforeRouteLeave",$t,!0)}(h),this.router.beforeHooks,function(t){return Gt(t,"beforeRouteUpdate",$t)}(d),m.map((function(t){return t.beforeEnter})),(p=m,function(t,e,r){var n=!1,o=0,i=null;St(p,(function(t,e,a,u){if("function"==typeof t&&void 0===t.cid){n=!0,o++;var s,c=Ft((function(e){var n;((n=e).__esModule||Tt&&"Module"===n[Symbol.toStringTag])&&(e=e.default),t.resolved="function"==typeof e?e:K.extend(e),a.components[u]=e,--o<=0&&r()})),f=Ft((function(t){var e="Failed to resolve async component "+u+": "+t;i||(i=_t(t)?t:new Error(e),r(i))}));try{s=t(c,f)}catch(t){f(t)}if(s)if("function"==typeof s.then)s.then(c,f);else{var p=s.component;p&&"function"==typeof p.then&&p.then(c,f)}}})),n||r()})),v=function(e,r){if(n.pending!==t)return u(Ot(o,t));try{e(t,o,(function(e){!1===e?(n.ensureURL(!0),u(function(t,e){return Ct(t,e,It.aborted,'Navigation aborted from "'+t.fullPath+'" to "'+e.fullPath+'" via a navigation guard.')}(o,t))):_t(e)?(n.ensureURL(!0),u(e)):"string"==typeof e||"object"==typeof e&&("string"==typeof e.path||"string"==typeof e.name)?(u(function(t,e){return Ct(t,e,It.redirected,'Redirected when going from "'+t.fullPath+'" to "'+function(t){if("string"==typeof t)return t;if("path"in t)return t.path;var e={};return Pt.forEach((function(r){r in t&&(e[r]=t[r])})),JSON.stringify(e,null,2)}(e)+'" via a navigation guard.')}(o,t)),"object"==typeof e&&e.replace?n.replace(e):n.push(e)):r(e)}))}catch(t){u(t)}};Rt(g,v,(function(){var r=function(t){return Gt(t,"beforeRouteEnter",(function(t,e,r,n){return function(t,e,r){return function(n,o,i){return t(n,o,(function(t){"function"==typeof t&&(e.enteredCbs[r]||(e.enteredCbs[r]=[]),e.enteredCbs[r].push(t)),i(t)}))}}(t,r,n)}))}(m);Rt(r.concat(n.router.resolveHooks),v,(function(){if(n.pending!==t)return u(Ot(o,t));n.pending=null,e(t),n.router.app&&n.router.app.$nextTick((function(){C(t)}))}))}))},Nt.prototype.updateRoute=function(t){this.current=t,this.cb&&this.cb(t)},Nt.prototype.setupListeners=function(){},Nt.prototype.teardown=function(){this.listeners.forEach((function(t){t()})),this.listeners=[],this.current=E,this.pending=null};var qt=function(t){function e(e,r){t.call(this,e,r),this._startLocation=Bt(this.base)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this;if(!(this.listeners.length>0)){var e=this.router,r=e.options.scrollBehavior,n=Et&&r;n&&this.listeners.push(dt());var o=function(){var r=t.current,o=Bt(t.base);t.current===E&&o===t._startLocation||t.transitionTo(o,(function(t){n&&ht(e,t,r,!0)}))};window.addEventListener("popstate",o),this.listeners.push((function(){window.removeEventListener("popstate",o)}))}},e.prototype.go=function(t){window.history.go(t)},e.prototype.push=function(t,e,r){var n=this,o=this.current;this.transitionTo(t,(function(t){xt(R(n.base+t.fullPath)),ht(n.router,t,o,!1),e&&e(t)}),r)},e.prototype.replace=function(t,e,r){var n=this,o=this.current;this.transitionTo(t,(function(t){Ut(R(n.base+t.fullPath)),ht(n.router,t,o,!1),e&&e(t)}),r)},e.prototype.ensureURL=function(t){if(Bt(this.base)!==this.current.fullPath){var e=R(this.base+this.current.fullPath);t?xt(e):Ut(e)}},e.prototype.getCurrentLocation=function(){return Bt(this.base)},e}(Nt);function Bt(t){var e=window.location.pathname,r=e.toLowerCase(),n=t.toLowerCase();return!t||r!==n&&0!==r.indexOf(R(n+"/"))||(e=e.slice(t.length)),(e||"/")+window.location.search+window.location.hash}var Dt=function(t){function e(e,r,n){t.call(this,e,r),n&&function(t){var e=Bt(t);if(!/^\/#/.test(e))return window.location.replace(R(t+"/#"+e)),!0}(this.base)||Mt()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this;if(!(this.listeners.length>0)){var e=this.router.options.scrollBehavior,r=Et&&e;r&&this.listeners.push(dt());var n=function(){var e=t.current;Mt()&&t.transitionTo(Zt(),(function(n){r&&ht(t.router,n,e,!0),Et||zt(n.fullPath)}))},o=Et?"popstate":"hashchange";window.addEventListener(o,n),this.listeners.push((function(){window.removeEventListener(o,n)}))}},e.prototype.push=function(t,e,r){var n=this,o=this.current;this.transitionTo(t,(function(t){Vt(t.fullPath),ht(n.router,t,o,!1),e&&e(t)}),r)},e.prototype.replace=function(t,e,r){var n=this,o=this.current;this.transitionTo(t,(function(t){zt(t.fullPath),ht(n.router,t,o,!1),e&&e(t)}),r)},e.prototype.go=function(t){window.history.go(t)},e.prototype.ensureURL=function(t){var e=this.current.fullPath;Zt()!==e&&(t?Vt(e):zt(e))},e.prototype.getCurrentLocation=function(){return Zt()},e}(Nt);function Mt(){var t=Zt();return"/"===t.charAt(0)||(zt("/"+t),!1)}function Zt(){var t=window.location.href,e=t.indexOf("#");return e<0?"":t=t.slice(e+1)}function Ht(t){var e=window.location.href,r=e.indexOf("#");return(r>=0?e.slice(0,r):e)+"#"+t}function Vt(t){Et?xt(Ht(t)):window.location.hash=t}function zt(t){Et?Ut(Ht(t)):window.location.replace(Ht(t))}var Yt=function(t){function e(e,r){t.call(this,e,r),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,r){var n=this;this.transitionTo(t,(function(t){n.stack=n.stack.slice(0,n.index+1).concat(t),n.index++,e&&e(t)}),r)},e.prototype.replace=function(t,e,r){var n=this;this.transitionTo(t,(function(t){n.stack=n.stack.slice(0,n.index).concat(t),e&&e(t)}),r)},e.prototype.go=function(t){var e=this,r=this.index+t;if(!(r<0||r>=this.stack.length)){var n=this.stack[r];this.confirmTransition(n,(function(){var t=e.current;e.index=r,e.updateRoute(n),e.router.afterHooks.forEach((function(e){e&&e(n,t)}))}),(function(t){kt(t,It.duplicated)&&(e.index=r)}))}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}(Nt),Jt=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=it(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!Et&&!1!==t.fallback,this.fallback&&(e="hash"),et||(e="abstract"),this.mode=e,e){case"history":this.history=new qt(this,t.base);break;case"hash":this.history=new Dt(this,t.base,this.fallback);break;case"abstract":this.history=new Yt(this,t.base)}},Kt={currentRoute:{configurable:!0}};Jt.prototype.match=function(t,e,r){return this.matcher.match(t,e,r)},Kt.currentRoute.get=function(){return this.history&&this.history.current},Jt.prototype.init=function(t){var e=this;if(this.apps.push(t),t.$once("hook:destroyed",(function(){var r=e.apps.indexOf(t);r>-1&&e.apps.splice(r,1),e.app===t&&(e.app=e.apps[0]||null),e.app||e.history.teardown()})),!this.app){this.app=t;var r=this.history;if(r instanceof qt||r instanceof Dt){var n=function(t){r.setupListeners(),function(t){var n=r.current,o=e.options.scrollBehavior;Et&&o&&"fullPath"in t&&ht(e,t,n,!1)}(t)};r.transitionTo(r.getCurrentLocation(),n,n)}r.listen((function(t){e.apps.forEach((function(e){e._route=t}))}))}},Jt.prototype.beforeEach=function(t){return Wt(this.beforeHooks,t)},Jt.prototype.beforeResolve=function(t){return Wt(this.resolveHooks,t)},Jt.prototype.afterEach=function(t){return Wt(this.afterHooks,t)},Jt.prototype.onReady=function(t,e){this.history.onReady(t,e)},Jt.prototype.onError=function(t){this.history.onError(t)},Jt.prototype.push=function(t,e,r){var n=this;if(!e&&!r&&"undefined"!=typeof Promise)return new Promise((function(e,r){n.history.push(t,e,r)}));this.history.push(t,e,r)},Jt.prototype.replace=function(t,e,r){var n=this;if(!e&&!r&&"undefined"!=typeof Promise)return new Promise((function(e,r){n.history.replace(t,e,r)}));this.history.replace(t,e,r)},Jt.prototype.go=function(t){this.history.go(t)},Jt.prototype.back=function(){this.go(-1)},Jt.prototype.forward=function(){this.go(1)},Jt.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map((function(t){return Object.keys(t.components).map((function(e){return t.components[e]}))}))):[]},Jt.prototype.resolve=function(t,e,r){var n=J(t,e=e||this.history.current,r,this),o=this.match(n,e),i=o.redirectedFrom||o.fullPath,a=function(t,e,r){var n="hash"===r?"#"+e:e;return t?R(t+"/"+n):n}(this.history.base,i,this.mode);return{location:n,route:o,href:a,normalizedTo:n,resolved:o}},Jt.prototype.getRoutes=function(){return this.matcher.getRoutes()},Jt.prototype.addRoute=function(t,e){this.matcher.addRoute(t,e),this.history.current!==E&&this.history.transitionTo(this.history.getCurrentLocation())},Jt.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==E&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(Jt.prototype,Kt);var Qt=Jt;function Wt(t,e){return t.push(e),function(){var r=t.indexOf(e);r>-1&&t.splice(r,1)}}Jt.install=function t(e){if(!t.installed||K!==e){t.installed=!0,K=e;var r=function(t){return void 0!==t},n=function(t,e){var n=t.$options._parentVnode;r(n)&&r(n=n.data)&&r(n=n.registerRouteInstance)&&n(t,e)};e.mixin({beforeCreate:function(){r(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),e.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,n(this,this)},destroyed:function(){n(this)}}),Object.defineProperty(e.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(e.prototype,"$route",{get:function(){return this._routerRoot._route}}),e.component("RouterView",P),e.component("RouterLink",W);var o=e.config.optionMergeStrategies;o.beforeRouteEnter=o.beforeRouteLeave=o.beforeRouteUpdate=o.created}},Jt.version="3.6.5",Jt.isNavigationFailure=kt,Jt.NavigationFailureType=It,Jt.START_LOCATION=E,et&&window.Vue&&window.Vue.use(Jt);var Xt=o(79753),te=o(92652),ee=o(20629),re=o(93664),ne=o(7820),oe=(o(65509),function(t){return t.replace(/\/$/,"")}),ie=function(){return(0,ne.Z)()},ae=function(t,e){return re.Z.get(oe(t),e)},ue=function(t,e){return re.Z.post(oe(t),e)},se=function(t,e){return re.Z.put(oe(t),e)},ce=function(t,e){return re.Z.delete(oe(t),{params:e})},fe=o(38605),pe=o(25108),le=function(t,e){return 1===e?t.sort((function(t,e){return t.usercount-t.disabled<e.usercount-e.disabled})):t.sort((function(t,e){return t.name.localeCompare(e.name)}))},de={id:"",name:"",usercount:0,disabled:0,canAdd:!0,canRemove:!0},he={appendUsers:function(t,e){var r=t.users.map((function(t){return t.id})),n=Object.values(e).filter((function(t){var e=t.id;return!r.includes(e)})),o=t.users.concat(n);t.usersOffset+=t.usersLimit,t.users=o},setPasswordPolicyMinLength:function(t,e){t.minPasswordLength=""!==e?e:0},initGroups:function(t,e){var r=e.groups,n=e.orderBy,o=e.userCount;t.groups=r.map((function(t){return Object.assign({},de,t)})),t.orderBy=n,t.userCount=o,t.groups=le(t.groups,t.orderBy)},addGroup:function(t,e){var r=e.gid,n=e.displayName;try{if(void 0!==t.groups.find((function(t){return t.id===r})))return;var o=Object.assign({},de,{id:r,name:n});t.groups.unshift(o),t.groups=le(t.groups,t.orderBy)}catch(t){pe.error("Can't create group",t)}},renameGroup:function(t,e){var r=e.gid,n=e.displayName,o=t.groups.findIndex((function(t){return t.id===r}));if(o>=0){var i=t.groups[o];i.name=n,t.groups.splice(o,1,i),t.groups=le(t.groups,t.orderBy)}},removeGroup:function(t,e){var r=t.groups.findIndex((function(t){return t.id===e}));r>=0&&t.groups.splice(r,1)},addUserGroup:function(t,e){var r=e.userid,n=e.gid,o=t.groups.find((function(t){return t.id===n})),i=t.users.find((function(t){return t.id===r}));o&&i.enabled&&t.userCount>0&&o.usercount++,i.groups.push(n),t.groups=le(t.groups,t.orderBy)},removeUserGroup:function(t,e){var r=e.userid,n=e.gid,o=t.groups.find((function(t){return t.id===n})),i=t.users.find((function(t){return t.id===r}));o&&i.enabled&&t.userCount>0&&o.usercount--;var a=i.groups;a.splice(a.indexOf(n),1),t.groups=le(t.groups,t.orderBy)},addUserSubAdmin:function(t,e){var r=e.userid,n=e.gid;t.users.find((function(t){return t.id===r})).subadmin.push(n)},removeUserSubAdmin:function(t,e){var r=e.userid,n=e.gid,o=t.users.find((function(t){return t.id===r})).subadmin;o.splice(o.indexOf(n),1)},deleteUser:function(t,e){var r=t.users.findIndex((function(t){return t.id===e}));this.commit("updateUserCounts",{user:t.users[r],actionType:"remove"}),t.users.splice(r,1)},addUserData:function(t,e){var r=e.data.ocs.data;t.users.unshift(r),this.commit("updateUserCounts",{user:r,actionType:"create"})},enableDisableUser:function(t,e){var r=e.userid,n=e.enabled,o=t.users.find((function(t){return t.id===r}));o.enabled=n,this.commit("updateUserCounts",{user:o,actionType:n?"enable":"disable"})},updateUserCounts:function(t,e){var r=e.user,n=e.actionType;if(0!==t.userCount){var o=t.groups.find((function(t){return"disabled"===t.id}));switch(n){case"enable":case"disable":o.usercount+=r.enabled?-1:1,t.userCount+=r.enabled?1:-1,r.groups.forEach((function(e){t.groups.find((function(t){return t.id===e})).disabled+=r.enabled?-1:1}));break;case"create":t.userCount++,r.groups.forEach((function(e){t.groups.find((function(t){return t.id===e})).usercount++}));break;case"remove":r.enabled?(t.userCount--,r.groups.forEach((function(e){var r=t.groups.find((function(t){return t.id===e}));r?r.usercount--:pe.warn("User group "+e+" does not exist during user removal")}))):(o.usercount--,r.groups.forEach((function(e){t.groups.find((function(t){return t.id===e})).disabled--})));break;default:fe.Z.error("Unknown action type in updateUserCounts: '".concat(n,"'"))}}},setUserData:function(t,e){var r=e.userid,n=e.key,o=e.value;if("quota"===n){var i=OC.Util.computerFileSize(o);t.users.find((function(t){return t.id===r}))[n][n]=null!==i?i:o}else t.users.find((function(t){return t.id===r}))[n]=o},resetUsers:function(t){t.users=[],t.usersOffset=0},setShowConfig:function(t,e){var r=e.key,n=e.value;t.showConfig[r]=n}},me=re.Z.CancelToken,ge=null,ve={state:{users:[],groups:[],orderBy:1,minPasswordLength:0,usersOffset:0,usersLimit:25,userCount:0,showConfig:{showStoragePath:!1,showUserBackend:!1,showLastLogin:!1,showNewUserForm:!1,showLanguages:!1}},mutations:he,getters:{getUsers:function(t){return t.users},getGroups:function(t){return t.groups},getSubadminGroups:function(t){return t.groups.filter((function(t){return"admin"!==t.id&&"disabled"!==t.id}))},getPasswordPolicyMinLength:function(t){return t.minPasswordLength},getUsersOffset:function(t){return t.usersOffset},getUsersLimit:function(t){return t.usersLimit},getUserCount:function(t){return t.userCount},getShowConfig:function(t){return t.showConfig}},actions:{searchUsers:function(t,e){var r=e.offset,n=e.limit,o=e.search;return o="string"==typeof o?o:"",ae((0,Xt.generateOcsUrl)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:r,limit:n,search:o})).catch((function(e){re.Z.isCancel(e)||t.commit("API_FAILURE",e)}))},getUser:function(t,e){return ae((0,Xt.generateOcsUrl)("cloud/users/".concat(e))).catch((function(e){re.Z.isCancel(e)||t.commit("API_FAILURE",e)}))},getUsers:function(t,e){var r=e.offset,n=e.limit,o=e.search,i=e.group;return ge&&ge.cancel("Operation canceled by another search request."),ge=me.source(),o=(o="string"==typeof o?o:"").replace(/in:[^\s]+/g,"").trim(),""!==(i="string"==typeof i?i:"")?ae((0,Xt.generateOcsUrl)("cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}",{group:encodeURIComponent(i),offset:r,limit:n,search:o}),{cancelToken:ge.token}).then((function(e){var r=Object.keys(e.data.ocs.data.users).length;return r>0&&t.commit("appendUsers",e.data.ocs.data.users),r})).catch((function(e){re.Z.isCancel(e)||t.commit("API_FAILURE",e)})):ae((0,Xt.generateOcsUrl)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:r,limit:n,search:o}),{cancelToken:ge.token}).then((function(e){var r=Object.keys(e.data.ocs.data.users).length;return r>0&&t.commit("appendUsers",e.data.ocs.data.users),r})).catch((function(e){re.Z.isCancel(e)||t.commit("API_FAILURE",e)}))},getGroups:function(t,e){var r=e.offset,n=e.limit,o=e.search;o="string"==typeof o?o:"";var i=-1===n?"":"&limit=".concat(n);return ae((0,Xt.generateOcsUrl)("cloud/groups?offset={offset}&search={search}",{offset:r,search:o})+i).then((function(e){return Object.keys(e.data.ocs.data.groups).length>0&&(e.data.ocs.data.groups.forEach((function(e){t.commit("addGroup",{gid:e,displayName:e})})),!0)})).catch((function(e){return t.commit("API_FAILURE",e)}))},getUsersFromList:function(t,e){var r=e.offset,n=e.limit,o=e.search;return o="string"==typeof o?o:"",ae((0,Xt.generateOcsUrl)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:r,limit:n,search:o})).then((function(e){return Object.keys(e.data.ocs.data.users).length>0&&(t.commit("appendUsers",e.data.ocs.data.users),!0)})).catch((function(e){return t.commit("API_FAILURE",e)}))},getUsersFromGroup:function(t,e){var r=e.groupid,n=e.offset,o=e.limit;return ae((0,Xt.generateOcsUrl)("cloud/users/{groupId}/details?offset={offset}&limit={limit}",{groupId:encodeURIComponent(r),offset:n,limit:o})).then((function(e){return t.commit("getUsersFromList",e.data.ocs.data.users)})).catch((function(e){return t.commit("API_FAILURE",e)}))},getPasswordPolicyMinLength:function(t){return!(!OC.getCapabilities().password_policy||!OC.getCapabilities().password_policy.minLength)&&(t.commit("setPasswordPolicyMinLength",OC.getCapabilities().password_policy.minLength),OC.getCapabilities().password_policy.minLength)},addGroup:function(t,e){return ie().then((function(r){return ue((0,Xt.generateOcsUrl)("cloud/groups"),{groupid:e}).then((function(r){return t.commit("addGroup",{gid:e,displayName:e}),{gid:e,displayName:e}})).catch((function(t){throw t}))})).catch((function(r){throw t.commit("API_FAILURE",{gid:e,error:r}),r}))},renameGroup:function(t,e){var r=e.groupid,n=e.displayName;return ie().then((function(e){return se((0,Xt.generateOcsUrl)("cloud/groups/{groupId}",{groupId:encodeURIComponent(r)}),{key:"displayname",value:n}).then((function(e){return t.commit("renameGroup",{gid:r,displayName:n}),{groupid:r,displayName:n}})).catch((function(t){throw t}))})).catch((function(e){throw t.commit("API_FAILURE",{groupid:r,error:e}),e}))},removeGroup:function(t,e){return ie().then((function(r){return ce((0,Xt.generateOcsUrl)("cloud/groups/{groupId}",{groupId:encodeURIComponent(e)})).then((function(r){return t.commit("removeGroup",e)})).catch((function(t){throw t}))})).catch((function(r){return t.commit("API_FAILURE",{gid:e,error:r})}))},addUserGroup:function(t,e){var r=e.userid,n=e.gid;return ie().then((function(e){return ue((0,Xt.generateOcsUrl)("cloud/users/{userid}/groups",{userid:r}),{groupid:n}).then((function(e){return t.commit("addUserGroup",{userid:r,gid:n})})).catch((function(t){throw t}))})).catch((function(e){return t.commit("API_FAILURE",{userid:r,error:e})}))},removeUserGroup:function(t,e){var r=e.userid,n=e.gid;return ie().then((function(e){return ce((0,Xt.generateOcsUrl)("cloud/users/{userid}/groups",{userid:r}),{groupid:n}).then((function(e){return t.commit("removeUserGroup",{userid:r,gid:n})})).catch((function(t){throw t}))})).catch((function(e){throw t.commit("API_FAILURE",{userid:r,error:e}),e}))},addUserSubAdmin:function(t,e){var r=e.userid,n=e.gid;return ie().then((function(e){return ue((0,Xt.generateOcsUrl)("cloud/users/{userid}/subadmins",{userid:r}),{groupid:n}).then((function(e){return t.commit("addUserSubAdmin",{userid:r,gid:n})})).catch((function(t){throw t}))})).catch((function(e){return t.commit("API_FAILURE",{userid:r,error:e})}))},removeUserSubAdmin:function(t,e){var r=e.userid,n=e.gid;return ie().then((function(e){return ce((0,Xt.generateOcsUrl)("cloud/users/{userid}/subadmins",{userid:r}),{groupid:n}).then((function(e){return t.commit("removeUserSubAdmin",{userid:r,gid:n})})).catch((function(t){throw t}))})).catch((function(e){return t.commit("API_FAILURE",{userid:r,error:e})}))},wipeUserDevices:function(t,e){return ie().then((function(t){return ue((0,Xt.generateOcsUrl)("cloud/users/{userid}/wipe",{userid:e})).catch((function(t){throw t}))})).catch((function(r){return t.commit("API_FAILURE",{userid:e,error:r})}))},deleteUser:function(t,e){return ie().then((function(r){return ce((0,Xt.generateOcsUrl)("cloud/users/{userid}",{userid:e})).then((function(r){return t.commit("deleteUser",e)})).catch((function(t){throw t}))})).catch((function(r){return t.commit("API_FAILURE",{userid:e,error:r})}))},addUser:function(t,e){var r=t.commit,n=t.dispatch,o=e.userid,i=e.password,a=e.displayName,u=e.email,s=e.groups,c=e.subadmin,f=e.quota,p=e.language,l=e.manager;return ie().then((function(t){return ue((0,Xt.generateOcsUrl)("cloud/users"),{userid:o,password:i,displayName:a,email:u,groups:s,subadmin:c,quota:f,language:p,manager:l}).then((function(t){return n("addUserData",o||t.data.ocs.data.id)})).catch((function(t){throw t}))})).catch((function(t){throw r("API_FAILURE",{userid:o,error:t}),t}))},addUserData:function(t,e){return ie().then((function(r){return ae((0,Xt.generateOcsUrl)("cloud/users/{userid}",{userid:e})).then((function(e){return t.commit("addUserData",e)})).catch((function(t){throw t}))})).catch((function(r){return t.commit("API_FAILURE",{userid:e,error:r})}))},enableDisableUser:function(t,e){var r=e.userid,n=e.enabled,o=void 0===n||n,i=o?"enable":"disable";return ie().then((function(e){return se((0,Xt.generateOcsUrl)("cloud/users/{userid}/{userStatus}",{userid:r,userStatus:i})).then((function(e){return t.commit("enableDisableUser",{userid:r,enabled:o})})).catch((function(t){throw t}))})).catch((function(e){return t.commit("API_FAILURE",{userid:r,error:e})}))},setUserData:function(t,e){var r=e.userid,n=e.key,o=e.value,i=["email","displayname","manager"];return-1!==["email","language","quota","displayname","password","manager"].indexOf(n)&&"string"==typeof o&&(-1===i.indexOf(n)&&o.length>0||-1!==i.indexOf(n))?ie().then((function(e){return se((0,Xt.generateOcsUrl)("cloud/users/{userid}",{userid:r}),{key:n,value:o}).then((function(e){return t.commit("setUserData",{userid:r,key:n,value:o})})).catch((function(t){throw t}))})).catch((function(e){return t.commit("API_FAILURE",{userid:r,error:e})})):Promise.reject(new Error("Invalid request data"))},sendWelcomeMail:function(t,e){return ie().then((function(t){return ue((0,Xt.generateOcsUrl)("cloud/users/{userid}/welcome",{userid:e})).then((function(t){return!0})).catch((function(t){throw t}))})).catch((function(r){return t.commit("API_FAILURE",{userid:e,error:r})}))}}},ye=o(64024),be=o(25108);function we(t){return we="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},we(t)}function Ae(){Ae=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function c(t,e,r,o){var i=e&&e.prototype instanceof l?e:l,a=Object.create(i.prototype),u=new U(o||[]);return n(a,"_invoke",{value:A(t,r,u)}),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var p={};function l(){}function d(){}function h(){}var m={};s(m,i,(function(){return this}));var g=Object.getPrototypeOf,v=g&&g(g(I([])));v&&v!==e&&r.call(v,i)&&(m=v);var y=h.prototype=l.prototype=Object.create(m);function b(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function o(n,i,a,u){var s=f(t[n],t,i);if("throw"!==s.type){var c=s.arg,p=c.value;return p&&"object"==we(p)&&r.call(p,"__await")?e.resolve(p.__await).then((function(t){o("next",t,a,u)}),(function(t){o("throw",t,a,u)})):e.resolve(p).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,u)}))}u(s.arg)}var i;n(this,"_invoke",{value:function(t,r){function n(){return new e((function(e,n){o(t,r,e,n)}))}return i=i?i.then(n,n):n()}})}function A(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var u=L(a,r);if(u){if(u===p)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var s=f(t,e,r);if("normal"===s.type){if(n=r.done?"completed":"suspendedYield",s.arg===p)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(n="completed",r.method="throw",r.arg=s.arg)}}}function L(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,L(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),p;var o=f(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,p;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,p):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,p)}function E(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function U(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function I(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:O}}function O(){return{value:void 0,done:!0}}return d.prototype=h,n(y,"constructor",{value:h,configurable:!0}),n(h,"constructor",{value:d,configurable:!0}),d.displayName=s(h,u,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===d||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,u,"GeneratorFunction")),t.prototype=Object.create(y),t},t.awrap=function(t){return{__await:t}},b(w.prototype),s(w.prototype,a,(function(){return this})),t.AsyncIterator=w,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new w(c(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},b(y),s(y,u,"Generator"),s(y,i,(function(){return this})),s(y,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=I,U.prototype={constructor:U,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=r.call(i,"catchLoc"),s=r.call(i,"finallyLoc");if(u&&s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,p):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),p},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),x(r),p}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;x(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:I(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),p}},t}function Le(t,e,r,n,o,i,a){try{var u=t[i](a),s=u.value}catch(t){return void r(t)}u.done?e(s):Promise.resolve(s).then(n,o)}var Ee={APPS_API_FAILURE:function(e,r){(0,ye.x2)(t("settings","An error occurred during the request. Unable to proceed.")+"<br>"+r.error.response.data.data.message,{isHTML:!0}),be.error(e,r)},initCategories:function(t,e){var r=e.categories,n=e.updateCount;t.categories=r,t.updateCount=n},updateCategories:function(t,e){t.gettingCategoriesPromise=e},setUpdateCount:function(t,e){t.updateCount=e},addCategory:function(t,e){t.categories.push(e)},appendCategories:function(t,e){t.categories=e},setAllApps:function(t,e){t.apps=e},setError:function(t,e){var r=e.appId,n=e.error;Array.isArray(r)||(r=[r]),r.forEach((function(e){t.apps.find((function(t){return t.id===e})).error=n}))},clearError:function(t,e){var r=e.appId;e.error,t.apps.find((function(t){return t.id===r})).error=null},enableApp:function(t,e){var r=e.appId,n=e.groups,o=t.apps.find((function(t){return t.id===r}));o.active=!0,o.groups=n},disableApp:function(t,e){var r=t.apps.find((function(t){return t.id===e}));r.active=!1,r.groups=[],r.removable&&(r.canUnInstall=!0)},uninstallApp:function(t,e){t.apps.find((function(t){return t.id===e})).active=!1,t.apps.find((function(t){return t.id===e})).groups=[],t.apps.find((function(t){return t.id===e})).needsDownload=!0,t.apps.find((function(t){return t.id===e})).installed=!1,t.apps.find((function(t){return t.id===e})).canUnInstall=!1,t.apps.find((function(t){return t.id===e})).canInstall=!0},updateApp:function(t,e){var r=t.apps.find((function(t){return t.id===e})),n=r.update;r.update=null,r.version=n,t.updateCount--},resetApps:function(t){t.apps=[]},reset:function(t){t.apps=[],t.categories=[],t.updateCount=0},startLoading:function(t,e){Array.isArray(e)?e.forEach((function(e){i.default.set(t.loading,e,!0)})):i.default.set(t.loading,e,!0)},stopLoading:function(t,e){Array.isArray(e)?e.forEach((function(e){i.default.set(t.loading,e,!1)})):i.default.set(t.loading,e,!1)}},xe={enableApp:function(e,r){var n,o=r.appId,i=r.groups;return n=Array.isArray(o)?o:[o],ie().then((function(r){return e.commit("startLoading",n),e.commit("startLoading","install"),ue((0,Xt.generateUrl)("settings/apps/enable"),{appIds:n,groups:i}).then((function(r){return e.commit("stopLoading",n),e.commit("stopLoading","install"),n.forEach((function(t){e.commit("enableApp",{appId:t,groups:i})})),ae((0,Xt.generateUrl)("apps/files")).then((function(){r.data.update_required&&((0,ye.JQ)(t("settings","The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds."),{onClick:function(){return window.location.reload()},close:!1}),setTimeout((function(){location.reload()}),5e3))})).catch((function(){Array.isArray(o)||e.commit("setError",{appId:n,error:t("settings","Error: This app cannot be enabled because it makes the server unstable")})}))})).catch((function(t){e.commit("stopLoading",n),e.commit("stopLoading","install"),e.commit("setError",{appId:n,error:t.response.data.data.message}),e.commit("APPS_API_FAILURE",{appId:o,error:t})}))})).catch((function(t){return e.commit("API_FAILURE",{appId:o,error:t})}))},forceEnableApp:function(t,e){var r,n=e.appId;return e.groups,r=Array.isArray(n)?n:[n],ie().then((function(){return t.commit("startLoading",r),t.commit("startLoading","install"),ue((0,Xt.generateUrl)("settings/apps/force"),{appId:n}).then((function(t){location.reload()})).catch((function(e){t.commit("stopLoading",r),t.commit("stopLoading","install"),t.commit("setError",{appId:r,error:e.response.data.data.message}),t.commit("APPS_API_FAILURE",{appId:n,error:e})}))})).catch((function(e){return t.commit("API_FAILURE",{appId:n,error:e})}))},disableApp:function(t,e){var r,n=e.appId;return r=Array.isArray(n)?n:[n],ie().then((function(e){return t.commit("startLoading",r),ue((0,Xt.generateUrl)("settings/apps/disable"),{appIds:r}).then((function(e){return t.commit("stopLoading",r),r.forEach((function(e){t.commit("disableApp",e)})),!0})).catch((function(e){t.commit("stopLoading",r),t.commit("APPS_API_FAILURE",{appId:n,error:e})}))})).catch((function(e){return t.commit("API_FAILURE",{appId:n,error:e})}))},uninstallApp:function(t,e){var r=e.appId;return ie().then((function(e){return t.commit("startLoading",r),ae((0,Xt.generateUrl)("settings/apps/uninstall/".concat(r))).then((function(e){return t.commit("stopLoading",r),t.commit("uninstallApp",r),!0})).catch((function(e){t.commit("stopLoading",r),t.commit("APPS_API_FAILURE",{appId:r,error:e})}))})).catch((function(e){return t.commit("API_FAILURE",{appId:r,error:e})}))},updateApp:function(t,e){var r=e.appId;return ie().then((function(e){return t.commit("startLoading",r),t.commit("startLoading","install"),ae((0,Xt.generateUrl)("settings/apps/update/".concat(r))).then((function(e){return t.commit("stopLoading","install"),t.commit("stopLoading",r),t.commit("updateApp",r),!0})).catch((function(e){t.commit("stopLoading",r),t.commit("stopLoading","install"),t.commit("APPS_API_FAILURE",{appId:r,error:e})}))})).catch((function(e){return t.commit("API_FAILURE",{appId:r,error:e})}))},getAllApps:function(t){return t.commit("startLoading","list"),ae((0,Xt.generateUrl)("settings/apps/list")).then((function(e){return t.commit("setAllApps",e.data.apps),t.commit("stopLoading","list"),!0})).catch((function(e){return t.commit("API_FAILURE",e)}))},getCategories:function(t){var e,r=arguments;return(e=Ae().mark((function e(){var n,o,i;return Ae().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((void 0===(n=(r.length>1&&void 0!==r[1]?r[1]:{}).shouldRefetchCategories)||!n)&&t.state.gettingCategoriesPromise){e.next=20;break}return t.commit("startLoading","categories"),e.prev=3,o=ae((0,Xt.generateUrl)("settings/apps/categories")),t.commit("updateCategories",o),e.next=8,o;case 8:if(!((i=e.sent).data.length>0)){e.next=13;break}return t.commit("appendCategories",i.data),t.commit("stopLoading","categories"),e.abrupt("return",!0);case 13:return t.commit("stopLoading","categories"),e.abrupt("return",!1);case 17:e.prev=17,e.t0=e.catch(3),t.commit("API_FAILURE",e.t0);case 20:return e.abrupt("return",t.state.gettingCategoriesPromise);case 21:case"end":return e.stop()}}),e,null,[[3,17]])})),function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function a(t){Le(i,n,o,a,u,"next",t)}function u(t){Le(i,n,o,a,u,"throw",t)}a(void 0)}))})()}},Ue={state:{apps:[],categories:[],updateCount:0,loading:{},loadingList:!1,gettingCategoriesPromise:null},mutations:Ee,getters:{loading:function(t){return function(e){return t.loading[e]}},getCategories:function(t){return t.categories},getAllApps:function(t){return t.apps},getUpdateCount:function(t){return t.updateCount},getCategoryById:function(t){return function(e){return t.categories.find((function(t){return t.id===e}))}}},actions:xe},Ie={state:{},mutations:{},getters:{},actions:{setAppConfig:function(t,e){var r=e.app,n=e.key,o=e.value;return ie().then((function(t){return ue((0,Xt.generateOcsUrl)("apps/provisioning_api/api/v1/config/apps/{app}/{key}",{app:r,key:n}),{value:o}).catch((function(t){throw t}))})).catch((function(e){return t.commit("API_FAILURE",{app:r,key:n,value:o,error:e})}))}}},Oe=o(25108);i.default.use(ee.ZP);var Ce={API_FAILURE:function(e,r){try{var n=r.error.response.data.ocs.meta.message;(0,ye.x2)(t("settings","An error occurred during the request. Unable to proceed.")+"<br>"+n,{isHTML:!0})}catch(e){(0,ye.x2)(t("settings","An error occurred during the request. Unable to proceed."))}Oe.error(e,r)}},Pe=new ee.yh({modules:{users:ve,apps:Ue,settings:{state:{serverData:{}},mutations:{setServerData:function(t,e){t.serverData=e}},getters:{getServerData:function(t){return t.serverData}},actions:{}},oc:Ie},strict:!1,mutations:Ce});function _e(t){return _e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_e(t)}function ke(){ke=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function c(t,e,r,o){var i=e&&e.prototype instanceof l?e:l,a=Object.create(i.prototype),u=new U(o||[]);return n(a,"_invoke",{value:A(t,r,u)}),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var p={};function l(){}function d(){}function h(){}var m={};s(m,i,(function(){return this}));var g=Object.getPrototypeOf,v=g&&g(g(I([])));v&&v!==e&&r.call(v,i)&&(m=v);var y=h.prototype=l.prototype=Object.create(m);function b(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function o(n,i,a,u){var s=f(t[n],t,i);if("throw"!==s.type){var c=s.arg,p=c.value;return p&&"object"==_e(p)&&r.call(p,"__await")?e.resolve(p.__await).then((function(t){o("next",t,a,u)}),(function(t){o("throw",t,a,u)})):e.resolve(p).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,u)}))}u(s.arg)}var i;n(this,"_invoke",{value:function(t,r){function n(){return new e((function(e,n){o(t,r,e,n)}))}return i=i?i.then(n,n):n()}})}function A(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var u=L(a,r);if(u){if(u===p)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var s=f(t,e,r);if("normal"===s.type){if(n=r.done?"completed":"suspendedYield",s.arg===p)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(n="completed",r.method="throw",r.arg=s.arg)}}}function L(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,L(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),p;var o=f(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,p;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,p):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,p)}function E(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function U(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function I(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:O}}function O(){return{value:void 0,done:!0}}return d.prototype=h,n(y,"constructor",{value:h,configurable:!0}),n(h,"constructor",{value:d,configurable:!0}),d.displayName=s(h,u,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===d||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,u,"GeneratorFunction")),t.prototype=Object.create(y),t},t.awrap=function(t){return{__await:t}},b(w.prototype),s(w.prototype,a,(function(){return this})),t.AsyncIterator=w,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new w(c(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},b(y),s(y,u,"Generator"),s(y,i,(function(){return this})),s(y,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=I,U.prototype={constructor:U,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=r.call(i,"catchLoc"),s=r.call(i,"finallyLoc");if(u&&s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,p):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),p},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),x(r),p}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;x(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:I(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),p}},t}function Re(t,e,r,n,o,i,a){try{var u=t[i](a),s=u.value}catch(t){return void r(t)}u.done?e(s):Promise.resolve(s).then(n,o)}function Se(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){Re(i,n,o,a,u,"next",t)}function u(t){Re(i,n,o,a,u,"throw",t)}a(void 0)}))}}o(43554);var je=function(){return Promise.all([o.e(7874),o.e(8351)]).then(o.bind(o,73571))},Te=function(){return Promise.all([o.e(7874),o.e(7418)]).then(o.bind(o,40837))};i.default.use(Qt);var Fe,Ne=document.title,Ge=new Qt({mode:"history",base:(0,Xt.generateUrl)(""),linkActiveClass:"active",routes:[{path:"/:index(index.php/)?settings/users",component:je,props:!0,name:"users",meta:{title:function(){return t("settings","Active users")}},children:[{path:":selectedGroup",name:"group",meta:{title:function(e){return"admin"===e.params.selectedGroup?t("settings","Admins"):"disabled"===e.params.selectedGroup?t("settings","Disabled users"):decodeURIComponent(e.params.selectedGroup)}},component:je}]},{path:"/:index(index.php/)?settings/apps",component:Te,props:!0,name:"apps",meta:{title:function(){return t("settings","Your apps")}},children:[{path:":category",name:"apps-category",meta:{title:(Fe=Se(ke().mark((function e(r){var n;return ke().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("apps"!==r.name){e.next=2;break}return e.abrupt("return",t("settings","Your apps"));case 2:if(!te.J[r.params.category]){e.next=4;break}return e.abrupt("return",te.J[r.params.category]);case 4:return e.next=6,Pe.dispatch("getCategories");case 6:if(!(n=Pe.getters.getCategoryById(r.params.category)).displayName){e.next=9;break}return e.abrupt("return",n.displayName);case 9:case"end":return e.stop()}}),e)}))),function(t){return Fe.apply(this,arguments)})},component:Te,children:[{path:":id",name:"apps-details",component:Te}]}]}]});Ge.afterEach(function(){var t=Se(ke().mark((function t(e){var r,n,o;return ke().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,null===(r=(n=e.meta).title)||void 0===r?void 0:r.call(n,e);case 2:(o=t.sent)?(document.title="".concat(o," - ").concat(Ne),i=o,a=void 0,(a=document.getElementById("page-heading-level-1"))&&(a.textContent=i)):document.title=Ne;case 4:case"end":return t.stop()}var i,a}),t)})));return function(e){return t.apply(this,arguments)}}());var $e=Ge;i.default.use(a.ZP,{defaultHtml:!1}),(0,u.Z)(Pe,$e),o.nc=btoa(OC.requestToken),i.default.prototype.t=t,i.default.prototype.n=n,i.default.prototype.OC=OC,i.default.prototype.OCA=OCA,i.default.prototype.oc_userconfig=oc_userconfig,new i.default({router:$e,store:Pe,render:function(t){return t(c)}}).$mount("#content")},83678:function(t,e){function r(t,e){var n={name:t.name,path:t.path,hash:t.hash,query:t.query,params:t.params,fullPath:t.fullPath,meta:t.meta};return e&&(n.from=r(e)),Object.freeze(n)}e.Z=function(t,e,n){var o=(n||{}).moduleName||"route";t.registerModule(o,{namespaced:!0,state:r(e.currentRoute),mutations:{ROUTE_CHANGED:function(e,n){t.state[o]=r(n.to,n.from)}}});var i,a=!1,u=t.watch((function(t){return t[o]}),(function(t){var r=t.fullPath;r!==i&&(null!=i&&(a=!0,e.push(t)),i=r)}),{sync:!0}),s=e.afterEach((function(e,r){a?a=!1:(i=e.fullPath,t.commit(o+"/ROUTE_CHANGED",{to:e,from:r}))}));return function(){null!=s&&s(),null!=u&&u(),t.unregisterModule(o)}}}},a={};function u(t){var e=a[t];if(void 0!==e)return e.exports;var r=a[t]={id:t,loaded:!1,exports:{}};return i[t].call(r.exports,r,r.exports,u),r.loaded=!0,r.exports}u.m=i,e=[],u.O=function(t,r,n,o){if(!r){var i=1/0;for(f=0;f<e.length;f++){r=e[f][0],n=e[f][1],o=e[f][2];for(var a=!0,s=0;s<r.length;s++)(!1&o||i>=o)&&Object.keys(u.O).every((function(t){return u.O[t](r[s])}))?r.splice(s--,1):(a=!1,o<i&&(i=o));if(a){e.splice(f--,1);var c=n();void 0!==c&&(t=c)}}return t}o=o||0;for(var f=e.length;f>0&&e[f-1][2]>o;f--)e[f]=e[f-1];e[f]=[r,n,o]},u.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return u.d(e,{a:e}),e},u.d=function(t,e){for(var r in e)u.o(e,r)&&!u.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},u.f={},u.e=function(t){return Promise.all(Object.keys(u.f).reduce((function(e,r){return u.f[r](t,e),e}),[]))},u.u=function(t){return({7418:"settings-apps-view",8351:"settings-users"}[t]||t)+"-"+t+".js?v="+{2250:"9c98ca37abd9ee1927b3",7418:"c1cae41c530feb8e9906",7996:"39e55a09e2da8534cf16",8351:"61e8745bc13a1b980462"}[t]},u.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),u.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r={},o="nextcloud:",u.l=function(t,e,n,i){if(r[t])r[t].push(e);else{var a,s;if(void 0!==n)for(var c=document.getElementsByTagName("script"),f=0;f<c.length;f++){var p=c[f];if(p.getAttribute("src")==t||p.getAttribute("data-webpack")==o+n){a=p;break}}a||(s=!0,(a=document.createElement("script")).charset="utf-8",a.timeout=120,u.nc&&a.setAttribute("nonce",u.nc),a.setAttribute("data-webpack",o+n),a.src=t),r[t]=[e];var l=function(e,n){a.onerror=a.onload=null,clearTimeout(d);var o=r[t];if(delete r[t],a.parentNode&&a.parentNode.removeChild(a),o&&o.forEach((function(t){return t(n)})),e)return e(n)},d=setTimeout(l.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=l.bind(null,a.onerror),a.onload=l.bind(null,a.onload),s&&document.head.appendChild(a)}},u.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},u.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t},u.j=8562,function(){var t;u.g.importScripts&&(t=u.g.location+"");var e=u.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var r=e.getElementsByTagName("script");if(r.length)for(var n=r.length-1;n>-1&&!t;)t=r[n--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),u.p=t}(),function(){u.b=document.baseURI||self.location.href;var t={8562:0};u.f.j=function(e,r){var n=u.o(t,e)?t[e]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise((function(r,o){n=t[e]=[r,o]}));r.push(n[2]=o);var i=u.p+u.u(e),a=new Error;u.l(i,(function(r){if(u.o(t,e)&&(0!==(n=t[e])&&(t[e]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),i=r&&r.target&&r.target.src;a.message="Loading chunk "+e+" failed.\n("+o+": "+i+")",a.name="ChunkLoadError",a.type=o,a.request=i,n[1](a)}}),"chunk-"+e,e)}},u.O.j=function(e){return 0===t[e]};var e=function(e,r){var n,o,i=r[0],a=r[1],s=r[2],c=0;if(i.some((function(e){return 0!==t[e]}))){for(n in a)u.o(a,n)&&(u.m[n]=a[n]);if(s)var f=s(u)}for(e&&e(r);c<i.length;c++)o=i[c],u.o(t,o)&&t[o]&&t[o][0](),t[o]=0;return u.O(f)},r=self.webpackChunknextcloud=self.webpackChunknextcloud||[];r.forEach(e.bind(null,0)),r.push=e.bind(null,r.push.bind(r))}(),u.nc=void 0;var s=u.O(void 0,[7874],(function(){return u(97268)}));s=u.O(s)}(); -//# sourceMappingURL=settings-vue-settings-apps-users-management.js.map?v=7982d299726cbfd23baf
\ No newline at end of file +!function(){var e,r,o,i={92652:function(t,e,r){"use strict";r.d(e,{J:function(){return o}});var n=r(31352),o=Object.freeze({enabled:(0,n.Iu)("settings","Active apps"),disabled:(0,n.Iu)("settings","Disabled apps"),updates:(0,n.Iu)("settings","Updates"),"app-bundles":(0,n.Iu)("settings","App bundles"),featured:(0,n.Iu)("settings","Featured apps"),supported:(0,n.Iu)("settings","Supported apps")})},38605:function(t,e,r){"use strict";var n=r(17499);e.Z=(0,n.IY)().setApp("settings").detectUser().build()},97268:function(e,r,o){"use strict";var i=o(20144),a=o(2324),u=o(83678),s={name:"App",beforeMount:function(){null!==document.getElementById("serverData")&&this.$store.commit("setServerData",JSON.parse(document.getElementById("serverData").dataset.server))}},c=(0,o(51900).Z)(s,(function(){return(0,this._self._c)("router-view")}),[],!1,null,null,null).exports,f=o(25108);function p(t,e){for(var r in e)t[r]=e[r];return t}var l=/[!'()*]/g,d=function(t){return"%"+t.charCodeAt(0).toString(16)},h=/%2C/g,m=function(t){return encodeURIComponent(t).replace(l,d).replace(h,",")};function g(t){try{return decodeURIComponent(t)}catch(t){}return t}var v=function(t){return null==t||"object"==typeof t?t:String(t)};function y(t){var e={};return(t=t.trim().replace(/^(\?|#|&)/,""))?(t.split("&").forEach((function(t){var r=t.replace(/\+/g," ").split("="),n=g(r.shift()),o=r.length>0?g(r.join("=")):null;void 0===e[n]?e[n]=o:Array.isArray(e[n])?e[n].push(o):e[n]=[e[n],o]})),e):e}function b(t){var e=t?Object.keys(t).map((function(e){var r=t[e];if(void 0===r)return"";if(null===r)return m(e);if(Array.isArray(r)){var n=[];return r.forEach((function(t){void 0!==t&&(null===t?n.push(m(e)):n.push(m(e)+"="+m(t)))})),n.join("&")}return m(e)+"="+m(r)})).filter((function(t){return t.length>0})).join("&"):null;return e?"?"+e:""}var w=/\/?$/;function A(t,e,r,n){var o=n&&n.options.stringifyQuery,i=e.query||{};try{i=L(i)}catch(t){}var a={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||"/",hash:e.hash||"",query:i,params:e.params||{},fullPath:U(e,o),matched:t?x(t):[]};return r&&(a.redirectedFrom=U(r,o)),Object.freeze(a)}function L(t){if(Array.isArray(t))return t.map(L);if(t&&"object"==typeof t){var e={};for(var r in t)e[r]=L(t[r]);return e}return t}var E=A(null,{path:"/"});function x(t){for(var e=[];t;)e.unshift(t),t=t.parent;return e}function U(t,e){var r=t.path,n=t.query;void 0===n&&(n={});var o=t.hash;return void 0===o&&(o=""),(r||"/")+(e||b)(n)+o}function I(t,e,r){return e===E?t===e:!!e&&(t.path&&e.path?t.path.replace(w,"")===e.path.replace(w,"")&&(r||t.hash===e.hash&&O(t.query,e.query)):!(!t.name||!e.name)&&t.name===e.name&&(r||t.hash===e.hash&&O(t.query,e.query)&&O(t.params,e.params)))}function O(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t===e;var r=Object.keys(t).sort(),n=Object.keys(e).sort();return r.length===n.length&&r.every((function(r,o){var i=t[r];if(n[o]!==r)return!1;var a=e[r];return null==i||null==a?i===a:"object"==typeof i&&"object"==typeof a?O(i,a):String(i)===String(a)}))}function C(t){for(var e=0;e<t.matched.length;e++){var r=t.matched[e];for(var n in r.instances){var o=r.instances[n],i=r.enteredCbs[n];if(o&&i){delete r.enteredCbs[n];for(var a=0;a<i.length;a++)o._isBeingDestroyed||i[a](o)}}}}var P={name:"RouterView",functional:!0,props:{name:{type:String,default:"default"}},render:function(t,e){var r=e.props,n=e.children,o=e.parent,i=e.data;i.routerView=!0;for(var a=o.$createElement,u=r.name,s=o.$route,c=o._routerViewCache||(o._routerViewCache={}),f=0,l=!1;o&&o._routerRoot!==o;){var d=o.$vnode?o.$vnode.data:{};d.routerView&&f++,d.keepAlive&&o._directInactive&&o._inactive&&(l=!0),o=o.$parent}if(i.routerViewDepth=f,l){var h=c[u],m=h&&h.component;return m?(h.configProps&&_(m,i,h.route,h.configProps),a(m,i,n)):a()}var g=s.matched[f],v=g&&g.components[u];if(!g||!v)return c[u]=null,a();c[u]={component:v},i.registerRouteInstance=function(t,e){var r=g.instances[u];(e&&r!==t||!e&&r===t)&&(g.instances[u]=e)},(i.hook||(i.hook={})).prepatch=function(t,e){g.instances[u]=e.componentInstance},i.hook.init=function(t){t.data.keepAlive&&t.componentInstance&&t.componentInstance!==g.instances[u]&&(g.instances[u]=t.componentInstance),C(s)};var y=g.props&&g.props[u];return y&&(p(c[u],{route:s,configProps:y}),_(v,i,s,y)),a(v,i,n)}};function _(t,e,r,n){var o=e.props=function(t,e){switch(typeof e){case"undefined":return;case"object":return e;case"function":return e(t);case"boolean":return e?t.params:void 0}}(r,n);if(o){o=e.props=p({},o);var i=e.attrs=e.attrs||{};for(var a in o)t.props&&a in t.props||(i[a]=o[a],delete o[a])}}function k(t,e,r){var n=t.charAt(0);if("/"===n)return t;if("?"===n||"#"===n)return e+t;var o=e.split("/");r&&o[o.length-1]||o.pop();for(var i=t.replace(/^\//,"").split("/"),a=0;a<i.length;a++){var u=i[a];".."===u?o.pop():"."!==u&&o.push(u)}return""!==o[0]&&o.unshift(""),o.join("/")}function R(t){return t.replace(/\/(?:\s*\/)+/g,"/")}var S=Array.isArray||function(t){return"[object Array]"==Object.prototype.toString.call(t)},j=function t(e,r,n){return S(r)||(n=r||n,r=[]),n=n||{},e instanceof RegExp?function(t,e){var r=t.source.match(/\((?!\?)/g);if(r)for(var n=0;n<r.length;n++)e.push({name:n,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return Z(t,e)}(e,r):S(e)?function(e,r,n){for(var o=[],i=0;i<e.length;i++)o.push(t(e[i],r,n).source);return Z(new RegExp("(?:"+o.join("|")+")",H(n)),r)}(e,r,n):function(t,e,r){return V($(t,r),e,r)}(e,r,n)},T=$,F=B,N=V,G=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function $(t,e){for(var r,n=[],o=0,i=0,a="",u=e&&e.delimiter||"/";null!=(r=G.exec(t));){var s=r[0],c=r[1],f=r.index;if(a+=t.slice(i,f),i=f+s.length,c)a+=c[1];else{var p=t[i],l=r[2],d=r[3],h=r[4],m=r[5],g=r[6],v=r[7];a&&(n.push(a),a="");var y=null!=l&&null!=p&&p!==l,b="+"===g||"*"===g,w="?"===g||"*"===g,A=r[2]||u,L=h||m;n.push({name:d||o++,prefix:l||"",delimiter:A,optional:w,repeat:b,partial:y,asterisk:!!v,pattern:L?M(L):v?".*":"[^"+D(A)+"]+?"})}}return i<t.length&&(a+=t.substr(i)),a&&n.push(a),n}function q(t){return encodeURI(t).replace(/[\/?#]/g,(function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()}))}function B(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)"object"==typeof t[n]&&(r[n]=new RegExp("^(?:"+t[n].pattern+")$",H(e)));return function(e,n){for(var o="",i=e||{},a=(n||{}).pretty?q:encodeURIComponent,u=0;u<t.length;u++){var s=t[u];if("string"!=typeof s){var c,f=i[s.name];if(null==f){if(s.optional){s.partial&&(o+=s.prefix);continue}throw new TypeError('Expected "'+s.name+'" to be defined')}if(S(f)){if(!s.repeat)throw new TypeError('Expected "'+s.name+'" to not repeat, but received `'+JSON.stringify(f)+"`");if(0===f.length){if(s.optional)continue;throw new TypeError('Expected "'+s.name+'" to not be empty')}for(var p=0;p<f.length;p++){if(c=a(f[p]),!r[u].test(c))throw new TypeError('Expected all "'+s.name+'" to match "'+s.pattern+'", but received `'+JSON.stringify(c)+"`");o+=(0===p?s.prefix:s.delimiter)+c}}else{if(c=s.asterisk?encodeURI(f).replace(/[?#]/g,(function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})):a(f),!r[u].test(c))throw new TypeError('Expected "'+s.name+'" to match "'+s.pattern+'", but received "'+c+'"');o+=s.prefix+c}}else o+=s}return o}}function D(t){return t.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function M(t){return t.replace(/([=!:$\/()])/g,"\\$1")}function Z(t,e){return t.keys=e,t}function H(t){return t&&t.sensitive?"":"i"}function V(t,e,r){S(e)||(r=e||r,e=[]);for(var n=(r=r||{}).strict,o=!1!==r.end,i="",a=0;a<t.length;a++){var u=t[a];if("string"==typeof u)i+=D(u);else{var s=D(u.prefix),c="(?:"+u.pattern+")";e.push(u),u.repeat&&(c+="(?:"+s+c+")*"),i+=c=u.optional?u.partial?s+"("+c+")?":"(?:"+s+"("+c+"))?":s+"("+c+")"}}var f=D(r.delimiter||"/"),p=i.slice(-f.length)===f;return n||(i=(p?i.slice(0,-f.length):i)+"(?:"+f+"(?=$))?"),i+=o?"$":n&&p?"":"(?="+f+"|$)",Z(new RegExp("^"+i,H(r)),e)}j.parse=T,j.compile=function(t,e){return B($(t,e),e)},j.tokensToFunction=F,j.tokensToRegExp=N;var z=Object.create(null);function Y(t,e,r){e=e||{};try{var n=z[t]||(z[t]=j.compile(t));return"string"==typeof e.pathMatch&&(e[0]=e.pathMatch),n(e,{pretty:!0})}catch(t){return""}finally{delete e[0]}}function J(t,e,r,n){var o="string"==typeof t?{path:t}:t;if(o._normalized)return o;if(o.name){var i=(o=p({},t)).params;return i&&"object"==typeof i&&(o.params=p({},i)),o}if(!o.path&&o.params&&e){(o=p({},o))._normalized=!0;var a=p(p({},e.params),o.params);if(e.name)o.name=e.name,o.params=a;else if(e.matched.length){var u=e.matched[e.matched.length-1].path;o.path=Y(u,a,e.path)}return o}var s=function(t){var e="",r="",n=t.indexOf("#");n>=0&&(e=t.slice(n),t=t.slice(0,n));var o=t.indexOf("?");return o>=0&&(r=t.slice(o+1),t=t.slice(0,o)),{path:t,query:r,hash:e}}(o.path||""),c=e&&e.path||"/",f=s.path?k(s.path,c,r||o.append):c,l=function(t,e,r){void 0===e&&(e={});var n,o=r||y;try{n=o(t||"")}catch(t){n={}}for(var i in e){var a=e[i];n[i]=Array.isArray(a)?a.map(v):v(a)}return n}(s.query,o.query,n&&n.options.parseQuery),d=o.hash||s.hash;return d&&"#"!==d.charAt(0)&&(d="#"+d),{_normalized:!0,path:f,query:l,hash:d}}var K,Q=function(){},W={name:"RouterLink",props:{to:{type:[String,Object],required:!0},tag:{type:String,default:"a"},custom:Boolean,exact:Boolean,exactPath:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,ariaCurrentValue:{type:String,default:"page"},event:{type:[String,Array],default:"click"}},render:function(t){var e=this,r=this.$router,n=this.$route,o=r.resolve(this.to,n,this.append),i=o.location,a=o.route,u=o.href,s={},c=r.options.linkActiveClass,f=r.options.linkExactActiveClass,l=null==c?"router-link-active":c,d=null==f?"router-link-exact-active":f,h=null==this.activeClass?l:this.activeClass,m=null==this.exactActiveClass?d:this.exactActiveClass,g=a.redirectedFrom?A(null,J(a.redirectedFrom),null,r):a;s[m]=I(n,g,this.exactPath),s[h]=this.exact||this.exactPath?s[m]:function(t,e){return 0===t.path.replace(w,"/").indexOf(e.path.replace(w,"/"))&&(!e.hash||t.hash===e.hash)&&function(t,e){for(var r in e)if(!(r in t))return!1;return!0}(t.query,e.query)}(n,g);var v=s[m]?this.ariaCurrentValue:null,y=function(t){X(t)&&(e.replace?r.replace(i,Q):r.push(i,Q))},b={click:X};Array.isArray(this.event)?this.event.forEach((function(t){b[t]=y})):b[this.event]=y;var L={class:s},E=!this.$scopedSlots.$hasNormal&&this.$scopedSlots.default&&this.$scopedSlots.default({href:u,route:a,navigate:y,isActive:s[h],isExactActive:s[m]});if(E){if(1===E.length)return E[0];if(E.length>1||!E.length)return 0===E.length?t():t("span",{},E)}if("a"===this.tag)L.on=b,L.attrs={href:u,"aria-current":v};else{var x=tt(this.$slots.default);if(x){x.isStatic=!1;var U=x.data=p({},x.data);for(var O in U.on=U.on||{},U.on){var C=U.on[O];O in b&&(U.on[O]=Array.isArray(C)?C:[C])}for(var P in b)P in U.on?U.on[P].push(b[P]):U.on[P]=y;var _=x.data.attrs=p({},x.data.attrs);_.href=u,_["aria-current"]=v}else L.on=b}return t(this.tag,L,this.$slots.default)}};function X(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey||t.defaultPrevented||void 0!==t.button&&0!==t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){var e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function tt(t){if(t)for(var e,r=0;r<t.length;r++){if("a"===(e=t[r]).tag)return e;if(e.children&&(e=tt(e.children)))return e}}var et="undefined"!=typeof window;function rt(t,e,r,n,o){var i=e||[],a=r||Object.create(null),u=n||Object.create(null);t.forEach((function(t){nt(i,a,u,t,o)}));for(var s=0,c=i.length;s<c;s++)"*"===i[s]&&(i.push(i.splice(s,1)[0]),c--,s--);return{pathList:i,pathMap:a,nameMap:u}}function nt(t,e,r,n,o,i){var a=n.path,u=n.name,s=n.pathToRegexpOptions||{},c=function(t,e,r){return r||(t=t.replace(/\/$/,"")),"/"===t[0]||null==e?t:R(e.path+"/"+t)}(a,o,s.strict);"boolean"==typeof n.caseSensitive&&(s.sensitive=n.caseSensitive);var f={path:c,regex:ot(c,s),components:n.components||{default:n.component},alias:n.alias?"string"==typeof n.alias?[n.alias]:n.alias:[],instances:{},enteredCbs:{},name:u,parent:o,matchAs:i,redirect:n.redirect,beforeEnter:n.beforeEnter,meta:n.meta||{},props:null==n.props?{}:n.components?n.props:{default:n.props}};if(n.children&&n.children.forEach((function(n){var o=i?R(i+"/"+n.path):void 0;nt(t,e,r,n,f,o)})),e[f.path]||(t.push(f.path),e[f.path]=f),void 0!==n.alias)for(var p=Array.isArray(n.alias)?n.alias:[n.alias],l=0;l<p.length;++l){var d={path:p[l],children:n.children};nt(t,e,r,d,o,f.path||"/")}u&&(r[u]||(r[u]=f))}function ot(t,e){return j(t,[],e)}function it(t,e){var r=rt(t),n=r.pathList,o=r.pathMap,i=r.nameMap;function a(t,r,a){var s=J(t,r,!1,e),c=s.name;if(c){var f=i[c];if(!f)return u(null,s);var p=f.regex.keys.filter((function(t){return!t.optional})).map((function(t){return t.name}));if("object"!=typeof s.params&&(s.params={}),r&&"object"==typeof r.params)for(var l in r.params)!(l in s.params)&&p.indexOf(l)>-1&&(s.params[l]=r.params[l]);return s.path=Y(f.path,s.params),u(f,s,a)}if(s.path){s.params={};for(var d=0;d<n.length;d++){var h=n[d],m=o[h];if(at(m.regex,s.path,s.params))return u(m,s,a)}}return u(null,s)}function u(t,r,n){return t&&t.redirect?function(t,r){var n=t.redirect,o="function"==typeof n?n(A(t,r,null,e)):n;if("string"==typeof o&&(o={path:o}),!o||"object"!=typeof o)return u(null,r);var s=o,c=s.name,f=s.path,p=r.query,l=r.hash,d=r.params;if(p=s.hasOwnProperty("query")?s.query:p,l=s.hasOwnProperty("hash")?s.hash:l,d=s.hasOwnProperty("params")?s.params:d,c)return i[c],a({_normalized:!0,name:c,query:p,hash:l,params:d},void 0,r);if(f){var h=function(t,e){return k(t,e.parent?e.parent.path:"/",!0)}(f,t);return a({_normalized:!0,path:Y(h,d),query:p,hash:l},void 0,r)}return u(null,r)}(t,n||r):t&&t.matchAs?function(t,e,r){var n=a({_normalized:!0,path:Y(r,e.params)});if(n){var o=n.matched,i=o[o.length-1];return e.params=n.params,u(i,e)}return u(null,e)}(0,r,t.matchAs):A(t,r,n,e)}return{match:a,addRoute:function(t,e){var r="object"!=typeof t?i[t]:void 0;rt([e||t],n,o,i,r),r&&r.alias.length&&rt(r.alias.map((function(t){return{path:t,children:[e]}})),n,o,i,r)},getRoutes:function(){return n.map((function(t){return o[t]}))},addRoutes:function(t){rt(t,n,o,i)}}}function at(t,e,r){var n=e.match(t);if(!n)return!1;if(!r)return!0;for(var o=1,i=n.length;o<i;++o){var a=t.keys[o-1];a&&(r[a.name||"pathMatch"]="string"==typeof n[o]?g(n[o]):n[o])}return!0}var ut=et&&window.performance&&window.performance.now?window.performance:Date;function st(){return ut.now().toFixed(3)}var ct=st();function ft(){return ct}function pt(t){return ct=t}var lt=Object.create(null);function dt(){"scrollRestoration"in window.history&&(window.history.scrollRestoration="manual");var t=window.location.protocol+"//"+window.location.host,e=window.location.href.replace(t,""),r=p({},window.history.state);return r.key=ft(),window.history.replaceState(r,"",e),window.addEventListener("popstate",gt),function(){window.removeEventListener("popstate",gt)}}function ht(t,e,r,n){if(t.app){var o=t.options.scrollBehavior;o&&t.app.$nextTick((function(){var i=function(){var t=ft();if(t)return lt[t]}(),a=o.call(t,e,r,n?i:null);a&&("function"==typeof a.then?a.then((function(t){At(t,i)})).catch((function(t){})):At(a,i))}))}}function mt(){var t=ft();t&&(lt[t]={x:window.pageXOffset,y:window.pageYOffset})}function gt(t){mt(),t.state&&t.state.key&&pt(t.state.key)}function vt(t){return bt(t.x)||bt(t.y)}function yt(t){return{x:bt(t.x)?t.x:window.pageXOffset,y:bt(t.y)?t.y:window.pageYOffset}}function bt(t){return"number"==typeof t}var wt=/^#\d/;function At(t,e){var r,n="object"==typeof t;if(n&&"string"==typeof t.selector){var o=wt.test(t.selector)?document.getElementById(t.selector.slice(1)):document.querySelector(t.selector);if(o){var i=t.offset&&"object"==typeof t.offset?t.offset:{};e=function(t,e){var r=document.documentElement.getBoundingClientRect(),n=t.getBoundingClientRect();return{x:n.left-r.left-e.x,y:n.top-r.top-e.y}}(o,i={x:bt((r=i).x)?r.x:0,y:bt(r.y)?r.y:0})}else vt(t)&&(e=yt(t))}else n&&vt(t)&&(e=yt(t));e&&("scrollBehavior"in document.documentElement.style?window.scrollTo({left:e.x,top:e.y,behavior:t.behavior}):window.scrollTo(e.x,e.y))}var Lt,Et=et&&(-1===(Lt=window.navigator.userAgent).indexOf("Android 2.")&&-1===Lt.indexOf("Android 4.0")||-1===Lt.indexOf("Mobile Safari")||-1!==Lt.indexOf("Chrome")||-1!==Lt.indexOf("Windows Phone"))&&window.history&&"function"==typeof window.history.pushState;function xt(t,e){mt();var r=window.history;try{if(e){var n=p({},r.state);n.key=ft(),r.replaceState(n,"",t)}else r.pushState({key:pt(st())},"",t)}catch(r){window.location[e?"replace":"assign"](t)}}function Ut(t){xt(t,!0)}var It={redirected:2,aborted:4,cancelled:8,duplicated:16};function Ot(t,e){return Ct(t,e,It.cancelled,'Navigation cancelled from "'+t.fullPath+'" to "'+e.fullPath+'" with a new navigation.')}function Ct(t,e,r,n){var o=new Error(n);return o._isRouter=!0,o.from=t,o.to=e,o.type=r,o}var Pt=["params","query","hash"];function _t(t){return Object.prototype.toString.call(t).indexOf("Error")>-1}function kt(t,e){return _t(t)&&t._isRouter&&(null==e||t.type===e)}function Rt(t,e,r){var n=function(o){o>=t.length?r():t[o]?e(t[o],(function(){n(o+1)})):n(o+1)};n(0)}function St(t,e){return jt(t.map((function(t){return Object.keys(t.components).map((function(r){return e(t.components[r],t.instances[r],t,r)}))})))}function jt(t){return Array.prototype.concat.apply([],t)}var Tt="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function Ft(t){var e=!1;return function(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];if(!e)return e=!0,t.apply(this,r)}}var Nt=function(t,e){this.router=t,this.base=function(t){if(!t)if(et){var e=document.querySelector("base");t=(t=e&&e.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else t="/";return"/"!==t.charAt(0)&&(t="/"+t),t.replace(/\/$/,"")}(e),this.current=E,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};function Gt(t,e,r,n){var o=St(t,(function(t,n,o,i){var a=function(t,e){return"function"!=typeof t&&(t=K.extend(t)),t.options[e]}(t,e);if(a)return Array.isArray(a)?a.map((function(t){return r(t,n,o,i)})):r(a,n,o,i)}));return jt(n?o.reverse():o)}function $t(t,e){if(e)return function(){return t.apply(e,arguments)}}Nt.prototype.listen=function(t){this.cb=t},Nt.prototype.onReady=function(t,e){this.ready?t():(this.readyCbs.push(t),e&&this.readyErrorCbs.push(e))},Nt.prototype.onError=function(t){this.errorCbs.push(t)},Nt.prototype.transitionTo=function(t,e,r){var n,o=this;try{n=this.router.match(t,this.current)}catch(t){throw this.errorCbs.forEach((function(e){e(t)})),t}var i=this.current;this.confirmTransition(n,(function(){o.updateRoute(n),e&&e(n),o.ensureURL(),o.router.afterHooks.forEach((function(t){t&&t(n,i)})),o.ready||(o.ready=!0,o.readyCbs.forEach((function(t){t(n)})))}),(function(t){r&&r(t),t&&!o.ready&&(kt(t,It.redirected)&&i===E||(o.ready=!0,o.readyErrorCbs.forEach((function(e){e(t)}))))}))},Nt.prototype.confirmTransition=function(t,e,r){var n=this,o=this.current;this.pending=t;var i,a,u=function(t){!kt(t)&&_t(t)&&(n.errorCbs.length?n.errorCbs.forEach((function(e){e(t)})):f.error(t)),r&&r(t)},s=t.matched.length-1,c=o.matched.length-1;if(I(t,o)&&s===c&&t.matched[s]===o.matched[c])return this.ensureURL(),t.hash&&ht(this.router,o,t,!1),u(((a=Ct(i=o,t,It.duplicated,'Avoided redundant navigation to current location: "'+i.fullPath+'".')).name="NavigationDuplicated",a));var p,l=function(t,e){var r,n=Math.max(t.length,e.length);for(r=0;r<n&&t[r]===e[r];r++);return{updated:e.slice(0,r),activated:e.slice(r),deactivated:t.slice(r)}}(this.current.matched,t.matched),d=l.updated,h=l.deactivated,m=l.activated,g=[].concat(function(t){return Gt(t,"beforeRouteLeave",$t,!0)}(h),this.router.beforeHooks,function(t){return Gt(t,"beforeRouteUpdate",$t)}(d),m.map((function(t){return t.beforeEnter})),(p=m,function(t,e,r){var n=!1,o=0,i=null;St(p,(function(t,e,a,u){if("function"==typeof t&&void 0===t.cid){n=!0,o++;var s,c=Ft((function(e){var n;((n=e).__esModule||Tt&&"Module"===n[Symbol.toStringTag])&&(e=e.default),t.resolved="function"==typeof e?e:K.extend(e),a.components[u]=e,--o<=0&&r()})),f=Ft((function(t){var e="Failed to resolve async component "+u+": "+t;i||(i=_t(t)?t:new Error(e),r(i))}));try{s=t(c,f)}catch(t){f(t)}if(s)if("function"==typeof s.then)s.then(c,f);else{var p=s.component;p&&"function"==typeof p.then&&p.then(c,f)}}})),n||r()})),v=function(e,r){if(n.pending!==t)return u(Ot(o,t));try{e(t,o,(function(e){!1===e?(n.ensureURL(!0),u(function(t,e){return Ct(t,e,It.aborted,'Navigation aborted from "'+t.fullPath+'" to "'+e.fullPath+'" via a navigation guard.')}(o,t))):_t(e)?(n.ensureURL(!0),u(e)):"string"==typeof e||"object"==typeof e&&("string"==typeof e.path||"string"==typeof e.name)?(u(function(t,e){return Ct(t,e,It.redirected,'Redirected when going from "'+t.fullPath+'" to "'+function(t){if("string"==typeof t)return t;if("path"in t)return t.path;var e={};return Pt.forEach((function(r){r in t&&(e[r]=t[r])})),JSON.stringify(e,null,2)}(e)+'" via a navigation guard.')}(o,t)),"object"==typeof e&&e.replace?n.replace(e):n.push(e)):r(e)}))}catch(t){u(t)}};Rt(g,v,(function(){var r=function(t){return Gt(t,"beforeRouteEnter",(function(t,e,r,n){return function(t,e,r){return function(n,o,i){return t(n,o,(function(t){"function"==typeof t&&(e.enteredCbs[r]||(e.enteredCbs[r]=[]),e.enteredCbs[r].push(t)),i(t)}))}}(t,r,n)}))}(m);Rt(r.concat(n.router.resolveHooks),v,(function(){if(n.pending!==t)return u(Ot(o,t));n.pending=null,e(t),n.router.app&&n.router.app.$nextTick((function(){C(t)}))}))}))},Nt.prototype.updateRoute=function(t){this.current=t,this.cb&&this.cb(t)},Nt.prototype.setupListeners=function(){},Nt.prototype.teardown=function(){this.listeners.forEach((function(t){t()})),this.listeners=[],this.current=E,this.pending=null};var qt=function(t){function e(e,r){t.call(this,e,r),this._startLocation=Bt(this.base)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this;if(!(this.listeners.length>0)){var e=this.router,r=e.options.scrollBehavior,n=Et&&r;n&&this.listeners.push(dt());var o=function(){var r=t.current,o=Bt(t.base);t.current===E&&o===t._startLocation||t.transitionTo(o,(function(t){n&&ht(e,t,r,!0)}))};window.addEventListener("popstate",o),this.listeners.push((function(){window.removeEventListener("popstate",o)}))}},e.prototype.go=function(t){window.history.go(t)},e.prototype.push=function(t,e,r){var n=this,o=this.current;this.transitionTo(t,(function(t){xt(R(n.base+t.fullPath)),ht(n.router,t,o,!1),e&&e(t)}),r)},e.prototype.replace=function(t,e,r){var n=this,o=this.current;this.transitionTo(t,(function(t){Ut(R(n.base+t.fullPath)),ht(n.router,t,o,!1),e&&e(t)}),r)},e.prototype.ensureURL=function(t){if(Bt(this.base)!==this.current.fullPath){var e=R(this.base+this.current.fullPath);t?xt(e):Ut(e)}},e.prototype.getCurrentLocation=function(){return Bt(this.base)},e}(Nt);function Bt(t){var e=window.location.pathname,r=e.toLowerCase(),n=t.toLowerCase();return!t||r!==n&&0!==r.indexOf(R(n+"/"))||(e=e.slice(t.length)),(e||"/")+window.location.search+window.location.hash}var Dt=function(t){function e(e,r,n){t.call(this,e,r),n&&function(t){var e=Bt(t);if(!/^\/#/.test(e))return window.location.replace(R(t+"/#"+e)),!0}(this.base)||Mt()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this;if(!(this.listeners.length>0)){var e=this.router.options.scrollBehavior,r=Et&&e;r&&this.listeners.push(dt());var n=function(){var e=t.current;Mt()&&t.transitionTo(Zt(),(function(n){r&&ht(t.router,n,e,!0),Et||zt(n.fullPath)}))},o=Et?"popstate":"hashchange";window.addEventListener(o,n),this.listeners.push((function(){window.removeEventListener(o,n)}))}},e.prototype.push=function(t,e,r){var n=this,o=this.current;this.transitionTo(t,(function(t){Vt(t.fullPath),ht(n.router,t,o,!1),e&&e(t)}),r)},e.prototype.replace=function(t,e,r){var n=this,o=this.current;this.transitionTo(t,(function(t){zt(t.fullPath),ht(n.router,t,o,!1),e&&e(t)}),r)},e.prototype.go=function(t){window.history.go(t)},e.prototype.ensureURL=function(t){var e=this.current.fullPath;Zt()!==e&&(t?Vt(e):zt(e))},e.prototype.getCurrentLocation=function(){return Zt()},e}(Nt);function Mt(){var t=Zt();return"/"===t.charAt(0)||(zt("/"+t),!1)}function Zt(){var t=window.location.href,e=t.indexOf("#");return e<0?"":t=t.slice(e+1)}function Ht(t){var e=window.location.href,r=e.indexOf("#");return(r>=0?e.slice(0,r):e)+"#"+t}function Vt(t){Et?xt(Ht(t)):window.location.hash=t}function zt(t){Et?Ut(Ht(t)):window.location.replace(Ht(t))}var Yt=function(t){function e(e,r){t.call(this,e,r),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,r){var n=this;this.transitionTo(t,(function(t){n.stack=n.stack.slice(0,n.index+1).concat(t),n.index++,e&&e(t)}),r)},e.prototype.replace=function(t,e,r){var n=this;this.transitionTo(t,(function(t){n.stack=n.stack.slice(0,n.index).concat(t),e&&e(t)}),r)},e.prototype.go=function(t){var e=this,r=this.index+t;if(!(r<0||r>=this.stack.length)){var n=this.stack[r];this.confirmTransition(n,(function(){var t=e.current;e.index=r,e.updateRoute(n),e.router.afterHooks.forEach((function(e){e&&e(n,t)}))}),(function(t){kt(t,It.duplicated)&&(e.index=r)}))}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}(Nt),Jt=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=it(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!Et&&!1!==t.fallback,this.fallback&&(e="hash"),et||(e="abstract"),this.mode=e,e){case"history":this.history=new qt(this,t.base);break;case"hash":this.history=new Dt(this,t.base,this.fallback);break;case"abstract":this.history=new Yt(this,t.base)}},Kt={currentRoute:{configurable:!0}};Jt.prototype.match=function(t,e,r){return this.matcher.match(t,e,r)},Kt.currentRoute.get=function(){return this.history&&this.history.current},Jt.prototype.init=function(t){var e=this;if(this.apps.push(t),t.$once("hook:destroyed",(function(){var r=e.apps.indexOf(t);r>-1&&e.apps.splice(r,1),e.app===t&&(e.app=e.apps[0]||null),e.app||e.history.teardown()})),!this.app){this.app=t;var r=this.history;if(r instanceof qt||r instanceof Dt){var n=function(t){r.setupListeners(),function(t){var n=r.current,o=e.options.scrollBehavior;Et&&o&&"fullPath"in t&&ht(e,t,n,!1)}(t)};r.transitionTo(r.getCurrentLocation(),n,n)}r.listen((function(t){e.apps.forEach((function(e){e._route=t}))}))}},Jt.prototype.beforeEach=function(t){return Wt(this.beforeHooks,t)},Jt.prototype.beforeResolve=function(t){return Wt(this.resolveHooks,t)},Jt.prototype.afterEach=function(t){return Wt(this.afterHooks,t)},Jt.prototype.onReady=function(t,e){this.history.onReady(t,e)},Jt.prototype.onError=function(t){this.history.onError(t)},Jt.prototype.push=function(t,e,r){var n=this;if(!e&&!r&&"undefined"!=typeof Promise)return new Promise((function(e,r){n.history.push(t,e,r)}));this.history.push(t,e,r)},Jt.prototype.replace=function(t,e,r){var n=this;if(!e&&!r&&"undefined"!=typeof Promise)return new Promise((function(e,r){n.history.replace(t,e,r)}));this.history.replace(t,e,r)},Jt.prototype.go=function(t){this.history.go(t)},Jt.prototype.back=function(){this.go(-1)},Jt.prototype.forward=function(){this.go(1)},Jt.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map((function(t){return Object.keys(t.components).map((function(e){return t.components[e]}))}))):[]},Jt.prototype.resolve=function(t,e,r){var n=J(t,e=e||this.history.current,r,this),o=this.match(n,e),i=o.redirectedFrom||o.fullPath,a=function(t,e,r){var n="hash"===r?"#"+e:e;return t?R(t+"/"+n):n}(this.history.base,i,this.mode);return{location:n,route:o,href:a,normalizedTo:n,resolved:o}},Jt.prototype.getRoutes=function(){return this.matcher.getRoutes()},Jt.prototype.addRoute=function(t,e){this.matcher.addRoute(t,e),this.history.current!==E&&this.history.transitionTo(this.history.getCurrentLocation())},Jt.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==E&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(Jt.prototype,Kt);var Qt=Jt;function Wt(t,e){return t.push(e),function(){var r=t.indexOf(e);r>-1&&t.splice(r,1)}}Jt.install=function t(e){if(!t.installed||K!==e){t.installed=!0,K=e;var r=function(t){return void 0!==t},n=function(t,e){var n=t.$options._parentVnode;r(n)&&r(n=n.data)&&r(n=n.registerRouteInstance)&&n(t,e)};e.mixin({beforeCreate:function(){r(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),e.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,n(this,this)},destroyed:function(){n(this)}}),Object.defineProperty(e.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(e.prototype,"$route",{get:function(){return this._routerRoot._route}}),e.component("RouterView",P),e.component("RouterLink",W);var o=e.config.optionMergeStrategies;o.beforeRouteEnter=o.beforeRouteLeave=o.beforeRouteUpdate=o.created}},Jt.version="3.6.5",Jt.isNavigationFailure=kt,Jt.NavigationFailureType=It,Jt.START_LOCATION=E,et&&window.Vue&&window.Vue.use(Jt);var Xt=o(79753),te=o(92652),ee=o(20629),re=o(93664),ne=o(7820),oe=(o(65509),function(t){return t.replace(/\/$/,"")}),ie=function(){return(0,ne.Z)()},ae=function(t,e){return re.Z.get(oe(t),e)},ue=function(t,e){return re.Z.post(oe(t),e)},se=function(t,e){return re.Z.put(oe(t),e)},ce=function(t,e){return re.Z.delete(oe(t),{params:e})},fe=o(38605),pe=o(25108),le=function(t,e){return 1===e?t.sort((function(t,e){return t.usercount-t.disabled<e.usercount-e.disabled})):t.sort((function(t,e){return t.name.localeCompare(e.name)}))},de={id:"",name:"",usercount:0,disabled:0,canAdd:!0,canRemove:!0},he={appendUsers:function(t,e){var r=t.users.map((function(t){return t.id})),n=Object.values(e).filter((function(t){var e=t.id;return!r.includes(e)})),o=t.users.concat(n);t.usersOffset+=t.usersLimit,t.users=o},setPasswordPolicyMinLength:function(t,e){t.minPasswordLength=""!==e?e:0},initGroups:function(t,e){var r=e.groups,n=e.orderBy,o=e.userCount;t.groups=r.map((function(t){return Object.assign({},de,t)})),t.orderBy=n,t.userCount=o,t.groups=le(t.groups,t.orderBy)},addGroup:function(t,e){var r=e.gid,n=e.displayName;try{if(void 0!==t.groups.find((function(t){return t.id===r})))return;var o=Object.assign({},de,{id:r,name:n});t.groups.unshift(o),t.groups=le(t.groups,t.orderBy)}catch(t){pe.error("Can't create group",t)}},renameGroup:function(t,e){var r=e.gid,n=e.displayName,o=t.groups.findIndex((function(t){return t.id===r}));if(o>=0){var i=t.groups[o];i.name=n,t.groups.splice(o,1,i),t.groups=le(t.groups,t.orderBy)}},removeGroup:function(t,e){var r=t.groups.findIndex((function(t){return t.id===e}));r>=0&&t.groups.splice(r,1)},addUserGroup:function(t,e){var r=e.userid,n=e.gid,o=t.groups.find((function(t){return t.id===n})),i=t.users.find((function(t){return t.id===r}));o&&i.enabled&&t.userCount>0&&o.usercount++,i.groups.push(n),t.groups=le(t.groups,t.orderBy)},removeUserGroup:function(t,e){var r=e.userid,n=e.gid,o=t.groups.find((function(t){return t.id===n})),i=t.users.find((function(t){return t.id===r}));o&&i.enabled&&t.userCount>0&&o.usercount--;var a=i.groups;a.splice(a.indexOf(n),1),t.groups=le(t.groups,t.orderBy)},addUserSubAdmin:function(t,e){var r=e.userid,n=e.gid;t.users.find((function(t){return t.id===r})).subadmin.push(n)},removeUserSubAdmin:function(t,e){var r=e.userid,n=e.gid,o=t.users.find((function(t){return t.id===r})).subadmin;o.splice(o.indexOf(n),1)},deleteUser:function(t,e){var r=t.users.findIndex((function(t){return t.id===e}));this.commit("updateUserCounts",{user:t.users[r],actionType:"remove"}),t.users.splice(r,1)},addUserData:function(t,e){var r=e.data.ocs.data;t.users.unshift(r),this.commit("updateUserCounts",{user:r,actionType:"create"})},enableDisableUser:function(t,e){var r=e.userid,n=e.enabled,o=t.users.find((function(t){return t.id===r}));o.enabled=n,this.commit("updateUserCounts",{user:o,actionType:n?"enable":"disable"})},updateUserCounts:function(t,e){var r=e.user,n=e.actionType;if(0!==t.userCount){var o=t.groups.find((function(t){return"disabled"===t.id}));switch(n){case"enable":case"disable":o.usercount+=r.enabled?-1:1,t.userCount+=r.enabled?1:-1,r.groups.forEach((function(e){t.groups.find((function(t){return t.id===e})).disabled+=r.enabled?-1:1}));break;case"create":t.userCount++,r.groups.forEach((function(e){t.groups.find((function(t){return t.id===e})).usercount++}));break;case"remove":r.enabled?(t.userCount--,r.groups.forEach((function(e){var r=t.groups.find((function(t){return t.id===e}));r?r.usercount--:pe.warn("User group "+e+" does not exist during user removal")}))):(o.usercount--,r.groups.forEach((function(e){t.groups.find((function(t){return t.id===e})).disabled--})));break;default:fe.Z.error("Unknown action type in updateUserCounts: '".concat(n,"'"))}}},setUserData:function(t,e){var r=e.userid,n=e.key,o=e.value;if("quota"===n){var i=OC.Util.computerFileSize(o);t.users.find((function(t){return t.id===r}))[n][n]=null!==i?i:o}else t.users.find((function(t){return t.id===r}))[n]=o},resetUsers:function(t){t.users=[],t.usersOffset=0},setShowConfig:function(t,e){var r=e.key,n=e.value;t.showConfig[r]=n}},me=re.Z.CancelToken,ge=null,ve={state:{users:[],groups:[],orderBy:1,minPasswordLength:0,usersOffset:0,usersLimit:25,userCount:0,showConfig:{showStoragePath:!1,showUserBackend:!1,showLastLogin:!1,showNewUserForm:!1,showLanguages:!1}},mutations:he,getters:{getUsers:function(t){return t.users},getGroups:function(t){return t.groups},getSubadminGroups:function(t){return t.groups.filter((function(t){return"admin"!==t.id&&"disabled"!==t.id}))},getPasswordPolicyMinLength:function(t){return t.minPasswordLength},getUsersOffset:function(t){return t.usersOffset},getUsersLimit:function(t){return t.usersLimit},getUserCount:function(t){return t.userCount},getShowConfig:function(t){return t.showConfig}},actions:{searchUsers:function(t,e){var r=e.offset,n=e.limit,o=e.search;return o="string"==typeof o?o:"",ae((0,Xt.generateOcsUrl)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:r,limit:n,search:o})).catch((function(e){re.Z.isCancel(e)||t.commit("API_FAILURE",e)}))},getUser:function(t,e){return ae((0,Xt.generateOcsUrl)("cloud/users/".concat(e))).catch((function(e){re.Z.isCancel(e)||t.commit("API_FAILURE",e)}))},getUsers:function(t,e){var r=e.offset,n=e.limit,o=e.search,i=e.group;return ge&&ge.cancel("Operation canceled by another search request."),ge=me.source(),o=(o="string"==typeof o?o:"").replace(/in:[^\s]+/g,"").trim(),""!==(i="string"==typeof i?i:"")?ae((0,Xt.generateOcsUrl)("cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}",{group:encodeURIComponent(i),offset:r,limit:n,search:o}),{cancelToken:ge.token}).then((function(e){var r=Object.keys(e.data.ocs.data.users).length;return r>0&&t.commit("appendUsers",e.data.ocs.data.users),r})).catch((function(e){re.Z.isCancel(e)||t.commit("API_FAILURE",e)})):ae((0,Xt.generateOcsUrl)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:r,limit:n,search:o}),{cancelToken:ge.token}).then((function(e){var r=Object.keys(e.data.ocs.data.users).length;return r>0&&t.commit("appendUsers",e.data.ocs.data.users),r})).catch((function(e){re.Z.isCancel(e)||t.commit("API_FAILURE",e)}))},getGroups:function(t,e){var r=e.offset,n=e.limit,o=e.search;o="string"==typeof o?o:"";var i=-1===n?"":"&limit=".concat(n);return ae((0,Xt.generateOcsUrl)("cloud/groups?offset={offset}&search={search}",{offset:r,search:o})+i).then((function(e){return Object.keys(e.data.ocs.data.groups).length>0&&(e.data.ocs.data.groups.forEach((function(e){t.commit("addGroup",{gid:e,displayName:e})})),!0)})).catch((function(e){return t.commit("API_FAILURE",e)}))},getUsersFromList:function(t,e){var r=e.offset,n=e.limit,o=e.search;return o="string"==typeof o?o:"",ae((0,Xt.generateOcsUrl)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:r,limit:n,search:o})).then((function(e){return Object.keys(e.data.ocs.data.users).length>0&&(t.commit("appendUsers",e.data.ocs.data.users),!0)})).catch((function(e){return t.commit("API_FAILURE",e)}))},getUsersFromGroup:function(t,e){var r=e.groupid,n=e.offset,o=e.limit;return ae((0,Xt.generateOcsUrl)("cloud/users/{groupId}/details?offset={offset}&limit={limit}",{groupId:encodeURIComponent(r),offset:n,limit:o})).then((function(e){return t.commit("getUsersFromList",e.data.ocs.data.users)})).catch((function(e){return t.commit("API_FAILURE",e)}))},getPasswordPolicyMinLength:function(t){return!(!OC.getCapabilities().password_policy||!OC.getCapabilities().password_policy.minLength)&&(t.commit("setPasswordPolicyMinLength",OC.getCapabilities().password_policy.minLength),OC.getCapabilities().password_policy.minLength)},addGroup:function(t,e){return ie().then((function(r){return ue((0,Xt.generateOcsUrl)("cloud/groups"),{groupid:e}).then((function(r){return t.commit("addGroup",{gid:e,displayName:e}),{gid:e,displayName:e}})).catch((function(t){throw t}))})).catch((function(r){throw t.commit("API_FAILURE",{gid:e,error:r}),r}))},renameGroup:function(t,e){var r=e.groupid,n=e.displayName;return ie().then((function(e){return se((0,Xt.generateOcsUrl)("cloud/groups/{groupId}",{groupId:encodeURIComponent(r)}),{key:"displayname",value:n}).then((function(e){return t.commit("renameGroup",{gid:r,displayName:n}),{groupid:r,displayName:n}})).catch((function(t){throw t}))})).catch((function(e){throw t.commit("API_FAILURE",{groupid:r,error:e}),e}))},removeGroup:function(t,e){return ie().then((function(r){return ce((0,Xt.generateOcsUrl)("cloud/groups/{groupId}",{groupId:encodeURIComponent(e)})).then((function(r){return t.commit("removeGroup",e)})).catch((function(t){throw t}))})).catch((function(r){return t.commit("API_FAILURE",{gid:e,error:r})}))},addUserGroup:function(t,e){var r=e.userid,n=e.gid;return ie().then((function(e){return ue((0,Xt.generateOcsUrl)("cloud/users/{userid}/groups",{userid:r}),{groupid:n}).then((function(e){return t.commit("addUserGroup",{userid:r,gid:n})})).catch((function(t){throw t}))})).catch((function(e){return t.commit("API_FAILURE",{userid:r,error:e})}))},removeUserGroup:function(t,e){var r=e.userid,n=e.gid;return ie().then((function(e){return ce((0,Xt.generateOcsUrl)("cloud/users/{userid}/groups",{userid:r}),{groupid:n}).then((function(e){return t.commit("removeUserGroup",{userid:r,gid:n})})).catch((function(t){throw t}))})).catch((function(e){throw t.commit("API_FAILURE",{userid:r,error:e}),e}))},addUserSubAdmin:function(t,e){var r=e.userid,n=e.gid;return ie().then((function(e){return ue((0,Xt.generateOcsUrl)("cloud/users/{userid}/subadmins",{userid:r}),{groupid:n}).then((function(e){return t.commit("addUserSubAdmin",{userid:r,gid:n})})).catch((function(t){throw t}))})).catch((function(e){return t.commit("API_FAILURE",{userid:r,error:e})}))},removeUserSubAdmin:function(t,e){var r=e.userid,n=e.gid;return ie().then((function(e){return ce((0,Xt.generateOcsUrl)("cloud/users/{userid}/subadmins",{userid:r}),{groupid:n}).then((function(e){return t.commit("removeUserSubAdmin",{userid:r,gid:n})})).catch((function(t){throw t}))})).catch((function(e){return t.commit("API_FAILURE",{userid:r,error:e})}))},wipeUserDevices:function(t,e){return ie().then((function(t){return ue((0,Xt.generateOcsUrl)("cloud/users/{userid}/wipe",{userid:e})).catch((function(t){throw t}))})).catch((function(r){return t.commit("API_FAILURE",{userid:e,error:r})}))},deleteUser:function(t,e){return ie().then((function(r){return ce((0,Xt.generateOcsUrl)("cloud/users/{userid}",{userid:e})).then((function(r){return t.commit("deleteUser",e)})).catch((function(t){throw t}))})).catch((function(r){return t.commit("API_FAILURE",{userid:e,error:r})}))},addUser:function(t,e){var r=t.commit,n=t.dispatch,o=e.userid,i=e.password,a=e.displayName,u=e.email,s=e.groups,c=e.subadmin,f=e.quota,p=e.language,l=e.manager;return ie().then((function(t){return ue((0,Xt.generateOcsUrl)("cloud/users"),{userid:o,password:i,displayName:a,email:u,groups:s,subadmin:c,quota:f,language:p,manager:l}).then((function(t){return n("addUserData",o||t.data.ocs.data.id)})).catch((function(t){throw t}))})).catch((function(t){throw r("API_FAILURE",{userid:o,error:t}),t}))},addUserData:function(t,e){return ie().then((function(r){return ae((0,Xt.generateOcsUrl)("cloud/users/{userid}",{userid:e})).then((function(e){return t.commit("addUserData",e)})).catch((function(t){throw t}))})).catch((function(r){return t.commit("API_FAILURE",{userid:e,error:r})}))},enableDisableUser:function(t,e){var r=e.userid,n=e.enabled,o=void 0===n||n,i=o?"enable":"disable";return ie().then((function(e){return se((0,Xt.generateOcsUrl)("cloud/users/{userid}/{userStatus}",{userid:r,userStatus:i})).then((function(e){return t.commit("enableDisableUser",{userid:r,enabled:o})})).catch((function(t){throw t}))})).catch((function(e){return t.commit("API_FAILURE",{userid:r,error:e})}))},setUserData:function(t,e){var r=e.userid,n=e.key,o=e.value,i=["email","displayname","manager"];return-1!==["email","language","quota","displayname","password","manager"].indexOf(n)&&"string"==typeof o&&(-1===i.indexOf(n)&&o.length>0||-1!==i.indexOf(n))?ie().then((function(e){return se((0,Xt.generateOcsUrl)("cloud/users/{userid}",{userid:r}),{key:n,value:o}).then((function(e){return t.commit("setUserData",{userid:r,key:n,value:o})})).catch((function(t){throw t}))})).catch((function(e){return t.commit("API_FAILURE",{userid:r,error:e})})):Promise.reject(new Error("Invalid request data"))},sendWelcomeMail:function(t,e){return ie().then((function(t){return ue((0,Xt.generateOcsUrl)("cloud/users/{userid}/welcome",{userid:e})).then((function(t){return!0})).catch((function(t){throw t}))})).catch((function(r){return t.commit("API_FAILURE",{userid:e,error:r})}))}}},ye=o(64024),be=o(25108);function we(t){return we="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},we(t)}function Ae(){Ae=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function c(t,e,r,o){var i=e&&e.prototype instanceof l?e:l,a=Object.create(i.prototype),u=new U(o||[]);return n(a,"_invoke",{value:A(t,r,u)}),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var p={};function l(){}function d(){}function h(){}var m={};s(m,i,(function(){return this}));var g=Object.getPrototypeOf,v=g&&g(g(I([])));v&&v!==e&&r.call(v,i)&&(m=v);var y=h.prototype=l.prototype=Object.create(m);function b(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function o(n,i,a,u){var s=f(t[n],t,i);if("throw"!==s.type){var c=s.arg,p=c.value;return p&&"object"==we(p)&&r.call(p,"__await")?e.resolve(p.__await).then((function(t){o("next",t,a,u)}),(function(t){o("throw",t,a,u)})):e.resolve(p).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,u)}))}u(s.arg)}var i;n(this,"_invoke",{value:function(t,r){function n(){return new e((function(e,n){o(t,r,e,n)}))}return i=i?i.then(n,n):n()}})}function A(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var u=L(a,r);if(u){if(u===p)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var s=f(t,e,r);if("normal"===s.type){if(n=r.done?"completed":"suspendedYield",s.arg===p)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(n="completed",r.method="throw",r.arg=s.arg)}}}function L(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,L(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),p;var o=f(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,p;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,p):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,p)}function E(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function U(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function I(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:O}}function O(){return{value:void 0,done:!0}}return d.prototype=h,n(y,"constructor",{value:h,configurable:!0}),n(h,"constructor",{value:d,configurable:!0}),d.displayName=s(h,u,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===d||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,u,"GeneratorFunction")),t.prototype=Object.create(y),t},t.awrap=function(t){return{__await:t}},b(w.prototype),s(w.prototype,a,(function(){return this})),t.AsyncIterator=w,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new w(c(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},b(y),s(y,u,"Generator"),s(y,i,(function(){return this})),s(y,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=I,U.prototype={constructor:U,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=r.call(i,"catchLoc"),s=r.call(i,"finallyLoc");if(u&&s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,p):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),p},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),x(r),p}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;x(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:I(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),p}},t}function Le(t,e,r,n,o,i,a){try{var u=t[i](a),s=u.value}catch(t){return void r(t)}u.done?e(s):Promise.resolve(s).then(n,o)}var Ee={APPS_API_FAILURE:function(e,r){(0,ye.x2)(t("settings","An error occurred during the request. Unable to proceed.")+"<br>"+r.error.response.data.data.message,{isHTML:!0}),be.error(e,r)},initCategories:function(t,e){var r=e.categories,n=e.updateCount;t.categories=r,t.updateCount=n},updateCategories:function(t,e){t.gettingCategoriesPromise=e},setUpdateCount:function(t,e){t.updateCount=e},addCategory:function(t,e){t.categories.push(e)},appendCategories:function(t,e){t.categories=e},setAllApps:function(t,e){t.apps=e},setError:function(t,e){var r=e.appId,n=e.error;Array.isArray(r)||(r=[r]),r.forEach((function(e){t.apps.find((function(t){return t.id===e})).error=n}))},clearError:function(t,e){var r=e.appId;e.error,t.apps.find((function(t){return t.id===r})).error=null},enableApp:function(t,e){var r=e.appId,n=e.groups,o=t.apps.find((function(t){return t.id===r}));o.active=!0,o.groups=n},disableApp:function(t,e){var r=t.apps.find((function(t){return t.id===e}));r.active=!1,r.groups=[],r.removable&&(r.canUnInstall=!0)},uninstallApp:function(t,e){t.apps.find((function(t){return t.id===e})).active=!1,t.apps.find((function(t){return t.id===e})).groups=[],t.apps.find((function(t){return t.id===e})).needsDownload=!0,t.apps.find((function(t){return t.id===e})).installed=!1,t.apps.find((function(t){return t.id===e})).canUnInstall=!1,t.apps.find((function(t){return t.id===e})).canInstall=!0},updateApp:function(t,e){var r=t.apps.find((function(t){return t.id===e})),n=r.update;r.update=null,r.version=n,t.updateCount--},resetApps:function(t){t.apps=[]},reset:function(t){t.apps=[],t.categories=[],t.updateCount=0},startLoading:function(t,e){Array.isArray(e)?e.forEach((function(e){i.default.set(t.loading,e,!0)})):i.default.set(t.loading,e,!0)},stopLoading:function(t,e){Array.isArray(e)?e.forEach((function(e){i.default.set(t.loading,e,!1)})):i.default.set(t.loading,e,!1)}},xe={enableApp:function(e,r){var n,o=r.appId,i=r.groups;return n=Array.isArray(o)?o:[o],ie().then((function(r){return e.commit("startLoading",n),e.commit("startLoading","install"),ue((0,Xt.generateUrl)("settings/apps/enable"),{appIds:n,groups:i}).then((function(r){return e.commit("stopLoading",n),e.commit("stopLoading","install"),n.forEach((function(t){e.commit("enableApp",{appId:t,groups:i})})),ae((0,Xt.generateUrl)("apps/files")).then((function(){r.data.update_required&&((0,ye.JQ)(t("settings","The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds."),{onClick:function(){return window.location.reload()},close:!1}),setTimeout((function(){location.reload()}),5e3))})).catch((function(){Array.isArray(o)||e.commit("setError",{appId:n,error:t("settings","Error: This app cannot be enabled because it makes the server unstable")})}))})).catch((function(t){e.commit("stopLoading",n),e.commit("stopLoading","install"),e.commit("setError",{appId:n,error:t.response.data.data.message}),e.commit("APPS_API_FAILURE",{appId:o,error:t})}))})).catch((function(t){return e.commit("API_FAILURE",{appId:o,error:t})}))},forceEnableApp:function(t,e){var r,n=e.appId;return e.groups,r=Array.isArray(n)?n:[n],ie().then((function(){return t.commit("startLoading",r),t.commit("startLoading","install"),ue((0,Xt.generateUrl)("settings/apps/force"),{appId:n}).then((function(t){location.reload()})).catch((function(e){t.commit("stopLoading",r),t.commit("stopLoading","install"),t.commit("setError",{appId:r,error:e.response.data.data.message}),t.commit("APPS_API_FAILURE",{appId:n,error:e})}))})).catch((function(e){return t.commit("API_FAILURE",{appId:n,error:e})}))},disableApp:function(t,e){var r,n=e.appId;return r=Array.isArray(n)?n:[n],ie().then((function(e){return t.commit("startLoading",r),ue((0,Xt.generateUrl)("settings/apps/disable"),{appIds:r}).then((function(e){return t.commit("stopLoading",r),r.forEach((function(e){t.commit("disableApp",e)})),!0})).catch((function(e){t.commit("stopLoading",r),t.commit("APPS_API_FAILURE",{appId:n,error:e})}))})).catch((function(e){return t.commit("API_FAILURE",{appId:n,error:e})}))},uninstallApp:function(t,e){var r=e.appId;return ie().then((function(e){return t.commit("startLoading",r),ae((0,Xt.generateUrl)("settings/apps/uninstall/".concat(r))).then((function(e){return t.commit("stopLoading",r),t.commit("uninstallApp",r),!0})).catch((function(e){t.commit("stopLoading",r),t.commit("APPS_API_FAILURE",{appId:r,error:e})}))})).catch((function(e){return t.commit("API_FAILURE",{appId:r,error:e})}))},updateApp:function(t,e){var r=e.appId;return ie().then((function(e){return t.commit("startLoading",r),t.commit("startLoading","install"),ae((0,Xt.generateUrl)("settings/apps/update/".concat(r))).then((function(e){return t.commit("stopLoading","install"),t.commit("stopLoading",r),t.commit("updateApp",r),!0})).catch((function(e){t.commit("stopLoading",r),t.commit("stopLoading","install"),t.commit("APPS_API_FAILURE",{appId:r,error:e})}))})).catch((function(e){return t.commit("API_FAILURE",{appId:r,error:e})}))},getAllApps:function(t){return t.commit("startLoading","list"),ae((0,Xt.generateUrl)("settings/apps/list")).then((function(e){return t.commit("setAllApps",e.data.apps),t.commit("stopLoading","list"),!0})).catch((function(e){return t.commit("API_FAILURE",e)}))},getCategories:function(t){var e,r=arguments;return(e=Ae().mark((function e(){var n,o,i;return Ae().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((void 0===(n=(r.length>1&&void 0!==r[1]?r[1]:{}).shouldRefetchCategories)||!n)&&t.state.gettingCategoriesPromise){e.next=20;break}return t.commit("startLoading","categories"),e.prev=3,o=ae((0,Xt.generateUrl)("settings/apps/categories")),t.commit("updateCategories",o),e.next=8,o;case 8:if(!((i=e.sent).data.length>0)){e.next=13;break}return t.commit("appendCategories",i.data),t.commit("stopLoading","categories"),e.abrupt("return",!0);case 13:return t.commit("stopLoading","categories"),e.abrupt("return",!1);case 17:e.prev=17,e.t0=e.catch(3),t.commit("API_FAILURE",e.t0);case 20:return e.abrupt("return",t.state.gettingCategoriesPromise);case 21:case"end":return e.stop()}}),e,null,[[3,17]])})),function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function a(t){Le(i,n,o,a,u,"next",t)}function u(t){Le(i,n,o,a,u,"throw",t)}a(void 0)}))})()}},Ue={state:{apps:[],categories:[],updateCount:0,loading:{},loadingList:!1,gettingCategoriesPromise:null},mutations:Ee,getters:{loading:function(t){return function(e){return t.loading[e]}},getCategories:function(t){return t.categories},getAllApps:function(t){return t.apps},getUpdateCount:function(t){return t.updateCount},getCategoryById:function(t){return function(e){return t.categories.find((function(t){return t.id===e}))}}},actions:xe},Ie={state:{},mutations:{},getters:{},actions:{setAppConfig:function(t,e){var r=e.app,n=e.key,o=e.value;return ie().then((function(t){return ue((0,Xt.generateOcsUrl)("apps/provisioning_api/api/v1/config/apps/{app}/{key}",{app:r,key:n}),{value:o}).catch((function(t){throw t}))})).catch((function(e){return t.commit("API_FAILURE",{app:r,key:n,value:o,error:e})}))}}},Oe=o(25108);i.default.use(ee.ZP);var Ce={API_FAILURE:function(e,r){try{var n=r.error.response.data.ocs.meta.message;(0,ye.x2)(t("settings","An error occurred during the request. Unable to proceed.")+"<br>"+n,{isHTML:!0})}catch(e){(0,ye.x2)(t("settings","An error occurred during the request. Unable to proceed."))}Oe.error(e,r)}},Pe=new ee.yh({modules:{users:ve,apps:Ue,settings:{state:{serverData:{}},mutations:{setServerData:function(t,e){t.serverData=e}},getters:{getServerData:function(t){return t.serverData}},actions:{}},oc:Ie},strict:!1,mutations:Ce});function _e(t){return _e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_e(t)}function ke(){ke=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function c(t,e,r,o){var i=e&&e.prototype instanceof l?e:l,a=Object.create(i.prototype),u=new U(o||[]);return n(a,"_invoke",{value:A(t,r,u)}),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var p={};function l(){}function d(){}function h(){}var m={};s(m,i,(function(){return this}));var g=Object.getPrototypeOf,v=g&&g(g(I([])));v&&v!==e&&r.call(v,i)&&(m=v);var y=h.prototype=l.prototype=Object.create(m);function b(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function o(n,i,a,u){var s=f(t[n],t,i);if("throw"!==s.type){var c=s.arg,p=c.value;return p&&"object"==_e(p)&&r.call(p,"__await")?e.resolve(p.__await).then((function(t){o("next",t,a,u)}),(function(t){o("throw",t,a,u)})):e.resolve(p).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,u)}))}u(s.arg)}var i;n(this,"_invoke",{value:function(t,r){function n(){return new e((function(e,n){o(t,r,e,n)}))}return i=i?i.then(n,n):n()}})}function A(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var u=L(a,r);if(u){if(u===p)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var s=f(t,e,r);if("normal"===s.type){if(n=r.done?"completed":"suspendedYield",s.arg===p)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(n="completed",r.method="throw",r.arg=s.arg)}}}function L(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,L(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),p;var o=f(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,p;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,p):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,p)}function E(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function U(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function I(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:O}}function O(){return{value:void 0,done:!0}}return d.prototype=h,n(y,"constructor",{value:h,configurable:!0}),n(h,"constructor",{value:d,configurable:!0}),d.displayName=s(h,u,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===d||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,u,"GeneratorFunction")),t.prototype=Object.create(y),t},t.awrap=function(t){return{__await:t}},b(w.prototype),s(w.prototype,a,(function(){return this})),t.AsyncIterator=w,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new w(c(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},b(y),s(y,u,"Generator"),s(y,i,(function(){return this})),s(y,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=I,U.prototype={constructor:U,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=r.call(i,"catchLoc"),s=r.call(i,"finallyLoc");if(u&&s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,p):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),p},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),x(r),p}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;x(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:I(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),p}},t}function Re(t,e,r,n,o,i,a){try{var u=t[i](a),s=u.value}catch(t){return void r(t)}u.done?e(s):Promise.resolve(s).then(n,o)}function Se(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){Re(i,n,o,a,u,"next",t)}function u(t){Re(i,n,o,a,u,"throw",t)}a(void 0)}))}}o(43554);var je=function(){return Promise.all([o.e(7874),o.e(8351)]).then(o.bind(o,9574))},Te=function(){return Promise.all([o.e(7874),o.e(7418)]).then(o.bind(o,40837))};i.default.use(Qt);var Fe,Ne=document.title,Ge=new Qt({mode:"history",base:(0,Xt.generateUrl)(""),linkActiveClass:"active",routes:[{path:"/:index(index.php/)?settings/users",component:je,props:!0,name:"users",meta:{title:function(){return t("settings","Active users")}},children:[{path:":selectedGroup",name:"group",meta:{title:function(e){return"admin"===e.params.selectedGroup?t("settings","Admins"):"disabled"===e.params.selectedGroup?t("settings","Disabled users"):decodeURIComponent(e.params.selectedGroup)}},component:je}]},{path:"/:index(index.php/)?settings/apps",component:Te,props:!0,name:"apps",meta:{title:function(){return t("settings","Your apps")}},children:[{path:":category",name:"apps-category",meta:{title:(Fe=Se(ke().mark((function e(r){var n;return ke().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("apps"!==r.name){e.next=2;break}return e.abrupt("return",t("settings","Your apps"));case 2:if(!te.J[r.params.category]){e.next=4;break}return e.abrupt("return",te.J[r.params.category]);case 4:return e.next=6,Pe.dispatch("getCategories");case 6:if(!(n=Pe.getters.getCategoryById(r.params.category)).displayName){e.next=9;break}return e.abrupt("return",n.displayName);case 9:case"end":return e.stop()}}),e)}))),function(t){return Fe.apply(this,arguments)})},component:Te,children:[{path:":id",name:"apps-details",component:Te}]}]}]});Ge.afterEach(function(){var t=Se(ke().mark((function t(e){var r,n,o;return ke().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,null===(r=(n=e.meta).title)||void 0===r?void 0:r.call(n,e);case 2:(o=t.sent)?(document.title="".concat(o," - ").concat(Ne),i=o,a=void 0,(a=document.getElementById("page-heading-level-1"))&&(a.textContent=i)):document.title=Ne;case 4:case"end":return t.stop()}var i,a}),t)})));return function(e){return t.apply(this,arguments)}}());var $e=Ge;i.default.use(a.ZP,{defaultHtml:!1}),(0,u.Z)(Pe,$e),o.nc=btoa(OC.requestToken),i.default.prototype.t=t,i.default.prototype.n=n,i.default.prototype.OC=OC,i.default.prototype.OCA=OCA,i.default.prototype.oc_userconfig=oc_userconfig,new i.default({router:$e,store:Pe,render:function(t){return t(c)}}).$mount("#content")},83678:function(t,e){function r(t,e){var n={name:t.name,path:t.path,hash:t.hash,query:t.query,params:t.params,fullPath:t.fullPath,meta:t.meta};return e&&(n.from=r(e)),Object.freeze(n)}e.Z=function(t,e,n){var o=(n||{}).moduleName||"route";t.registerModule(o,{namespaced:!0,state:r(e.currentRoute),mutations:{ROUTE_CHANGED:function(e,n){t.state[o]=r(n.to,n.from)}}});var i,a=!1,u=t.watch((function(t){return t[o]}),(function(t){var r=t.fullPath;r!==i&&(null!=i&&(a=!0,e.push(t)),i=r)}),{sync:!0}),s=e.afterEach((function(e,r){a?a=!1:(i=e.fullPath,t.commit(o+"/ROUTE_CHANGED",{to:e,from:r}))}));return function(){null!=s&&s(),null!=u&&u(),t.unregisterModule(o)}}}},a={};function u(t){var e=a[t];if(void 0!==e)return e.exports;var r=a[t]={id:t,loaded:!1,exports:{}};return i[t].call(r.exports,r,r.exports,u),r.loaded=!0,r.exports}u.m=i,e=[],u.O=function(t,r,n,o){if(!r){var i=1/0;for(f=0;f<e.length;f++){r=e[f][0],n=e[f][1],o=e[f][2];for(var a=!0,s=0;s<r.length;s++)(!1&o||i>=o)&&Object.keys(u.O).every((function(t){return u.O[t](r[s])}))?r.splice(s--,1):(a=!1,o<i&&(i=o));if(a){e.splice(f--,1);var c=n();void 0!==c&&(t=c)}}return t}o=o||0;for(var f=e.length;f>0&&e[f-1][2]>o;f--)e[f]=e[f-1];e[f]=[r,n,o]},u.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return u.d(e,{a:e}),e},u.d=function(t,e){for(var r in e)u.o(e,r)&&!u.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},u.f={},u.e=function(t){return Promise.all(Object.keys(u.f).reduce((function(e,r){return u.f[r](t,e),e}),[]))},u.u=function(t){return({7418:"settings-apps-view",8351:"settings-users"}[t]||t)+"-"+t+".js?v="+{2250:"9c98ca37abd9ee1927b3",7418:"c1cae41c530feb8e9906",7996:"39e55a09e2da8534cf16",8351:"0466ba4747e49633b056"}[t]},u.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),u.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r={},o="nextcloud:",u.l=function(t,e,n,i){if(r[t])r[t].push(e);else{var a,s;if(void 0!==n)for(var c=document.getElementsByTagName("script"),f=0;f<c.length;f++){var p=c[f];if(p.getAttribute("src")==t||p.getAttribute("data-webpack")==o+n){a=p;break}}a||(s=!0,(a=document.createElement("script")).charset="utf-8",a.timeout=120,u.nc&&a.setAttribute("nonce",u.nc),a.setAttribute("data-webpack",o+n),a.src=t),r[t]=[e];var l=function(e,n){a.onerror=a.onload=null,clearTimeout(d);var o=r[t];if(delete r[t],a.parentNode&&a.parentNode.removeChild(a),o&&o.forEach((function(t){return t(n)})),e)return e(n)},d=setTimeout(l.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=l.bind(null,a.onerror),a.onload=l.bind(null,a.onload),s&&document.head.appendChild(a)}},u.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},u.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t},u.j=8562,function(){var t;u.g.importScripts&&(t=u.g.location+"");var e=u.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var r=e.getElementsByTagName("script");if(r.length)for(var n=r.length-1;n>-1&&!t;)t=r[n--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),u.p=t}(),function(){u.b=document.baseURI||self.location.href;var t={8562:0};u.f.j=function(e,r){var n=u.o(t,e)?t[e]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise((function(r,o){n=t[e]=[r,o]}));r.push(n[2]=o);var i=u.p+u.u(e),a=new Error;u.l(i,(function(r){if(u.o(t,e)&&(0!==(n=t[e])&&(t[e]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),i=r&&r.target&&r.target.src;a.message="Loading chunk "+e+" failed.\n("+o+": "+i+")",a.name="ChunkLoadError",a.type=o,a.request=i,n[1](a)}}),"chunk-"+e,e)}},u.O.j=function(e){return 0===t[e]};var e=function(e,r){var n,o,i=r[0],a=r[1],s=r[2],c=0;if(i.some((function(e){return 0!==t[e]}))){for(n in a)u.o(a,n)&&(u.m[n]=a[n]);if(s)var f=s(u)}for(e&&e(r);c<i.length;c++)o=i[c],u.o(t,o)&&t[o]&&t[o][0](),t[o]=0;return u.O(f)},r=self.webpackChunknextcloud=self.webpackChunknextcloud||[];r.forEach(e.bind(null,0)),r.push=e.bind(null,r.push.bind(r))}(),u.nc=void 0;var s=u.O(void 0,[7874],(function(){return u(97268)}));s=u.O(s)}(); +//# sourceMappingURL=settings-vue-settings-apps-users-management.js.map?v=a74beffe758085aa526c
\ No newline at end of file diff --git a/dist/settings-vue-settings-apps-users-management.js.map b/dist/settings-vue-settings-apps-users-management.js.map index f9c7172770f..86a79b5fc93 100644 --- a/dist/settings-vue-settings-apps-users-management.js.map +++ b/dist/settings-vue-settings-apps-users-management.js.map @@ -1 +1 @@ -{"version":3,"file":"settings-vue-settings-apps-users-management.js?v=7982d299726cbfd23baf","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/settings/src/constants/AppsConstants.js","webpack:///nextcloud/apps/settings/src/logger.js","webpack:///nextcloud/apps/settings/src/App.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/App.vue","webpack://nextcloud/./apps/settings/src/App.vue?536c","webpack://nextcloud/./apps/settings/src/App.vue?4d15","webpack:///nextcloud/node_modules/vue-router/dist/vue-router.esm.js","webpack:///nextcloud/apps/settings/src/store/api.js","webpack:///nextcloud/apps/settings/src/store/users.js","webpack:///nextcloud/apps/settings/src/store/apps.js","webpack:///nextcloud/apps/settings/src/store/oc.js","webpack:///nextcloud/apps/settings/src/store/index.js","webpack:///nextcloud/apps/settings/src/store/settings.js","webpack:///nextcloud/apps/settings/src/router.js","webpack:///nextcloud/core/src/OCP/accessibility.js","webpack:///nextcloud/apps/settings/src/main-apps-users-management.js","webpack:///nextcloud/node_modules/vuex-router-sync/index.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 = function(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(function(key) { return __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 = function(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 = function(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(function(fn) { return 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 * @copyright 2022, Julia Kirschenheuter <julia.kirschenheuter@nextcloud.com>\n *\n * @author Julia Kirschenheuter <julia.kirschenheuter@nextcloud.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { translate as t } from '@nextcloud/l10n'\n\n/** Enum of verification constants, according to Apps */\nexport const APPS_SECTION_ENUM = Object.freeze({\n\tenabled: t('settings', 'Active apps'),\n\tdisabled: t('settings', 'Disabled apps'),\n\tupdates: t('settings', 'Updates'),\n\t'app-bundles': t('settings', 'App bundles'),\n\tfeatured: t('settings', 'Featured apps'),\n\tsupported: t('settings', 'Supported apps'), // From subscription\n})\n","/**\n * @copyright 2020 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('settings')\n\t.detectUser()\n\t.build()\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 - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<router-view />\n</template>\n\n<script>\nexport default {\n\tname: 'App',\n\tbeforeMount() {\n\t\t// importing server data into the store\n\t\tconst serverDataElmt = document.getElementById('serverData')\n\t\tif (serverDataElmt !== null) {\n\t\t\tthis.$store.commit('setServerData', JSON.parse(document.getElementById('serverData').dataset.server))\n\t\t}\n\t},\n}\n</script>\n","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=50420604&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.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('router-view')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*!\n * vue-router v3.6.5\n * (c) 2022 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (!condition) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction extend (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nfunction decode (str) {\n try {\n return decodeURIComponent(str)\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"Error decoding \\\"\" + str + \"\\\". Leaving it intact.\"));\n }\n }\n return str\n}\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n var value = extraQuery[key];\n parsedQuery[key] = Array.isArray(value)\n ? value.map(castQueryParamValue)\n : castQueryParamValue(value);\n }\n return parsedQuery\n}\n\nvar castQueryParamValue = function (value) { return (value == null || typeof value === 'object' ? value : String(value)); };\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0 ? decode(parts.join('=')) : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj\n ? Object.keys(obj)\n .map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n })\n .filter(function (x) { return x.length > 0; })\n .join('&')\n : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b, onlyPath) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') && (onlyPath ||\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query))\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n (onlyPath || (\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params))\n )\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a).sort();\n var bKeys = Object.keys(b).sort();\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key, i) {\n var aVal = a[key];\n var bKey = bKeys[i];\n if (bKey !== key) { return false }\n var bVal = b[key];\n // query values can be null and undefined\n if (aVal == null || bVal == null) { return aVal === bVal }\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\nfunction handleRouteEntered (route) {\n for (var i = 0; i < route.matched.length; i++) {\n var record = route.matched[i];\n for (var name in record.instances) {\n var instance = record.instances[name];\n var cbs = record.enteredCbs[name];\n if (!instance || !cbs) { continue }\n delete record.enteredCbs[name];\n for (var i$1 = 0; i$1 < cbs.length; i$1++) {\n if (!instance._isBeingDestroyed) { cbs[i$1](instance); }\n }\n }\n }\n}\n\nvar View = {\n name: 'RouterView',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n // used by devtools to display a router-view badge\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n var vnodeData = parent.$vnode ? parent.$vnode.data : {};\n if (vnodeData.routerView) {\n depth++;\n }\n if (vnodeData.keepAlive && parent._directInactive && parent._inactive) {\n inactive = true;\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n var cachedData = cache[name];\n var cachedComponent = cachedData && cachedData.component;\n if (cachedComponent) {\n // #2301\n // pass props\n if (cachedData.configProps) {\n fillPropsinData(cachedComponent, data, cachedData.route, cachedData.configProps);\n }\n return h(cachedComponent, data, children)\n } else {\n // render previous empty view\n return h()\n }\n }\n\n var matched = route.matched[depth];\n var component = matched && matched.components[name];\n\n // render empty node if no matched route or no config component\n if (!matched || !component) {\n cache[name] = null;\n return h()\n }\n\n // cache component\n cache[name] = { component: component };\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // register instance in init hook\n // in case kept-alive component be actived when routes changed\n data.hook.init = function (vnode) {\n if (vnode.data.keepAlive &&\n vnode.componentInstance &&\n vnode.componentInstance !== matched.instances[name]\n ) {\n matched.instances[name] = vnode.componentInstance;\n }\n\n // if the route transition has already been confirmed then we weren't\n // able to call the cbs during confirmation as the component was not\n // registered yet, so we call it here.\n handleRouteEntered(route);\n };\n\n var configProps = matched.props && matched.props[name];\n // save route and configProps in cache\n if (configProps) {\n extend(cache[name], {\n route: route,\n configProps: configProps\n });\n fillPropsinData(component, data, route, configProps);\n }\n\n return h(component, data, children)\n }\n};\n\nfunction fillPropsinData (component, data, route, configProps) {\n // resolve props\n var propsToPass = data.props = resolveProps(route, configProps);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n}\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/(?:\\s*\\/)+/g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options));\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n params = params || {};\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n\n // Fix #2505 resolving asterisk routes { name: 'not-found', params: { pathMatch: '/not-found' }}\n // and fix #3106 so that you can work with location descriptor object having params.pathMatch equal to empty string\n if (typeof params.pathMatch === 'string') { params[0] = params.pathMatch; }\n\n return filler(params, { pretty: true })\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n // Fix #3072 no warn if `pathMatch` is string\n warn(typeof params.pathMatch === 'string', (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n } finally {\n // delete the 0 if it was added\n delete params[0];\n }\n}\n\n/* */\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next._normalized) {\n return next\n } else if (next.name) {\n next = extend({}, raw);\n var params = next.params;\n if (params && typeof params === 'object') {\n next.params = extend({}, params);\n }\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = extend({}, next);\n next._normalized = true;\n var params$1 = extend(extend({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params$1;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params$1, (\"path \" + (current.path)));\n } else if (process.env.NODE_ENV !== 'production') {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar noop = function () {};\n\nvar warnedCustomSlot;\nvar warnedTagProp;\nvar warnedEventProp;\n\nvar Link = {\n name: 'RouterLink',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n custom: Boolean,\n exact: Boolean,\n exactPath: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n ariaCurrentValue: {\n type: String,\n default: 'page'\n },\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(\n this.to,\n current,\n this.append\n );\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback =\n globalActiveClass == null ? 'router-link-active' : globalActiveClass;\n var exactActiveClassFallback =\n globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass =\n this.activeClass == null ? activeClassFallback : this.activeClass;\n var exactActiveClass =\n this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n\n var compareTarget = route.redirectedFrom\n ? createRoute(null, normalizeLocation(route.redirectedFrom), null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget, this.exactPath);\n classes[activeClass] = this.exact || this.exactPath\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var ariaCurrentValue = classes[exactActiveClass] ? this.ariaCurrentValue : null;\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1$1.replace) {\n router.replace(location, noop);\n } else {\n router.push(location, noop);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) {\n on[e] = handler;\n });\n } else {\n on[this.event] = handler;\n }\n\n var data = { class: classes };\n\n var scopedSlot =\n !this.$scopedSlots.$hasNormal &&\n this.$scopedSlots.default &&\n this.$scopedSlots.default({\n href: href,\n route: route,\n navigate: handler,\n isActive: classes[activeClass],\n isExactActive: classes[exactActiveClass]\n });\n\n if (scopedSlot) {\n if (process.env.NODE_ENV !== 'production' && !this.custom) {\n !warnedCustomSlot && warn(false, 'In Vue Router 4, the v-slot API will by default wrap its content with an <a> element. Use the custom prop to remove this warning:\\n<router-link v-slot=\"{ navigate, href }\" custom></router-link>\\n');\n warnedCustomSlot = true;\n }\n if (scopedSlot.length === 1) {\n return scopedSlot[0]\n } else if (scopedSlot.length > 1 || !scopedSlot.length) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n (\"<router-link> with to=\\\"\" + (this.to) + \"\\\" is trying to use a scoped slot but it didn't provide exactly one child. Wrapping the content with a span element.\")\n );\n }\n return scopedSlot.length === 0 ? h() : h('span', {}, scopedSlot)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if ('tag' in this.$options.propsData && !warnedTagProp) {\n warn(\n false,\n \"<router-link>'s tag prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n );\n warnedTagProp = true;\n }\n if ('event' in this.$options.propsData && !warnedEventProp) {\n warn(\n false,\n \"<router-link>'s event prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n );\n warnedEventProp = true;\n }\n }\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href, 'aria-current': ariaCurrentValue };\n } else {\n // find the first <a> child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the <a> is a static node\n a.isStatic = false;\n var aData = (a.data = extend({}, a.data));\n aData.on = aData.on || {};\n // transform existing events in both objects into arrays so we can push later\n for (var event in aData.on) {\n var handler$1 = aData.on[event];\n if (event in on) {\n aData.on[event] = Array.isArray(handler$1) ? handler$1 : [handler$1];\n }\n }\n // append new listeners for router-link\n for (var event$1 in on) {\n if (event$1 in aData.on) {\n // on[event] is always a function\n aData.on[event$1].push(on[event$1]);\n } else {\n aData.on[event$1] = handler;\n }\n }\n\n var aAttrs = (a.data.attrs = extend({}, a.data.attrs));\n aAttrs.href = href;\n aAttrs['aria-current'] = ariaCurrentValue;\n } else {\n // doesn't have <a> child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('RouterView', View);\n Vue.component('RouterLink', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap,\n parentRoute\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route, parentRoute);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n if (process.env.NODE_ENV === 'development') {\n // warn if routes do not include leading slashes\n var found = pathList\n // check for missing leading slash\n .filter(function (path) { return path && path.charAt(0) !== '*' && path.charAt(0) !== '/'; });\n\n if (found.length > 0) {\n var pathNames = found.map(function (path) { return (\"- \" + path); }).join('\\n');\n warn(false, (\"Non-nested routes must include a leading slash character. Fix the following routes: \\n\" + pathNames));\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (process.env.NODE_ENV !== 'production') {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(\n path || name\n )) + \" cannot be a \" + \"string id. Use an actual component instead.\"\n );\n\n warn(\n // eslint-disable-next-line no-control-regex\n !/[^\\u0000-\\u007F]+/.test(path),\n \"Route with path \\\"\" + path + \"\\\" contains unencoded characters, make sure \" +\n \"your path is correctly encoded before passing it to the router. Use \" +\n \"encodeURI to encode static segments of your path.\"\n );\n }\n\n var pathToRegexpOptions =\n route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(path, parent, pathToRegexpOptions.strict);\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n alias: route.alias\n ? typeof route.alias === 'string'\n ? [route.alias]\n : route.alias\n : [],\n instances: {},\n enteredCbs: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props:\n route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (process.env.NODE_ENV !== 'production') {\n if (\n route.name &&\n !route.redirect &&\n route.children.some(function (child) { return /^\\/?$/.test(child.path); })\n ) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'}\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias) ? route.alias : [route.alias];\n for (var i = 0; i < aliases.length; ++i) {\n var alias = aliases[i];\n if (process.env.NODE_ENV !== 'production' && alias === path) {\n warn(\n false,\n (\"Found an alias with the same value as the path: \\\"\" + path + \"\\\". You have to remove that alias. It will be ignored in development.\")\n );\n // skip in dev to make it work\n continue\n }\n\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n }\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (process.env.NODE_ENV !== 'production' && !matchAs) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (\n path,\n pathToRegexpOptions\n) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (process.env.NODE_ENV !== 'production') {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(\n !keys[key.name],\n (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\")\n );\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (\n path,\n parent,\n strict\n) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function addRoute (parentOrRoute, route) {\n var parent = (typeof parentOrRoute !== 'object') ? nameMap[parentOrRoute] : undefined;\n // $flow-disable-line\n createRouteMap([route || parentOrRoute], pathList, pathMap, nameMap, parent);\n\n // add aliases of parent\n if (parent && parent.alias.length) {\n createRouteMap(\n // $flow-disable-line route is defined if parent is\n parent.alias.map(function (alias) { return ({ path: alias, children: [route] }); }),\n pathList,\n pathMap,\n nameMap,\n parent\n );\n }\n }\n\n function getRoutes () {\n return pathList.map(function (path) { return pathMap[path]; })\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoute: addRoute,\n getRoutes: getRoutes,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n if (key) {\n // Fix #1994: using * with props: true generates a param named 0\n params[key.name || 'pathMatch'] = typeof m[i] === 'string' ? decode(m[i]) : m[i];\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n// use User Timing api (if present) for more accurate key precision\nvar Time =\n inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nfunction genStateKey () {\n return Time.now().toFixed(3)\n}\n\nvar _key = genStateKey();\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n return (_key = key)\n}\n\n/* */\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Prevent browser scroll behavior on History popstate\n if ('scrollRestoration' in window.history) {\n window.history.scrollRestoration = 'manual';\n }\n // Fix for #1585 for Firefox\n // Fix for #2195 Add optional third attribute to workaround a bug in safari https://bugs.webkit.org/show_bug.cgi?id=182678\n // Fix for #2774 Support for apps loaded from Windows file shares not mapped to network drives: replaced location.origin with\n // window.location.protocol + '//' + window.location.host\n // location.host contains the port and location.hostname doesn't\n var protocolAndPath = window.location.protocol + '//' + window.location.host;\n var absolutePath = window.location.href.replace(protocolAndPath, '');\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, window.history.state);\n stateCopy.key = getStateKey();\n window.history.replaceState(stateCopy, '', absolutePath);\n window.addEventListener('popstate', handlePopState);\n return function () {\n window.removeEventListener('popstate', handlePopState);\n }\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior.call(\n router,\n to,\n from,\n isPop ? position : null\n );\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll\n .then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n })\n .catch(function (err) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction handlePopState (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nvar hashStartsWithNumberRE = /^#\\d/;\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n // getElementById would still fail if the selector contains a more complicated query like #main[data-attr]\n // but at the same time, it doesn't make much sense to select an element with an id and an extra selector\n var el = hashStartsWithNumberRE.test(shouldScroll.selector) // $flow-disable-line\n ? document.getElementById(shouldScroll.selector.slice(1)) // $flow-disable-line\n : document.querySelector(shouldScroll.selector);\n\n if (el) {\n var offset =\n shouldScroll.offset && typeof shouldScroll.offset === 'object'\n ? shouldScroll.offset\n : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n // $flow-disable-line\n if ('scrollBehavior' in document.documentElement.style) {\n window.scrollTo({\n left: position.x,\n top: position.y,\n // $flow-disable-line\n behavior: shouldScroll.behavior\n });\n } else {\n window.scrollTo(position.x, position.y);\n }\n }\n}\n\n/* */\n\nvar supportsPushState =\n inBrowser &&\n (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && typeof window.history.pushState === 'function'\n })();\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, history.state);\n stateCopy.key = getStateKey();\n history.replaceState(stateCopy, '', url);\n } else {\n history.pushState({ key: setStateKey(genStateKey()) }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n// When changing thing, also edit router.d.ts\nvar NavigationFailureType = {\n redirected: 2,\n aborted: 4,\n cancelled: 8,\n duplicated: 16\n};\n\nfunction createNavigationRedirectedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.redirected,\n (\"Redirected when going from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (stringifyRoute(\n to\n )) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createNavigationDuplicatedError (from, to) {\n var error = createRouterError(\n from,\n to,\n NavigationFailureType.duplicated,\n (\"Avoided redundant navigation to current location: \\\"\" + (from.fullPath) + \"\\\".\")\n );\n // backwards compatible with the first introduction of Errors\n error.name = 'NavigationDuplicated';\n return error\n}\n\nfunction createNavigationCancelledError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.cancelled,\n (\"Navigation cancelled from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" with a new navigation.\")\n )\n}\n\nfunction createNavigationAbortedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.aborted,\n (\"Navigation aborted from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createRouterError (from, to, type, message) {\n var error = new Error(message);\n error._isRouter = true;\n error.from = from;\n error.to = to;\n error.type = type;\n\n return error\n}\n\nvar propertiesToLog = ['params', 'query', 'hash'];\n\nfunction stringifyRoute (to) {\n if (typeof to === 'string') { return to }\n if ('path' in to) { return to.path }\n var location = {};\n propertiesToLog.forEach(function (key) {\n if (key in to) { location[key] = to[key]; }\n });\n return JSON.stringify(location, null, 2)\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nfunction isNavigationFailure (err, errorType) {\n return (\n isError(err) &&\n err._isRouter &&\n (errorType == null || err.type === errorType)\n )\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n process.env.NODE_ENV !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n this.listeners = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (\n location,\n onComplete,\n onAbort\n) {\n var this$1$1 = this;\n\n var route;\n // catch redirect option https://github.com/vuejs/vue-router/issues/3201\n try {\n route = this.router.match(location, this.current);\n } catch (e) {\n this.errorCbs.forEach(function (cb) {\n cb(e);\n });\n // Exception should still be thrown\n throw e\n }\n var prev = this.current;\n this.confirmTransition(\n route,\n function () {\n this$1$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1$1.ensureURL();\n this$1$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n\n // fire ready cbs once\n if (!this$1$1.ready) {\n this$1$1.ready = true;\n this$1$1.readyCbs.forEach(function (cb) {\n cb(route);\n });\n }\n },\n function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1$1.ready) {\n // Initial redirection should not mark the history as ready yet\n // because it's triggered by the redirection instead\n // https://github.com/vuejs/vue-router/issues/3225\n // https://github.com/vuejs/vue-router/issues/3331\n if (!isNavigationFailure(err, NavigationFailureType.redirected) || prev !== START) {\n this$1$1.ready = true;\n this$1$1.readyErrorCbs.forEach(function (cb) {\n cb(err);\n });\n }\n }\n }\n );\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1$1 = this;\n\n var current = this.current;\n this.pending = route;\n var abort = function (err) {\n // changed after adding errors with\n // https://github.com/vuejs/vue-router/pull/3047 before that change,\n // redirect and aborted navigation would produce an err == null\n if (!isNavigationFailure(err) && isError(err)) {\n if (this$1$1.errorCbs.length) {\n this$1$1.errorCbs.forEach(function (cb) {\n cb(err);\n });\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, 'uncaught error during route navigation:');\n }\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n var lastRouteIndex = route.matched.length - 1;\n var lastCurrentIndex = current.matched.length - 1;\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n lastRouteIndex === lastCurrentIndex &&\n route.matched[lastRouteIndex] === current.matched[lastCurrentIndex]\n ) {\n this.ensureURL();\n if (route.hash) {\n handleScroll(this.router, current, route, false);\n }\n return abort(createNavigationDuplicatedError(current, route))\n }\n\n var ref = resolveQueue(\n this.current.matched,\n route.matched\n );\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n var iterator = function (hook, next) {\n if (this$1$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route))\n }\n try {\n hook(route, current, function (to) {\n if (to === false) {\n // next(false) -> abort navigation, ensure current URL\n this$1$1.ensureURL(true);\n abort(createNavigationAbortedError(current, route));\n } else if (isError(to)) {\n this$1$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' &&\n (typeof to.path === 'string' || typeof to.name === 'string'))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort(createNavigationRedirectedError(current, route));\n if (typeof to === 'object' && to.replace) {\n this$1$1.replace(to);\n } else {\n this$1$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated);\n var queue = enterGuards.concat(this$1$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route))\n }\n this$1$1.pending = null;\n onComplete(route);\n if (this$1$1.router.app) {\n this$1$1.router.app.$nextTick(function () {\n handleRouteEntered(route);\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n this.current = route;\n this.cb && this.cb(route);\n};\n\nHistory.prototype.setupListeners = function setupListeners () {\n // Default implementation is empty\n};\n\nHistory.prototype.teardown = function teardown () {\n // clean up event listeners\n // https://github.com/vuejs/vue-router/issues/2341\n this.listeners.forEach(function (cleanupListener) {\n cleanupListener();\n });\n this.listeners = [];\n\n // reset current history route\n // https://github.com/vuejs/vue-router/issues/3294\n this.current = START;\n this.pending = null;\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect <base> tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated\n) {\n return extractGuards(\n activated,\n 'beforeRouteEnter',\n function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key)\n }\n )\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n if (typeof cb === 'function') {\n if (!match.enteredCbs[key]) {\n match.enteredCbs[key] = [];\n }\n match.enteredCbs[key].push(cb);\n }\n next(cb);\n })\n }\n}\n\n/* */\n\nvar HTML5History = /*@__PURE__*/(function (History) {\n function HTML5History (router, base) {\n History.call(this, router, base);\n\n this._startLocation = getLocation(this.base);\n }\n\n if ( History ) HTML5History.__proto__ = History;\n HTML5History.prototype = Object.create( History && History.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.setupListeners = function setupListeners () {\n var this$1$1 = this;\n\n if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = function () {\n var current = this$1$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1$1.base);\n if (this$1$1.current === START && location === this$1$1._startLocation) {\n return\n }\n\n this$1$1.transitionTo(location, function (route) {\n if (supportsScroll) {\n handleScroll(router, route, current, true);\n }\n });\n };\n window.addEventListener('popstate', handleRoutingEvent);\n this.listeners.push(function () {\n window.removeEventListener('popstate', handleRoutingEvent);\n });\n };\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1$1.base + route.fullPath));\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1$1.base + route.fullPath));\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = window.location.pathname;\n var pathLowerCase = path.toLowerCase();\n var baseLowerCase = base.toLowerCase();\n // base=\"/a\" shouldn't turn path=\"/app\" into \"/a/pp\"\n // https://github.com/vuejs/vue-router/issues/3555\n // so we ensure the trailing slash in the base\n if (base && ((pathLowerCase === baseLowerCase) ||\n (pathLowerCase.indexOf(cleanPath(baseLowerCase + '/')) === 0))) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\nvar HashHistory = /*@__PURE__*/(function (History) {\n function HashHistory (router, base, fallback) {\n History.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History ) HashHistory.__proto__ = History;\n HashHistory.prototype = Object.create( History && History.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1$1 = this;\n\n if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = function () {\n var current = this$1$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n };\n var eventType = supportsPushState ? 'popstate' : 'hashchange';\n window.addEventListener(\n eventType,\n handleRoutingEvent\n );\n this.listeners.push(function () {\n window.removeEventListener(eventType, handleRoutingEvent);\n });\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(cleanPath(base + '/#' + location));\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n // empty path\n if (index < 0) { return '' }\n\n href = href.slice(index + 1);\n\n return href\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\nvar AbstractHistory = /*@__PURE__*/(function (History) {\n function AbstractHistory (router, base) {\n History.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History ) AbstractHistory.__proto__ = History;\n AbstractHistory.prototype = Object.create( History && History.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1$1.stack = this$1$1.stack.slice(0, this$1$1.index + 1).concat(route);\n this$1$1.index++;\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1$1.stack = this$1$1.stack.slice(0, this$1$1.index).concat(route);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(\n route,\n function () {\n var prev = this$1$1.current;\n this$1$1.index = targetIndex;\n this$1$1.updateRoute(route);\n this$1$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n },\n function (err) {\n if (isNavigationFailure(err, NavigationFailureType.duplicated)) {\n this$1$1.index = targetIndex;\n }\n }\n );\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\n\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n if (process.env.NODE_ENV !== 'production') {\n warn(this instanceof VueRouter, \"Router must be called with the new operator.\");\n }\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback =\n mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (process.env.NODE_ENV !== 'production') {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (raw, current, redirectedFrom) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1$1 = this;\n\n process.env.NODE_ENV !== 'production' &&\n assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // set up app destroyed handler\n // https://github.com/vuejs/vue-router/issues/2639\n app.$once('hook:destroyed', function () {\n // clean out app from this.apps array once destroyed\n var index = this$1$1.apps.indexOf(app);\n if (index > -1) { this$1$1.apps.splice(index, 1); }\n // ensure we still have a main app or null if no apps\n // we do not release the router so it can be reused\n if (this$1$1.app === app) { this$1$1.app = this$1$1.apps[0] || null; }\n\n if (!this$1$1.app) { this$1$1.history.teardown(); }\n });\n\n // main app previously initialized\n // return as we don't need to set up new history listener\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History || history instanceof HashHistory) {\n var handleInitialScroll = function (routeOrError) {\n var from = history.current;\n var expectScroll = this$1$1.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll && 'fullPath' in routeOrError) {\n handleScroll(this$1$1, routeOrError, from, false);\n }\n };\n var setupListeners = function (routeOrError) {\n history.setupListeners();\n handleInitialScroll(routeOrError);\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupListeners,\n setupListeners\n );\n }\n\n history.listen(function (route) {\n this$1$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1$1.history.push(location, resolve, reject);\n })\n } else {\n this.history.push(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1$1.history.replace(location, resolve, reject);\n })\n } else {\n this.history.replace(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply(\n [],\n route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n })\n )\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n current = current || this.history.current;\n var location = normalizeLocation(to, current, append, this);\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.getRoutes = function getRoutes () {\n return this.matcher.getRoutes()\n};\n\nVueRouter.prototype.addRoute = function addRoute (parentOrRoute, route) {\n this.matcher.addRoute(parentOrRoute, route);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, 'router.addRoutes() is deprecated and has been removed in Vue Router 4. Use router.addRoute() instead.');\n }\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nvar VueRouter$1 = VueRouter;\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\n// We cannot remove this as it would be a breaking change\nVueRouter.install = install;\nVueRouter.version = '3.6.5';\nVueRouter.isNavigationFailure = isNavigationFailure;\nVueRouter.NavigationFailureType = NavigationFailureType;\nVueRouter.START_LOCATION = START;\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nvar version = '3.6.5';\n\nexport { NavigationFailureType, Link as RouterLink, View as RouterView, START as START_LOCATION, VueRouter$1 as default, isNavigationFailure, version };\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n * @author Sujith Haridasan <sujith.h@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\n\nconst sanitize = function(url) {\n\treturn url.replace(/\\/$/, '') // Remove last url slash\n}\n\nexport default {\n\n\t/**\n\t * This Promise is used to chain a request that require an admin password confirmation\n\t * Since chaining Promise have a very precise behavior concerning catch and then,\n\t * you'll need to be careful when using it.\n\t * e.g\n\t * // store\n\t * action(context) {\n\t * return api.requireAdmin().then((response) => {\n\t * return api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {API failure});\n\t * }).catch((error) => {requireAdmin failure});\n\t * }\n\t * // vue\n\t * this.$store.dispatch('action').then(() => {always executed})\n\t *\n\t * Since Promise.then().catch().then() will always execute the last then\n\t * this.$store.dispatch('action').then will always be executed\n\t *\n\t * If you want requireAdmin failure to also catch the API request failure\n\t * you will need to throw a new error in the api.get.catch()\n\t *\n\t * e.g\n\t * api.requireAdmin().then((response) => {\n\t * api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {throw error;});\n\t * }).catch((error) => {requireAdmin OR API failure});\n\t *\n\t * @return {Promise}\n\t */\n\trequireAdmin() {\n\t\treturn confirmPassword()\n\t},\n\tget(url, options) {\n\t\treturn axios.get(sanitize(url), options)\n\t},\n\tpost(url, data) {\n\t\treturn axios.post(sanitize(url), data)\n\t},\n\tpatch(url, data) {\n\t\treturn axios.patch(sanitize(url), data)\n\t},\n\tput(url, data) {\n\t\treturn axios.put(sanitize(url), data)\n\t},\n\tdelete(url, data) {\n\t\treturn axios.delete(sanitize(url), { params: data })\n\t},\n}\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Arthur Schiwon <blizzz@arthur-schiwon.de>\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Daniel Calviño Sánchez <danxuliu@gmail.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n * @author Vincent Petry <vincent@nextcloud.com>\n * @author Stephan Orbaugh <stephan.orbaugh@nextcloud.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport api from './api.js'\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport logger from '../logger.js'\n\nconst orderGroups = function(groups, orderBy) {\n\t/* const SORT_USERCOUNT = 1;\n\t * const SORT_GROUPNAME = 2;\n\t * https://github.com/nextcloud/server/blob/208e38e84e1a07a49699aa90dc5b7272d24489f0/lib/private/Group/MetaData.php#L34\n\t */\n\tif (orderBy === 1) {\n\t\treturn groups.sort((a, b) => a.usercount - a.disabled < b.usercount - b.disabled)\n\t} else {\n\t\treturn groups.sort((a, b) => a.name.localeCompare(b.name))\n\t}\n}\n\nconst defaults = {\n\tgroup: {\n\t\tid: '',\n\t\tname: '',\n\t\tusercount: 0,\n\t\tdisabled: 0,\n\t\tcanAdd: true,\n\t\tcanRemove: true,\n\t},\n}\n\nconst state = {\n\tusers: [],\n\tgroups: [],\n\torderBy: 1,\n\tminPasswordLength: 0,\n\tusersOffset: 0,\n\tusersLimit: 25,\n\tuserCount: 0,\n\tshowConfig: {\n\t\tshowStoragePath: false,\n\t\tshowUserBackend: false,\n\t\tshowLastLogin: false,\n\t\tshowNewUserForm: false,\n\t\tshowLanguages: false,\n\t},\n}\n\nconst mutations = {\n\tappendUsers(state, usersObj) {\n\t\tconst existingUsers = state.users.map(({ id }) => id)\n\t\tconst newUsers = Object.values(usersObj)\n\t\t\t.filter(({ id }) => !existingUsers.includes(id))\n\n\t\tconst users = state.users.concat(newUsers)\n\t\tstate.usersOffset += state.usersLimit\n\t\tstate.users = users\n\t},\n\tsetPasswordPolicyMinLength(state, length) {\n\t\tstate.minPasswordLength = length !== '' ? length : 0\n\t},\n\tinitGroups(state, { groups, orderBy, userCount }) {\n\t\tstate.groups = groups.map(group => Object.assign({}, defaults.group, group))\n\t\tstate.orderBy = orderBy\n\t\tstate.userCount = userCount\n\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\n\t},\n\taddGroup(state, { gid, displayName }) {\n\t\ttry {\n\t\t\tif (typeof state.groups.find((group) => group.id === gid) !== 'undefined') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// extend group to default values\n\t\t\tconst group = Object.assign({}, defaults.group, {\n\t\t\t\tid: gid,\n\t\t\t\tname: displayName,\n\t\t\t})\n\t\t\tstate.groups.unshift(group)\n\t\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\t\t} catch (e) {\n\t\t\tconsole.error('Can\\'t create group', e)\n\t\t}\n\t},\n\trenameGroup(state, { gid, displayName }) {\n\t\tconst groupIndex = state.groups.findIndex(groupSearch => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tconst updatedGroup = state.groups[groupIndex]\n\t\t\tupdatedGroup.name = displayName\n\t\t\tstate.groups.splice(groupIndex, 1, updatedGroup)\n\t\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\t\t}\n\t},\n\tremoveGroup(state, gid) {\n\t\tconst groupIndex = state.groups.findIndex(groupSearch => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tstate.groups.splice(groupIndex, 1)\n\t\t}\n\t},\n\taddUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// increase count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount++\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.push(gid)\n\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\t},\n\tremoveUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// lower count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount--\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\t},\n\taddUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.push(gid)\n\t},\n\tremoveUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t},\n\tdeleteUser(state, userid) {\n\t\tconst userIndex = state.users.findIndex(user => user.id === userid)\n\t\tthis.commit('updateUserCounts', { user: state.users[userIndex], actionType: 'remove' })\n\t\tstate.users.splice(userIndex, 1)\n\t},\n\taddUserData(state, response) {\n\t\tconst user = response.data.ocs.data\n\t\tstate.users.unshift(user)\n\t\tthis.commit('updateUserCounts', { user, actionType: 'create' })\n\t},\n\tenableDisableUser(state, { userid, enabled }) {\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\tuser.enabled = enabled\n\t\tthis.commit('updateUserCounts', { user, actionType: enabled ? 'enable' : 'disable' })\n\t},\n\t// update active/disabled counts, groups counts\n\tupdateUserCounts(state, { user, actionType }) {\n\t\t// 0 is a special value\n\t\tif (state.userCount === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst disabledGroup = state.groups.find(group => group.id === 'disabled')\n\t\tswitch (actionType) {\n\t\tcase 'enable':\n\t\tcase 'disable':\n\t\t\tdisabledGroup.usercount += user.enabled ? -1 : 1 // update Disabled Users count\n\t\t\tstate.userCount += user.enabled ? 1 : -1 // update Active Users count\n\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\tgroup.disabled += user.enabled ? -1 : 1 // update group disabled count\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'create':\n\t\t\tstate.userCount++ // increment Active Users count\n\n\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\tstate.groups\n\t\t\t\t\t.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t .usercount++ // increment group total count\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'remove':\n\t\t\tif (user.enabled) {\n\t\t\t\tstate.userCount-- // decrement Active Users count\n\t\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t\tif (!group) {\n\t\t\t\t\t\tconsole.warn('User group ' + userGroup + ' does not exist during user removal')\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tgroup.usercount-- // decrement group total count\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tdisabledGroup.usercount-- // decrement Disabled Users count\n\t\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t\tgroup.disabled-- // decrement group disabled count\n\t\t\t\t})\n\t\t\t}\n\t\t\tbreak\n\t\tdefault:\n\t\t\tlogger.error(`Unknown action type in updateUserCounts: '${actionType}'`)\n\t\t\t// not throwing error to interrupt execution as this is not fatal\n\t\t}\n\t},\n\tsetUserData(state, { userid, key, value }) {\n\t\tif (key === 'quota') {\n\t\t\tconst humanValue = OC.Util.computerFileSize(value)\n\t\t\tstate.users.find(user => user.id === userid)[key][key] = humanValue !== null ? humanValue : value\n\t\t} else {\n\t\t\tstate.users.find(user => user.id === userid)[key] = value\n\t\t}\n\t},\n\n\t/**\n\t * Reset users list\n\t *\n\t * @param {object} state the store state\n\t */\n\tresetUsers(state) {\n\t\tstate.users = []\n\t\tstate.usersOffset = 0\n\t},\n\n\tsetShowConfig(state, { key, value }) {\n\t\tstate.showConfig[key] = value\n\t},\n}\n\nconst getters = {\n\tgetUsers(state) {\n\t\treturn state.users\n\t},\n\tgetGroups(state) {\n\t\treturn state.groups\n\t},\n\tgetSubadminGroups(state) {\n\t\t// Can't be subadmin of admin or disabled\n\t\treturn state.groups.filter(group => group.id !== 'admin' && group.id !== 'disabled')\n\t},\n\tgetPasswordPolicyMinLength(state) {\n\t\treturn state.minPasswordLength\n\t},\n\tgetUsersOffset(state) {\n\t\treturn state.usersOffset\n\t},\n\tgetUsersLimit(state) {\n\t\treturn state.usersLimit\n\t},\n\tgetUserCount(state) {\n\t\treturn state.userCount\n\t},\n\tgetShowConfig(state) {\n\t\treturn state.showConfig\n\t},\n}\n\nconst CancelToken = axios.CancelToken\nlet searchRequestCancelSource = null\n\nconst actions = {\n\n\t/**\n\t * search users\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @return {Promise}\n\t */\n\tsearchUsers(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search })).catch((error) => {\n\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t})\n\t},\n\n\t/**\n\t * Get user details\n\t *\n\t * @param {object} context store context\n\t * @param {string} userId user id\n\t * @return {Promise}\n\t */\n\tgetUser(context, userId) {\n\t\treturn api.get(generateOcsUrl(`cloud/users/${userId}`)).catch((error) => {\n\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t})\n\t},\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @param {string} options.group Get users from group\n\t * @return {Promise}\n\t */\n\tgetUsers(context, { offset, limit, search, group }) {\n\t\tif (searchRequestCancelSource) {\n\t\t\tsearchRequestCancelSource.cancel('Operation canceled by another search request.')\n\t\t}\n\t\tsearchRequestCancelSource = CancelToken.source()\n\t\tsearch = typeof search === 'string' ? search : ''\n\n\t\t/**\n\t\t * Adding filters in the search bar such as in:files, in:users, etc.\n\t\t * collides with this particular search, so we need to remove them\n\t\t * here and leave only the original search query\n\t\t */\n\t\tsearch = search.replace(/in:[^\\s]+/g, '').trim()\n\n\t\tgroup = typeof group === 'string' ? group : ''\n\t\tif (group !== '') {\n\t\t\treturn api.get(generateOcsUrl('cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}', { group: encodeURIComponent(group), offset, limit, search }), {\n\t\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t\t})\n\t\t\t\t.then((response) => {\n\t\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\t}\n\t\t\t\t\treturn usersCount\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t}\n\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }), {\n\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t})\n\t\t\t.then((response) => {\n\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t}\n\t\t\t\treturn usersCount\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t}\n\t\t\t})\n\t},\n\n\tgetGroups(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\tconst limitParam = limit === -1 ? '' : `&limit=${limit}`\n\t\treturn api.get(generateOcsUrl('cloud/groups?offset={offset}&search={search}', { offset, search }) + limitParam)\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.groups).length > 0) {\n\t\t\t\t\tresponse.data.ocs.data.groups.forEach(function(group) {\n\t\t\t\t\t\tcontext.commit('addGroup', { gid: group, displayName: group })\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search -\n\t * @return {Promise}\n\t */\n\tgetUsersFromList(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details from a groupid\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.groupid -\n\t * @return {Promise}\n\t */\n\tgetUsersFromGroup(context, { groupid, offset, limit }) {\n\t\treturn api.get(generateOcsUrl('cloud/users/{groupId}/details?offset={offset}&limit={limit}', { groupId: encodeURIComponent(groupid), offset, limit }))\n\t\t\t.then((response) => context.commit('getUsersFromList', response.data.ocs.data.users))\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tgetPasswordPolicyMinLength(context) {\n\t\tif (OC.getCapabilities().password_policy && OC.getCapabilities().password_policy.minLength) {\n\t\t\tcontext.commit('setPasswordPolicyMinLength', OC.getCapabilities().password_policy.minLength)\n\t\t\treturn OC.getCapabilities().password_policy.minLength\n\t\t}\n\t\treturn false\n\t},\n\n\t/**\n\t * Add group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\taddGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/groups'), { groupid: gid })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('addGroup', { gid, displayName: gid })\n\t\t\t\t\treturn { gid, displayName: gid }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { gid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from adding the user to a group that doesn't exists\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Rename group\n\t *\n\t * @param {object} context store context\n\t * @param {string} groupid Group id\n\t * @param {string} displayName Group display name\n\t * @return {Promise}\n\t */\n\trenameGroup(context, { groupid, displayName }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(groupid) }), { key: 'displayname', value: displayName })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('renameGroup', { gid: groupid, displayName })\n\t\t\t\t\treturn { groupid, displayName }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { groupid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from renaming the group\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Remove group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\tremoveGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(gid) }))\n\t\t\t\t.then((response) => context.commit('removeGroup', gid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { gid, error }))\n\t},\n\n\t/**\n\t * Add user to group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { userid, error })\n\t\t\t// let's throw one more time to prevent\n\t\t\t// the view from removing the user row on failure\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Add user to group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Mark all user devices for remote wipe\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\twipeUserDevices(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/wipe', { userid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Delete a user\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tdeleteUser(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then((response) => context.commit('deleteUser', userid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Add a user\n\t *\n\t * @param {object} context store context\n\t * @param {Function} context.commit -\n\t * @param {Function} context.dispatch -\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.password User password\n\t * @param {string} options.displayName User display name\n\t * @param {string} options.email User email\n\t * @param {string} options.groups User groups\n\t * @param {string} options.subadmin User subadmin groups\n\t * @param {string} options.quota User email\n\t * @param {string} options.language User language\n\t * @param {string} options.manager User manager\n\t * @return {Promise}\n\t */\n\taddUser({ commit, dispatch }, { userid, password, displayName, email, groups, subadmin, quota, language, manager }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users'), { userid, password, displayName, email, groups, subadmin, quota, language, manager })\n\t\t\t\t.then((response) => dispatch('addUserData', userid || response.data.ocs.data.id))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcommit('API_FAILURE', { userid, error })\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Get user data and commit addition\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\taddUserData(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.get(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then((response) => context.commit('addUserData', response))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Enable or disable user\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {boolean} options.enabled User enablement status\n\t * @return {Promise}\n\t */\n\tenableDisableUser(context, { userid, enabled = true }) {\n\t\tconst userStatus = enabled ? 'enable' : 'disable'\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(generateOcsUrl('cloud/users/{userid}/{userStatus}', { userid, userStatus }))\n\t\t\t\t.then((response) => context.commit('enableDisableUser', { userid, enabled }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Edit user data\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.key User field to edit\n\t * @param {string} options.value Value of the change\n\t * @return {Promise}\n\t */\n\tsetUserData(context, { userid, key, value }) {\n\t\tconst allowedEmpty = ['email', 'displayname', 'manager']\n\t\tif (['email', 'language', 'quota', 'displayname', 'password', 'manager'].indexOf(key) !== -1) {\n\t\t\t// We allow empty email or displayname\n\t\t\tif (typeof value === 'string'\n\t\t\t\t&& (\n\t\t\t\t\t(allowedEmpty.indexOf(key) === -1 && value.length > 0)\n\t\t\t\t\t|| allowedEmpty.indexOf(key) !== -1\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn api.requireAdmin().then((response) => {\n\t\t\t\t\treturn api.put(generateOcsUrl('cloud/users/{userid}', { userid }), { key, value })\n\t\t\t\t\t\t.then((response) => context.commit('setUserData', { userid, key, value }))\n\t\t\t\t\t\t.catch((error) => { throw error })\n\t\t\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t\t\t}\n\t\t}\n\t\treturn Promise.reject(new Error('Invalid request data'))\n\t},\n\n\t/**\n\t * Send welcome mail\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tsendWelcomeMail(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/welcome', { userid }))\n\t\t\t\t.then(response => true)\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport api from './api.js'\nimport Vue from 'vue'\nimport { generateUrl } from '@nextcloud/router'\nimport { showError, showInfo } from '@nextcloud/dialogs'\n\nconst state = {\n\tapps: [],\n\tcategories: [],\n\tupdateCount: 0,\n\tloading: {},\n\tloadingList: false,\n\tgettingCategoriesPromise: null,\n}\n\nconst mutations = {\n\n\tAPPS_API_FAILURE(state, error) {\n\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '<br>' + error.error.response.data.data.message, { isHTML: true })\n\t\tconsole.error(state, error)\n\t},\n\n\tinitCategories(state, { categories, updateCount }) {\n\t\tstate.categories = categories\n\t\tstate.updateCount = updateCount\n\t},\n\n\tupdateCategories(state, categoriesPromise) {\n\t\tstate.gettingCategoriesPromise = categoriesPromise\n\t},\n\n\tsetUpdateCount(state, updateCount) {\n\t\tstate.updateCount = updateCount\n\t},\n\n\taddCategory(state, category) {\n\t\tstate.categories.push(category)\n\t},\n\n\tappendCategories(state, categoriesArray) {\n\t\t// convert obj to array\n\t\tstate.categories = categoriesArray\n\t},\n\n\tsetAllApps(state, apps) {\n\t\tstate.apps = apps\n\t},\n\n\tsetError(state, { appId, error }) {\n\t\tif (!Array.isArray(appId)) {\n\t\t\tappId = [appId]\n\t\t}\n\t\tappId.forEach((_id) => {\n\t\t\tconst app = state.apps.find(app => app.id === _id)\n\t\t\tapp.error = error\n\t\t})\n\t},\n\n\tclearError(state, { appId, error }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.error = null\n\t},\n\n\tenableApp(state, { appId, groups }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = true\n\t\tapp.groups = groups\n\t},\n\n\tdisableApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = false\n\t\tapp.groups = []\n\t\tif (app.removable) {\n\t\t\tapp.canUnInstall = true\n\t\t}\n\t},\n\n\tuninstallApp(state, appId) {\n\t\tstate.apps.find(app => app.id === appId).active = false\n\t\tstate.apps.find(app => app.id === appId).groups = []\n\t\tstate.apps.find(app => app.id === appId).needsDownload = true\n\t\tstate.apps.find(app => app.id === appId).installed = false\n\t\tstate.apps.find(app => app.id === appId).canUnInstall = false\n\t\tstate.apps.find(app => app.id === appId).canInstall = true\n\t},\n\n\tupdateApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tconst version = app.update\n\t\tapp.update = null\n\t\tapp.version = version\n\t\tstate.updateCount--\n\n\t},\n\n\tresetApps(state) {\n\t\tstate.apps = []\n\t},\n\treset(state) {\n\t\tstate.apps = []\n\t\tstate.categories = []\n\t\tstate.updateCount = 0\n\t},\n\tstartLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, true)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, true)\n\t\t}\n\t},\n\tstopLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, false)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, false)\n\t\t}\n\t},\n}\n\nconst getters = {\n\tloading(state) {\n\t\treturn function(id) {\n\t\t\treturn state.loading[id]\n\t\t}\n\t},\n\tgetCategories(state) {\n\t\treturn state.categories\n\t},\n\tgetAllApps(state) {\n\t\treturn state.apps\n\t},\n\tgetUpdateCount(state) {\n\t\treturn state.updateCount\n\t},\n\tgetCategoryById: (state) => (selectedCategoryId) => {\n\t\treturn state.categories.find((category) => category.id === selectedCategoryId)\n\t},\n}\n\nconst actions = {\n\n\tenableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.post(generateUrl('settings/apps/enable'), { appIds: apps, groups })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('enableApp', { appId: _appId, groups })\n\t\t\t\t\t})\n\n\t\t\t\t\t// check for server health\n\t\t\t\t\treturn api.get(generateUrl('apps/files'))\n\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\tif (response.data.update_required) {\n\t\t\t\t\t\t\t\tshowInfo(\n\t\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t\t'settings',\n\t\t\t\t\t\t\t\t\t\t'The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tonClick: () => window.location.reload(),\n\t\t\t\t\t\t\t\t\t\tclose: false,\n\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\t\t\tlocation.reload()\n\t\t\t\t\t\t\t\t}, 5000)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\t\tif (!Array.isArray(appId)) {\n\t\t\t\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\t\t\t\terror: t('settings', 'Error: This app cannot be enabled because it makes the server unstable'),\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tforceEnableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then(() => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.post(generateUrl('settings/apps/force'), { appId })\n\t\t\t\t.then((response) => {\n\t\t\t\t\t// TODO: find a cleaner solution\n\t\t\t\t\tlocation.reload()\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tdisableApp(context, { appId }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\treturn api.post(generateUrl('settings/apps/disable'), { appIds: apps })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('disableApp', _appId)\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tuninstallApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\treturn api.get(generateUrl(`settings/apps/uninstall/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('uninstallApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tupdateApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.get(generateUrl(`settings/apps/update/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('updateApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tgetAllApps(context) {\n\t\tcontext.commit('startLoading', 'list')\n\t\treturn api.get(generateUrl('settings/apps/list'))\n\t\t\t.then((response) => {\n\t\t\t\tcontext.commit('setAllApps', response.data.apps)\n\t\t\t\tcontext.commit('stopLoading', 'list')\n\t\t\t\treturn true\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tasync getCategories(context, { shouldRefetchCategories = false } = {}) {\n\t\tif (shouldRefetchCategories || !context.state.gettingCategoriesPromise) {\n\t\t\tcontext.commit('startLoading', 'categories')\n\t\t\ttry {\n\t\t\t\tconst categoriesPromise = api.get(generateUrl('settings/apps/categories'))\n\t\t\t\tcontext.commit('updateCategories', categoriesPromise)\n\t\t\t\tconst categoriesPromiseResponse = await categoriesPromise\n\t\t\t\tif (categoriesPromiseResponse.data.length > 0) {\n\t\t\t\t\tcontext.commit('appendCategories', categoriesPromiseResponse.data)\n\t\t\t\t\tcontext.commit('stopLoading', 'categories')\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\tcontext.commit('stopLoading', 'categories')\n\t\t\t\treturn false\n\t\t\t} catch (error) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t}\n\t\treturn context.state.gettingCategoriesPromise\n\t},\n\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport api from './api.js'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nconst state = {}\nconst mutations = {}\nconst getters = {}\nconst actions = {\n\t/**\n\t * Set application config in database\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.app Application name\n\t * @param {boolean} options.key Config key\n\t * @param {boolean} options.value Value to set\n\t * @return {Promise}\n\t */\n\tsetAppConfig(context, { app, key, value }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('apps/provisioning_api/api/v1/config/apps/{app}/{key}', { app, key }), { value })\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { app, key, value, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport Vuex, { Store } from 'vuex'\nimport users from './users.js'\nimport apps from './apps.js'\nimport settings from './settings.js'\nimport oc from './oc.js'\nimport { showError } from '@nextcloud/dialogs'\n\nVue.use(Vuex)\n\nconst debug = process.env.NODE_ENV !== 'production'\n\nconst mutations = {\n\tAPI_FAILURE(state, error) {\n\t\ttry {\n\t\t\tconst message = error.error.response.data.ocs.meta.message\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '<br>' + message, { isHTML: true })\n\t\t} catch (e) {\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.'))\n\t\t}\n\t\tconsole.error(state, error)\n\t},\n}\n\nexport default new Store({\n\tmodules: {\n\t\tusers,\n\t\tapps,\n\t\tsettings,\n\t\toc,\n\t},\n\tstrict: debug,\n\n\tmutations,\n})\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst state = {\n\tserverData: {},\n}\nconst mutations = {\n\tsetServerData(state, data) {\n\t\tstate.serverData = data\n\t},\n}\nconst getters = {\n\tgetServerData(state) {\n\t\treturn state.serverData\n\t},\n}\nconst actions = {}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport Router from 'vue-router'\nimport { generateUrl } from '@nextcloud/router'\nimport { APPS_SECTION_ENUM } from './constants/AppsConstants.js'\nimport store from './store/index.js'\nimport { setPageHeading } from '../../../core/src/OCP/accessibility.js'\n\n// Dynamic loading\nconst Users = () => import(/* webpackChunkName: 'settings-users' */'./views/Users.vue')\nconst Apps = () => import(/* webpackChunkName: 'settings-apps-view' */'./views/Apps.vue')\n\nVue.use(Router)\n\n/*\n * This is the list of routes where the vuejs app will\n * take over php to provide data\n * You need to forward the php routing (routes.php) to\n * the settings-vue template, where the vue-router will\n * ensure the proper route.\n * ⚠️ Routes needs to match the php routes.\n */\nconst baseTitle = document.title\nconst router = new Router({\n\tmode: 'history',\n\t// if index.php is in the url AND we got this far, then it's working:\n\t// let's keep using index.php in the url\n\tbase: generateUrl(''),\n\tlinkActiveClass: 'active',\n\troutes: [\n\t\t{\n\t\t\tpath: '/:index(index.php/)?settings/users',\n\t\t\tcomponent: Users,\n\t\t\tprops: true,\n\t\t\tname: 'users',\n\t\t\tmeta: {\n\t\t\t\ttitle: () => {\n\t\t\t\t\treturn t('settings', 'Active users')\n\t\t\t\t},\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tpath: ':selectedGroup',\n\t\t\t\t\tname: 'group',\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\ttitle: (to) => {\n\t\t\t\t\t\t\tif (to.params.selectedGroup === 'admin') {\n\t\t\t\t\t\t\t\treturn t('settings', 'Admins')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (to.params.selectedGroup === 'disabled') {\n\t\t\t\t\t\t\t\treturn t('settings', 'Disabled users')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn decodeURIComponent(to.params.selectedGroup)\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tcomponent: Users,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tpath: '/:index(index.php/)?settings/apps',\n\t\t\tcomponent: Apps,\n\t\t\tprops: true,\n\t\t\tname: 'apps',\n\t\t\tmeta: {\n\t\t\t\ttitle: () => {\n\t\t\t\t\treturn t('settings', 'Your apps')\n\t\t\t\t},\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tpath: ':category',\n\t\t\t\t\tname: 'apps-category',\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\ttitle: async (to) => {\n\t\t\t\t\t\t\tif (to.name === 'apps') {\n\t\t\t\t\t\t\t\treturn t('settings', 'Your apps')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (APPS_SECTION_ENUM[to.params.category]) {\n\t\t\t\t\t\t\t\treturn APPS_SECTION_ENUM[to.params.category]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tawait store.dispatch('getCategories')\n\t\t\t\t\t\t\tconst category = store.getters.getCategoryById(to.params.category)\n\t\t\t\t\t\t\tif (category.displayName) {\n\t\t\t\t\t\t\t\treturn category.displayName\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\tcomponent: Apps,\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: ':id',\n\t\t\t\t\t\t\tname: 'apps-details',\n\t\t\t\t\t\t\tcomponent: Apps,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t],\n})\n\nrouter.afterEach(async (to) => {\n\tconst metaTitle = await to.meta.title?.(to)\n\tif (metaTitle) {\n\t\tdocument.title = `${metaTitle} - ${baseTitle}`\n\t\tsetPageHeading(metaTitle)\n\t} else {\n\t\tdocument.title = baseTitle\n\t}\n})\n\nexport default router\n","/**\n * @copyright Copyright (c) 2022 Joas Schilling <coding@schilljs.com>\n *\n * @author Joas Schilling <coding@schilljs.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { loadState } from '@nextcloud/initial-state'\n\n/**\n * Set the page heading\n *\n * @param {string} heading page title from the history api\n * @since 27.0.0\n */\nexport function setPageHeading(heading) {\n\tconst headingEl = document.getElementById('page-heading-level-1')\n\tif (headingEl) {\n\t\theadingEl.textContent = heading\n\t}\n}\nexport default {\n\t/**\n\t * @return {boolean} Whether the user opted-out of shortcuts so that they should not be registered\n\t */\n\tdisableKeyboardShortcuts() {\n\t\treturn loadState('theming', 'shortcutsDisabled', false)\n\t},\n\tsetPageHeading,\n}\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author rakekniven <mark.ziegler@rakekniven.de>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport VTooltip from 'v-tooltip'\nimport { sync } from 'vuex-router-sync'\n\nimport App from './App.vue'\nimport router from './router.js'\nimport store from './store/index.js'\n\nVue.use(VTooltip, { defaultHtml: false })\n\nsync(store, router)\n\n// CSP config for webpack dynamic chunk loading\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(OC.requestToken)\n\n// bind to window\nVue.prototype.t = t\nVue.prototype.n = n\nVue.prototype.OC = OC\nVue.prototype.OCA = OCA\n// eslint-disable-next-line camelcase\nVue.prototype.oc_userconfig = oc_userconfig\n\nconst app = new Vue({\n\trouter,\n\tstore,\n\trender: h => h(App),\n}).$mount('#content')\n\nexport { app, router, store }\n","exports.sync = function (store, router, options) {\n var moduleName = (options || {}).moduleName || 'route'\n\n store.registerModule(moduleName, {\n namespaced: true,\n state: cloneRoute(router.currentRoute),\n mutations: {\n 'ROUTE_CHANGED': function ROUTE_CHANGED (state, transition) {\n store.state[moduleName] = cloneRoute(transition.to, transition.from)\n }\n }\n })\n\n var isTimeTraveling = false\n var currentPath\n\n // sync router on store change\n var storeUnwatch = store.watch(\n function (state) { return state[moduleName]; },\n function (route) {\n var fullPath = route.fullPath;\n if (fullPath === currentPath) {\n return\n }\n if (currentPath != null) {\n isTimeTraveling = true\n router.push(route)\n }\n currentPath = fullPath\n },\n { sync: true }\n )\n\n // sync store on router navigation\n var afterEachUnHook = router.afterEach(function (to, from) {\n if (isTimeTraveling) {\n isTimeTraveling = false\n return\n }\n currentPath = to.fullPath\n store.commit(moduleName + '/ROUTE_CHANGED', { to: to, from: from })\n })\n\n return function unsync () {\n // On unsync, remove router hook\n if (afterEachUnHook != null) {\n afterEachUnHook()\n }\n\n // On unsync, remove store watch\n if (storeUnwatch != null) {\n storeUnwatch()\n }\n\n // On unsync, unregister Module with store\n store.unregisterModule(moduleName)\n }\n}\n\nfunction cloneRoute (to, from) {\n var clone = {\n name: to.name,\n path: to.path,\n hash: to.hash,\n query: to.query,\n params: to.params,\n fullPath: to.fullPath,\n meta: to.meta\n }\n if (from) {\n clone.from = cloneRoute(from)\n }\n return Object.freeze(clone)\n}\n\n","// 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 = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(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 = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(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 = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + ({\"7418\":\"settings-apps-view\",\"8351\":\"settings-users\"}[chunkId] || chunkId) + \"-\" + chunkId + \".js?v=\" + {\"2250\":\"9c98ca37abd9ee1927b3\",\"7418\":\"c1cae41c530feb8e9906\",\"7996\":\"39e55a09e2da8534cf16\",\"8351\":\"61e8745bc13a1b980462\"}[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 = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(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 = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 8562;","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) 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\t8562: 0\n};\n\n__webpack_require__.f.j = function(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(function(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 = function(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 = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(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(function(id) { return 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, [7874], function() { return __webpack_require__(97268); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","APPS_SECTION_ENUM","Object","freeze","enabled","t","disabled","updates","featured","supported","getLoggerBuilder","setApp","detectUser","build","name","beforeMount","document","getElementById","$store","commit","JSON","parse","dataset","server","_c","this","_self","extend","a","b","key","encodeReserveRE","encodeReserveReplacer","c","charCodeAt","toString","commaRE","encode","str","encodeURIComponent","replace","decode","decodeURIComponent","err","castQueryParamValue","value","String","parseQuery","query","res","trim","split","forEach","param","parts","shift","val","length","join","undefined","Array","isArray","push","stringifyQuery","obj","keys","map","result","val2","filter","x","trailingSlashRE","createRoute","record","location","redirectedFrom","router","options","clone","e","route","meta","path","hash","params","fullPath","getFullPath","matched","formatMatch","START","unshift","parent","ref","_stringifyQuery","isSameRoute","onlyPath","isObjectEqual","aKeys","sort","bKeys","every","i","aVal","bVal","handleRouteEntered","instances","instance","cbs","enteredCbs","i$1","_isBeingDestroyed","View","functional","props","type","default","render","_","children","data","routerView","h","$createElement","$route","cache","_routerViewCache","depth","inactive","_routerRoot","vnodeData","$vnode","keepAlive","_directInactive","_inactive","$parent","routerViewDepth","cachedData","cachedComponent","component","configProps","fillPropsinData","components","registerRouteInstance","vm","current","hook","prepatch","vnode","componentInstance","init","propsToPass","config","resolveProps","attrs","resolvePath","relative","base","append","firstChar","charAt","stack","pop","segments","segment","cleanPath","isarray","arr","prototype","call","pathToRegexp_1","pathToRegexp","RegExp","groups","source","match","prefix","delimiter","optional","repeat","partial","asterisk","pattern","attachKeys","regexpToRegexp","flags","arrayToRegexp","tokensToRegExp","stringToRegexp","parse_1","tokensToFunction_1","tokensToFunction","tokensToRegExp_1","PATH_REGEXP","tokens","index","defaultDelimiter","exec","m","escaped","offset","slice","next","capture","group","modifier","escapeGroup","escapeString","substr","encodeURIComponentPretty","encodeURI","toUpperCase","matches","opts","pretty","token","TypeError","stringify","j","test","re","sensitive","strict","end","endsWithDelimiter","compile","regexpCompileCache","create","fillParams","routeMsg","filler","pathMatch","normalizeLocation","raw","_normalized","params$1","rawPath","parsedPath","hashIndex","indexOf","queryIndex","parsePath","basePath","extraQuery","_parseQuery","parsedQuery","resolveQuery","_Vue","noop","Link","to","required","tag","custom","Boolean","exact","exactPath","activeClass","exactActiveClass","ariaCurrentValue","event","this$1$1","$router","resolve","href","classes","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","target","queryIncludes","isIncludedRoute","handler","guardEvent","on","click","class","scopedSlot","$scopedSlots","$hasNormal","navigate","isActive","isExactActive","findAnchor","$slots","isStatic","aData","handler$1","event$1","aAttrs","metaKey","altKey","ctrlKey","shiftKey","defaultPrevented","button","currentTarget","getAttribute","preventDefault","child","inBrowser","window","createRouteMap","routes","oldPathList","oldPathMap","oldNameMap","parentRoute","pathList","pathMap","nameMap","addRouteRecord","l","splice","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","regex","compileRouteRegex","alias","redirect","beforeEnter","childMatchAs","aliases","aliasRoute","createMatcher","currentRoute","_createRoute","paramNames","record$1","matchRoute","originalRedirect","hasOwnProperty","resolveRecordPath","aliasedMatch","aliasedRecord","addRoute","parentOrRoute","getRoutes","addRoutes","len","Time","performance","now","Date","genStateKey","toFixed","_key","getStateKey","setStateKey","positionStore","setupScroll","history","scrollRestoration","protocolAndPath","protocol","host","absolutePath","stateCopy","state","replaceState","addEventListener","handlePopState","removeEventListener","handleScroll","from","isPop","app","behavior","scrollBehavior","$nextTick","position","getScrollPosition","shouldScroll","then","scrollToPosition","catch","saveScrollPosition","pageXOffset","y","pageYOffset","isValidPosition","isNumber","normalizePosition","v","hashStartsWithNumberRE","isObject","selector","el","querySelector","docRect","documentElement","getBoundingClientRect","elRect","left","top","getElementPosition","style","scrollTo","ua","supportsPushState","navigator","userAgent","pushState","url","NavigationFailureType","redirected","aborted","cancelled","duplicated","createNavigationCancelledError","createRouterError","message","error","Error","_isRouter","propertiesToLog","isError","isNavigationFailure","errorType","runQueue","queue","fn","cb","step","flatMapComponents","flatten","concat","apply","hasSymbol","Symbol","toStringTag","once","called","args","arguments","History","baseEl","normalizeBase","pending","ready","readyCbs","readyErrorCbs","errorCbs","listeners","extractGuards","records","bind","reverse","guards","def","guard","extractGuard","bindGuard","listen","onReady","errorCb","onError","transitionTo","onComplete","onAbort","prev","confirmTransition","updateRoute","ensureURL","afterHooks","abort","console","lastRouteIndex","lastCurrentIndex","max","Math","updated","activated","deactivated","resolveQueue","extractLeaveGuards","beforeHooks","extractUpdateHooks","hasAsync","cid","resolvedDef","__esModule","resolved","reject","reason","msg","comp","iterator","createNavigationAbortedError","createNavigationRedirectedError","enterGuards","bindEnterGuard","extractEnterGuards","resolveHooks","setupListeners","teardown","cleanupListener","HTML5History","_startLocation","getLocation","__proto__","constructor","expectScroll","supportsScroll","handleRoutingEvent","go","n","fromRoute","getCurrentLocation","pathname","pathLowerCase","toLowerCase","baseLowerCase","search","HashHistory","fallback","checkFallback","ensureSlash","getHash","replaceHash","eventType","pushHash","getUrl","AbstractHistory","targetIndex","VueRouter","apps","matcher","mode","prototypeAccessors","configurable","get","$once","routeOrError","handleInitialScroll","_route","beforeEach","registerHook","beforeResolve","afterEach","Promise","back","forward","getMatchedComponents","createHref","normalizedTo","defineProperties","VueRouter$1","list","install","Vue","installed","isDef","registerInstance","callVal","$options","_parentVnode","mixin","beforeCreate","_router","util","defineReactive","destroyed","defineProperty","strats","optionMergeStrategies","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","created","version","START_LOCATION","use","sanitize","confirmPassword","axios","post","put","delete","orderGroups","orderBy","usercount","localeCompare","defaults","id","canAdd","canRemove","mutations","appendUsers","usersObj","existingUsers","users","_ref","newUsers","values","_ref2","includes","usersOffset","usersLimit","setPasswordPolicyMinLength","minPasswordLength","initGroups","_ref3","userCount","assign","addGroup","_ref4","gid","displayName","find","renameGroup","_ref5","groupIndex","findIndex","groupSearch","updatedGroup","removeGroup","addUserGroup","_ref6","userid","user","removeUserGroup","_ref7","addUserSubAdmin","_ref8","subadmin","removeUserSubAdmin","_ref9","deleteUser","userIndex","actionType","addUserData","response","ocs","enableDisableUser","_ref10","updateUserCounts","_ref11","disabledGroup","userGroup","warn","logger","setUserData","_ref12","humanValue","OC","Util","computerFileSize","resetUsers","setShowConfig","_ref13","showConfig","CancelToken","searchRequestCancelSource","showStoragePath","showUserBackend","showLastLogin","showNewUserForm","showLanguages","getters","getUsers","getGroups","getSubadminGroups","getPasswordPolicyMinLength","getUsersOffset","getUsersLimit","getUserCount","getShowConfig","actions","searchUsers","context","_ref14","limit","api","generateOcsUrl","isCancel","getUser","userId","_ref15","cancel","cancelToken","usersCount","_ref16","limitParam","getUsersFromList","_ref17","getUsersFromGroup","_ref18","groupid","groupId","getCapabilities","password_policy","minLength","_ref19","_ref20","_ref21","_ref22","_ref23","wipeUserDevices","addUser","_ref24","_ref25","dispatch","password","email","quota","language","manager","_ref26","_ref26$enabled","userStatus","_ref27","allowedEmpty","sendWelcomeMail","_regeneratorRuntime","exports","Op","hasOwn","desc","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","define","enumerable","writable","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","Context","makeInvokeMethod","tryCatch","arg","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","Gp","defineIteratorMethods","method","_invoke","AsyncIterator","PromiseImpl","invoke","_typeof","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","done","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","return","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","doneResult","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","awrap","async","iter","object","skipTempReset","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","APPS_API_FAILURE","showError","isHTML","initCategories","categories","updateCount","updateCategories","categoriesPromise","gettingCategoriesPromise","setUpdateCount","addCategory","category","appendCategories","categoriesArray","setAllApps","setError","appId","_id","clearError","enableApp","active","disableApp","removable","canUnInstall","uninstallApp","needsDownload","canInstall","updateApp","update","resetApps","startLoading","loading","stopLoading","generateUrl","appIds","_appId","update_required","showInfo","onClick","reload","close","setTimeout","forceEnableApp","getAllApps","getCategories","_arguments","_callee","_ref10$shouldRefetchC","categoriesPromiseResponse","_context","shouldRefetchCategories","t0","loadingList","getUpdateCount","getCategoryById","selectedCategoryId","setAppConfig","Vuex","API_FAILURE","Store","modules","settings","serverData","setServerData","getServerData","oc","process","_asyncToGenerator","Users","Apps","Router","_title","baseTitle","title","selectedGroup","store","_x","_callee2","_to$meta$title","_to$meta","metaTitle","_context2","heading","headingEl","textContent","_x2","VTooltip","defaultHtml","sync","__webpack_nonce__","btoa","requestToken","OCA","oc_userconfig","App","$mount","cloneRoute","moduleName","registerModule","namespaced","transition","currentPath","isTimeTraveling","storeUnwatch","watch","afterEachUnHook","unregisterModule","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","module","loaded","__webpack_modules__","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","r","getter","d","definition","o","f","chunkId","all","reduce","promises","u","g","globalThis","Function","prop","script","needAttach","scripts","getElementsByTagName","s","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","head","appendChild","nmd","paths","scriptUrl","importScripts","currentScript","p","baseURI","installedChunks","installedChunkData","promise","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"file":"settings-vue-settings-apps-users-management.js?v=a74beffe758085aa526c","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/settings/src/constants/AppsConstants.js","webpack:///nextcloud/apps/settings/src/logger.js","webpack:///nextcloud/apps/settings/src/App.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/App.vue","webpack://nextcloud/./apps/settings/src/App.vue?536c","webpack://nextcloud/./apps/settings/src/App.vue?4d15","webpack:///nextcloud/node_modules/vue-router/dist/vue-router.esm.js","webpack:///nextcloud/apps/settings/src/store/api.js","webpack:///nextcloud/apps/settings/src/store/users.js","webpack:///nextcloud/apps/settings/src/store/apps.js","webpack:///nextcloud/apps/settings/src/store/oc.js","webpack:///nextcloud/apps/settings/src/store/index.js","webpack:///nextcloud/apps/settings/src/store/settings.js","webpack:///nextcloud/apps/settings/src/router.js","webpack:///nextcloud/core/src/OCP/accessibility.js","webpack:///nextcloud/apps/settings/src/main-apps-users-management.js","webpack:///nextcloud/node_modules/vuex-router-sync/index.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 = function(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(function(key) { return __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 = function(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 = function(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(function(fn) { return 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 * @copyright 2022, Julia Kirschenheuter <julia.kirschenheuter@nextcloud.com>\n *\n * @author Julia Kirschenheuter <julia.kirschenheuter@nextcloud.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { translate as t } from '@nextcloud/l10n'\n\n/** Enum of verification constants, according to Apps */\nexport const APPS_SECTION_ENUM = Object.freeze({\n\tenabled: t('settings', 'Active apps'),\n\tdisabled: t('settings', 'Disabled apps'),\n\tupdates: t('settings', 'Updates'),\n\t'app-bundles': t('settings', 'App bundles'),\n\tfeatured: t('settings', 'Featured apps'),\n\tsupported: t('settings', 'Supported apps'), // From subscription\n})\n","/**\n * @copyright 2020 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('settings')\n\t.detectUser()\n\t.build()\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 - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<router-view />\n</template>\n\n<script>\nexport default {\n\tname: 'App',\n\tbeforeMount() {\n\t\t// importing server data into the store\n\t\tconst serverDataElmt = document.getElementById('serverData')\n\t\tif (serverDataElmt !== null) {\n\t\t\tthis.$store.commit('setServerData', JSON.parse(document.getElementById('serverData').dataset.server))\n\t\t}\n\t},\n}\n</script>\n","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=50420604&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.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('router-view')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*!\n * vue-router v3.6.5\n * (c) 2022 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (!condition) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction extend (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nfunction decode (str) {\n try {\n return decodeURIComponent(str)\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"Error decoding \\\"\" + str + \"\\\". Leaving it intact.\"));\n }\n }\n return str\n}\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n var value = extraQuery[key];\n parsedQuery[key] = Array.isArray(value)\n ? value.map(castQueryParamValue)\n : castQueryParamValue(value);\n }\n return parsedQuery\n}\n\nvar castQueryParamValue = function (value) { return (value == null || typeof value === 'object' ? value : String(value)); };\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0 ? decode(parts.join('=')) : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj\n ? Object.keys(obj)\n .map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n })\n .filter(function (x) { return x.length > 0; })\n .join('&')\n : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b, onlyPath) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') && (onlyPath ||\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query))\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n (onlyPath || (\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params))\n )\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a).sort();\n var bKeys = Object.keys(b).sort();\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key, i) {\n var aVal = a[key];\n var bKey = bKeys[i];\n if (bKey !== key) { return false }\n var bVal = b[key];\n // query values can be null and undefined\n if (aVal == null || bVal == null) { return aVal === bVal }\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\nfunction handleRouteEntered (route) {\n for (var i = 0; i < route.matched.length; i++) {\n var record = route.matched[i];\n for (var name in record.instances) {\n var instance = record.instances[name];\n var cbs = record.enteredCbs[name];\n if (!instance || !cbs) { continue }\n delete record.enteredCbs[name];\n for (var i$1 = 0; i$1 < cbs.length; i$1++) {\n if (!instance._isBeingDestroyed) { cbs[i$1](instance); }\n }\n }\n }\n}\n\nvar View = {\n name: 'RouterView',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n // used by devtools to display a router-view badge\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n var vnodeData = parent.$vnode ? parent.$vnode.data : {};\n if (vnodeData.routerView) {\n depth++;\n }\n if (vnodeData.keepAlive && parent._directInactive && parent._inactive) {\n inactive = true;\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n var cachedData = cache[name];\n var cachedComponent = cachedData && cachedData.component;\n if (cachedComponent) {\n // #2301\n // pass props\n if (cachedData.configProps) {\n fillPropsinData(cachedComponent, data, cachedData.route, cachedData.configProps);\n }\n return h(cachedComponent, data, children)\n } else {\n // render previous empty view\n return h()\n }\n }\n\n var matched = route.matched[depth];\n var component = matched && matched.components[name];\n\n // render empty node if no matched route or no config component\n if (!matched || !component) {\n cache[name] = null;\n return h()\n }\n\n // cache component\n cache[name] = { component: component };\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // register instance in init hook\n // in case kept-alive component be actived when routes changed\n data.hook.init = function (vnode) {\n if (vnode.data.keepAlive &&\n vnode.componentInstance &&\n vnode.componentInstance !== matched.instances[name]\n ) {\n matched.instances[name] = vnode.componentInstance;\n }\n\n // if the route transition has already been confirmed then we weren't\n // able to call the cbs during confirmation as the component was not\n // registered yet, so we call it here.\n handleRouteEntered(route);\n };\n\n var configProps = matched.props && matched.props[name];\n // save route and configProps in cache\n if (configProps) {\n extend(cache[name], {\n route: route,\n configProps: configProps\n });\n fillPropsinData(component, data, route, configProps);\n }\n\n return h(component, data, children)\n }\n};\n\nfunction fillPropsinData (component, data, route, configProps) {\n // resolve props\n var propsToPass = data.props = resolveProps(route, configProps);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n}\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/(?:\\s*\\/)+/g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options));\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n params = params || {};\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n\n // Fix #2505 resolving asterisk routes { name: 'not-found', params: { pathMatch: '/not-found' }}\n // and fix #3106 so that you can work with location descriptor object having params.pathMatch equal to empty string\n if (typeof params.pathMatch === 'string') { params[0] = params.pathMatch; }\n\n return filler(params, { pretty: true })\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n // Fix #3072 no warn if `pathMatch` is string\n warn(typeof params.pathMatch === 'string', (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n } finally {\n // delete the 0 if it was added\n delete params[0];\n }\n}\n\n/* */\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next._normalized) {\n return next\n } else if (next.name) {\n next = extend({}, raw);\n var params = next.params;\n if (params && typeof params === 'object') {\n next.params = extend({}, params);\n }\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = extend({}, next);\n next._normalized = true;\n var params$1 = extend(extend({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params$1;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params$1, (\"path \" + (current.path)));\n } else if (process.env.NODE_ENV !== 'production') {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar noop = function () {};\n\nvar warnedCustomSlot;\nvar warnedTagProp;\nvar warnedEventProp;\n\nvar Link = {\n name: 'RouterLink',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n custom: Boolean,\n exact: Boolean,\n exactPath: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n ariaCurrentValue: {\n type: String,\n default: 'page'\n },\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(\n this.to,\n current,\n this.append\n );\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback =\n globalActiveClass == null ? 'router-link-active' : globalActiveClass;\n var exactActiveClassFallback =\n globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass =\n this.activeClass == null ? activeClassFallback : this.activeClass;\n var exactActiveClass =\n this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n\n var compareTarget = route.redirectedFrom\n ? createRoute(null, normalizeLocation(route.redirectedFrom), null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget, this.exactPath);\n classes[activeClass] = this.exact || this.exactPath\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var ariaCurrentValue = classes[exactActiveClass] ? this.ariaCurrentValue : null;\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1$1.replace) {\n router.replace(location, noop);\n } else {\n router.push(location, noop);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) {\n on[e] = handler;\n });\n } else {\n on[this.event] = handler;\n }\n\n var data = { class: classes };\n\n var scopedSlot =\n !this.$scopedSlots.$hasNormal &&\n this.$scopedSlots.default &&\n this.$scopedSlots.default({\n href: href,\n route: route,\n navigate: handler,\n isActive: classes[activeClass],\n isExactActive: classes[exactActiveClass]\n });\n\n if (scopedSlot) {\n if (process.env.NODE_ENV !== 'production' && !this.custom) {\n !warnedCustomSlot && warn(false, 'In Vue Router 4, the v-slot API will by default wrap its content with an <a> element. Use the custom prop to remove this warning:\\n<router-link v-slot=\"{ navigate, href }\" custom></router-link>\\n');\n warnedCustomSlot = true;\n }\n if (scopedSlot.length === 1) {\n return scopedSlot[0]\n } else if (scopedSlot.length > 1 || !scopedSlot.length) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n (\"<router-link> with to=\\\"\" + (this.to) + \"\\\" is trying to use a scoped slot but it didn't provide exactly one child. Wrapping the content with a span element.\")\n );\n }\n return scopedSlot.length === 0 ? h() : h('span', {}, scopedSlot)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if ('tag' in this.$options.propsData && !warnedTagProp) {\n warn(\n false,\n \"<router-link>'s tag prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n );\n warnedTagProp = true;\n }\n if ('event' in this.$options.propsData && !warnedEventProp) {\n warn(\n false,\n \"<router-link>'s event prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n );\n warnedEventProp = true;\n }\n }\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href, 'aria-current': ariaCurrentValue };\n } else {\n // find the first <a> child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the <a> is a static node\n a.isStatic = false;\n var aData = (a.data = extend({}, a.data));\n aData.on = aData.on || {};\n // transform existing events in both objects into arrays so we can push later\n for (var event in aData.on) {\n var handler$1 = aData.on[event];\n if (event in on) {\n aData.on[event] = Array.isArray(handler$1) ? handler$1 : [handler$1];\n }\n }\n // append new listeners for router-link\n for (var event$1 in on) {\n if (event$1 in aData.on) {\n // on[event] is always a function\n aData.on[event$1].push(on[event$1]);\n } else {\n aData.on[event$1] = handler;\n }\n }\n\n var aAttrs = (a.data.attrs = extend({}, a.data.attrs));\n aAttrs.href = href;\n aAttrs['aria-current'] = ariaCurrentValue;\n } else {\n // doesn't have <a> child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('RouterView', View);\n Vue.component('RouterLink', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap,\n parentRoute\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route, parentRoute);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n if (process.env.NODE_ENV === 'development') {\n // warn if routes do not include leading slashes\n var found = pathList\n // check for missing leading slash\n .filter(function (path) { return path && path.charAt(0) !== '*' && path.charAt(0) !== '/'; });\n\n if (found.length > 0) {\n var pathNames = found.map(function (path) { return (\"- \" + path); }).join('\\n');\n warn(false, (\"Non-nested routes must include a leading slash character. Fix the following routes: \\n\" + pathNames));\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (process.env.NODE_ENV !== 'production') {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(\n path || name\n )) + \" cannot be a \" + \"string id. Use an actual component instead.\"\n );\n\n warn(\n // eslint-disable-next-line no-control-regex\n !/[^\\u0000-\\u007F]+/.test(path),\n \"Route with path \\\"\" + path + \"\\\" contains unencoded characters, make sure \" +\n \"your path is correctly encoded before passing it to the router. Use \" +\n \"encodeURI to encode static segments of your path.\"\n );\n }\n\n var pathToRegexpOptions =\n route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(path, parent, pathToRegexpOptions.strict);\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n alias: route.alias\n ? typeof route.alias === 'string'\n ? [route.alias]\n : route.alias\n : [],\n instances: {},\n enteredCbs: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props:\n route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (process.env.NODE_ENV !== 'production') {\n if (\n route.name &&\n !route.redirect &&\n route.children.some(function (child) { return /^\\/?$/.test(child.path); })\n ) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'}\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias) ? route.alias : [route.alias];\n for (var i = 0; i < aliases.length; ++i) {\n var alias = aliases[i];\n if (process.env.NODE_ENV !== 'production' && alias === path) {\n warn(\n false,\n (\"Found an alias with the same value as the path: \\\"\" + path + \"\\\". You have to remove that alias. It will be ignored in development.\")\n );\n // skip in dev to make it work\n continue\n }\n\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n }\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (process.env.NODE_ENV !== 'production' && !matchAs) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (\n path,\n pathToRegexpOptions\n) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (process.env.NODE_ENV !== 'production') {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(\n !keys[key.name],\n (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\")\n );\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (\n path,\n parent,\n strict\n) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function addRoute (parentOrRoute, route) {\n var parent = (typeof parentOrRoute !== 'object') ? nameMap[parentOrRoute] : undefined;\n // $flow-disable-line\n createRouteMap([route || parentOrRoute], pathList, pathMap, nameMap, parent);\n\n // add aliases of parent\n if (parent && parent.alias.length) {\n createRouteMap(\n // $flow-disable-line route is defined if parent is\n parent.alias.map(function (alias) { return ({ path: alias, children: [route] }); }),\n pathList,\n pathMap,\n nameMap,\n parent\n );\n }\n }\n\n function getRoutes () {\n return pathList.map(function (path) { return pathMap[path]; })\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoute: addRoute,\n getRoutes: getRoutes,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n if (key) {\n // Fix #1994: using * with props: true generates a param named 0\n params[key.name || 'pathMatch'] = typeof m[i] === 'string' ? decode(m[i]) : m[i];\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n// use User Timing api (if present) for more accurate key precision\nvar Time =\n inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nfunction genStateKey () {\n return Time.now().toFixed(3)\n}\n\nvar _key = genStateKey();\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n return (_key = key)\n}\n\n/* */\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Prevent browser scroll behavior on History popstate\n if ('scrollRestoration' in window.history) {\n window.history.scrollRestoration = 'manual';\n }\n // Fix for #1585 for Firefox\n // Fix for #2195 Add optional third attribute to workaround a bug in safari https://bugs.webkit.org/show_bug.cgi?id=182678\n // Fix for #2774 Support for apps loaded from Windows file shares not mapped to network drives: replaced location.origin with\n // window.location.protocol + '//' + window.location.host\n // location.host contains the port and location.hostname doesn't\n var protocolAndPath = window.location.protocol + '//' + window.location.host;\n var absolutePath = window.location.href.replace(protocolAndPath, '');\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, window.history.state);\n stateCopy.key = getStateKey();\n window.history.replaceState(stateCopy, '', absolutePath);\n window.addEventListener('popstate', handlePopState);\n return function () {\n window.removeEventListener('popstate', handlePopState);\n }\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior.call(\n router,\n to,\n from,\n isPop ? position : null\n );\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll\n .then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n })\n .catch(function (err) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction handlePopState (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nvar hashStartsWithNumberRE = /^#\\d/;\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n // getElementById would still fail if the selector contains a more complicated query like #main[data-attr]\n // but at the same time, it doesn't make much sense to select an element with an id and an extra selector\n var el = hashStartsWithNumberRE.test(shouldScroll.selector) // $flow-disable-line\n ? document.getElementById(shouldScroll.selector.slice(1)) // $flow-disable-line\n : document.querySelector(shouldScroll.selector);\n\n if (el) {\n var offset =\n shouldScroll.offset && typeof shouldScroll.offset === 'object'\n ? shouldScroll.offset\n : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n // $flow-disable-line\n if ('scrollBehavior' in document.documentElement.style) {\n window.scrollTo({\n left: position.x,\n top: position.y,\n // $flow-disable-line\n behavior: shouldScroll.behavior\n });\n } else {\n window.scrollTo(position.x, position.y);\n }\n }\n}\n\n/* */\n\nvar supportsPushState =\n inBrowser &&\n (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && typeof window.history.pushState === 'function'\n })();\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, history.state);\n stateCopy.key = getStateKey();\n history.replaceState(stateCopy, '', url);\n } else {\n history.pushState({ key: setStateKey(genStateKey()) }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n// When changing thing, also edit router.d.ts\nvar NavigationFailureType = {\n redirected: 2,\n aborted: 4,\n cancelled: 8,\n duplicated: 16\n};\n\nfunction createNavigationRedirectedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.redirected,\n (\"Redirected when going from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (stringifyRoute(\n to\n )) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createNavigationDuplicatedError (from, to) {\n var error = createRouterError(\n from,\n to,\n NavigationFailureType.duplicated,\n (\"Avoided redundant navigation to current location: \\\"\" + (from.fullPath) + \"\\\".\")\n );\n // backwards compatible with the first introduction of Errors\n error.name = 'NavigationDuplicated';\n return error\n}\n\nfunction createNavigationCancelledError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.cancelled,\n (\"Navigation cancelled from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" with a new navigation.\")\n )\n}\n\nfunction createNavigationAbortedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.aborted,\n (\"Navigation aborted from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createRouterError (from, to, type, message) {\n var error = new Error(message);\n error._isRouter = true;\n error.from = from;\n error.to = to;\n error.type = type;\n\n return error\n}\n\nvar propertiesToLog = ['params', 'query', 'hash'];\n\nfunction stringifyRoute (to) {\n if (typeof to === 'string') { return to }\n if ('path' in to) { return to.path }\n var location = {};\n propertiesToLog.forEach(function (key) {\n if (key in to) { location[key] = to[key]; }\n });\n return JSON.stringify(location, null, 2)\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nfunction isNavigationFailure (err, errorType) {\n return (\n isError(err) &&\n err._isRouter &&\n (errorType == null || err.type === errorType)\n )\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n process.env.NODE_ENV !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n this.listeners = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (\n location,\n onComplete,\n onAbort\n) {\n var this$1$1 = this;\n\n var route;\n // catch redirect option https://github.com/vuejs/vue-router/issues/3201\n try {\n route = this.router.match(location, this.current);\n } catch (e) {\n this.errorCbs.forEach(function (cb) {\n cb(e);\n });\n // Exception should still be thrown\n throw e\n }\n var prev = this.current;\n this.confirmTransition(\n route,\n function () {\n this$1$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1$1.ensureURL();\n this$1$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n\n // fire ready cbs once\n if (!this$1$1.ready) {\n this$1$1.ready = true;\n this$1$1.readyCbs.forEach(function (cb) {\n cb(route);\n });\n }\n },\n function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1$1.ready) {\n // Initial redirection should not mark the history as ready yet\n // because it's triggered by the redirection instead\n // https://github.com/vuejs/vue-router/issues/3225\n // https://github.com/vuejs/vue-router/issues/3331\n if (!isNavigationFailure(err, NavigationFailureType.redirected) || prev !== START) {\n this$1$1.ready = true;\n this$1$1.readyErrorCbs.forEach(function (cb) {\n cb(err);\n });\n }\n }\n }\n );\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1$1 = this;\n\n var current = this.current;\n this.pending = route;\n var abort = function (err) {\n // changed after adding errors with\n // https://github.com/vuejs/vue-router/pull/3047 before that change,\n // redirect and aborted navigation would produce an err == null\n if (!isNavigationFailure(err) && isError(err)) {\n if (this$1$1.errorCbs.length) {\n this$1$1.errorCbs.forEach(function (cb) {\n cb(err);\n });\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, 'uncaught error during route navigation:');\n }\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n var lastRouteIndex = route.matched.length - 1;\n var lastCurrentIndex = current.matched.length - 1;\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n lastRouteIndex === lastCurrentIndex &&\n route.matched[lastRouteIndex] === current.matched[lastCurrentIndex]\n ) {\n this.ensureURL();\n if (route.hash) {\n handleScroll(this.router, current, route, false);\n }\n return abort(createNavigationDuplicatedError(current, route))\n }\n\n var ref = resolveQueue(\n this.current.matched,\n route.matched\n );\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n var iterator = function (hook, next) {\n if (this$1$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route))\n }\n try {\n hook(route, current, function (to) {\n if (to === false) {\n // next(false) -> abort navigation, ensure current URL\n this$1$1.ensureURL(true);\n abort(createNavigationAbortedError(current, route));\n } else if (isError(to)) {\n this$1$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' &&\n (typeof to.path === 'string' || typeof to.name === 'string'))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort(createNavigationRedirectedError(current, route));\n if (typeof to === 'object' && to.replace) {\n this$1$1.replace(to);\n } else {\n this$1$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated);\n var queue = enterGuards.concat(this$1$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route))\n }\n this$1$1.pending = null;\n onComplete(route);\n if (this$1$1.router.app) {\n this$1$1.router.app.$nextTick(function () {\n handleRouteEntered(route);\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n this.current = route;\n this.cb && this.cb(route);\n};\n\nHistory.prototype.setupListeners = function setupListeners () {\n // Default implementation is empty\n};\n\nHistory.prototype.teardown = function teardown () {\n // clean up event listeners\n // https://github.com/vuejs/vue-router/issues/2341\n this.listeners.forEach(function (cleanupListener) {\n cleanupListener();\n });\n this.listeners = [];\n\n // reset current history route\n // https://github.com/vuejs/vue-router/issues/3294\n this.current = START;\n this.pending = null;\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect <base> tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated\n) {\n return extractGuards(\n activated,\n 'beforeRouteEnter',\n function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key)\n }\n )\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n if (typeof cb === 'function') {\n if (!match.enteredCbs[key]) {\n match.enteredCbs[key] = [];\n }\n match.enteredCbs[key].push(cb);\n }\n next(cb);\n })\n }\n}\n\n/* */\n\nvar HTML5History = /*@__PURE__*/(function (History) {\n function HTML5History (router, base) {\n History.call(this, router, base);\n\n this._startLocation = getLocation(this.base);\n }\n\n if ( History ) HTML5History.__proto__ = History;\n HTML5History.prototype = Object.create( History && History.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.setupListeners = function setupListeners () {\n var this$1$1 = this;\n\n if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = function () {\n var current = this$1$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1$1.base);\n if (this$1$1.current === START && location === this$1$1._startLocation) {\n return\n }\n\n this$1$1.transitionTo(location, function (route) {\n if (supportsScroll) {\n handleScroll(router, route, current, true);\n }\n });\n };\n window.addEventListener('popstate', handleRoutingEvent);\n this.listeners.push(function () {\n window.removeEventListener('popstate', handleRoutingEvent);\n });\n };\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1$1.base + route.fullPath));\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1$1.base + route.fullPath));\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = window.location.pathname;\n var pathLowerCase = path.toLowerCase();\n var baseLowerCase = base.toLowerCase();\n // base=\"/a\" shouldn't turn path=\"/app\" into \"/a/pp\"\n // https://github.com/vuejs/vue-router/issues/3555\n // so we ensure the trailing slash in the base\n if (base && ((pathLowerCase === baseLowerCase) ||\n (pathLowerCase.indexOf(cleanPath(baseLowerCase + '/')) === 0))) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\nvar HashHistory = /*@__PURE__*/(function (History) {\n function HashHistory (router, base, fallback) {\n History.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History ) HashHistory.__proto__ = History;\n HashHistory.prototype = Object.create( History && History.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1$1 = this;\n\n if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = function () {\n var current = this$1$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n };\n var eventType = supportsPushState ? 'popstate' : 'hashchange';\n window.addEventListener(\n eventType,\n handleRoutingEvent\n );\n this.listeners.push(function () {\n window.removeEventListener(eventType, handleRoutingEvent);\n });\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(cleanPath(base + '/#' + location));\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n // empty path\n if (index < 0) { return '' }\n\n href = href.slice(index + 1);\n\n return href\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\nvar AbstractHistory = /*@__PURE__*/(function (History) {\n function AbstractHistory (router, base) {\n History.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History ) AbstractHistory.__proto__ = History;\n AbstractHistory.prototype = Object.create( History && History.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1$1.stack = this$1$1.stack.slice(0, this$1$1.index + 1).concat(route);\n this$1$1.index++;\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1$1.stack = this$1$1.stack.slice(0, this$1$1.index).concat(route);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(\n route,\n function () {\n var prev = this$1$1.current;\n this$1$1.index = targetIndex;\n this$1$1.updateRoute(route);\n this$1$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n },\n function (err) {\n if (isNavigationFailure(err, NavigationFailureType.duplicated)) {\n this$1$1.index = targetIndex;\n }\n }\n );\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\n\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n if (process.env.NODE_ENV !== 'production') {\n warn(this instanceof VueRouter, \"Router must be called with the new operator.\");\n }\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback =\n mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (process.env.NODE_ENV !== 'production') {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (raw, current, redirectedFrom) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1$1 = this;\n\n process.env.NODE_ENV !== 'production' &&\n assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // set up app destroyed handler\n // https://github.com/vuejs/vue-router/issues/2639\n app.$once('hook:destroyed', function () {\n // clean out app from this.apps array once destroyed\n var index = this$1$1.apps.indexOf(app);\n if (index > -1) { this$1$1.apps.splice(index, 1); }\n // ensure we still have a main app or null if no apps\n // we do not release the router so it can be reused\n if (this$1$1.app === app) { this$1$1.app = this$1$1.apps[0] || null; }\n\n if (!this$1$1.app) { this$1$1.history.teardown(); }\n });\n\n // main app previously initialized\n // return as we don't need to set up new history listener\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History || history instanceof HashHistory) {\n var handleInitialScroll = function (routeOrError) {\n var from = history.current;\n var expectScroll = this$1$1.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll && 'fullPath' in routeOrError) {\n handleScroll(this$1$1, routeOrError, from, false);\n }\n };\n var setupListeners = function (routeOrError) {\n history.setupListeners();\n handleInitialScroll(routeOrError);\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupListeners,\n setupListeners\n );\n }\n\n history.listen(function (route) {\n this$1$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1$1.history.push(location, resolve, reject);\n })\n } else {\n this.history.push(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1$1.history.replace(location, resolve, reject);\n })\n } else {\n this.history.replace(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply(\n [],\n route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n })\n )\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n current = current || this.history.current;\n var location = normalizeLocation(to, current, append, this);\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.getRoutes = function getRoutes () {\n return this.matcher.getRoutes()\n};\n\nVueRouter.prototype.addRoute = function addRoute (parentOrRoute, route) {\n this.matcher.addRoute(parentOrRoute, route);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, 'router.addRoutes() is deprecated and has been removed in Vue Router 4. Use router.addRoute() instead.');\n }\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nvar VueRouter$1 = VueRouter;\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\n// We cannot remove this as it would be a breaking change\nVueRouter.install = install;\nVueRouter.version = '3.6.5';\nVueRouter.isNavigationFailure = isNavigationFailure;\nVueRouter.NavigationFailureType = NavigationFailureType;\nVueRouter.START_LOCATION = START;\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nvar version = '3.6.5';\n\nexport { NavigationFailureType, Link as RouterLink, View as RouterView, START as START_LOCATION, VueRouter$1 as default, isNavigationFailure, version };\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n * @author Sujith Haridasan <sujith.h@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\n\nconst sanitize = function(url) {\n\treturn url.replace(/\\/$/, '') // Remove last url slash\n}\n\nexport default {\n\n\t/**\n\t * This Promise is used to chain a request that require an admin password confirmation\n\t * Since chaining Promise have a very precise behavior concerning catch and then,\n\t * you'll need to be careful when using it.\n\t * e.g\n\t * // store\n\t * action(context) {\n\t * return api.requireAdmin().then((response) => {\n\t * return api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {API failure});\n\t * }).catch((error) => {requireAdmin failure});\n\t * }\n\t * // vue\n\t * this.$store.dispatch('action').then(() => {always executed})\n\t *\n\t * Since Promise.then().catch().then() will always execute the last then\n\t * this.$store.dispatch('action').then will always be executed\n\t *\n\t * If you want requireAdmin failure to also catch the API request failure\n\t * you will need to throw a new error in the api.get.catch()\n\t *\n\t * e.g\n\t * api.requireAdmin().then((response) => {\n\t * api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {throw error;});\n\t * }).catch((error) => {requireAdmin OR API failure});\n\t *\n\t * @return {Promise}\n\t */\n\trequireAdmin() {\n\t\treturn confirmPassword()\n\t},\n\tget(url, options) {\n\t\treturn axios.get(sanitize(url), options)\n\t},\n\tpost(url, data) {\n\t\treturn axios.post(sanitize(url), data)\n\t},\n\tpatch(url, data) {\n\t\treturn axios.patch(sanitize(url), data)\n\t},\n\tput(url, data) {\n\t\treturn axios.put(sanitize(url), data)\n\t},\n\tdelete(url, data) {\n\t\treturn axios.delete(sanitize(url), { params: data })\n\t},\n}\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Arthur Schiwon <blizzz@arthur-schiwon.de>\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Daniel Calviño Sánchez <danxuliu@gmail.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n * @author Vincent Petry <vincent@nextcloud.com>\n * @author Stephan Orbaugh <stephan.orbaugh@nextcloud.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport api from './api.js'\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport logger from '../logger.js'\n\nconst orderGroups = function(groups, orderBy) {\n\t/* const SORT_USERCOUNT = 1;\n\t * const SORT_GROUPNAME = 2;\n\t * https://github.com/nextcloud/server/blob/208e38e84e1a07a49699aa90dc5b7272d24489f0/lib/private/Group/MetaData.php#L34\n\t */\n\tif (orderBy === 1) {\n\t\treturn groups.sort((a, b) => a.usercount - a.disabled < b.usercount - b.disabled)\n\t} else {\n\t\treturn groups.sort((a, b) => a.name.localeCompare(b.name))\n\t}\n}\n\nconst defaults = {\n\tgroup: {\n\t\tid: '',\n\t\tname: '',\n\t\tusercount: 0,\n\t\tdisabled: 0,\n\t\tcanAdd: true,\n\t\tcanRemove: true,\n\t},\n}\n\nconst state = {\n\tusers: [],\n\tgroups: [],\n\torderBy: 1,\n\tminPasswordLength: 0,\n\tusersOffset: 0,\n\tusersLimit: 25,\n\tuserCount: 0,\n\tshowConfig: {\n\t\tshowStoragePath: false,\n\t\tshowUserBackend: false,\n\t\tshowLastLogin: false,\n\t\tshowNewUserForm: false,\n\t\tshowLanguages: false,\n\t},\n}\n\nconst mutations = {\n\tappendUsers(state, usersObj) {\n\t\tconst existingUsers = state.users.map(({ id }) => id)\n\t\tconst newUsers = Object.values(usersObj)\n\t\t\t.filter(({ id }) => !existingUsers.includes(id))\n\n\t\tconst users = state.users.concat(newUsers)\n\t\tstate.usersOffset += state.usersLimit\n\t\tstate.users = users\n\t},\n\tsetPasswordPolicyMinLength(state, length) {\n\t\tstate.minPasswordLength = length !== '' ? length : 0\n\t},\n\tinitGroups(state, { groups, orderBy, userCount }) {\n\t\tstate.groups = groups.map(group => Object.assign({}, defaults.group, group))\n\t\tstate.orderBy = orderBy\n\t\tstate.userCount = userCount\n\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\n\t},\n\taddGroup(state, { gid, displayName }) {\n\t\ttry {\n\t\t\tif (typeof state.groups.find((group) => group.id === gid) !== 'undefined') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// extend group to default values\n\t\t\tconst group = Object.assign({}, defaults.group, {\n\t\t\t\tid: gid,\n\t\t\t\tname: displayName,\n\t\t\t})\n\t\t\tstate.groups.unshift(group)\n\t\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\t\t} catch (e) {\n\t\t\tconsole.error('Can\\'t create group', e)\n\t\t}\n\t},\n\trenameGroup(state, { gid, displayName }) {\n\t\tconst groupIndex = state.groups.findIndex(groupSearch => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tconst updatedGroup = state.groups[groupIndex]\n\t\t\tupdatedGroup.name = displayName\n\t\t\tstate.groups.splice(groupIndex, 1, updatedGroup)\n\t\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\t\t}\n\t},\n\tremoveGroup(state, gid) {\n\t\tconst groupIndex = state.groups.findIndex(groupSearch => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tstate.groups.splice(groupIndex, 1)\n\t\t}\n\t},\n\taddUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// increase count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount++\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.push(gid)\n\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\t},\n\tremoveUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// lower count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount--\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t\tstate.groups = orderGroups(state.groups, state.orderBy)\n\t},\n\taddUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.push(gid)\n\t},\n\tremoveUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t},\n\tdeleteUser(state, userid) {\n\t\tconst userIndex = state.users.findIndex(user => user.id === userid)\n\t\tthis.commit('updateUserCounts', { user: state.users[userIndex], actionType: 'remove' })\n\t\tstate.users.splice(userIndex, 1)\n\t},\n\taddUserData(state, response) {\n\t\tconst user = response.data.ocs.data\n\t\tstate.users.unshift(user)\n\t\tthis.commit('updateUserCounts', { user, actionType: 'create' })\n\t},\n\tenableDisableUser(state, { userid, enabled }) {\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\tuser.enabled = enabled\n\t\tthis.commit('updateUserCounts', { user, actionType: enabled ? 'enable' : 'disable' })\n\t},\n\t// update active/disabled counts, groups counts\n\tupdateUserCounts(state, { user, actionType }) {\n\t\t// 0 is a special value\n\t\tif (state.userCount === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst disabledGroup = state.groups.find(group => group.id === 'disabled')\n\t\tswitch (actionType) {\n\t\tcase 'enable':\n\t\tcase 'disable':\n\t\t\tdisabledGroup.usercount += user.enabled ? -1 : 1 // update Disabled Users count\n\t\t\tstate.userCount += user.enabled ? 1 : -1 // update Active Users count\n\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\tgroup.disabled += user.enabled ? -1 : 1 // update group disabled count\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'create':\n\t\t\tstate.userCount++ // increment Active Users count\n\n\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\tstate.groups\n\t\t\t\t\t.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t .usercount++ // increment group total count\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'remove':\n\t\t\tif (user.enabled) {\n\t\t\t\tstate.userCount-- // decrement Active Users count\n\t\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t\tif (!group) {\n\t\t\t\t\t\tconsole.warn('User group ' + userGroup + ' does not exist during user removal')\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tgroup.usercount-- // decrement group total count\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tdisabledGroup.usercount-- // decrement Disabled Users count\n\t\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t\tgroup.disabled-- // decrement group disabled count\n\t\t\t\t})\n\t\t\t}\n\t\t\tbreak\n\t\tdefault:\n\t\t\tlogger.error(`Unknown action type in updateUserCounts: '${actionType}'`)\n\t\t\t// not throwing error to interrupt execution as this is not fatal\n\t\t}\n\t},\n\tsetUserData(state, { userid, key, value }) {\n\t\tif (key === 'quota') {\n\t\t\tconst humanValue = OC.Util.computerFileSize(value)\n\t\t\tstate.users.find(user => user.id === userid)[key][key] = humanValue !== null ? humanValue : value\n\t\t} else {\n\t\t\tstate.users.find(user => user.id === userid)[key] = value\n\t\t}\n\t},\n\n\t/**\n\t * Reset users list\n\t *\n\t * @param {object} state the store state\n\t */\n\tresetUsers(state) {\n\t\tstate.users = []\n\t\tstate.usersOffset = 0\n\t},\n\n\tsetShowConfig(state, { key, value }) {\n\t\tstate.showConfig[key] = value\n\t},\n}\n\nconst getters = {\n\tgetUsers(state) {\n\t\treturn state.users\n\t},\n\tgetGroups(state) {\n\t\treturn state.groups\n\t},\n\tgetSubadminGroups(state) {\n\t\t// Can't be subadmin of admin or disabled\n\t\treturn state.groups.filter(group => group.id !== 'admin' && group.id !== 'disabled')\n\t},\n\tgetPasswordPolicyMinLength(state) {\n\t\treturn state.minPasswordLength\n\t},\n\tgetUsersOffset(state) {\n\t\treturn state.usersOffset\n\t},\n\tgetUsersLimit(state) {\n\t\treturn state.usersLimit\n\t},\n\tgetUserCount(state) {\n\t\treturn state.userCount\n\t},\n\tgetShowConfig(state) {\n\t\treturn state.showConfig\n\t},\n}\n\nconst CancelToken = axios.CancelToken\nlet searchRequestCancelSource = null\n\nconst actions = {\n\n\t/**\n\t * search users\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @return {Promise}\n\t */\n\tsearchUsers(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search })).catch((error) => {\n\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t})\n\t},\n\n\t/**\n\t * Get user details\n\t *\n\t * @param {object} context store context\n\t * @param {string} userId user id\n\t * @return {Promise}\n\t */\n\tgetUser(context, userId) {\n\t\treturn api.get(generateOcsUrl(`cloud/users/${userId}`)).catch((error) => {\n\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t})\n\t},\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @param {string} options.group Get users from group\n\t * @return {Promise}\n\t */\n\tgetUsers(context, { offset, limit, search, group }) {\n\t\tif (searchRequestCancelSource) {\n\t\t\tsearchRequestCancelSource.cancel('Operation canceled by another search request.')\n\t\t}\n\t\tsearchRequestCancelSource = CancelToken.source()\n\t\tsearch = typeof search === 'string' ? search : ''\n\n\t\t/**\n\t\t * Adding filters in the search bar such as in:files, in:users, etc.\n\t\t * collides with this particular search, so we need to remove them\n\t\t * here and leave only the original search query\n\t\t */\n\t\tsearch = search.replace(/in:[^\\s]+/g, '').trim()\n\n\t\tgroup = typeof group === 'string' ? group : ''\n\t\tif (group !== '') {\n\t\t\treturn api.get(generateOcsUrl('cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}', { group: encodeURIComponent(group), offset, limit, search }), {\n\t\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t\t})\n\t\t\t\t.then((response) => {\n\t\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\t}\n\t\t\t\t\treturn usersCount\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t}\n\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }), {\n\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t})\n\t\t\t.then((response) => {\n\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t}\n\t\t\t\treturn usersCount\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t}\n\t\t\t})\n\t},\n\n\tgetGroups(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\tconst limitParam = limit === -1 ? '' : `&limit=${limit}`\n\t\treturn api.get(generateOcsUrl('cloud/groups?offset={offset}&search={search}', { offset, search }) + limitParam)\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.groups).length > 0) {\n\t\t\t\t\tresponse.data.ocs.data.groups.forEach(function(group) {\n\t\t\t\t\t\tcontext.commit('addGroup', { gid: group, displayName: group })\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search -\n\t * @return {Promise}\n\t */\n\tgetUsersFromList(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details from a groupid\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.groupid -\n\t * @return {Promise}\n\t */\n\tgetUsersFromGroup(context, { groupid, offset, limit }) {\n\t\treturn api.get(generateOcsUrl('cloud/users/{groupId}/details?offset={offset}&limit={limit}', { groupId: encodeURIComponent(groupid), offset, limit }))\n\t\t\t.then((response) => context.commit('getUsersFromList', response.data.ocs.data.users))\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tgetPasswordPolicyMinLength(context) {\n\t\tif (OC.getCapabilities().password_policy && OC.getCapabilities().password_policy.minLength) {\n\t\t\tcontext.commit('setPasswordPolicyMinLength', OC.getCapabilities().password_policy.minLength)\n\t\t\treturn OC.getCapabilities().password_policy.minLength\n\t\t}\n\t\treturn false\n\t},\n\n\t/**\n\t * Add group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\taddGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/groups'), { groupid: gid })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('addGroup', { gid, displayName: gid })\n\t\t\t\t\treturn { gid, displayName: gid }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { gid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from adding the user to a group that doesn't exists\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Rename group\n\t *\n\t * @param {object} context store context\n\t * @param {string} groupid Group id\n\t * @param {string} displayName Group display name\n\t * @return {Promise}\n\t */\n\trenameGroup(context, { groupid, displayName }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(groupid) }), { key: 'displayname', value: displayName })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('renameGroup', { gid: groupid, displayName })\n\t\t\t\t\treturn { groupid, displayName }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { groupid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from renaming the group\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Remove group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\tremoveGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(gid) }))\n\t\t\t\t.then((response) => context.commit('removeGroup', gid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { gid, error }))\n\t},\n\n\t/**\n\t * Add user to group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { userid, error })\n\t\t\t// let's throw one more time to prevent\n\t\t\t// the view from removing the user row on failure\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Add user to group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Mark all user devices for remote wipe\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\twipeUserDevices(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/wipe', { userid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Delete a user\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tdeleteUser(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then((response) => context.commit('deleteUser', userid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Add a user\n\t *\n\t * @param {object} context store context\n\t * @param {Function} context.commit -\n\t * @param {Function} context.dispatch -\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.password User password\n\t * @param {string} options.displayName User display name\n\t * @param {string} options.email User email\n\t * @param {string} options.groups User groups\n\t * @param {string} options.subadmin User subadmin groups\n\t * @param {string} options.quota User email\n\t * @param {string} options.language User language\n\t * @param {string} options.manager User manager\n\t * @return {Promise}\n\t */\n\taddUser({ commit, dispatch }, { userid, password, displayName, email, groups, subadmin, quota, language, manager }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users'), { userid, password, displayName, email, groups, subadmin, quota, language, manager })\n\t\t\t\t.then((response) => dispatch('addUserData', userid || response.data.ocs.data.id))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcommit('API_FAILURE', { userid, error })\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Get user data and commit addition\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\taddUserData(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.get(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then((response) => context.commit('addUserData', response))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Enable or disable user\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {boolean} options.enabled User enablement status\n\t * @return {Promise}\n\t */\n\tenableDisableUser(context, { userid, enabled = true }) {\n\t\tconst userStatus = enabled ? 'enable' : 'disable'\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(generateOcsUrl('cloud/users/{userid}/{userStatus}', { userid, userStatus }))\n\t\t\t\t.then((response) => context.commit('enableDisableUser', { userid, enabled }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Edit user data\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.key User field to edit\n\t * @param {string} options.value Value of the change\n\t * @return {Promise}\n\t */\n\tsetUserData(context, { userid, key, value }) {\n\t\tconst allowedEmpty = ['email', 'displayname', 'manager']\n\t\tif (['email', 'language', 'quota', 'displayname', 'password', 'manager'].indexOf(key) !== -1) {\n\t\t\t// We allow empty email or displayname\n\t\t\tif (typeof value === 'string'\n\t\t\t\t&& (\n\t\t\t\t\t(allowedEmpty.indexOf(key) === -1 && value.length > 0)\n\t\t\t\t\t|| allowedEmpty.indexOf(key) !== -1\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn api.requireAdmin().then((response) => {\n\t\t\t\t\treturn api.put(generateOcsUrl('cloud/users/{userid}', { userid }), { key, value })\n\t\t\t\t\t\t.then((response) => context.commit('setUserData', { userid, key, value }))\n\t\t\t\t\t\t.catch((error) => { throw error })\n\t\t\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t\t\t}\n\t\t}\n\t\treturn Promise.reject(new Error('Invalid request data'))\n\t},\n\n\t/**\n\t * Send welcome mail\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tsendWelcomeMail(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/welcome', { userid }))\n\t\t\t\t.then(response => true)\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport api from './api.js'\nimport Vue from 'vue'\nimport { generateUrl } from '@nextcloud/router'\nimport { showError, showInfo } from '@nextcloud/dialogs'\n\nconst state = {\n\tapps: [],\n\tcategories: [],\n\tupdateCount: 0,\n\tloading: {},\n\tloadingList: false,\n\tgettingCategoriesPromise: null,\n}\n\nconst mutations = {\n\n\tAPPS_API_FAILURE(state, error) {\n\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '<br>' + error.error.response.data.data.message, { isHTML: true })\n\t\tconsole.error(state, error)\n\t},\n\n\tinitCategories(state, { categories, updateCount }) {\n\t\tstate.categories = categories\n\t\tstate.updateCount = updateCount\n\t},\n\n\tupdateCategories(state, categoriesPromise) {\n\t\tstate.gettingCategoriesPromise = categoriesPromise\n\t},\n\n\tsetUpdateCount(state, updateCount) {\n\t\tstate.updateCount = updateCount\n\t},\n\n\taddCategory(state, category) {\n\t\tstate.categories.push(category)\n\t},\n\n\tappendCategories(state, categoriesArray) {\n\t\t// convert obj to array\n\t\tstate.categories = categoriesArray\n\t},\n\n\tsetAllApps(state, apps) {\n\t\tstate.apps = apps\n\t},\n\n\tsetError(state, { appId, error }) {\n\t\tif (!Array.isArray(appId)) {\n\t\t\tappId = [appId]\n\t\t}\n\t\tappId.forEach((_id) => {\n\t\t\tconst app = state.apps.find(app => app.id === _id)\n\t\t\tapp.error = error\n\t\t})\n\t},\n\n\tclearError(state, { appId, error }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.error = null\n\t},\n\n\tenableApp(state, { appId, groups }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = true\n\t\tapp.groups = groups\n\t},\n\n\tdisableApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = false\n\t\tapp.groups = []\n\t\tif (app.removable) {\n\t\t\tapp.canUnInstall = true\n\t\t}\n\t},\n\n\tuninstallApp(state, appId) {\n\t\tstate.apps.find(app => app.id === appId).active = false\n\t\tstate.apps.find(app => app.id === appId).groups = []\n\t\tstate.apps.find(app => app.id === appId).needsDownload = true\n\t\tstate.apps.find(app => app.id === appId).installed = false\n\t\tstate.apps.find(app => app.id === appId).canUnInstall = false\n\t\tstate.apps.find(app => app.id === appId).canInstall = true\n\t},\n\n\tupdateApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tconst version = app.update\n\t\tapp.update = null\n\t\tapp.version = version\n\t\tstate.updateCount--\n\n\t},\n\n\tresetApps(state) {\n\t\tstate.apps = []\n\t},\n\treset(state) {\n\t\tstate.apps = []\n\t\tstate.categories = []\n\t\tstate.updateCount = 0\n\t},\n\tstartLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, true)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, true)\n\t\t}\n\t},\n\tstopLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, false)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, false)\n\t\t}\n\t},\n}\n\nconst getters = {\n\tloading(state) {\n\t\treturn function(id) {\n\t\t\treturn state.loading[id]\n\t\t}\n\t},\n\tgetCategories(state) {\n\t\treturn state.categories\n\t},\n\tgetAllApps(state) {\n\t\treturn state.apps\n\t},\n\tgetUpdateCount(state) {\n\t\treturn state.updateCount\n\t},\n\tgetCategoryById: (state) => (selectedCategoryId) => {\n\t\treturn state.categories.find((category) => category.id === selectedCategoryId)\n\t},\n}\n\nconst actions = {\n\n\tenableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.post(generateUrl('settings/apps/enable'), { appIds: apps, groups })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('enableApp', { appId: _appId, groups })\n\t\t\t\t\t})\n\n\t\t\t\t\t// check for server health\n\t\t\t\t\treturn api.get(generateUrl('apps/files'))\n\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\tif (response.data.update_required) {\n\t\t\t\t\t\t\t\tshowInfo(\n\t\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t\t'settings',\n\t\t\t\t\t\t\t\t\t\t'The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tonClick: () => window.location.reload(),\n\t\t\t\t\t\t\t\t\t\tclose: false,\n\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\t\t\tlocation.reload()\n\t\t\t\t\t\t\t\t}, 5000)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\t\tif (!Array.isArray(appId)) {\n\t\t\t\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\t\t\t\terror: t('settings', 'Error: This app cannot be enabled because it makes the server unstable'),\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tforceEnableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then(() => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.post(generateUrl('settings/apps/force'), { appId })\n\t\t\t\t.then((response) => {\n\t\t\t\t\t// TODO: find a cleaner solution\n\t\t\t\t\tlocation.reload()\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tdisableApp(context, { appId }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\treturn api.post(generateUrl('settings/apps/disable'), { appIds: apps })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('disableApp', _appId)\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tuninstallApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\treturn api.get(generateUrl(`settings/apps/uninstall/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('uninstallApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tupdateApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.get(generateUrl(`settings/apps/update/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('updateApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tgetAllApps(context) {\n\t\tcontext.commit('startLoading', 'list')\n\t\treturn api.get(generateUrl('settings/apps/list'))\n\t\t\t.then((response) => {\n\t\t\t\tcontext.commit('setAllApps', response.data.apps)\n\t\t\t\tcontext.commit('stopLoading', 'list')\n\t\t\t\treturn true\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tasync getCategories(context, { shouldRefetchCategories = false } = {}) {\n\t\tif (shouldRefetchCategories || !context.state.gettingCategoriesPromise) {\n\t\t\tcontext.commit('startLoading', 'categories')\n\t\t\ttry {\n\t\t\t\tconst categoriesPromise = api.get(generateUrl('settings/apps/categories'))\n\t\t\t\tcontext.commit('updateCategories', categoriesPromise)\n\t\t\t\tconst categoriesPromiseResponse = await categoriesPromise\n\t\t\t\tif (categoriesPromiseResponse.data.length > 0) {\n\t\t\t\t\tcontext.commit('appendCategories', categoriesPromiseResponse.data)\n\t\t\t\t\tcontext.commit('stopLoading', 'categories')\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\tcontext.commit('stopLoading', 'categories')\n\t\t\t\treturn false\n\t\t\t} catch (error) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t}\n\t\treturn context.state.gettingCategoriesPromise\n\t},\n\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport api from './api.js'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nconst state = {}\nconst mutations = {}\nconst getters = {}\nconst actions = {\n\t/**\n\t * Set application config in database\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.app Application name\n\t * @param {boolean} options.key Config key\n\t * @param {boolean} options.value Value to set\n\t * @return {Promise}\n\t */\n\tsetAppConfig(context, { app, key, value }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('apps/provisioning_api/api/v1/config/apps/{app}/{key}', { app, key }), { value })\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { app, key, value, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport Vuex, { Store } from 'vuex'\nimport users from './users.js'\nimport apps from './apps.js'\nimport settings from './settings.js'\nimport oc from './oc.js'\nimport { showError } from '@nextcloud/dialogs'\n\nVue.use(Vuex)\n\nconst debug = process.env.NODE_ENV !== 'production'\n\nconst mutations = {\n\tAPI_FAILURE(state, error) {\n\t\ttry {\n\t\t\tconst message = error.error.response.data.ocs.meta.message\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '<br>' + message, { isHTML: true })\n\t\t} catch (e) {\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.'))\n\t\t}\n\t\tconsole.error(state, error)\n\t},\n}\n\nexport default new Store({\n\tmodules: {\n\t\tusers,\n\t\tapps,\n\t\tsettings,\n\t\toc,\n\t},\n\tstrict: debug,\n\n\tmutations,\n})\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst state = {\n\tserverData: {},\n}\nconst mutations = {\n\tsetServerData(state, data) {\n\t\tstate.serverData = data\n\t},\n}\nconst getters = {\n\tgetServerData(state) {\n\t\treturn state.serverData\n\t},\n}\nconst actions = {}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport Router from 'vue-router'\nimport { generateUrl } from '@nextcloud/router'\nimport { APPS_SECTION_ENUM } from './constants/AppsConstants.js'\nimport store from './store/index.js'\nimport { setPageHeading } from '../../../core/src/OCP/accessibility.js'\n\n// Dynamic loading\nconst Users = () => import(/* webpackChunkName: 'settings-users' */'./views/Users.vue')\nconst Apps = () => import(/* webpackChunkName: 'settings-apps-view' */'./views/Apps.vue')\n\nVue.use(Router)\n\n/*\n * This is the list of routes where the vuejs app will\n * take over php to provide data\n * You need to forward the php routing (routes.php) to\n * the settings-vue template, where the vue-router will\n * ensure the proper route.\n * ⚠️ Routes needs to match the php routes.\n */\nconst baseTitle = document.title\nconst router = new Router({\n\tmode: 'history',\n\t// if index.php is in the url AND we got this far, then it's working:\n\t// let's keep using index.php in the url\n\tbase: generateUrl(''),\n\tlinkActiveClass: 'active',\n\troutes: [\n\t\t{\n\t\t\tpath: '/:index(index.php/)?settings/users',\n\t\t\tcomponent: Users,\n\t\t\tprops: true,\n\t\t\tname: 'users',\n\t\t\tmeta: {\n\t\t\t\ttitle: () => {\n\t\t\t\t\treturn t('settings', 'Active users')\n\t\t\t\t},\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tpath: ':selectedGroup',\n\t\t\t\t\tname: 'group',\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\ttitle: (to) => {\n\t\t\t\t\t\t\tif (to.params.selectedGroup === 'admin') {\n\t\t\t\t\t\t\t\treturn t('settings', 'Admins')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (to.params.selectedGroup === 'disabled') {\n\t\t\t\t\t\t\t\treturn t('settings', 'Disabled users')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn decodeURIComponent(to.params.selectedGroup)\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tcomponent: Users,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tpath: '/:index(index.php/)?settings/apps',\n\t\t\tcomponent: Apps,\n\t\t\tprops: true,\n\t\t\tname: 'apps',\n\t\t\tmeta: {\n\t\t\t\ttitle: () => {\n\t\t\t\t\treturn t('settings', 'Your apps')\n\t\t\t\t},\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tpath: ':category',\n\t\t\t\t\tname: 'apps-category',\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\ttitle: async (to) => {\n\t\t\t\t\t\t\tif (to.name === 'apps') {\n\t\t\t\t\t\t\t\treturn t('settings', 'Your apps')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (APPS_SECTION_ENUM[to.params.category]) {\n\t\t\t\t\t\t\t\treturn APPS_SECTION_ENUM[to.params.category]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tawait store.dispatch('getCategories')\n\t\t\t\t\t\t\tconst category = store.getters.getCategoryById(to.params.category)\n\t\t\t\t\t\t\tif (category.displayName) {\n\t\t\t\t\t\t\t\treturn category.displayName\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\tcomponent: Apps,\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpath: ':id',\n\t\t\t\t\t\t\tname: 'apps-details',\n\t\t\t\t\t\t\tcomponent: Apps,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t],\n})\n\nrouter.afterEach(async (to) => {\n\tconst metaTitle = await to.meta.title?.(to)\n\tif (metaTitle) {\n\t\tdocument.title = `${metaTitle} - ${baseTitle}`\n\t\tsetPageHeading(metaTitle)\n\t} else {\n\t\tdocument.title = baseTitle\n\t}\n})\n\nexport default router\n","/**\n * @copyright Copyright (c) 2022 Joas Schilling <coding@schilljs.com>\n *\n * @author Joas Schilling <coding@schilljs.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { loadState } from '@nextcloud/initial-state'\n\n/**\n * Set the page heading\n *\n * @param {string} heading page title from the history api\n * @since 27.0.0\n */\nexport function setPageHeading(heading) {\n\tconst headingEl = document.getElementById('page-heading-level-1')\n\tif (headingEl) {\n\t\theadingEl.textContent = heading\n\t}\n}\nexport default {\n\t/**\n\t * @return {boolean} Whether the user opted-out of shortcuts so that they should not be registered\n\t */\n\tdisableKeyboardShortcuts() {\n\t\treturn loadState('theming', 'shortcutsDisabled', false)\n\t},\n\tsetPageHeading,\n}\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author rakekniven <mark.ziegler@rakekniven.de>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport VTooltip from 'v-tooltip'\nimport { sync } from 'vuex-router-sync'\n\nimport App from './App.vue'\nimport router from './router.js'\nimport store from './store/index.js'\n\nVue.use(VTooltip, { defaultHtml: false })\n\nsync(store, router)\n\n// CSP config for webpack dynamic chunk loading\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(OC.requestToken)\n\n// bind to window\nVue.prototype.t = t\nVue.prototype.n = n\nVue.prototype.OC = OC\nVue.prototype.OCA = OCA\n// eslint-disable-next-line camelcase\nVue.prototype.oc_userconfig = oc_userconfig\n\nconst app = new Vue({\n\trouter,\n\tstore,\n\trender: h => h(App),\n}).$mount('#content')\n\nexport { app, router, store }\n","exports.sync = function (store, router, options) {\n var moduleName = (options || {}).moduleName || 'route'\n\n store.registerModule(moduleName, {\n namespaced: true,\n state: cloneRoute(router.currentRoute),\n mutations: {\n 'ROUTE_CHANGED': function ROUTE_CHANGED (state, transition) {\n store.state[moduleName] = cloneRoute(transition.to, transition.from)\n }\n }\n })\n\n var isTimeTraveling = false\n var currentPath\n\n // sync router on store change\n var storeUnwatch = store.watch(\n function (state) { return state[moduleName]; },\n function (route) {\n var fullPath = route.fullPath;\n if (fullPath === currentPath) {\n return\n }\n if (currentPath != null) {\n isTimeTraveling = true\n router.push(route)\n }\n currentPath = fullPath\n },\n { sync: true }\n )\n\n // sync store on router navigation\n var afterEachUnHook = router.afterEach(function (to, from) {\n if (isTimeTraveling) {\n isTimeTraveling = false\n return\n }\n currentPath = to.fullPath\n store.commit(moduleName + '/ROUTE_CHANGED', { to: to, from: from })\n })\n\n return function unsync () {\n // On unsync, remove router hook\n if (afterEachUnHook != null) {\n afterEachUnHook()\n }\n\n // On unsync, remove store watch\n if (storeUnwatch != null) {\n storeUnwatch()\n }\n\n // On unsync, unregister Module with store\n store.unregisterModule(moduleName)\n }\n}\n\nfunction cloneRoute (to, from) {\n var clone = {\n name: to.name,\n path: to.path,\n hash: to.hash,\n query: to.query,\n params: to.params,\n fullPath: to.fullPath,\n meta: to.meta\n }\n if (from) {\n clone.from = cloneRoute(from)\n }\n return Object.freeze(clone)\n}\n\n","// 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 = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(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 = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(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 = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + ({\"7418\":\"settings-apps-view\",\"8351\":\"settings-users\"}[chunkId] || chunkId) + \"-\" + chunkId + \".js?v=\" + {\"2250\":\"9c98ca37abd9ee1927b3\",\"7418\":\"c1cae41c530feb8e9906\",\"7996\":\"39e55a09e2da8534cf16\",\"8351\":\"0466ba4747e49633b056\"}[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 = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(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 = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 8562;","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) 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\t8562: 0\n};\n\n__webpack_require__.f.j = function(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(function(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 = function(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 = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(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(function(id) { return 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, [7874], function() { return __webpack_require__(97268); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","APPS_SECTION_ENUM","Object","freeze","enabled","t","disabled","updates","featured","supported","getLoggerBuilder","setApp","detectUser","build","name","beforeMount","document","getElementById","$store","commit","JSON","parse","dataset","server","_c","this","_self","extend","a","b","key","encodeReserveRE","encodeReserveReplacer","c","charCodeAt","toString","commaRE","encode","str","encodeURIComponent","replace","decode","decodeURIComponent","err","castQueryParamValue","value","String","parseQuery","query","res","trim","split","forEach","param","parts","shift","val","length","join","undefined","Array","isArray","push","stringifyQuery","obj","keys","map","result","val2","filter","x","trailingSlashRE","createRoute","record","location","redirectedFrom","router","options","clone","e","route","meta","path","hash","params","fullPath","getFullPath","matched","formatMatch","START","unshift","parent","ref","_stringifyQuery","isSameRoute","onlyPath","isObjectEqual","aKeys","sort","bKeys","every","i","aVal","bVal","handleRouteEntered","instances","instance","cbs","enteredCbs","i$1","_isBeingDestroyed","View","functional","props","type","default","render","_","children","data","routerView","h","$createElement","$route","cache","_routerViewCache","depth","inactive","_routerRoot","vnodeData","$vnode","keepAlive","_directInactive","_inactive","$parent","routerViewDepth","cachedData","cachedComponent","component","configProps","fillPropsinData","components","registerRouteInstance","vm","current","hook","prepatch","vnode","componentInstance","init","propsToPass","config","resolveProps","attrs","resolvePath","relative","base","append","firstChar","charAt","stack","pop","segments","segment","cleanPath","isarray","arr","prototype","call","pathToRegexp_1","pathToRegexp","RegExp","groups","source","match","prefix","delimiter","optional","repeat","partial","asterisk","pattern","attachKeys","regexpToRegexp","flags","arrayToRegexp","tokensToRegExp","stringToRegexp","parse_1","tokensToFunction_1","tokensToFunction","tokensToRegExp_1","PATH_REGEXP","tokens","index","defaultDelimiter","exec","m","escaped","offset","slice","next","capture","group","modifier","escapeGroup","escapeString","substr","encodeURIComponentPretty","encodeURI","toUpperCase","matches","opts","pretty","token","TypeError","stringify","j","test","re","sensitive","strict","end","endsWithDelimiter","compile","regexpCompileCache","create","fillParams","routeMsg","filler","pathMatch","normalizeLocation","raw","_normalized","params$1","rawPath","parsedPath","hashIndex","indexOf","queryIndex","parsePath","basePath","extraQuery","_parseQuery","parsedQuery","resolveQuery","_Vue","noop","Link","to","required","tag","custom","Boolean","exact","exactPath","activeClass","exactActiveClass","ariaCurrentValue","event","this$1$1","$router","resolve","href","classes","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","target","queryIncludes","isIncludedRoute","handler","guardEvent","on","click","class","scopedSlot","$scopedSlots","$hasNormal","navigate","isActive","isExactActive","findAnchor","$slots","isStatic","aData","handler$1","event$1","aAttrs","metaKey","altKey","ctrlKey","shiftKey","defaultPrevented","button","currentTarget","getAttribute","preventDefault","child","inBrowser","window","createRouteMap","routes","oldPathList","oldPathMap","oldNameMap","parentRoute","pathList","pathMap","nameMap","addRouteRecord","l","splice","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","regex","compileRouteRegex","alias","redirect","beforeEnter","childMatchAs","aliases","aliasRoute","createMatcher","currentRoute","_createRoute","paramNames","record$1","matchRoute","originalRedirect","hasOwnProperty","resolveRecordPath","aliasedMatch","aliasedRecord","addRoute","parentOrRoute","getRoutes","addRoutes","len","Time","performance","now","Date","genStateKey","toFixed","_key","getStateKey","setStateKey","positionStore","setupScroll","history","scrollRestoration","protocolAndPath","protocol","host","absolutePath","stateCopy","state","replaceState","addEventListener","handlePopState","removeEventListener","handleScroll","from","isPop","app","behavior","scrollBehavior","$nextTick","position","getScrollPosition","shouldScroll","then","scrollToPosition","catch","saveScrollPosition","pageXOffset","y","pageYOffset","isValidPosition","isNumber","normalizePosition","v","hashStartsWithNumberRE","isObject","selector","el","querySelector","docRect","documentElement","getBoundingClientRect","elRect","left","top","getElementPosition","style","scrollTo","ua","supportsPushState","navigator","userAgent","pushState","url","NavigationFailureType","redirected","aborted","cancelled","duplicated","createNavigationCancelledError","createRouterError","message","error","Error","_isRouter","propertiesToLog","isError","isNavigationFailure","errorType","runQueue","queue","fn","cb","step","flatMapComponents","flatten","concat","apply","hasSymbol","Symbol","toStringTag","once","called","args","arguments","History","baseEl","normalizeBase","pending","ready","readyCbs","readyErrorCbs","errorCbs","listeners","extractGuards","records","bind","reverse","guards","def","guard","extractGuard","bindGuard","listen","onReady","errorCb","onError","transitionTo","onComplete","onAbort","prev","confirmTransition","updateRoute","ensureURL","afterHooks","abort","console","lastRouteIndex","lastCurrentIndex","max","Math","updated","activated","deactivated","resolveQueue","extractLeaveGuards","beforeHooks","extractUpdateHooks","hasAsync","cid","resolvedDef","__esModule","resolved","reject","reason","msg","comp","iterator","createNavigationAbortedError","createNavigationRedirectedError","enterGuards","bindEnterGuard","extractEnterGuards","resolveHooks","setupListeners","teardown","cleanupListener","HTML5History","_startLocation","getLocation","__proto__","constructor","expectScroll","supportsScroll","handleRoutingEvent","go","n","fromRoute","getCurrentLocation","pathname","pathLowerCase","toLowerCase","baseLowerCase","search","HashHistory","fallback","checkFallback","ensureSlash","getHash","replaceHash","eventType","pushHash","getUrl","AbstractHistory","targetIndex","VueRouter","apps","matcher","mode","prototypeAccessors","configurable","get","$once","routeOrError","handleInitialScroll","_route","beforeEach","registerHook","beforeResolve","afterEach","Promise","back","forward","getMatchedComponents","createHref","normalizedTo","defineProperties","VueRouter$1","list","install","Vue","installed","isDef","registerInstance","callVal","$options","_parentVnode","mixin","beforeCreate","_router","util","defineReactive","destroyed","defineProperty","strats","optionMergeStrategies","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","created","version","START_LOCATION","use","sanitize","confirmPassword","axios","post","put","delete","orderGroups","orderBy","usercount","localeCompare","defaults","id","canAdd","canRemove","mutations","appendUsers","usersObj","existingUsers","users","_ref","newUsers","values","_ref2","includes","usersOffset","usersLimit","setPasswordPolicyMinLength","minPasswordLength","initGroups","_ref3","userCount","assign","addGroup","_ref4","gid","displayName","find","renameGroup","_ref5","groupIndex","findIndex","groupSearch","updatedGroup","removeGroup","addUserGroup","_ref6","userid","user","removeUserGroup","_ref7","addUserSubAdmin","_ref8","subadmin","removeUserSubAdmin","_ref9","deleteUser","userIndex","actionType","addUserData","response","ocs","enableDisableUser","_ref10","updateUserCounts","_ref11","disabledGroup","userGroup","warn","logger","setUserData","_ref12","humanValue","OC","Util","computerFileSize","resetUsers","setShowConfig","_ref13","showConfig","CancelToken","searchRequestCancelSource","showStoragePath","showUserBackend","showLastLogin","showNewUserForm","showLanguages","getters","getUsers","getGroups","getSubadminGroups","getPasswordPolicyMinLength","getUsersOffset","getUsersLimit","getUserCount","getShowConfig","actions","searchUsers","context","_ref14","limit","api","generateOcsUrl","isCancel","getUser","userId","_ref15","cancel","cancelToken","usersCount","_ref16","limitParam","getUsersFromList","_ref17","getUsersFromGroup","_ref18","groupid","groupId","getCapabilities","password_policy","minLength","_ref19","_ref20","_ref21","_ref22","_ref23","wipeUserDevices","addUser","_ref24","_ref25","dispatch","password","email","quota","language","manager","_ref26","_ref26$enabled","userStatus","_ref27","allowedEmpty","sendWelcomeMail","_regeneratorRuntime","exports","Op","hasOwn","desc","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","define","enumerable","writable","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","Context","makeInvokeMethod","tryCatch","arg","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","Gp","defineIteratorMethods","method","_invoke","AsyncIterator","PromiseImpl","invoke","_typeof","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","done","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","return","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","doneResult","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","awrap","async","iter","object","skipTempReset","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","APPS_API_FAILURE","showError","isHTML","initCategories","categories","updateCount","updateCategories","categoriesPromise","gettingCategoriesPromise","setUpdateCount","addCategory","category","appendCategories","categoriesArray","setAllApps","setError","appId","_id","clearError","enableApp","active","disableApp","removable","canUnInstall","uninstallApp","needsDownload","canInstall","updateApp","update","resetApps","startLoading","loading","stopLoading","generateUrl","appIds","_appId","update_required","showInfo","onClick","reload","close","setTimeout","forceEnableApp","getAllApps","getCategories","_arguments","_callee","_ref10$shouldRefetchC","categoriesPromiseResponse","_context","shouldRefetchCategories","t0","loadingList","getUpdateCount","getCategoryById","selectedCategoryId","setAppConfig","Vuex","API_FAILURE","Store","modules","settings","serverData","setServerData","getServerData","oc","process","_asyncToGenerator","Users","Apps","Router","_title","baseTitle","title","selectedGroup","store","_x","_callee2","_to$meta$title","_to$meta","metaTitle","_context2","heading","headingEl","textContent","_x2","VTooltip","defaultHtml","sync","__webpack_nonce__","btoa","requestToken","OCA","oc_userconfig","App","$mount","cloneRoute","moduleName","registerModule","namespaced","transition","currentPath","isTimeTraveling","storeUnwatch","watch","afterEachUnHook","unregisterModule","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","module","loaded","__webpack_modules__","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","r","getter","d","definition","o","f","chunkId","all","reduce","promises","u","g","globalThis","Function","prop","script","needAttach","scripts","getElementsByTagName","s","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","head","appendChild","nmd","paths","scriptUrl","importScripts","currentScript","p","baseURI","installedChunks","installedChunkData","promise","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file diff --git a/dist/settings-vue-settings-personal-info.js b/dist/settings-vue-settings-personal-info.js index 4d10cabb72d..b3f3fc806d1 100644 --- a/dist/settings-vue-settings-personal-info.js +++ b/dist/settings-vue-settings-personal-info.js @@ -1,3 +1,3 @@ /*! For license information please see settings-vue-settings-personal-info.js.LICENSE.txt */ -!function(){var e,n,r,o={6190:function(e,n,r){"use strict";var o=r(20144),i=r(77958),a=r(43554),d=r(31352),s=r(93664),c=r(79753),l=r(64024),u=r(69183),p=r(18519),f=r(57274),h=r(17652),v=r(93379),m=r.n(v),y=r(7795),g=r.n(y),A=r(90569),$=r.n(A),b=r(3565),w=r.n(b),C=r(19216),x=r.n(C),E=r(44589),O=r.n(E),S=r(95073),P={};P.styleTagTransform=O(),P.setAttributes=w(),P.insert=$().bind(null,"head"),P.domAPI=g(),P.insertStyleElement=x(),m()(S.Z,P),S.Z&&S.Z.locals&&S.Z.locals;var L=r(75762),j=r(34829),I=r(57612),_=r(61149),k=r(3349),B=r(20212),N={name:"FederationControlAction",components:{NcActionButton:B.Z},props:{activeScope:{type:String,required:!0},displayName:{type:String,required:!0},handleScopeChange:{type:Function,default:function(){}},iconClass:{type:String,required:!0},isSupportedScope:{type:Boolean,required:!0},name:{type:String,required:!0},tooltipDisabled:{type:String,default:""},tooltip:{type:String,required:!0}},methods:{updateScope:function(){this.handleScopeChange(this.name)}}},D=r(80918),T={};T.styleTagTransform=O(),T.setAttributes=w(),T.insert=$().bind(null,"head"),T.domAPI=g(),T.insertStyleElement=x(),m()(D.Z,T),D.Z&&D.Z.locals&&D.Z.locals;var M,R,F,G,Z=r(51900),U=(0,Z.Z)(N,(function(){var t=this;return(0,t._self._c)("NcActionButton",{staticClass:"federation-actions__btn",class:{"federation-actions__btn--active":t.activeScope===t.name},attrs:{"aria-label":t.isSupportedScope?t.tooltip:t.tooltipDisabled,"close-after-click":!0,disabled:!t.isSupportedScope,icon:t.iconClass,title:t.displayName},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.updateScope.apply(null,arguments)}}},[t._v("\n\t"+t._s(t.isSupportedScope?t.tooltip:t.tooltipDisabled)+"\n")])}),[],!1,null,"4fc9bff1",null),Y=U.exports;function z(t){return z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},z(t)}function H(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==z(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==z(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===z(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var W=Object.freeze({ADDRESS:"address",AVATAR:"avatar",BIOGRAPHY:"biography",DISPLAYNAME:"displayname",EMAIL_COLLECTION:"additional_mail",EMAIL:"email",HEADLINE:"headline",NOTIFICATION_EMAIL:"notify_email",FEDIVERSE:"fediverse",ORGANISATION:"organisation",PHONE:"phone",PROFILE_ENABLED:"profile_enabled",ROLE:"role",TWITTER:"twitter",WEBSITE:"website"}),V=Object.freeze({ADDRESS:(0,d.Iu)("settings","Location"),AVATAR:(0,d.Iu)("settings","Profile picture"),BIOGRAPHY:(0,d.Iu)("settings","About"),DISPLAYNAME:(0,d.Iu)("settings","Full name"),EMAIL_COLLECTION:(0,d.Iu)("settings","Additional email"),EMAIL:(0,d.Iu)("settings","Email"),HEADLINE:(0,d.Iu)("settings","Headline"),ORGANISATION:(0,d.Iu)("settings","Organisation"),PHONE:(0,d.Iu)("settings","Phone number"),PROFILE_ENABLED:(0,d.Iu)("settings","Profile"),ROLE:(0,d.Iu)("settings","Role"),TWITTER:(0,d.Iu)("settings","Twitter"),FEDIVERSE:(0,d.Iu)("settings","Fediverse (e.g. Mastodon)"),WEBSITE:(0,d.Iu)("settings","Website")}),X=Object.freeze((H(M={},W.ADDRESS,V.ADDRESS),H(M,W.AVATAR,V.AVATAR),H(M,W.BIOGRAPHY,V.BIOGRAPHY),H(M,W.DISPLAYNAME,V.DISPLAYNAME),H(M,W.EMAIL_COLLECTION,V.EMAIL_COLLECTION),H(M,W.EMAIL,V.EMAIL),H(M,W.HEADLINE,V.HEADLINE),H(M,W.ORGANISATION,V.ORGANISATION),H(M,W.PHONE,V.PHONE),H(M,W.PROFILE_ENABLED,V.PROFILE_ENABLED),H(M,W.ROLE,V.ROLE),H(M,W.TWITTER,V.TWITTER),H(M,W.FEDIVERSE,V.FEDIVERSE),H(M,W.WEBSITE,V.WEBSITE),M)),q=Object.freeze({PROFILE_VISIBILITY:(0,d.Iu)("settings","Profile visibility")}),K=Object.freeze((H(R={},V.ADDRESS,W.ADDRESS),H(R,V.AVATAR,W.AVATAR),H(R,V.BIOGRAPHY,W.BIOGRAPHY),H(R,V.DISPLAYNAME,W.DISPLAYNAME),H(R,V.EMAIL_COLLECTION,W.EMAIL_COLLECTION),H(R,V.EMAIL,W.EMAIL),H(R,V.HEADLINE,W.HEADLINE),H(R,V.ORGANISATION,W.ORGANISATION),H(R,V.PHONE,W.PHONE),H(R,V.PROFILE_ENABLED,W.PROFILE_ENABLED),H(R,V.ROLE,W.ROLE),H(R,V.TWITTER,W.TWITTER),H(R,V.FEDIVERSE,W.FEDIVERSE),H(R,V.WEBSITE,W.WEBSITE),R)),Q=Object.freeze({LANGUAGE:"language",LOCALE:"locale"}),J=Object.freeze({LANGUAGE:(0,d.Iu)("settings","Language"),LOCALE:(0,d.Iu)("settings","Locale")}),tt=Object.freeze({PRIVATE:"v2-private",LOCAL:"v2-local",FEDERATED:"v2-federated",PUBLISHED:"v2-published"}),et=Object.freeze((H(F={},V.ADDRESS,[tt.LOCAL,tt.PRIVATE]),H(F,V.AVATAR,[tt.LOCAL,tt.PRIVATE]),H(F,V.BIOGRAPHY,[tt.LOCAL,tt.PRIVATE]),H(F,V.DISPLAYNAME,[tt.LOCAL]),H(F,V.EMAIL_COLLECTION,[tt.LOCAL]),H(F,V.EMAIL,[tt.LOCAL]),H(F,V.HEADLINE,[tt.LOCAL,tt.PRIVATE]),H(F,V.ORGANISATION,[tt.LOCAL,tt.PRIVATE]),H(F,V.PHONE,[tt.LOCAL,tt.PRIVATE]),H(F,V.PROFILE_ENABLED,[tt.LOCAL,tt.PRIVATE]),H(F,V.ROLE,[tt.LOCAL,tt.PRIVATE]),H(F,V.TWITTER,[tt.LOCAL,tt.PRIVATE]),H(F,V.FEDIVERSE,[tt.LOCAL,tt.PRIVATE]),H(F,V.WEBSITE,[tt.LOCAL,tt.PRIVATE]),F)),nt=Object.freeze([V.BIOGRAPHY,V.HEADLINE,V.ORGANISATION,V.ROLE]),rt="Scope",ot=Object.freeze((H(G={},tt.PRIVATE,{name:tt.PRIVATE,displayName:(0,d.Iu)("settings","Private"),tooltip:(0,d.Iu)("settings","Only visible to people matched via phone number integration through Talk on mobile"),tooltipDisabled:(0,d.Iu)("settings","Not available as this property is required for core functionality including file sharing and calendar invitations"),iconClass:"icon-phone"}),H(G,tt.LOCAL,{name:tt.LOCAL,displayName:(0,d.Iu)("settings","Local"),tooltip:(0,d.Iu)("settings","Only visible to people on this instance and guests"),iconClass:"icon-password"}),H(G,tt.FEDERATED,{name:tt.FEDERATED,displayName:(0,d.Iu)("settings","Federated"),tooltip:(0,d.Iu)("settings","Only synchronize to trusted servers"),tooltipDisabled:(0,d.Iu)("settings","Not available as federation has been disabled for your account, contact your system administrator if you have any questions"),iconClass:"icon-contacts-dark"}),H(G,tt.PUBLISHED,{name:tt.PUBLISHED,displayName:(0,d.Iu)("settings","Published"),tooltip:(0,d.Iu)("settings","Synchronize to trusted servers and the global and public address book"),tooltipDisabled:(0,d.Iu)("settings","Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions"),iconClass:"icon-link"}),G)),it=tt.LOCAL,at=Object.freeze({NOT_VERIFIED:0,VERIFICATION_IN_PROGRESS:1,VERIFIED:2}),dt=/^(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){255,})(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){65,}@)(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22))(?:\.(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-+[a-z0-9]+)*\.){1,126}){1,}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-+[a-z0-9]+)*)|(?:\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\]))$/i,st=r(7820);function ct(t){return ct="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ct(t)}function lt(){lt=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",d=o.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,n){return t[e]=n}}function c(t,e,n,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),d=new E(o||[]);return r(a,"_invoke",{value:b(t,n,d)}),a}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var u={};function p(){}function f(){}function h(){}var v={};s(v,i,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(O([])));y&&y!==e&&n.call(y,i)&&(v=y);var g=h.prototype=p.prototype=Object.create(v);function A(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function $(t,e){function o(r,i,a,d){var s=l(t[r],t,i);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==ct(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){o("next",t,a,d)}),(function(t){o("throw",t,a,d)})):e.resolve(u).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,d)}))}d(s.arg)}var i;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){o(t,n,e,r)}))}return i=i?i.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return{value:void 0,done:!0}}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var d=w(a,n);if(d){if(d===u)continue;return d}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var s=l(t,e,n);if("normal"===s.type){if(r=n.done?"completed":"suspendedYield",s.arg===u)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r="completed",n.method="throw",n.arg=s.arg)}}}function w(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),u;var o=l(r,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,u;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,u):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,u)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return f.prototype=h,r(g,"constructor",{value:h,configurable:!0}),r(h,"constructor",{value:f,configurable:!0}),f.displayName=s(h,d,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,d,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},A($.prototype),s($.prototype,a,(function(){return this})),t.AsyncIterator=$,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new $(c(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},A(g),s(g,d,"Generator"),s(g,i,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=O,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var d=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(d&&s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(d){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),u},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),u}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:O(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},t}function ut(t,e,n,r,o,i,a){try{var d=t[i](a),s=d.value}catch(t){return void n(t)}d.done?e(s):Promise.resolve(s).then(r,o)}function pt(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){ut(i,r,o,a,d,"next",t)}function d(t){ut(i,r,o,a,d,"throw",t)}a(void 0)}))}}r(65509);var ft=function(){var t=pt(lt().mark((function t(e,n){var r,o,a;return lt().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return"boolean"==typeof n&&(n=n?"1":"0"),r=(0,i.ts)().uid,o=(0,c.generateOcsUrl)("cloud/users/{userId}",{userId:r}),t.next=5,(0,st.Z)();case 5:return t.next=7,s.Z.put(o,{key:e,value:n});case 7:return a=t.sent,t.abrupt("return",a.data);case 9:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}(),ht=function(){var t=pt(lt().mark((function t(e,n){var r,o,a;return lt().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=(0,i.ts)().uid,o=(0,c.generateOcsUrl)("cloud/users/{userId}",{userId:r}),t.next=4,(0,st.Z)();case 4:return t.next=6,s.Z.put(o,{key:"".concat(e).concat(rt),value:n});case 6:return a=t.sent,t.abrupt("return",a.data);case 8:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}(),vt=(0,r(17499).IY)().setApp("settings").detectUser().build(),mt=function(t,e){var n,r="";e&&(r+=e),429===(null===(n=t.response)||void 0===n?void 0:n.status)&&(r&&(r+="\n"),r+=(0,d.Iu)("settings","There were too many requests from your network. Retry later or contact your administrator if this is an error.")),(0,l.x2)(r),vt.error(r||(0,d.Iu)("Error"),t)};function yt(t){return yt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yt(t)}function gt(){gt=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",d=o.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,n){return t[e]=n}}function c(t,e,n,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),d=new E(o||[]);return r(a,"_invoke",{value:b(t,n,d)}),a}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var u={};function p(){}function f(){}function h(){}var v={};s(v,i,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(O([])));y&&y!==e&&n.call(y,i)&&(v=y);var g=h.prototype=p.prototype=Object.create(v);function A(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function $(t,e){function o(r,i,a,d){var s=l(t[r],t,i);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==yt(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){o("next",t,a,d)}),(function(t){o("throw",t,a,d)})):e.resolve(u).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,d)}))}d(s.arg)}var i;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){o(t,n,e,r)}))}return i=i?i.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return{value:void 0,done:!0}}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var d=w(a,n);if(d){if(d===u)continue;return d}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var s=l(t,e,n);if("normal"===s.type){if(r=n.done?"completed":"suspendedYield",s.arg===u)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r="completed",n.method="throw",n.arg=s.arg)}}}function w(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),u;var o=l(r,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,u;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,u):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,u)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return f.prototype=h,r(g,"constructor",{value:h,configurable:!0}),r(h,"constructor",{value:f,configurable:!0}),f.displayName=s(h,d,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,d,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},A($.prototype),s($.prototype,a,(function(){return this})),t.AsyncIterator=$,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new $(c(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},A(g),s(g,d,"Generator"),s(g,i,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=O,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var d=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(d&&s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(d){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),u},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),u}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:O(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},t}function At(t,e,n,r,o,i,a){try{var d=t[i](a),s=d.value}catch(t){return void n(t)}d.done?e(s):Promise.resolve(s).then(r,o)}function $t(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){At(i,r,o,a,d,"next",t)}function d(t){At(i,r,o,a,d,"throw",t)}a(void 0)}))}}var bt=(0,a.j)("settings","accountParameters",{}),wt=bt.federationEnabled,Ct=bt.lookupServerUploadEnabled,xt={name:"FederationControl",components:{NcActions:k.Z,FederationControlAction:Y},props:{readable:{type:String,required:!0,validator:function(t){return Object.values(V).includes(t)||Object.values(J).includes(t)||t===q.PROFILE_VISIBILITY}},additional:{type:Boolean,default:!1},additionalValue:{type:String,default:""},disabled:{type:Boolean,default:!1},handleAdditionalScopeChange:{type:Function,default:null},scope:{type:String,required:!0}},data:function(){return{readableLowerCase:this.readable.toLocaleLowerCase(),initialScope:this.scope}},computed:{ariaLabel:function(){return t("settings","Change scope level of {property}, current scope is {scope}",{property:this.readableLowerCase,scope:this.scopeDisplayNameLowerCase})},scopeDisplayNameLowerCase:function(){return ot[this.scope].displayName.toLocaleLowerCase()},scopeIcon:function(){return ot[this.scope].iconClass},federationScopes:function(){return Object.values(ot)},supportedScopes:function(){var t=et[this.readable];return nt.includes(this.readable)||(wt&&t.push(tt.FEDERATED),Ct&&t.push(tt.PUBLISHED)),t}},methods:{changeScope:function(t){var e=this;return $t(gt().mark((function n(){return gt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(e.$emit("update:scope",t),e.additional){n.next=6;break}return n.next=4,e.updatePrimaryScope(t);case 4:n.next=8;break;case 6:return n.next=8,e.updateAdditionalScope(t);case 8:case"end":return n.stop()}}),n)})))()},updatePrimaryScope:function(e){var n=this;return $t(gt().mark((function r(){var o,i;return gt().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,ht(K[n.readable],e);case 3:i=r.sent,n.handleResponse({scope:e,status:null===(o=i.ocs)||void 0===o||null===(o=o.meta)||void 0===o?void 0:o.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),n.handleResponse({errorMessage:t("settings","Unable to update federation scope of the primary {property}",{property:n.readableLowerCase}),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},updateAdditionalScope:function(e){var n=this;return $t(gt().mark((function r(){var o,i;return gt().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,n.handleAdditionalScopeChange(n.additionalValue,e);case 3:i=r.sent,n.handleResponse({scope:e,status:null===(o=i.ocs)||void 0===o||null===(o=o.meta)||void 0===o?void 0:o.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),n.handleResponse({errorMessage:t("settings","Unable to update federation scope of additional {property}",{property:n.readableLowerCase}),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},handleResponse:function(t){var e=t.scope,n=t.status,r=t.errorMessage,o=t.error;"ok"===n?this.initialScope=e:(this.$emit("update:scope",this.initialScope),mt(o,r))}}},Et=r(79872),Ot={};Ot.styleTagTransform=O(),Ot.setAttributes=w(),Ot.insert=$().bind(null,"head"),Ot.domAPI=g(),Ot.insertStyleElement=x(),m()(Et.Z,Ot),Et.Z&&Et.Z.locals&&Et.Z.locals;var St=(0,Z.Z)(xt,(function(){var t=this,e=t._self._c;return e("NcActions",{class:{"federation-actions":!t.additional,"federation-actions--additional":t.additional},attrs:{"aria-label":t.ariaLabel,"default-icon":t.scopeIcon,disabled:t.disabled}},t._l(t.federationScopes,(function(n){return e("FederationControlAction",{key:n.name,attrs:{"active-scope":t.scope,"display-name":n.displayName,"handle-scope-change":t.changeScope,"icon-class":n.iconClass,"is-supported-scope":t.supportedScopes.includes(n.name),name:n.name,"tooltip-disabled":n.tooltipDisabled,tooltip:n.tooltip,"aria-label":n.tooltip}})})),1)}),[],!1,null,"bce2fdec",null).exports,Pt={name:"HeaderBar",components:{FederationControl:St,NcButton:f.Z,Plus:_.Z},props:{scope:{type:String,default:null},readable:{type:String,required:!0},inputId:{type:String,default:null},isEditable:{type:Boolean,default:!0},isMultiValueSupported:{type:Boolean,default:!1},isValidSection:{type:Boolean,default:!0},isHeading:{type:Boolean,default:!1}},data:function(){return{localScope:this.scope}},computed:{isProfileProperty:function(){return this.readable===V.PROFILE_ENABLED},isSettingProperty:function(){return!Object.values(V).includes(this.readable)&&!Object.values(q).includes(this.readable)}},methods:{onAddAdditional:function(){this.$emit("add-additional")},onScopeChange:function(t){this.$emit("update:scope",t)}}},Lt=r(47922),jt={};jt.styleTagTransform=O(),jt.setAttributes=w(),jt.insert=$().bind(null,"head"),jt.domAPI=g(),jt.insertStyleElement=x(),m()(Lt.Z,jt),Lt.Z&&Lt.Z.locals&&Lt.Z.locals;var It=(0,Z.Z)(Pt,(function(){var t=this,e=t._self._c;return e(t.isHeading?"h3":"div",{tag:"component",staticClass:"headerbar-label",class:{"setting-property":t.isSettingProperty,"profile-property":t.isProfileProperty}},[t.isHeading?e("span",[t._v("\n\t\t"+t._s(t.readable)+"\n\t")]):e("label",{attrs:{for:t.inputId}},[t._v("\n\t\t"+t._s(t.readable)+"\n\t")]),t._v(" "),t.scope?[e("FederationControl",{staticClass:"federation-control",attrs:{readable:t.readable,scope:t.localScope},on:{"update:scope":[function(e){t.localScope=e},t.onScopeChange]}})]:t._e(),t._v(" "),t.isEditable&&t.isMultiValueSupported?[e("NcButton",{attrs:{type:"tertiary",disabled:!t.isValidSection,"aria-label":t.t("settings","Add additional email")},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.onAddAdditional.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Plus",{attrs:{size:20}})]},proxy:!0}],null,!1,32235154)},[t._v("\n\t\t\t"+t._s(t.t("settings","Add"))+"\n\t\t")])]:t._e()],2)}),[],!1,null,"117e8ad0",null),_t=It.exports;function kt(t){return kt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},kt(t)}function Bt(){Bt=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",d=o.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,n){return t[e]=n}}function c(t,e,n,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),d=new E(o||[]);return r(a,"_invoke",{value:b(t,n,d)}),a}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var u={};function p(){}function f(){}function h(){}var v={};s(v,i,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(O([])));y&&y!==e&&n.call(y,i)&&(v=y);var g=h.prototype=p.prototype=Object.create(v);function A(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function $(t,e){function o(r,i,a,d){var s=l(t[r],t,i);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==kt(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){o("next",t,a,d)}),(function(t){o("throw",t,a,d)})):e.resolve(u).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,d)}))}d(s.arg)}var i;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){o(t,n,e,r)}))}return i=i?i.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return{value:void 0,done:!0}}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var d=w(a,n);if(d){if(d===u)continue;return d}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var s=l(t,e,n);if("normal"===s.type){if(r=n.done?"completed":"suspendedYield",s.arg===u)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r="completed",n.method="throw",n.arg=s.arg)}}}function w(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),u;var o=l(r,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,u;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,u):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,u)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return f.prototype=h,r(g,"constructor",{value:h,configurable:!0}),r(h,"constructor",{value:f,configurable:!0}),f.displayName=s(h,d,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,d,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},A($.prototype),s($.prototype,a,(function(){return this})),t.AsyncIterator=$,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new $(c(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},A(g),s(g,d,"Generator"),s(g,i,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=O,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var d=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(d&&s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(d){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),u},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),u}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:O(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},t}function Nt(t,e,n,r,o,i,a){try{var d=t[i](a),s=d.value}catch(t){return void n(t)}d.done?e(s):Promise.resolve(s).then(r,o)}function Dt(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){Nt(i,r,o,a,d,"next",t)}function d(t){Nt(i,r,o,a,d,"throw",t)}a(void 0)}))}}function Tt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Mt(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Tt(Object(n),!0).forEach((function(e){Rt(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Tt(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function Rt(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==kt(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==kt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===kt(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Ft=(0,a.j)("settings","personalInfoParameters",{}).avatar,Gt=(0,a.j)("settings","accountParameters",{}).avatarChangeSupported,Zt=["image/png","image/jpeg"],Ut=(0,l.fn)(t("settings","Choose your profile picture")).setMultiSelect(!1).setMimeTypeFilter(Zt).setType(1).allowDirectories(!1).build(),Yt={name:"AvatarSection",components:{Delete:I.Z,Folder:j.default,HeaderBar:_t,NcAvatar:p.Z,NcButton:f.Z,Upload:L.Z,VueCropper:h.Z},data:function(){return{avatar:Mt(Mt({},Ft),{},{readable:X[Ft.name]}),avatarChangeSupported:Gt,showCropper:!1,loading:!1,userId:(0,i.ts)().uid,displayName:(0,i.ts)().displayName,version:oc_userconfig.avatar.version,isGenerated:oc_userconfig.avatar.generated,validMimeTypes:Zt,cropperOptions:{aspectRatio:1,viewMode:1,guides:!1,center:!1,highlight:!1,autoCropArea:1,minContainerWidth:300,minContainerHeight:300}}},computed:{inputId:function(){return"account-property-".concat(this.avatar.name)}},created:function(){(0,u.Ld)("settings:display-name:updated",this.handleDisplayNameUpdate)},beforeDestroy:function(){(0,u.r1)("settings:display-name:updated",this.handleDisplayNameUpdate)},methods:{activateLocalFilePicker:function(){this.$refs.input.value=null,this.$refs.input.click()},onChange:function(e){var n=this;this.loading=!0;var r=e.target.files[0];if(!this.validMimeTypes.includes(r.type))return(0,l.x2)(t("settings","Please select a valid png or jpg file")),void this.cancel();var o=new FileReader;o.onload=function(t){n.$refs.cropper.replace(t.target.result),n.showCropper=!0},o.readAsDataURL(r)},openFilePicker:function(){var e=this;return Dt(Bt().mark((function n(){var r,o,i,a;return Bt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Ut.pick();case 2:return r=n.sent,e.loading=!0,n.prev=4,n.next=7,s.Z.post((0,c.generateUrl)("/avatar"),{path:r});case 7:o=n.sent,"success"===(i=o.data).status?e.handleAvatarUpdate(!1):"notsquare"===i.data?(a=(0,c.generateUrl)("/avatar/tmp")+"?requesttoken="+encodeURIComponent(OC.requestToken)+"#"+Math.floor(1e3*Math.random()),e.$refs.cropper.replace(a),e.showCropper=!0):((0,l.x2)(i.data.message),e.cancel()),n.next=16;break;case 12:n.prev=12,n.t0=n.catch(4),(0,l.x2)(t("settings","Error setting profile picture")),e.cancel();case 16:case"end":return n.stop()}}),n,null,[[4,12]])})))()},saveAvatar:function(){var e=this;this.showCropper=!1,this.loading=!0;var n=this.$refs.cropper.getCroppedCanvas(),r=n.width>512?512/n.width:1;this.$refs.cropper.scale(r,r).getCroppedCanvas().toBlob(function(){var n=Dt(Bt().mark((function n(r){var o;return Bt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(null!==r){n.next=4;break}return(0,l.x2)(t("settings","Error cropping profile picture")),e.cancel(),n.abrupt("return");case 4:return(o=new FormData).append("files[]",r),n.prev=6,n.next=9,s.Z.post((0,c.generateUrl)("/avatar"),o);case 9:e.handleAvatarUpdate(!1),n.next=16;break;case 12:n.prev=12,n.t0=n.catch(6),(0,l.x2)(t("settings","Error saving profile picture")),e.handleAvatarUpdate(e.isGenerated);case 16:case"end":return n.stop()}}),n,null,[[6,12]])})));return function(t){return n.apply(this,arguments)}}())},removeAvatar:function(){var e=this;return Dt(Bt().mark((function n(){return Bt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return e.loading=!0,n.prev=1,n.next=4,s.Z.delete((0,c.generateUrl)("/avatar"));case 4:e.handleAvatarUpdate(!0),n.next=11;break;case 7:n.prev=7,n.t0=n.catch(1),(0,l.x2)(t("settings","Error removing profile picture")),e.handleAvatarUpdate(e.isGenerated);case 11:case"end":return n.stop()}}),n,null,[[1,7]])})))()},cancel:function(){this.showCropper=!1,this.loading=!1},handleAvatarUpdate:function(t){this.version=oc_userconfig.avatar.version=Date.now(),this.isGenerated=oc_userconfig.avatar.generated=t,this.loading=!1,(0,u.j8)("settings:avatar:updated",oc_userconfig.avatar.version)},handleDisplayNameUpdate:function(){this.version=oc_userconfig.avatar.version}}},zt=Yt,Ht=r(32248),Wt={};Wt.styleTagTransform=O(),Wt.setAttributes=w(),Wt.insert=$().bind(null,"head"),Wt.domAPI=g(),Wt.insertStyleElement=x(),m()(Ht.Z,Wt),Ht.Z&&Ht.Z.locals&&Ht.Z.locals;var Vt=(0,Z.Z)(zt,(function(){var t=this,e=t._self._c;return e("section",{attrs:{id:"vue-avatar-section"}},[e("h3",{staticClass:"hidden-visually"},[t._v("\n\t\t"+t._s(t.t("settings","Your profile information"))+"\n\t")]),t._v(" "),e("HeaderBar",{attrs:{"input-id":t.avatarChangeSupported?t.inputId:null,readable:t.avatar.readable,scope:t.avatar.scope},on:{"update:scope":function(e){return t.$set(t.avatar,"scope",e)}}}),t._v(" "),t.showCropper?t._e():e("div",{staticClass:"avatar__container"},[e("div",{staticClass:"avatar__preview"},[t.loading?e("div",{staticClass:"icon-loading"}):e("NcAvatar",{key:t.version,attrs:{user:t.userId,"aria-label":t.t("settings","Your profile picture"),"disabled-menu":!0,"disabled-tooltip":!0,"show-user-status":!1,size:180}})],1),t._v(" "),t.avatarChangeSupported?[e("div",{staticClass:"avatar__buttons"},[e("NcButton",{attrs:{"aria-label":t.t("settings","Upload profile picture")},on:{click:t.activateLocalFilePicker},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Upload",{attrs:{size:20}})]},proxy:!0}],null,!1,1329850251)}),t._v(" "),e("NcButton",{attrs:{"aria-label":t.t("settings","Choose profile picture from Files")},on:{click:t.openFilePicker},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Folder",{attrs:{size:20}})]},proxy:!0}],null,!1,4270628382)}),t._v(" "),t.isGenerated?t._e():e("NcButton",{attrs:{"aria-label":t.t("settings","Remove profile picture")},on:{click:t.removeAvatar},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Delete",{attrs:{size:20}})]},proxy:!0}],null,!1,2705356561)})],1),t._v(" "),e("span",[t._v(t._s(t.t("settings","The file must be a PNG or JPG")))]),t._v(" "),e("input",{ref:"input",attrs:{id:t.inputId,type:"file",accept:t.validMimeTypes.join(",")},on:{change:t.onChange}})]:e("span",[t._v("\n\t\t\t"+t._s(t.t("settings","Picture provided by original account"))+"\n\t\t")])],2),t._v(" "),e("div",{directives:[{name:"show",rawName:"v-show",value:t.showCropper,expression:"showCropper"}],staticClass:"avatar__container"},[e("VueCropper",t._b({ref:"cropper",staticClass:"avatar__cropper"},"VueCropper",t.cropperOptions,!1)),t._v(" "),e("div",{staticClass:"avatar__cropper-buttons"},[e("NcButton",{on:{click:t.cancel}},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Cancel"))+"\n\t\t\t")]),t._v(" "),e("NcButton",{attrs:{type:"primary"},on:{click:t.saveAvatar}},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Set as profile picture"))+"\n\t\t\t")])],1),t._v(" "),e("span",[t._v(t._s(t.t("settings","Please note that it can take up to 24 hours for your profile picture to be updated everywhere.")))])],1)],1)}),[],!1,null,"cd78cbb2",null).exports,Xt=r(34854),qt={name:"AccountIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Kt=(0,Z.Z)(qt,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon account-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Qt={name:"CircleSlice3Icon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Jt=(0,Z.Z)(Qt,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon circle-slice3-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M12 5C15.87 5 19 8.13 19 12C19 13.93 18.22 15.68 16.95 16.95L12 12V5Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,te=(0,a.j)("settings","personalInfoParameters",{}),ee=te.groups,ne=te.quota,re=te.totalSpace,oe=te.usage,ie=te.usageRelative,ae={name:"DetailsSection",components:{Account:Kt,CircleSlice:Jt,HeaderBar:_t,NcProgressBar:Xt.Z},data:function(){return{groups:ee,usageRelative:ie}},computed:{quotaText:function(){return-3===ne?t("settings","You are using <strong>{usage}</strong>",{usage:oe}):t("settings","You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",{usage:oe,totalSpace:re,usageRelative:ie})}}},de=r(14260),se={};se.styleTagTransform=O(),se.setAttributes=w(),se.insert=$().bind(null,"head"),se.domAPI=g(),se.insertStyleElement=x(),m()(de.Z,se),de.Z&&de.Z.locals&&de.Z.locals;var ce=(0,Z.Z)(ae,(function(){var t=this,e=t._self._c;return e("section",[e("HeaderBar",{attrs:{"is-heading":!0,readable:t.t("settings","Details")}}),t._v(" "),e("div",{staticClass:"details"},[e("div",{staticClass:"details__groups"},[e("Account",{attrs:{size:20}}),t._v(" "),e("div",{staticClass:"details__groups-info"},[e("p",[t._v(t._s(t.t("settings","You are a member of the following groups:")))]),t._v(" "),e("p",{staticClass:"details__groups-list"},[t._v("\n\t\t\t\t\t"+t._s(t.groups.join(", "))+"\n\t\t\t\t")])])],1),t._v(" "),e("div",{staticClass:"details__quota"},[e("CircleSlice",{attrs:{size:20}}),t._v(" "),e("div",{staticClass:"details__quota-info"},[e("p",{staticClass:"details__quota-text",domProps:{innerHTML:t._s(t.quotaText)}}),t._v(" "),e("NcProgressBar",{attrs:{size:"medium",value:t.usageRelative,error:t.usageRelative>80}})],1)],1)])],1)}),[],!1,null,"f432848e",null).exports,le=r(20296),ue=r.n(le),pe=r(94603),fe={name:"AlertOctagonIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},he=(0,Z.Z)(fe,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon alert-octagon-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M13 13H11V7H13M11 15H13V17H11M15.73 3H8.27L3 8.27V15.73L8.27 21H15.73L21 15.73V8.27L15.73 3Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,ve=r(80419);function me(t){return me="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},me(t)}function ye(){ye=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",d=o.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,n){return t[e]=n}}function c(t,e,n,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),d=new E(o||[]);return r(a,"_invoke",{value:b(t,n,d)}),a}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var u={};function p(){}function f(){}function h(){}var v={};s(v,i,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(O([])));y&&y!==e&&n.call(y,i)&&(v=y);var g=h.prototype=p.prototype=Object.create(v);function A(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function $(t,e){function o(r,i,a,d){var s=l(t[r],t,i);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==me(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){o("next",t,a,d)}),(function(t){o("throw",t,a,d)})):e.resolve(u).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,d)}))}d(s.arg)}var i;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){o(t,n,e,r)}))}return i=i?i.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return{value:void 0,done:!0}}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var d=w(a,n);if(d){if(d===u)continue;return d}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var s=l(t,e,n);if("normal"===s.type){if(r=n.done?"completed":"suspendedYield",s.arg===u)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r="completed",n.method="throw",n.arg=s.arg)}}}function w(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),u;var o=l(r,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,u;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,u):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,u)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return f.prototype=h,r(g,"constructor",{value:h,configurable:!0}),r(h,"constructor",{value:f,configurable:!0}),f.displayName=s(h,d,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,d,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},A($.prototype),s($.prototype,a,(function(){return this})),t.AsyncIterator=$,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new $(c(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},A(g),s(g,d,"Generator"),s(g,i,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=O,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var d=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(d&&s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(d){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),u},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),u}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:O(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},t}function ge(t,e,n,r,o,i,a){try{var d=t[i](a),s=d.value}catch(t){return void n(t)}d.done?e(s):Promise.resolve(s).then(r,o)}function Ae(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){ge(i,r,o,a,d,"next",t)}function d(t){ge(i,r,o,a,d,"throw",t)}a(void 0)}))}}var $e={name:"AccountPropertySection",components:{AlertCircle:pe.default,AlertOctagon:he,Check:ve.default,HeaderBar:_t},props:{name:{type:String,required:!0},value:{type:String,required:!0},scope:{type:String,required:!0},readable:{type:String,required:!0},placeholder:{type:String,required:!0},type:{type:String,default:"text"},isEditable:{type:Boolean,default:!0},multiLine:{type:Boolean,default:!1},onValidate:{type:Function,default:null},onSave:{type:Function,default:null},autocomplete:{type:String,default:null}},data:function(){return{initialValue:this.value,helperText:null,showCheckmarkIcon:!1,showErrorIcon:!1}},computed:{inputId:function(){return"account-property-".concat(this.name)}},methods:{onPropertyChange:function(t){this.$emit("update:value",t.target.value),this.debouncePropertyChange(t.target.value.trim())},debouncePropertyChange:ue()(function(){var t=Ae(ye().mark((function t(e){return ye().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.helperText=null,!this.$refs.input||!this.$refs.input.validationMessage){t.next=4;break}return this.helperText=this.$refs.input.validationMessage,t.abrupt("return");case 4:if(!this.onValidate||this.onValidate(e)){t.next=6;break}return t.abrupt("return");case 6:return t.next=8,this.updateProperty(e);case 8:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),500),updateProperty:function(e){var n=this;return Ae(ye().mark((function r(){var o,i;return ye().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,ft(n.name,e);case 3:i=r.sent,n.handleResponse({value:e,status:null===(o=i.ocs)||void 0===o||null===(o=o.meta)||void 0===o?void 0:o.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),n.handleResponse({errorMessage:t("settings","Unable to update {property}",{property:n.readable.toLocaleLowerCase()}),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},handleResponse:function(t){var e=this,n=t.value,r=t.status,o=t.errorMessage,i=t.error;"ok"===r?(this.initialValue=n,this.onSave&&this.onSave(n),this.showCheckmarkIcon=!0,setTimeout((function(){e.showCheckmarkIcon=!1}),2e3)):(this.$emit("update:value",this.initialValue),mt(i,o),this.showErrorIcon=!0,setTimeout((function(){e.showErrorIcon=!1}),2e3))}}},be=$e,we=r(89952),Ce={};Ce.styleTagTransform=O(),Ce.setAttributes=w(),Ce.insert=$().bind(null,"head"),Ce.domAPI=g(),Ce.insertStyleElement=x(),m()(we.Z,Ce),we.Z&&we.Z.locals&&we.Z.locals;var xe=(0,Z.Z)(be,(function(){var t=this,e=t._self._c;return e("section",[e("HeaderBar",{attrs:{scope:t.scope,readable:t.readable,"input-id":t.inputId,"is-editable":t.isEditable},on:{"update:scope":function(e){t.scope=e},"update:readable":function(e){t.readable=e}}}),t._v(" "),t.isEditable?e("div",{staticClass:"property"},[t.multiLine?e("textarea",{attrs:{id:t.inputId,placeholder:t.placeholder,rows:"8",autocapitalize:"none",autocomplete:"off",autocorrect:"off"},domProps:{value:t.value},on:{input:t.onPropertyChange}}):e("input",{ref:"input",attrs:{id:t.inputId,placeholder:t.placeholder,type:t.type,"aria-describedby":t.helperText?"".concat(t.name,"-helper-text"):"",autocapitalize:"none",autocorrect:"off",autocomplete:t.autocomplete},domProps:{value:t.value},on:{input:t.onPropertyChange}}),t._v(" "),e("div",{staticClass:"property__actions-container"},[e("transition",{attrs:{name:"fade"}},[t.showCheckmarkIcon?e("Check",{attrs:{size:20}}):t.showErrorIcon?e("AlertOctagon",{attrs:{size:20}}):t._e()],1)],1)]):e("span",[t._v("\n\t\t"+t._s(t.value||t.t("settings","No {property} set",{property:t.readable.toLocaleLowerCase()}))+"\n\t")]),t._v(" "),t.helperText?e("p",{staticClass:"property__helper-text-message property__helper-text-message--error",attrs:{id:"".concat(t.name,"-helper-text")}},[e("AlertCircle",{staticClass:"property__helper-text-message__icon",attrs:{size:18}}),t._v("\n\t\t"+t._s(t.helperText)+"\n\t")],1):t._e()],1)}),[],!1,null,"a47b60dc",null).exports;function Ee(t){return Ee="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ee(t)}function Oe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Se(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Oe(Object(n),!0).forEach((function(e){Pe(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Oe(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function Pe(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==Ee(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Ee(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===Ee(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Le=(0,a.j)("settings","personalInfoParameters",{}).displayName,je=(0,a.j)("settings","accountParameters",{}).displayNameChangeSupported,Ie={name:"DisplayNameSection",components:{AccountPropertySection:xe},data:function(){return{displayName:Se(Se({},Le),{},{readable:X[Le.name]}),displayNameChangeSupported:je}},methods:{onValidate:function(t){return""!==t},onSave:function(t){oc_userconfig.avatar.generated&&(oc_userconfig.avatar.version=Date.now()),(0,u.j8)("settings:display-name:updated",t)}}},_e=(0,Z.Z)(Ie,(function(){var t=this;return(0,t._self._c)("AccountPropertySection",t._b({attrs:{placeholder:t.t("settings","Your full name"),autocomplete:"username","is-editable":t.displayNameChangeSupported,"on-validate":t.onValidate,"on-save":t.onSave}},"AccountPropertySection",t.displayName,!1,!0))}),[],!1,null,null,null).exports;function ke(t){return ke="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ke(t)}function Be(){Be=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",d=o.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,n){return t[e]=n}}function c(t,e,n,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),d=new E(o||[]);return r(a,"_invoke",{value:b(t,n,d)}),a}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var u={};function p(){}function f(){}function h(){}var v={};s(v,i,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(O([])));y&&y!==e&&n.call(y,i)&&(v=y);var g=h.prototype=p.prototype=Object.create(v);function A(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function $(t,e){function o(r,i,a,d){var s=l(t[r],t,i);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==ke(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){o("next",t,a,d)}),(function(t){o("throw",t,a,d)})):e.resolve(u).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,d)}))}d(s.arg)}var i;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){o(t,n,e,r)}))}return i=i?i.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return{value:void 0,done:!0}}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var d=w(a,n);if(d){if(d===u)continue;return d}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var s=l(t,e,n);if("normal"===s.type){if(r=n.done?"completed":"suspendedYield",s.arg===u)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r="completed",n.method="throw",n.arg=s.arg)}}}function w(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),u;var o=l(r,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,u;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,u):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,u)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return f.prototype=h,r(g,"constructor",{value:h,configurable:!0}),r(h,"constructor",{value:f,configurable:!0}),f.displayName=s(h,d,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,d,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},A($.prototype),s($.prototype,a,(function(){return this})),t.AsyncIterator=$,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new $(c(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},A(g),s(g,d,"Generator"),s(g,i,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=O,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var d=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(d&&s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(d){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),u},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),u}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:O(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},t}function Ne(t,e,n,r,o,i,a){try{var d=t[i](a),s=d.value}catch(t){return void n(t)}d.done?e(s):Promise.resolve(s).then(r,o)}function De(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){Ne(i,r,o,a,d,"next",t)}function d(t){Ne(i,r,o,a,d,"throw",t)}a(void 0)}))}}var Te=function(){var t=De(Be().mark((function t(e){var n,r,o;return Be().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=(0,i.ts)().uid,r=(0,c.generateOcsUrl)("cloud/users/{userId}",{userId:n}),t.next=4,(0,st.Z)();case 4:return t.next=6,s.Z.put(r,{key:W.EMAIL,value:e});case 6:return o=t.sent,t.abrupt("return",o.data);case 8:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),Me=function(){var t=De(Be().mark((function t(e){var n,r,o;return Be().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=(0,i.ts)().uid,r=(0,c.generateOcsUrl)("cloud/users/{userId}",{userId:n}),t.next=4,(0,st.Z)();case 4:return t.next=6,s.Z.put(r,{key:W.EMAIL_COLLECTION,value:e});case 6:return o=t.sent,t.abrupt("return",o.data);case 8:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),Re=function(){var t=De(Be().mark((function t(e){var n,r,o;return Be().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=(0,i.ts)().uid,r=(0,c.generateOcsUrl)("cloud/users/{userId}",{userId:n}),t.next=4,(0,st.Z)();case 4:return t.next=6,s.Z.put(r,{key:W.NOTIFICATION_EMAIL,value:e});case 6:return o=t.sent,t.abrupt("return",o.data);case 8:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),Fe=function(){var t=De(Be().mark((function t(e){var n,r,o;return Be().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=(0,i.ts)().uid,r=(0,c.generateOcsUrl)("cloud/users/{userId}/{collection}",{userId:n,collection:W.EMAIL_COLLECTION}),t.next=4,(0,st.Z)();case 4:return t.next=6,s.Z.put(r,{key:e,value:""});case 6:return o=t.sent,t.abrupt("return",o.data);case 8:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),Ge=function(){var t=De(Be().mark((function t(e,n){var r,o,a;return Be().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=(0,i.ts)().uid,o=(0,c.generateOcsUrl)("cloud/users/{userId}/{collection}",{userId:r,collection:W.EMAIL_COLLECTION}),t.next=4,(0,st.Z)();case 4:return t.next=6,s.Z.put(o,{key:e,value:n});case 6:return a=t.sent,t.abrupt("return",a.data);case 8:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}(),Ze=function(){var t=De(Be().mark((function t(e){var n,r,o;return Be().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=(0,i.ts)().uid,r=(0,c.generateOcsUrl)("cloud/users/{userId}",{userId:n}),t.next=4,(0,st.Z)();case 4:return t.next=6,s.Z.put(r,{key:"".concat(W.EMAIL).concat(rt),value:e});case 6:return o=t.sent,t.abrupt("return",o.data);case 8:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),Ue=function(){var t=De(Be().mark((function t(e,n){var r,o,a;return Be().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=(0,i.ts)().uid,o=(0,c.generateOcsUrl)("cloud/users/{userId}/{collectionScope}",{userId:r,collectionScope:"".concat(W.EMAIL_COLLECTION).concat(rt)}),t.next=4,(0,st.Z)();case 4:return t.next=6,s.Z.put(o,{key:e,value:n});case 6:return a=t.sent,t.abrupt("return",a.data);case 8:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}();function Ye(t){return"string"==typeof t&&dt.test(t)&&"\n"!==t.slice(-1)&&t.length<=320&&encodeURIComponent(t).replace(/%../g,"x").length<=320}function ze(t){return ze="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ze(t)}function He(){He=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",d=o.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,n){return t[e]=n}}function c(t,e,n,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),d=new E(o||[]);return r(a,"_invoke",{value:b(t,n,d)}),a}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var u={};function p(){}function f(){}function h(){}var v={};s(v,i,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(O([])));y&&y!==e&&n.call(y,i)&&(v=y);var g=h.prototype=p.prototype=Object.create(v);function A(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function $(t,e){function o(r,i,a,d){var s=l(t[r],t,i);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==ze(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){o("next",t,a,d)}),(function(t){o("throw",t,a,d)})):e.resolve(u).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,d)}))}d(s.arg)}var i;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){o(t,n,e,r)}))}return i=i?i.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return{value:void 0,done:!0}}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var d=w(a,n);if(d){if(d===u)continue;return d}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var s=l(t,e,n);if("normal"===s.type){if(r=n.done?"completed":"suspendedYield",s.arg===u)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r="completed",n.method="throw",n.arg=s.arg)}}}function w(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),u;var o=l(r,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,u;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,u):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,u)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return f.prototype=h,r(g,"constructor",{value:h,configurable:!0}),r(h,"constructor",{value:f,configurable:!0}),f.displayName=s(h,d,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,d,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},A($.prototype),s($.prototype,a,(function(){return this})),t.AsyncIterator=$,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new $(c(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},A(g),s(g,d,"Generator"),s(g,i,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=O,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var d=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(d&&s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(d){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),u},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),u}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:O(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},t}function We(t,e,n,r,o,i,a){try{var d=t[i](a),s=d.value}catch(t){return void n(t)}d.done?e(s):Promise.resolve(s).then(r,o)}function Ve(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){We(i,r,o,a,d,"next",t)}function d(t){We(i,r,o,a,d,"throw",t)}a(void 0)}))}}var Xe={name:"Email",components:{NcActions:k.Z,NcActionButton:B.Z,AlertCircle:pe.default,AlertOctagon:he,Check:ve.default,FederationControl:St},props:{email:{type:String,required:!0},index:{type:Number,default:0},primary:{type:Boolean,default:!1},scope:{type:String,required:!0},activeNotificationEmail:{type:String,default:""},localVerificationState:{type:Number,default:at.NOT_VERIFIED}},data:function(){return{propertyReadable:V.EMAIL,initialEmail:this.email,localScope:this.scope,saveAdditionalEmailScope:Ue,helperText:null,showCheckmarkIcon:!1,showErrorIcon:!1}},computed:{deleteDisabled:function(){return this.primary?""===this.email||this.initialEmail!==this.email:""!==this.initialEmail&&this.initialEmail!==this.email},deleteEmailLabel:function(){return this.primary?t("settings","Remove primary email"):t("settings","Delete email")},setNotificationMailDisabled:function(){return!this.primary&&this.localVerificationState!==at.VERIFIED},setNotificationMailLabel:function(){return this.isNotificationEmail?t("settings","Unset as primary email"):this.primary||this.localVerificationState===at.VERIFIED?t("settings","Set as primary email"):t("settings","This address is not confirmed")},federationDisabled:function(){return!this.initialEmail},inputId:function(){return this.primary?"email":"email-".concat(this.index)},inputPlaceholder:function(){return this.primary?t("settings","Your email address"):t("settings","Additional email address {index}",{index:this.index+1})},isNotificationEmail:function(){return this.email&&this.email===this.activeNotificationEmail||this.primary&&""===this.activeNotificationEmail}},mounted:function(){var t=this;this.primary||""!==this.initialEmail||this.$nextTick((function(){var e;return null===(e=t.$refs.email)||void 0===e?void 0:e.focus()}))},methods:{onEmailChange:function(t){this.$emit("update:email",t.target.value),this.debounceEmailChange(t.target.value.trim())},debounceEmailChange:ue()(function(){var t=Ve(He().mark((function t(e){var n;return He().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.helperText=null,null===(n=this.$refs.email)||void 0===n||!n.validationMessage){t.next=4;break}return this.helperText=this.$refs.email.validationMessage,t.abrupt("return");case 4:if(!Ye(e)&&""!==e){t.next=18;break}if(!this.primary){t.next=10;break}return t.next=8,this.updatePrimaryEmail(e);case 8:case 14:t.next=18;break;case 10:if(!e){t.next=18;break}if(""!==this.initialEmail){t.next=16;break}return t.next=14,this.addAdditionalEmail(e);case 16:return t.next=18,this.updateAdditionalEmail(e);case 18:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),500),deleteEmail:function(){var t=this;return Ve(He().mark((function e(){return He().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.primary){e.next=6;break}return t.$emit("update:email",""),e.next=4,t.updatePrimaryEmail("");case 4:e.next=8;break;case 6:return e.next=8,t.deleteAdditionalEmail();case 8:case"end":return e.stop()}}),e)})))()},updatePrimaryEmail:function(e){var n=this;return Ve(He().mark((function r(){var o,i;return He().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,Te(e);case 3:i=r.sent,n.handleResponse({email:e,status:null===(o=i.ocs)||void 0===o||null===(o=o.meta)||void 0===o?void 0:o.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),""===e?n.handleResponse({errorMessage:t("settings","Unable to delete primary email address"),error:r.t0}):n.handleResponse({errorMessage:t("settings","Unable to update primary email address"),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},addAdditionalEmail:function(e){var n=this;return Ve(He().mark((function r(){var o,i;return He().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,Me(e);case 3:i=r.sent,n.handleResponse({email:e,status:null===(o=i.ocs)||void 0===o||null===(o=o.meta)||void 0===o?void 0:o.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),n.handleResponse({errorMessage:t("settings","Unable to add additional email address"),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},setNotificationMail:function(){var t=this;return Ve(He().mark((function e(){var n,r,o;return He().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,r=t.primary||t.isNotificationEmail?"":t.initialEmail,e.next=4,Re(r);case 4:o=e.sent,t.handleResponse({notificationEmail:r,status:null===(n=o.ocs)||void 0===n||null===(n=n.meta)||void 0===n?void 0:n.status}),e.next=11;break;case 8:e.prev=8,e.t0=e.catch(0),t.handleResponse({errorMessage:"Unable to choose this email for notifications",error:e.t0});case 11:case"end":return e.stop()}}),e,null,[[0,8]])})))()},updateAdditionalEmail:function(e){var n=this;return Ve(He().mark((function r(){var o,i;return He().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,Ge(n.initialEmail,e);case 3:i=r.sent,n.handleResponse({email:e,status:null===(o=i.ocs)||void 0===o||null===(o=o.meta)||void 0===o?void 0:o.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),n.handleResponse({errorMessage:t("settings","Unable to update additional email address"),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},deleteAdditionalEmail:function(){var e=this;return Ve(He().mark((function n(){var r,o;return He().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,Fe(e.initialEmail);case 3:o=n.sent,e.handleDeleteAdditionalEmail(null===(r=o.ocs)||void 0===r||null===(r=r.meta)||void 0===r?void 0:r.status),n.next=10;break;case 7:n.prev=7,n.t0=n.catch(0),e.handleResponse({errorMessage:t("settings","Unable to delete additional email address"),error:n.t0});case 10:case"end":return n.stop()}}),n,null,[[0,7]])})))()},handleDeleteAdditionalEmail:function(e){"ok"===e?this.$emit("delete-additional-email"):this.handleResponse({errorMessage:t("settings","Unable to delete additional email address")})},handleResponse:function(t){var e=this,n=t.email,r=t.notificationEmail,o=t.status,i=t.errorMessage,a=t.error;"ok"===o?(n?this.initialEmail=n:void 0!==r&&this.$emit("update:notification-email",r),this.showCheckmarkIcon=!0,setTimeout((function(){e.showCheckmarkIcon=!1}),2e3)):(mt(a,i),this.showErrorIcon=!0,setTimeout((function(){e.showErrorIcon=!1}),2e3))},onScopeChange:function(t){this.$emit("update:scope",t)}}},qe=Xe,Ke=r(98548),Qe={};Qe.styleTagTransform=O(),Qe.setAttributes=w(),Qe.insert=$().bind(null,"head"),Qe.domAPI=g(),Qe.insertStyleElement=x(),m()(Ke.Z,Qe),Ke.Z&&Ke.Z.locals&&Ke.Z.locals;var Je=(0,Z.Z)(qe,(function(){var t=this,e=t._self._c;return e("div",[e("div",{staticClass:"email"},[e("input",{ref:"email",attrs:{id:t.inputId,type:"email",autocomplete:"email",placeholder:t.inputPlaceholder,"aria-describedby":t.helperText?"".concat(t.inputId,"-helper-text"):"",autocapitalize:"none",autocorrect:"off"},domProps:{value:t.email},on:{input:t.onEmailChange}}),t._v(" "),e("div",{staticClass:"email__actions-container"},[e("transition",{attrs:{name:"fade"}},[t.showCheckmarkIcon?e("Check",{attrs:{size:20}}):t.showErrorIcon?e("AlertOctagon",{attrs:{size:20}}):t._e()],1),t._v(" "),t.primary?t._e():[e("FederationControl",{attrs:{readable:t.propertyReadable,additional:!0,"additional-value":t.email,disabled:t.federationDisabled,"handle-additional-scope-change":t.saveAdditionalEmailScope,scope:t.localScope},on:{"update:scope":[function(e){t.localScope=e},t.onScopeChange]}})],t._v(" "),e("NcActions",{staticClass:"email__actions",attrs:{"aria-label":t.t("settings","Email options"),"force-menu":!0}},[e("NcActionButton",{attrs:{"aria-label":t.deleteEmailLabel,"close-after-click":!0,disabled:t.deleteDisabled,icon:"icon-delete"},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.deleteEmail.apply(null,arguments)}}},[t._v("\n\t\t\t\t\t"+t._s(t.deleteEmailLabel)+"\n\t\t\t\t")]),t._v(" "),t.primary&&t.isNotificationEmail?t._e():e("NcActionButton",{attrs:{"aria-label":t.setNotificationMailLabel,"close-after-click":!0,disabled:t.setNotificationMailDisabled,icon:"icon-favorite"},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.setNotificationMail.apply(null,arguments)}}},[t._v("\n\t\t\t\t\t"+t._s(t.setNotificationMailLabel)+"\n\t\t\t\t")])],1)],2)]),t._v(" "),t.helperText?e("p",{staticClass:"email__helper-text-message email__helper-text-message--error",attrs:{id:"".concat(t.inputId,"-helper-text")}},[e("AlertCircle",{staticClass:"email__helper-text-message__icon",attrs:{size:18}}),t._v("\n\t\t"+t._s(t.helperText)+"\n\t")],1):t._e(),t._v(" "),t.isNotificationEmail?e("em",[t._v("\n\t\t"+t._s(t.t("settings","Primary email for password reset and notifications"))+"\n\t")]):t._e()])}),[],!1,null,"0e3855d2",null),tn=Je.exports;function en(t){return en="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},en(t)}function nn(){nn=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",d=o.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,n){return t[e]=n}}function c(t,e,n,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),d=new E(o||[]);return r(a,"_invoke",{value:b(t,n,d)}),a}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var u={};function p(){}function f(){}function h(){}var v={};s(v,i,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(O([])));y&&y!==e&&n.call(y,i)&&(v=y);var g=h.prototype=p.prototype=Object.create(v);function A(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function $(t,e){function o(r,i,a,d){var s=l(t[r],t,i);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==en(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){o("next",t,a,d)}),(function(t){o("throw",t,a,d)})):e.resolve(u).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,d)}))}d(s.arg)}var i;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){o(t,n,e,r)}))}return i=i?i.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return{value:void 0,done:!0}}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var d=w(a,n);if(d){if(d===u)continue;return d}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var s=l(t,e,n);if("normal"===s.type){if(r=n.done?"completed":"suspendedYield",s.arg===u)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r="completed",n.method="throw",n.arg=s.arg)}}}function w(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),u;var o=l(r,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,u;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,u):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,u)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return f.prototype=h,r(g,"constructor",{value:h,configurable:!0}),r(h,"constructor",{value:f,configurable:!0}),f.displayName=s(h,d,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,d,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},A($.prototype),s($.prototype,a,(function(){return this})),t.AsyncIterator=$,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new $(c(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},A(g),s(g,d,"Generator"),s(g,i,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=O,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var d=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(d&&s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(d){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),u},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),u}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:O(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},t}function rn(t,e,n,r,o,i,a){try{var d=t[i](a),s=d.value}catch(t){return void n(t)}d.done?e(s):Promise.resolve(s).then(r,o)}function on(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){rn(i,r,o,a,d,"next",t)}function d(t){rn(i,r,o,a,d,"throw",t)}a(void 0)}))}}function an(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function dn(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?an(Object(n),!0).forEach((function(e){sn(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):an(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function sn(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==en(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==en(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===en(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var cn=(0,a.j)("settings","personalInfoParameters",{}).emailMap,ln=cn.additionalEmails,un=cn.primaryEmail,pn=cn.notificationEmail,fn=(0,a.j)("settings","accountParameters",{}).displayNameChangeSupported,hn={name:"EmailSection",components:{HeaderBar:_t,Email:tn},data:function(){var t=this;return{accountProperty:V.EMAIL,additionalEmails:ln.map((function(e){return dn(dn({},e),{},{key:t.generateUniqueKey()})})),displayNameChangeSupported:fn,primaryEmail:dn(dn({},un),{},{readable:X[un.name]}),savePrimaryEmailScope:Ze,notificationEmail:pn}},computed:{firstAdditionalEmail:function(){return this.additionalEmails.length?this.additionalEmails[0].value:null},inputId:function(){return"account-property-".concat(this.primaryEmail.name)},isValidSection:function(){return Ye(this.primaryEmail.value)&&this.additionalEmails.map((function(t){return t.value})).every(Ye)},primaryEmailValue:{get:function(){return this.primaryEmail.value},set:function(t){this.primaryEmail.value=t}}},methods:{onAddAdditionalEmail:function(){this.isValidSection&&this.additionalEmails.push({value:"",scope:it,key:this.generateUniqueKey()})},onDeleteAdditionalEmail:function(t){this.$delete(this.additionalEmails,t)},onUpdateEmail:function(){var t=this;return on(nn().mark((function e(){var n;return nn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(""!==t.primaryEmailValue||!t.firstAdditionalEmail){e.next=7;break}return n=t.firstAdditionalEmail,e.next=4,t.deleteFirstAdditionalEmail();case 4:return t.primaryEmailValue=n,e.next=7,t.updatePrimaryEmail();case 7:case"end":return e.stop()}}),e)})))()},onUpdateNotificationEmail:function(t){var e=this;return on(nn().mark((function n(){return nn().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:e.notificationEmail=t;case 1:case"end":return n.stop()}}),n)})))()},updatePrimaryEmail:function(){var e=this;return on(nn().mark((function n(){var r,o;return nn().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,Te(e.primaryEmailValue);case 3:o=n.sent,e.handleResponse(null===(r=o.ocs)||void 0===r||null===(r=r.meta)||void 0===r?void 0:r.status),n.next=10;break;case 7:n.prev=7,n.t0=n.catch(0),e.handleResponse("error",t("settings","Unable to update primary email address"),n.t0);case 10:case"end":return n.stop()}}),n,null,[[0,7]])})))()},deleteFirstAdditionalEmail:function(){var e=this;return on(nn().mark((function n(){var r,o;return nn().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,Fe(e.firstAdditionalEmail);case 3:o=n.sent,e.handleDeleteFirstAdditionalEmail(null===(r=o.ocs)||void 0===r||null===(r=r.meta)||void 0===r?void 0:r.status),n.next=10;break;case 7:n.prev=7,n.t0=n.catch(0),e.handleResponse("error",t("settings","Unable to delete additional email address"),n.t0);case 10:case"end":return n.stop()}}),n,null,[[0,7]])})))()},handleDeleteFirstAdditionalEmail:function(e){"ok"===e?this.$delete(this.additionalEmails,0):this.handleResponse("error",t("settings","Unable to delete additional email address"),{})},handleResponse:function(t,e,n){"ok"!==t&&mt(n,e)},generateUniqueKey:function(){return Math.random().toString(36).substring(2)}}},vn=r(47791),mn={};mn.styleTagTransform=O(),mn.setAttributes=w(),mn.insert=$().bind(null,"head"),mn.domAPI=g(),mn.insertStyleElement=x(),m()(vn.Z,mn),vn.Z&&vn.Z.locals&&vn.Z.locals;var yn=(0,Z.Z)(hn,(function(){var t=this,e=t._self._c;return e("section",[e("HeaderBar",{attrs:{"input-id":t.inputId,readable:t.primaryEmail.readable,"handle-scope-change":t.savePrimaryEmailScope,"is-editable":!0,"is-multi-value-supported":!0,"is-valid-section":t.isValidSection,scope:t.primaryEmail.scope},on:{"update:scope":function(e){return t.$set(t.primaryEmail,"scope",e)},"add-additional":t.onAddAdditionalEmail}}),t._v(" "),t.displayNameChangeSupported?[e("Email",{attrs:{primary:!0,scope:t.primaryEmail.scope,email:t.primaryEmail.value,"active-notification-email":t.notificationEmail},on:{"update:scope":function(e){return t.$set(t.primaryEmail,"scope",e)},"update:email":[function(e){return t.$set(t.primaryEmail,"value",e)},t.onUpdateEmail],"update:activeNotificationEmail":function(e){t.notificationEmail=e},"update:active-notification-email":function(e){t.notificationEmail=e},"update:notification-email":t.onUpdateNotificationEmail}})]:e("span",[t._v("\n\t\t"+t._s(t.primaryEmail.value||t.t("settings","No email address set"))+"\n\t")]),t._v(" "),t.additionalEmails.length?[e("em",{staticClass:"additional-emails-label"},[t._v(t._s(t.t("settings","Additional emails")))]),t._v(" "),t._l(t.additionalEmails,(function(n,r){return e("Email",{key:n.key,attrs:{index:r,scope:n.scope,email:n.value,"local-verification-state":parseInt(n.locallyVerified,10),"active-notification-email":t.notificationEmail},on:{"update:scope":function(e){return t.$set(n,"scope",e)},"update:email":[function(e){return t.$set(n,"value",e)},t.onUpdateEmail],"update:activeNotificationEmail":function(e){t.notificationEmail=e},"update:active-notification-email":function(e){t.notificationEmail=e},"update:notification-email":t.onUpdateNotificationEmail,"delete-additional-email":function(e){return t.onDeleteAdditionalEmail(r)}}})}))]:t._e()],2)}),[],!1,null,"b17ef20e",null).exports,gn={version:4,country_calling_codes:{1:["US","AG","AI","AS","BB","BM","BS","CA","DM","DO","GD","GU","JM","KN","KY","LC","MP","MS","PR","SX","TC","TT","VC","VG","VI"],7:["RU","KZ"],20:["EG"],27:["ZA"],30:["GR"],31:["NL"],32:["BE"],33:["FR"],34:["ES"],36:["HU"],39:["IT","VA"],40:["RO"],41:["CH"],43:["AT"],44:["GB","GG","IM","JE"],45:["DK"],46:["SE"],47:["NO","SJ"],48:["PL"],49:["DE"],51:["PE"],52:["MX"],53:["CU"],54:["AR"],55:["BR"],56:["CL"],57:["CO"],58:["VE"],60:["MY"],61:["AU","CC","CX"],62:["ID"],63:["PH"],64:["NZ"],65:["SG"],66:["TH"],81:["JP"],82:["KR"],84:["VN"],86:["CN"],90:["TR"],91:["IN"],92:["PK"],93:["AF"],94:["LK"],95:["MM"],98:["IR"],211:["SS"],212:["MA","EH"],213:["DZ"],216:["TN"],218:["LY"],220:["GM"],221:["SN"],222:["MR"],223:["ML"],224:["GN"],225:["CI"],226:["BF"],227:["NE"],228:["TG"],229:["BJ"],230:["MU"],231:["LR"],232:["SL"],233:["GH"],234:["NG"],235:["TD"],236:["CF"],237:["CM"],238:["CV"],239:["ST"],240:["GQ"],241:["GA"],242:["CG"],243:["CD"],244:["AO"],245:["GW"],246:["IO"],247:["AC"],248:["SC"],249:["SD"],250:["RW"],251:["ET"],252:["SO"],253:["DJ"],254:["KE"],255:["TZ"],256:["UG"],257:["BI"],258:["MZ"],260:["ZM"],261:["MG"],262:["RE","YT"],263:["ZW"],264:["NA"],265:["MW"],266:["LS"],267:["BW"],268:["SZ"],269:["KM"],290:["SH","TA"],291:["ER"],297:["AW"],298:["FO"],299:["GL"],350:["GI"],351:["PT"],352:["LU"],353:["IE"],354:["IS"],355:["AL"],356:["MT"],357:["CY"],358:["FI","AX"],359:["BG"],370:["LT"],371:["LV"],372:["EE"],373:["MD"],374:["AM"],375:["BY"],376:["AD"],377:["MC"],378:["SM"],380:["UA"],381:["RS"],382:["ME"],383:["XK"],385:["HR"],386:["SI"],387:["BA"],389:["MK"],420:["CZ"],421:["SK"],423:["LI"],500:["FK"],501:["BZ"],502:["GT"],503:["SV"],504:["HN"],505:["NI"],506:["CR"],507:["PA"],508:["PM"],509:["HT"],590:["GP","BL","MF"],591:["BO"],592:["GY"],593:["EC"],594:["GF"],595:["PY"],596:["MQ"],597:["SR"],598:["UY"],599:["CW","BQ"],670:["TL"],672:["NF"],673:["BN"],674:["NR"],675:["PG"],676:["TO"],677:["SB"],678:["VU"],679:["FJ"],680:["PW"],681:["WF"],682:["CK"],683:["NU"],685:["WS"],686:["KI"],687:["NC"],688:["TV"],689:["PF"],690:["TK"],691:["FM"],692:["MH"],850:["KP"],852:["HK"],853:["MO"],855:["KH"],856:["LA"],880:["BD"],886:["TW"],960:["MV"],961:["LB"],962:["JO"],963:["SY"],964:["IQ"],965:["KW"],966:["SA"],967:["YE"],968:["OM"],970:["PS"],971:["AE"],972:["IL"],973:["BH"],974:["QA"],975:["BT"],976:["MN"],977:["NP"],992:["TJ"],993:["TM"],994:["AZ"],995:["GE"],996:["KG"],998:["UZ"]},countries:{AC:["247","00","(?:[01589]\\d|[46])\\d{4}",[5,6]],AD:["376","00","(?:1|6\\d)\\d{7}|[135-9]\\d{5}",[6,8,9],[["(\\d{3})(\\d{3})","$1 $2",["[135-9]"]],["(\\d{4})(\\d{4})","$1 $2",["1"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]]]],AE:["971","00","(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}",[5,6,7,8,9,10,11,12],[["(\\d{3})(\\d{2,9})","$1 $2",["60|8"]],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[236]|[479][2-8]"],"0$1"],["(\\d{3})(\\d)(\\d{5})","$1 $2 $3",["[479]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"]],"0"],AF:["93","00","[2-7]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[2-7]"],"0$1"]],"0"],AG:["1","011","(?:268|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([457]\\d{6})$|1","268$1",0,"268"],AI:["1","011","(?:264|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2457]\\d{6})$|1","264$1",0,"264"],AL:["355","00","(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}",[6,7,8,9],[["(\\d{3})(\\d{3,4})","$1 $2",["80|9"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["4[2-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2358][2-5]|4"],"0$1"],["(\\d{3})(\\d{5})","$1 $2",["[23578]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["6"],"0$1"]],"0"],AM:["374","00","(?:[1-489]\\d|55|60|77)\\d{6}",[8],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[89]0"],"0 $1"],["(\\d{3})(\\d{5})","$1 $2",["2|3[12]"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["1|47"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["[3-9]"],"0$1"]],"0"],AO:["244","00","[29]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[29]"]]]],AR:["54","00","(?:11|[89]\\d\\d)\\d{8}|[2368]\\d{9}",[10,11],[["(\\d{4})(\\d{2})(\\d{4})","$1 $2-$3",["2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])","2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)","2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]","2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],"0$1",1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["1"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2-$3",["[23]"],"0$1",1],["(\\d)(\\d{4})(\\d{2})(\\d{4})","$2 15-$3-$4",["9(?:2[2-469]|3[3-578])","9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))","9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)","9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]","9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],"0$1",0,"$1 $2 $3-$4"],["(\\d)(\\d{2})(\\d{4})(\\d{4})","$2 15-$3-$4",["91"],"0$1",0,"$1 $2 $3-$4"],["(\\d{3})(\\d{3})(\\d{5})","$1-$2-$3",["8"],"0$1"],["(\\d)(\\d{3})(\\d{3})(\\d{4})","$2 15-$3-$4",["9"],"0$1",0,"$1 $2 $3-$4"]],"0",0,"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?","9$1"],AS:["1","011","(?:[58]\\d\\d|684|900)\\d{7}",[10],0,"1",0,"([267]\\d{6})$|1","684$1",0,"684"],AT:["43","00","1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}",[4,5,6,7,8,9,10,11,12,13],[["(\\d)(\\d{3,12})","$1 $2",["1(?:11|[2-9])"],"0$1"],["(\\d{3})(\\d{2})","$1 $2",["517"],"0$1"],["(\\d{2})(\\d{3,5})","$1 $2",["5[079]"],"0$1"],["(\\d{3})(\\d{3,10})","$1 $2",["(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]"],"0$1"],["(\\d{4})(\\d{3,9})","$1 $2",["[2-467]|5[2-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["5"],"0$1"],["(\\d{2})(\\d{4})(\\d{4,7})","$1 $2 $3",["5"],"0$1"]],"0"],AU:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d{7}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}",[5,6,7,8,9,10,12],[["(\\d{2})(\\d{3,4})","$1 $2",["16"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,4})","$1 $2 $3",["16"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["14|4"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["[2378]"],"(0$1)"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:30|[89])"]]],"0",0,"(183[12])|0",0,0,0,[["(?:(?:2(?:[0-26-9]\\d|3[0-8]|4[02-9]|5[0135-9])|3(?:[0-3589]\\d|4[0-578]|6[1-9]|7[0-35-9])|7(?:[013-57-9]\\d|2[0-8]))\\d{3}|8(?:51(?:0(?:0[03-9]|[12479]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\d|7[89]|9[0-4]))|(?:6[0-8]|[78]\\d)\\d{3}|9(?:[02-9]\\d{3}|1(?:(?:[0-58]\\d|6[0135-9])\\d|7(?:0[0-24-9]|[1-9]\\d)|9(?:[0-46-9]\\d|5[0-79])))))\\d{3}",[9]],["4(?:(?:79|94)[01]|83[0-389])\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[016-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,["163\\d{2,6}",[5,6,7,8,9]],["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}",[9]],["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}",[6,8,10,12]]],"0011"],AW:["297","00","(?:[25-79]\\d\\d|800)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[25-9]"]]]],AX:["358","00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))","2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|7\\d{5,11}|(?:[14]\\d|3[0-46-9]|50)\\d{4,8}",[5,6,7,8,9,10,11,12],0,"0",0,0,0,0,"18",0,"00"],AZ:["994","00","365\\d{6}|(?:[124579]\\d|60|88)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["90"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[28]|2|365|46","1[28]|2|365[45]|46","1[28]|2|365(?:4|5[02])|46"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[13-9]"],"0$1"]],"0"],BA:["387","00","6\\d{8}|(?:[35689]\\d|49|70)\\d{6}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["6[1-3]|[7-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2-$3",["[3-5]|6[56]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["6"],"0$1"]],"0"],BB:["1","011","(?:246|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","246$1",0,"246"],BD:["880","00","[1-469]\\d{9}|8[0-79]\\d{7,8}|[2-79]\\d{8}|[2-9]\\d{7}|[3-9]\\d{6}|[57-9]\\d{5}",[6,7,8,9,10],[["(\\d{2})(\\d{4,6})","$1-$2",["31[5-8]|[459]1"],"0$1"],["(\\d{3})(\\d{3,7})","$1-$2",["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]"],"0$1"],["(\\d{4})(\\d{3,6})","$1-$2",["[13-9]|22"],"0$1"],["(\\d)(\\d{7,8})","$1-$2",["2"],"0$1"]],"0"],BE:["32","00","4\\d{8}|[1-9]\\d{7}",[8,9],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["(?:80|9)0"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[239]|4[23]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[15-8]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["4"],"0$1"]],"0"],BF:["226","00","[025-7]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[025-7]"]]]],BG:["359","00","00800\\d{7}|[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}",[6,7,8,9,12],[["(\\d)(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["2"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["43[1-6]|70[1-9]"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["(?:70|8)0"],"0$1"],["(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3",["43[1-7]|7"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[48]|9[08]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"]],"0"],BH:["973","00","[136-9]\\d{7}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[13679]|8[02-4679]"]]]],BI:["257","00","(?:[267]\\d|31)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2367]"]]]],BJ:["229","00","[24-689]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24-689]"]]]],BL:["590","00","590\\d{6}|(?:69|80|9\\d)\\d{7}",[9],0,"0",0,0,0,0,0,[["590(?:2[7-9]|3[3-7]|5[12]|87)\\d{4}"],["69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))\\d{4}"],["80[0-5]\\d{6}"],0,0,0,0,0,["9(?:(?:395|76[018])\\d|475[0-5])\\d{4}"]]],BM:["1","011","(?:441|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","441$1",0,"441"],BN:["673","00","[2-578]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-578]"]]]],BO:["591","00(?:1\\d)?","(?:[2-467]\\d\\d|8001)\\d{5}",[8,9],[["(\\d)(\\d{7})","$1 $2",["[23]|4[46]"]],["(\\d{8})","$1",["[67]"]],["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["8"]]],"0",0,"0(1\\d)?"],BQ:["599","00","(?:[34]1|7\\d)\\d{5}",[7],0,0,0,0,0,0,"[347]"],BR:["55","00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)","(?:[1-46-9]\\d\\d|5(?:[0-46-9]\\d|5[0-46-9]))\\d{8}|[1-9]\\d{9}|[3589]\\d{8}|[34]\\d{7}",[8,9,10,11],[["(\\d{4})(\\d{4})","$1-$2",["300|4(?:0[02]|37)","4(?:02|37)0|[34]00"]],["(\\d{3})(\\d{2,3})(\\d{4})","$1 $2 $3",["(?:[358]|90)0"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"],"($1)"],["(\\d{2})(\\d{5})(\\d{4})","$1 $2-$3",["[16][1-9]|[2-57-9]"],"($1)"]],"0",0,"(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?","$2"],BS:["1","011","(?:242|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([3-8]\\d{6})$|1","242$1",0,"242"],BT:["975","00","[17]\\d{7}|[2-8]\\d{6}",[7,8],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[2-68]|7[246]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[67]|7"]]]],BW:["267","00","(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}",[7,8,10],[["(\\d{2})(\\d{5})","$1 $2",["90"]],["(\\d{3})(\\d{4})","$1 $2",["[24-6]|3[15-9]"]],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[37]"]],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["0"]],["(\\d{3})(\\d{4})(\\d{3})","$1 $2 $3",["8"]]]],BY:["375","810","(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}",[6,7,8,9,10,11],[["(\\d{3})(\\d{3})","$1 $2",["800"],"8 $1"],["(\\d{3})(\\d{2})(\\d{2,4})","$1 $2 $3",["800"],"8 $1"],["(\\d{4})(\\d{2})(\\d{3})","$1 $2-$3",["1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])","1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])"],"8 0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["1(?:[56]|7[467])|2[1-3]"],"8 0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[1-4]"],"8 0$1"],["(\\d{3})(\\d{3,4})(\\d{4})","$1 $2 $3",["[89]"],"8 $1"]],"8",0,"0|80?",0,0,0,0,"8~10"],BZ:["501","00","(?:0800\\d|[2-8])\\d{6}",[7,11],[["(\\d{3})(\\d{4})","$1-$2",["[2-8]"]],["(\\d)(\\d{3})(\\d{4})(\\d{3})","$1-$2-$3-$4",["0"]]]],CA:["1","011","(?:[2-8]\\d|90)\\d{8}|3\\d{6}",[7,10],0,"1",0,0,0,0,0,[["(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\d{6}",[10]],["",[10]],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",[10]],["900[2-9]\\d{6}",[10]],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|(?:5(?:00|2[125-9]|33|44|66|77|88)|622)[2-9]\\d{6}",[10]],0,["310\\d{4}",[7]],0,["600[2-9]\\d{6}",[10]]]],CC:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}",[6,7,8,9,10,12],0,"0",0,"([59]\\d{7})$|0","8$1",0,0,[["8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}",[9]],["4(?:(?:79|94)[01]|83[0-389])\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[016-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,0,["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}",[9]],["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}",[6,8,10,12]]],"0011"],CD:["243","00","[189]\\d{8}|[1-68]\\d{6}",[7,9],[["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["88"],"0$1"],["(\\d{2})(\\d{5})","$1 $2",["[1-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[89]"],"0$1"]],"0"],CF:["236","00","(?:[27]\\d{3}|8776)\\d{4}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[278]"]]]],CG:["242","00","222\\d{6}|(?:0\\d|80)\\d{7}",[9],[["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["8"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[02]"]]]],CH:["41","00","8\\d{11}|[2-9]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8[047]|90"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-79]|81"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["8"],"0$1"]],"0"],CI:["225","00","[02]\\d{9}",[10],[["(\\d{2})(\\d{2})(\\d)(\\d{5})","$1 $2 $3 $4",["2"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3 $4",["0"]]]],CK:["682","00","[2-578]\\d{4}",[5],[["(\\d{2})(\\d{3})","$1 $2",["[2-578]"]]]],CL:["56","(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0","12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}",[9,10,11],[["(\\d{5})(\\d{4})","$1 $2",["219","2196"],"($1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["44"]],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2[1-36]"],"($1)"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["9[2-9]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])"],"($1)"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["60|8"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]],["(\\d{3})(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3 $4",["60"]]]],CM:["237","00","[26]\\d{8}|88\\d{6,7}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["88"]],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[26]|88"]]]],CN:["86","00|1(?:[12]\\d|79)\\d\\d00","1[127]\\d{8,9}|2\\d{9}(?:\\d{2})?|[12]\\d{6,7}|86\\d{6}|(?:1[03-689]\\d|6)\\d{7,9}|(?:[3-579]\\d|8[0-57-9])\\d{6,9}",[7,8,9,10,11,12],[["(\\d{2})(\\d{5,6})","$1 $2",["(?:10|2[0-57-9])[19]","(?:10|2[0-57-9])(?:10|9[56])","10(?:10|9[56])|2[0-57-9](?:100|9[56])"],"0$1"],["(\\d{3})(\\d{5,6})","$1 $2",["3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]","(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]","85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])","85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["(?:4|80)0"]],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["10|2(?:[02-57-9]|1[1-9])","10|2(?:[02-57-9]|1[1-9])","10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]"],"0$1",1],["(\\d{3})(\\d{7,8})","$1 $2",["9"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["80"],"0$1",1],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[3-578]"],"0$1",1],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["1[3-9]"]],["(\\d{2})(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3 $4",["[12]"],"0$1",1]],"0",0,"(1(?:[12]\\d|79)\\d\\d)|0",0,0,0,0,"00"],CO:["57","00(?:4(?:[14]4|56)|[579])","(?:60\\d\\d|9101)\\d{6}|(?:1\\d|3)\\d{9}",[10,11],[["(\\d{3})(\\d{7})","$1 $2",["6"],"($1)"],["(\\d{3})(\\d{7})","$1 $2",["3[0-357]|91"]],["(\\d)(\\d{3})(\\d{7})","$1-$2-$3",["1"],"0$1",0,"$1 $2 $3"]],"0",0,"0(4(?:[14]4|56)|[579])?"],CR:["506","00","(?:8\\d|90)\\d{8}|(?:[24-8]\\d{3}|3005)\\d{4}",[8,10],[["(\\d{4})(\\d{4})","$1 $2",["[2-7]|8[3-9]"]],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[89]"]]],0,0,"(19(?:0[0-2468]|1[09]|20|66|77|99))"],CU:["53","119","[27]\\d{6,7}|[34]\\d{5,7}|63\\d{6}|(?:5|8\\d\\d)\\d{7}",[6,7,8,10],[["(\\d{2})(\\d{4,6})","$1 $2",["2[1-4]|[34]"],"(0$1)"],["(\\d)(\\d{6,7})","$1 $2",["7"],"(0$1)"],["(\\d)(\\d{7})","$1 $2",["[56]"],"0$1"],["(\\d{3})(\\d{7})","$1 $2",["8"],"0$1"]],"0"],CV:["238","0","(?:[2-59]\\d\\d|800)\\d{4}",[7],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[2-589]"]]]],CW:["599","00","(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[3467]"]],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["9[4-8]"]]],0,0,0,0,0,"[69]"],CX:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}",[6,7,8,9,10,12],0,"0",0,"([59]\\d{7})$|0","8$1",0,0,[["8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}",[9]],["4(?:(?:79|94)[01]|83[0-389])\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[016-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,0,["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}",[9]],["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}",[6,8,10,12]]],"0011"],CY:["357","00","(?:[279]\\d|[58]0)\\d{6}",[8],[["(\\d{2})(\\d{6})","$1 $2",["[257-9]"]]]],CZ:["420","00","(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]|9[015-7]"]],["(\\d{2})(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3 $4",["96"]],["(\\d{2})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]],["(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]]]],DE:["49","00","[2579]\\d{5,14}|49(?:[34]0|69|8\\d)\\d\\d?|49(?:37|49|60|7[089]|9\\d)\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\d{1,8}|(?:1|[368]\\d|4[0-8])\\d{3,13}|49(?:[015]\\d|2[13]|31|[46][1-8])\\d{1,9}",[4,5,6,7,8,9,10,11,12,13,14,15],[["(\\d{2})(\\d{3,13})","$1 $2",["3[02]|40|[68]9"],"0$1"],["(\\d{3})(\\d{3,12})","$1 $2",["2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1","2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1"],"0$1"],["(\\d{4})(\\d{2,11})","$1 $2",["[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]","[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["138"],"0$1"],["(\\d{5})(\\d{2,10})","$1 $2",["3"],"0$1"],["(\\d{3})(\\d{5,11})","$1 $2",["181"],"0$1"],["(\\d{3})(\\d)(\\d{4,10})","$1 $2 $3",["1(?:3|80)|9"],"0$1"],["(\\d{3})(\\d{7,8})","$1 $2",["1[67]"],"0$1"],["(\\d{3})(\\d{7,12})","$1 $2",["8"],"0$1"],["(\\d{5})(\\d{6})","$1 $2",["185","1850","18500"],"0$1"],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{4})(\\d{7})","$1 $2",["18[68]"],"0$1"],["(\\d{5})(\\d{6})","$1 $2",["15[0568]"],"0$1"],["(\\d{4})(\\d{7})","$1 $2",["15[1279]"],"0$1"],["(\\d{3})(\\d{8})","$1 $2",["18"],"0$1"],["(\\d{3})(\\d{2})(\\d{7,8})","$1 $2 $3",["1(?:6[023]|7)"],"0$1"],["(\\d{4})(\\d{2})(\\d{7})","$1 $2 $3",["15[279]"],"0$1"],["(\\d{3})(\\d{2})(\\d{8})","$1 $2 $3",["15"],"0$1"]],"0"],DJ:["253","00","(?:2\\d|77)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[27]"]]]],DK:["45","00","[2-9]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-9]"]]]],DM:["1","011","(?:[58]\\d\\d|767|900)\\d{7}",[10],0,"1",0,"([2-7]\\d{6})$|1","767$1",0,"767"],DO:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,0,0,0,"8001|8[024]9"],DZ:["213","00","(?:[1-4]|[5-79]\\d|80)\\d{7}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[1-4]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["9"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-8]"],"0$1"]],"0"],EC:["593","00","1\\d{9,10}|(?:[2-7]|9\\d)\\d{7}",[8,9,10,11],[["(\\d)(\\d{3})(\\d{4})","$1 $2-$3",["[2-7]"],"(0$1)",0,"$1-$2-$3"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["9"],"0$1"],["(\\d{4})(\\d{3})(\\d{3,4})","$1 $2 $3",["1"]]],"0"],EE:["372","00","8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d|90)\\d{5}",[7,8,10],[["(\\d{3})(\\d{4})","$1 $2",["[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88","[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88"]],["(\\d{4})(\\d{3,4})","$1 $2",["[45]|8(?:00|[1-49])","[45]|8(?:00[1-9]|[1-49])"]],["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["7"]],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["8"]]]],EG:["20","00","[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}",[8,9,10],[["(\\d)(\\d{7,8})","$1 $2",["[23]"],"0$1"],["(\\d{2})(\\d{6,7})","$1 $2",["1[35]|[4-6]|8[2468]|9[235-7]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],["(\\d{2})(\\d{8})","$1 $2",["1"],"0$1"]],"0"],EH:["212","00","[5-8]\\d{8}",[9],0,"0",0,0,0,0,"528[89]"],ER:["291","00","[178]\\d{6}",[7],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[178]"],"0$1"]],"0"],ES:["34","00","[5-9]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[89]00"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-9]"]]]],ET:["251","00","(?:11|[2-579]\\d)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-579]"],"0$1"]],"0"],FI:["358","00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))","[1-35689]\\d{4}|7\\d{10,11}|(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}",[5,6,7,8,9,10,11,12],[["(\\d)(\\d{4,9})","$1 $2",["[2568][1-8]|3(?:0[1-9]|[1-9])|9"],"0$1"],["(\\d{3})(\\d{3,7})","$1 $2",["[12]00|[368]|70[07-9]"],"0$1"],["(\\d{2})(\\d{4,8})","$1 $2",["[1245]|7[135]"],"0$1"],["(\\d{2})(\\d{6,10})","$1 $2",["7"],"0$1"]],"0",0,0,0,0,"1[03-79]|[2-9]",0,"00"],FJ:["679","0(?:0|52)","45\\d{5}|(?:0800\\d|[235-9])\\d{6}",[7,11],[["(\\d{3})(\\d{4})","$1 $2",["[235-9]|45"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["0"]]],0,0,0,0,0,0,0,"00"],FK:["500","00","[2-7]\\d{4}",[5]],FM:["691","00","(?:[39]\\d\\d|820)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[389]"]]]],FO:["298","00","[2-9]\\d{5}",[6],[["(\\d{6})","$1",["[2-9]"]]],0,0,"(10(?:01|[12]0|88))"],FR:["33","00","[1-9]\\d{8}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0 $1"],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[1-79]"],"0$1"]],"0"],GA:["241","00","(?:[067]\\d|11)\\d{6}|[2-7]\\d{6}",[7,8],[["(\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-7]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["11|[67]"],"0$1"]],0,0,"0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[467]\\d{6})","$1"],GB:["44","00","[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}",[7,9,10],[["(\\d{3})(\\d{4})","$1 $2",["800","8001","80011","800111","8001111"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["845","8454","84546","845464"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["800"],"0$1"],["(\\d{5})(\\d{4,5})","$1 $2",["1(?:38|5[23]|69|76|94)","1(?:(?:38|69)7|5(?:24|39)|768|946)","1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)"],"0$1"],["(\\d{4})(\\d{5,6})","$1 $2",["1(?:[2-69][02-9]|[78])"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[25]|7(?:0|6[02-9])","[25]|7(?:0|6(?:[03-9]|2[356]))"],"0$1"],["(\\d{4})(\\d{6})","$1 $2",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[1389]"],"0$1"]],"0",0,0,0,0,0,[["(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0235])|4(?:[0-5]\\d\\d|69[7-9]|70[0-579])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|50))\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d|1(?:[0-7]\\d|8[0-2]))|(?:3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d)\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}",[9,10]],["7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}",[10]],["80[08]\\d{7}|800\\d{6}|8001111"],["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d",[7,10]],["70\\d{8}",[10]],0,["(?:3[0347]|55)\\d{8}",[10]],["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}",[10]],["56\\d{8}",[10]]],0," x"],GD:["1","011","(?:473|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","473$1",0,"473"],GE:["995","00","(?:[3-57]\\d\\d|800)\\d{6}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["70"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["32"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[57]"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[348]"],"0$1"]],"0"],GF:["594","00","[56]94\\d{6}|(?:80|9\\d)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[56]|9[47]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[89]"],"0$1"]],"0"],GG:["44","00","(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?",[7,9,10],0,"0",0,"([25-9]\\d{5})$|0","1481$1",0,0,[["1481[25-9]\\d{5}",[10]],["7(?:(?:781|839)\\d|911[17])\\d{5}",[10]],["80[08]\\d{7}|800\\d{6}|8001111"],["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d",[7,10]],["70\\d{8}",[10]],0,["(?:3[0347]|55)\\d{8}",[10]],["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}",[10]],["56\\d{8}",[10]]]],GH:["233","00","(?:[235]\\d{3}|800)\\d{5}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["8"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[235]"],"0$1"]],"0"],GI:["350","00","(?:[25]\\d|60)\\d{6}",[8],[["(\\d{3})(\\d{5})","$1 $2",["2"]]]],GL:["299","00","(?:19|[2-689]\\d|70)\\d{4}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["19|[2-9]"]]]],GM:["220","00","[2-9]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]]],GN:["224","00","722\\d{6}|(?:3|6\\d)\\d{7}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["3"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[67]"]]]],GP:["590","00","590\\d{6}|(?:69|80|9\\d)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[569]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0$1"]],"0",0,0,0,0,0,[["590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\d)\\d{4}"],["69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))\\d{4}"],["80[0-5]\\d{6}"],0,0,0,0,0,["9(?:(?:395|76[018])\\d|475[0-5])\\d{4}"]]],GQ:["240","00","222\\d{6}|(?:3\\d|55|[89]0)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235]"]],["(\\d{3})(\\d{6})","$1 $2",["[89]"]]]],GR:["30","00","5005000\\d{3}|8\\d{9,11}|(?:[269]\\d|70)\\d{8}",[10,11,12],[["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["21|7"]],["(\\d{4})(\\d{6})","$1 $2",["2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2689]"]],["(\\d{3})(\\d{3,4})(\\d{5})","$1 $2 $3",["8"]]]],GT:["502","00","(?:1\\d{3}|[2-7])\\d{7}",[8,11],[["(\\d{4})(\\d{4})","$1 $2",["[2-7]"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]]]],GU:["1","011","(?:[58]\\d\\d|671|900)\\d{7}",[10],0,"1",0,"([3-9]\\d{6})$|1","671$1",0,"671"],GW:["245","00","[49]\\d{8}|4\\d{6}",[7,9],[["(\\d{3})(\\d{4})","$1 $2",["40"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[49]"]]]],GY:["592","001","9008\\d{3}|(?:[2-467]\\d\\d|862)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-46-9]"]]]],HK:["852","00(?:30|5[09]|[126-9]?)","8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}",[5,6,7,8,9,11],[["(\\d{3})(\\d{2,5})","$1 $2",["900","9003"]],["(\\d{4})(\\d{4})","$1 $2",["[2-7]|8[1-4]|9(?:0[1-9]|[1-8])"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]],["(\\d{3})(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]]],0,0,0,0,0,0,0,"00"],HN:["504","00","8\\d{10}|[237-9]\\d{7}",[8,11],[["(\\d{4})(\\d{4})","$1-$2",["[237-9]"]]]],HR:["385","00","(?:[24-69]\\d|3[0-79])\\d{7}|80\\d{5,7}|[1-79]\\d{7}|6\\d{5,6}",[6,7,8,9],[["(\\d{2})(\\d{2})(\\d{2,3})","$1 $2 $3",["6[01]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{4})(\\d{3})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[67]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-5]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"],"0$1"]],"0"],HT:["509","00","(?:[2-489]\\d|55)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[2-589]"]]]],HU:["36","00","[235-7]\\d{8}|[1-9]\\d{7}",[8,9],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"(06 $1)"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]"],"(06 $1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-9]"],"06 $1"]],"06"],ID:["62","00[89]","(?:(?:00[1-9]|8\\d)\\d{4}|[1-36])\\d{6}|00\\d{10}|[1-9]\\d{8,10}|[2-9]\\d{7}",[7,8,9,10,11,12,13],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["15"]],["(\\d{2})(\\d{5,9})","$1 $2",["2[124]|[36]1"],"(0$1)"],["(\\d{3})(\\d{5,7})","$1 $2",["800"],"0$1"],["(\\d{3})(\\d{5,8})","$1 $2",["[2-79]"],"(0$1)"],["(\\d{3})(\\d{3,4})(\\d{3})","$1-$2-$3",["8[1-35-9]"],"0$1"],["(\\d{3})(\\d{6,8})","$1 $2",["1"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["804"],"0$1"],["(\\d{3})(\\d)(\\d{3})(\\d{3})","$1 $2 $3 $4",["80"],"0$1"],["(\\d{3})(\\d{4})(\\d{4,5})","$1-$2-$3",["8"],"0$1"]],"0"],IE:["353","00","(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}",[7,8,9,10],[["(\\d{2})(\\d{5})","$1 $2",["2[24-9]|47|58|6[237-9]|9[35-9]"],"(0$1)"],["(\\d{3})(\\d{5})","$1 $2",["[45]0"],"(0$1)"],["(\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["1"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2569]|4[1-69]|7[14]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["70"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["81"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[78]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["4"],"(0$1)"],["(\\d{2})(\\d)(\\d{3})(\\d{4})","$1 $2 $3 $4",["8"],"0$1"]],"0"],IL:["972","0(?:0|1[2-9])","1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}",[7,8,9,10,11,12],[["(\\d{4})(\\d{3})","$1-$2",["125"]],["(\\d{4})(\\d{2})(\\d{2})","$1-$2-$3",["121"]],["(\\d)(\\d{3})(\\d{4})","$1-$2-$3",["[2-489]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[57]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1-$2-$3",["12"]],["(\\d{4})(\\d{6})","$1-$2",["159"]],["(\\d)(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3-$4",["1[7-9]"]],["(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})","$1-$2 $3-$4",["15"]]],"0"],IM:["44","00","1624\\d{6}|(?:[3578]\\d|90)\\d{8}",[10],0,"0",0,"([25-8]\\d{5})$|0","1624$1",0,"74576|(?:16|7[56])24"],IN:["91","00","(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}",[8,9,10,11,12,13],[["(\\d{8})","$1",["5(?:0|2[23]|3[03]|[67]1|88)","5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)","5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)"],0,1],["(\\d{4})(\\d{4,5})","$1 $2",["180","1800"],0,1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["140"],0,1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["11|2[02]|33|4[04]|79[1-7]|80[2-46]","11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])","11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]","1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]","1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]"],"0$1",1],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807","1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]","1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\d|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]"],"0$1",1],["(\\d{5})(\\d{5})","$1 $2",["[6-9]"],"0$1",1],["(\\d{4})(\\d{2,4})(\\d{4})","$1 $2 $3",["1(?:6|8[06])","1(?:6|8[06]0)"],0,1],["(\\d{4})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["18"],0,1]],"0"],IO:["246","00","3\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["3"]]]],IQ:["964","00","(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-6]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"]],"0"],IR:["98","00","[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}",[4,5,6,7,10],[["(\\d{4,5})","$1",["96"],"0$1"],["(\\d{2})(\\d{4,5})","$1 $2",["(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[1-8]"],"0$1"]],"0"],IS:["354","00|1(?:0(?:01|[12]0)|100)","(?:38\\d|[4-9])\\d{6}",[7,9],[["(\\d{3})(\\d{4})","$1 $2",["[4-9]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["3"]]],0,0,0,0,0,0,0,"00"],IT:["39","00","0\\d{5,10}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?",[6,7,8,9,10,11],[["(\\d{2})(\\d{4,6})","$1 $2",["0[26]"]],["(\\d{3})(\\d{3,6})","$1 $2",["0[13-57-9][0159]|8(?:03|4[17]|9[2-5])","0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))"]],["(\\d{4})(\\d{2,6})","$1 $2",["0(?:[13-579][2-46-8]|8[236-8])"]],["(\\d{4})(\\d{4})","$1 $2",["894"]],["(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[26]|5"]],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["1(?:44|[679])|[378]"]],["(\\d{3})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[13-57-9][0159]|14"]],["(\\d{2})(\\d{4})(\\d{5})","$1 $2 $3",["0[26]"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["0"]],["(\\d{3})(\\d{4})(\\d{4,5})","$1 $2 $3",["3"]]],0,0,0,0,0,0,[["0669[0-79]\\d{1,6}|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}"],["3[1-9]\\d{8}|3[2-9]\\d{7}",[9,10]],["80(?:0\\d{3}|3)\\d{3}",[6,9]],["(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}",[6,8,9,10]],["1(?:78\\d|99)\\d{6}",[9,10]],0,0,0,["55\\d{8}",[10]],["84(?:[08]\\d{3}|[17])\\d{3}",[6,9]]]],JE:["44","00","1534\\d{6}|(?:[3578]\\d|90)\\d{8}",[10],0,"0",0,"([0-24-8]\\d{5})$|0","1534$1",0,0,[["1534[0-24-8]\\d{5}"],["7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97[7-9]))\\d{5}"],["80(?:07(?:35|81)|8901)\\d{4}"],["(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}"],["701511\\d{4}"],0,["(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}"],["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}"],["56\\d{8}"]]],JM:["1","011","(?:[58]\\d\\d|658|900)\\d{7}",[10],0,"1",0,0,0,0,"658|876"],JO:["962","00","(?:(?:[2689]|7\\d)\\d|32|53)\\d{6}",[8,9],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2356]|87"],"(0$1)"],["(\\d{3})(\\d{5,6})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["70"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"]],"0"],JP:["81","010","00[1-9]\\d{6,14}|[257-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}",[8,9,10,11,12,13,14,15,16,17],[["(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3",["(?:12|57|99)0"],"0$1"],["(\\d{4})(\\d)(\\d{4})","$1-$2-$3",["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51|63)|9(?:80|9[16])","1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9]|636)|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]","1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9]|636[457-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["60"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1-$2-$3",["[36]|4(?:2[09]|7[01])","[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[23]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]"],"0$1"],["(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["[14]|[289][2-9]|5[3-9]|7[2-4679]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["800"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[257-9]"],"0$1"]],"0",0,"(000[259]\\d{6})$|(?:(?:003768)0?)|0","$1"],KE:["254","000","(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}",[7,8,9,10],[["(\\d{2})(\\d{5,7})","$1 $2",["[24-6]"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["[17]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[89]"],"0$1"]],"0"],KG:["996","00","8\\d{9}|[235-9]\\d{8}",[9,10],[["(\\d{4})(\\d{5})","$1 $2",["3(?:1[346]|[24-79])"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235-79]|88"],"0$1"],["(\\d{3})(\\d{3})(\\d)(\\d{2,3})","$1 $2 $3 $4",["8"],"0$1"]],"0"],KH:["855","00[14-9]","1\\d{9}|[1-9]\\d{7,8}",[8,9,10],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-9]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],KI:["686","00","(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}",[5,8],0,"0"],KM:["269","00","[3478]\\d{6}",[7],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[3478]"]]]],KN:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-7]\\d{6})$|1","869$1",0,"869"],KP:["850","00|99","85\\d{6}|(?:19\\d|[2-7])\\d{7}",[8,10],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2-7]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"]],"0"],KR:["82","00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))","00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}",[5,6,8,9,10,11,12,13,14],[["(\\d{2})(\\d{3,4})","$1-$2",["(?:3[1-3]|[46][1-4]|5[1-5])1"],"0$1"],["(\\d{4})(\\d{4})","$1-$2",["1"]],["(\\d)(\\d{3,4})(\\d{4})","$1-$2-$3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["60|8"],"0$1"],["(\\d{2})(\\d{3,4})(\\d{4})","$1-$2-$3",["[1346]|5[1-5]"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[57]"],"0$1"],["(\\d{2})(\\d{5})(\\d{4})","$1-$2-$3",["5"],"0$1"]],"0",0,"0(8(?:[1-46-8]|5\\d\\d))?"],KW:["965","00","18\\d{5}|(?:[2569]\\d|41)\\d{6}",[7,8],[["(\\d{4})(\\d{3,4})","$1 $2",["[169]|2(?:[235]|4[1-35-9])|52"]],["(\\d{3})(\\d{5})","$1 $2",["[245]"]]]],KY:["1","011","(?:345|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","345$1",0,"345"],KZ:["7","810","(?:33622|8\\d{8})\\d{5}|[78]\\d{9}",[10,14],0,"8",0,0,0,0,"33|7",0,"8~10"],LA:["856","00","[23]\\d{9}|3\\d{8}|(?:[235-8]\\d|41)\\d{6}",[8,9,10],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2[13]|3[14]|[4-8]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["30[013-9]"],"0$1"],["(\\d{2})(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["[23]"],"0$1"]],"0"],LB:["961","00","[27-9]\\d{7}|[13-9]\\d{6}",[7,8],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[27-9]"]]],"0"],LC:["1","011","(?:[58]\\d\\d|758|900)\\d{7}",[10],0,"1",0,"([2-8]\\d{6})$|1","758$1",0,"758"],LI:["423","00","[68]\\d{8}|(?:[2378]\\d|90)\\d{5}",[7,9],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[2379]|8(?:0[09]|7)","[2379]|8(?:0(?:02|9)|7)"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["69"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]]],"0",0,"(1001)|0"],LK:["94","00","[1-9]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[1-689]"],"0$1"]],"0"],LR:["231","00","(?:[25]\\d|33|77|88)\\d{7}|(?:2\\d|[4-6])\\d{6}",[7,8,9],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[4-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[23578]"],"0$1"]],"0"],LS:["266","00","(?:[256]\\d\\d|800)\\d{5}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[2568]"]]]],LT:["370","00","(?:[3469]\\d|52|[78]0)\\d{6}",[8],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["52[0-7]"],"(8-$1)",1],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[7-9]"],"8 $1",1],["(\\d{2})(\\d{6})","$1 $2",["37|4(?:[15]|6[1-8])"],"(8-$1)",1],["(\\d{3})(\\d{5})","$1 $2",["[3-6]"],"(8-$1)",1]],"8",0,"[08]"],LU:["352","00","35[013-9]\\d{4,8}|6\\d{8}|35\\d{2,4}|(?:[2457-9]\\d|3[0-46-9])\\d{2,9}",[4,5,6,7,8,9,10,11],[["(\\d{2})(\\d{3})","$1 $2",["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]],["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["20[2-689]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4",["2(?:[0367]|4[3-8])"]],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["80[01]|90[015]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["20"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4 $5",["2(?:[0367]|4[3-8])"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})","$1 $2 $3 $4",["[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]"]]],0,0,"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)"],LV:["371","00","(?:[268]\\d|90)\\d{6}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[269]|8[01]"]]]],LY:["218","00","[2-9]\\d{8}",[9],[["(\\d{2})(\\d{7})","$1-$2",["[2-9]"],"0$1"]],"0"],MA:["212","00","[5-8]\\d{8}",[9],[["(\\d{5})(\\d{4})","$1-$2",["5(?:29|38)","5(?:29[1289]|389)","529(?:1[1-46-9]|2[013-8]|90)|5(?:298|389)[0-46-9]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5[45]"],"0$1"],["(\\d{4})(\\d{5})","$1-$2",["5(?:2[2-489]|3[5-9]|9)|892","5(?:2(?:[2-49]|8[235-9])|3[5-9]|9)|892"],"0$1"],["(\\d{2})(\\d{7})","$1-$2",["8"],"0$1"],["(\\d{3})(\\d{6})","$1-$2",["[5-7]"],"0$1"]],"0",0,0,0,0,0,[["5293[01]\\d{4}|5(?:2(?:[0-25-7]\\d|3[1-578]|4[02-46-8]|8[0235-7]|9[0-289])|3(?:[0-47]\\d|5[02-9]|6[02-8]|8[0189]|9[3-9])|(?:4[067]|5[03])\\d)\\d{5}"],["(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[017]\\d|2[0-2]|6[0-8]|8[0-3]))\\d{6}"],["80\\d{7}"],["89\\d{7}"],0,0,0,0,["592(?:4[0-2]|93)\\d{4}"]]],MC:["377","00","(?:[3489]|6\\d)\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["4"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[389]"]],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["6"],"0$1"]],"0"],MD:["373","00","(?:[235-7]\\d|[89]0)\\d{6}",[8],[["(\\d{3})(\\d{5})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["22|3"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[25-7]"],"0$1"]],"0"],ME:["382","00","(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-9]"],"0$1"]],"0"],MF:["590","00","590\\d{6}|(?:69|80|9\\d)\\d{7}",[9],0,"0",0,0,0,0,0,[["590(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)\\d{4}"],["69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))\\d{4}"],["80[0-5]\\d{6}"],0,0,0,0,0,["9(?:(?:395|76[018])\\d|475[0-5])\\d{4}"]]],MG:["261","00","[23]\\d{8}",[9],[["(\\d{2})(\\d{2})(\\d{3})(\\d{2})","$1 $2 $3 $4",["[23]"],"0$1"]],"0",0,"([24-9]\\d{6})$|0","20$1"],MH:["692","011","329\\d{4}|(?:[256]\\d|45)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1-$2",["[2-6]"]]],"1"],MK:["389","00","[2-578]\\d{7}",[8],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2|34[47]|4(?:[37]7|5[47]|64)"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[347]"],"0$1"],["(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["[58]"],"0$1"]],"0"],ML:["223","00","[24-9]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24-9]"]]]],MM:["95","00","1\\d{5,7}|95\\d{6}|(?:[4-7]|9[0-46-9])\\d{6,8}|(?:2|8\\d)\\d{5,8}",[6,7,8,9,10],[["(\\d)(\\d{2})(\\d{3})","$1 $2 $3",["16|2"],"0$1"],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[12]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[4-7]|8[1-35]"],"0$1"],["(\\d)(\\d{3})(\\d{4,6})","$1 $2 $3",["9(?:2[0-4]|[35-9]|4[137-9])"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["92"],"0$1"],["(\\d)(\\d{5})(\\d{4})","$1 $2 $3",["9"],"0$1"]],"0"],MN:["976","001","[12]\\d{7,9}|[5-9]\\d{7}",[8,9,10],[["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[12]1"],"0$1"],["(\\d{4})(\\d{4})","$1 $2",["[5-9]"]],["(\\d{3})(\\d{5,6})","$1 $2",["[12]2[1-3]"],"0$1"],["(\\d{4})(\\d{5,6})","$1 $2",["[12](?:27|3[2-8]|4[2-68]|5[1-4689])","[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]"],"0$1"],["(\\d{5})(\\d{4,5})","$1 $2",["[12]"],"0$1"]],"0"],MO:["853","00","0800\\d{3}|(?:28|[68]\\d)\\d{6}",[7,8],[["(\\d{4})(\\d{3})","$1 $2",["0"]],["(\\d{4})(\\d{4})","$1 $2",["[268]"]]]],MP:["1","011","[58]\\d{9}|(?:67|90)0\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","670$1",0,"670"],MQ:["596","00","596\\d{6}|(?:69|80|9\\d)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[569]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0$1"]],"0"],MR:["222","00","(?:[2-4]\\d\\d|800)\\d{5}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-48]"]]]],MS:["1","011","(?:[58]\\d\\d|664|900)\\d{7}",[10],0,"1",0,"([34]\\d{6})$|1","664$1",0,"664"],MT:["356","00","3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[2357-9]"]]]],MU:["230","0(?:0|[24-7]0|3[03])","(?:[57]|8\\d\\d)\\d{7}|[2-468]\\d{6}",[7,8,10],[["(\\d{3})(\\d{4})","$1 $2",["[2-46]|8[013]"]],["(\\d{4})(\\d{4})","$1 $2",["[57]"]],["(\\d{5})(\\d{5})","$1 $2",["8"]]],0,0,0,0,0,0,0,"020"],MV:["960","0(?:0|19)","(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}",[7,10],[["(\\d{3})(\\d{4})","$1-$2",["[34679]"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"]]],0,0,0,0,0,0,0,"00"],MW:["265","00","(?:[1289]\\d|31|77)\\d{7}|1\\d{6}",[7,9],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["1[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[137-9]"],"0$1"]],"0"],MX:["52","0[09]","1(?:(?:[27]2|44|99)[1-9]|65[0-689])\\d{7}|(?:1(?:[01]\\d|2[13-9]|[35][1-9]|4[0-35-9]|6[0-46-9]|7[013-9]|8[1-79]|9[1-8])|[2-9]\\d)\\d{8}",[10,11],[["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["33|5[56]|81"],0,1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2-9]"],0,1],["(\\d)(\\d{2})(\\d{4})(\\d{4})","$2 $3 $4",["1(?:33|5[56]|81)"],0,1],["(\\d)(\\d{3})(\\d{3})(\\d{4})","$2 $3 $4",["1"],0,1]],"01",0,"0(?:[12]|4[45])|1",0,0,0,0,"00"],MY:["60","00","1\\d{8,9}|(?:3\\d|[4-9])\\d{7}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1-$2 $3",["[4-79]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1-$2 $3",["1(?:[02469]|[378][1-9]|53)|8","1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1-$2 $3",["3"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3-$4",["1(?:[367]|80)"]],["(\\d{3})(\\d{3})(\\d{4})","$1-$2 $3",["15"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2 $3",["1"],"0$1"]],"0"],MZ:["258","00","(?:2|8\\d)\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["2|8[2-79]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]]]],NA:["264","00","[68]\\d{7,8}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["88"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["6"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["87"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"]],"0"],NC:["687","00","(?:050|[2-57-9]\\d\\d)\\d{3}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1.$2.$3",["[02-57-9]"]]]],NE:["227","00","[027-9]\\d{7}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["08"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[089]|2[013]|7[047]"]]]],NF:["672","00","[13]\\d{5}",[6],[["(\\d{2})(\\d{4})","$1 $2",["1[0-3]"]],["(\\d)(\\d{5})","$1 $2",["[13]"]]],0,0,"([0-258]\\d{4})$","3$1"],NG:["234","009","(?:[124-7]|9\\d{3})\\d{6}|[1-9]\\d{7}|[78]\\d{9,13}",[7,8,10,11,12,13,14],[["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["78"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[12]|9(?:0[3-9]|[1-9])"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["[3-7]|8[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[7-9]"],"0$1"],["(\\d{3})(\\d{4})(\\d{4,5})","$1 $2 $3",["[78]"],"0$1"],["(\\d{3})(\\d{5})(\\d{5,6})","$1 $2 $3",["[78]"],"0$1"]],"0"],NI:["505","00","(?:1800|[25-8]\\d{3})\\d{4}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[125-8]"]]]],NL:["31","00","(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|8\\d{6,9}|9\\d{6,10}|1\\d{4,5}",[5,6,7,8,9,10,11],[["(\\d{3})(\\d{4,7})","$1 $2",["[89]0"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["66"],"0$1"],["(\\d)(\\d{8})","$1 $2",["6"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-578]|91"],"0$1"],["(\\d{3})(\\d{3})(\\d{5})","$1 $2 $3",["9"],"0$1"]],"0"],NO:["47","00","(?:0|[2-9]\\d{3})\\d{4}",[5,8],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["8"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-79]"]]],0,0,0,0,0,"[02-689]|7[0-8]"],NP:["977","00","(?:1\\d|9)\\d{9}|[1-9]\\d{7}",[8,10,11],[["(\\d)(\\d{7})","$1-$2",["1[2-6]"],"0$1"],["(\\d{2})(\\d{6})","$1-$2",["1[01]|[2-8]|9(?:[1-59]|[67][2-6])"],"0$1"],["(\\d{3})(\\d{7})","$1-$2",["9"]]],"0"],NR:["674","00","(?:444|(?:55|8\\d)\\d|666)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[4-68]"]]]],NU:["683","00","(?:[47]|888\\d)\\d{3}",[4,7],[["(\\d{3})(\\d{4})","$1 $2",["8"]]]],NZ:["64","0(?:0|161)","[29]\\d{7,9}|50\\d{5}(?:\\d{2,3})?|6[0-35-9]\\d{6}|7\\d{7,8}|8\\d{4,9}|(?:11\\d|[34])\\d{7}",[5,6,7,8,9,10],[["(\\d{2})(\\d{3,8})","$1 $2",["8[1-579]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["50[036-8]|[89]0","50(?:[0367]|88)|[89]0"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["24|[346]|7[2-57-9]|9[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:10|74)|[59]|80"],"0$1"],["(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["1|2[028]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,5})","$1 $2 $3",["2(?:[169]|7[0-35-9])|7|86"],"0$1"]],"0",0,0,0,0,0,0,"00"],OM:["968","00","(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}",[7,8,9],[["(\\d{3})(\\d{4,6})","$1 $2",["[58]"]],["(\\d{2})(\\d{6})","$1 $2",["2"]],["(\\d{4})(\\d{4})","$1 $2",["[179]"]]]],PA:["507","00","(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}",[7,8,10,11],[["(\\d{3})(\\d{4})","$1-$2",["[1-57-9]"]],["(\\d{4})(\\d{4})","$1-$2",["[68]"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]]]],PE:["51","00|19(?:1[124]|77|90)00","(?:[14-8]|9\\d)\\d{7}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["80"],"(0$1)"],["(\\d)(\\d{7})","$1 $2",["1"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["[4-8]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"]]],"0",0,0,0,0,0,0,"00"," Anexo "],PF:["689","00","4\\d{5}(?:\\d{2})?|8\\d{7,8}",[6,8,9],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["44"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["4|8[7-9]"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]]]],PG:["675","00|140[1-3]","(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["18|[2-69]|85"]],["(\\d{4})(\\d{4})","$1 $2",["[78]"]]],0,0,0,0,0,0,0,"00"],PH:["63","00","(?:[2-7]|9\\d)\\d{8}|2\\d{5}|(?:1800|8)\\d{7,9}",[6,8,9,10,11,12,13],[["(\\d)(\\d{5})","$1 $2",["2"],"(0$1)"],["(\\d{4})(\\d{4,6})","$1 $2",["3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2","3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))"],"(0$1)"],["(\\d{5})(\\d{4})","$1 $2",["346|4(?:27|9[35])|883","3469|4(?:279|9(?:30|56))|8834"],"(0$1)"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[3-7]|8[2-8]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]],["(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})","$1 $2 $3 $4",["1"]]],"0"],PK:["92","00","122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[06-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}",[8,9,10,11,12],[["(\\d{3})(\\d{3})(\\d{2,7})","$1 $2 $3",["[89]0"],"0$1"],["(\\d{4})(\\d{5})","$1 $2",["1"]],["(\\d{3})(\\d{6,7})","$1 $2",["2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])","9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]"],"(0$1)"],["(\\d{2})(\\d{7,8})","$1 $2",["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"],"(0$1)"],["(\\d{5})(\\d{5})","$1 $2",["58"],"(0$1)"],["(\\d{3})(\\d{7})","$1 $2",["3"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["[24-9]"],"(0$1)"]],"0"],PL:["48","00","(?:6|8\\d\\d)\\d{7}|[1-9]\\d{6}(?:\\d{2})?|[26]\\d{5}",[6,7,8,9,10],[["(\\d{5})","$1",["19"]],["(\\d{3})(\\d{3})","$1 $2",["11|20|64"]],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1","(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19"]],["(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["64"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)"]],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[2-8]|[2-7]|8[1-79]|9[145]"]],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["8"]]]],PM:["508","00","[45]\\d{5}|(?:708|80\\d)\\d{6}",[6,9],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[45]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["7"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0$1"]],"0"],PR:["1","011","(?:[589]\\d\\d|787)\\d{7}",[10],0,"1",0,0,0,0,"787|939"],PS:["970","00","[2489]2\\d{6}|(?:1\\d|5)\\d{8}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2489]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["5"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],PT:["351","00","1693\\d{5}|(?:[26-9]\\d|30)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["2[12]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["16|[236-9]"]]]],PW:["680","01[12]","(?:[24-8]\\d\\d|345|900)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]]],PY:["595","00","59\\d{4,6}|9\\d{5,10}|(?:[2-46-8]\\d|5[0-8])\\d{4,7}",[6,7,8,9,10,11],[["(\\d{3})(\\d{3,6})","$1 $2",["[2-9]0"],"0$1"],["(\\d{2})(\\d{5})","$1 $2",["[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]"],"(0$1)"],["(\\d{3})(\\d{4,5})","$1 $2",["2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["87"]],["(\\d{3})(\\d{6})","$1 $2",["9(?:[5-79]|8[1-6])"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]"],"0$1"],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["9"]]],"0"],QA:["974","00","800\\d{4}|(?:2|800)\\d{6}|(?:0080|[3-7])\\d{7}",[7,8,9,11],[["(\\d{3})(\\d{4})","$1 $2",["2[16]|8"]],["(\\d{4})(\\d{4})","$1 $2",["[3-7]"]]]],RE:["262","00","(?:26|[689]\\d)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2689]"],"0$1"]],"0",0,0,0,0,0,[["26(?:2\\d\\d|3(?:0\\d|1[0-4]))\\d{4}"],["69(?:2\\d\\d|3(?:0[0-46]|1[013]|2[0-2]|3[0-39]|4\\d|5[0-5]|6[0-6]|7[0-27]|8[0-8]|9[0-479]))\\d{4}"],["80\\d{7}"],["89[1-37-9]\\d{6}"],0,0,0,0,["9(?:399[0-3]|479[0-5]|76(?:2[27]|3[0-37]))\\d{4}"],["8(?:1[019]|2[0156]|84|90)\\d{6}"]]],RO:["40","00","(?:[2378]\\d|90)\\d{7}|[23]\\d{5}",[6,9],[["(\\d{3})(\\d{3})","$1 $2",["2[3-6]","2[3-6]\\d9"],"0$1"],["(\\d{2})(\\d{4})","$1 $2",["219|31"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[23]1"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[237-9]"],"0$1"]],"0",0,0,0,0,0,0,0," int "],RS:["381","00","38[02-9]\\d{6,9}|6\\d{7,9}|90\\d{4,8}|38\\d{5,6}|(?:7\\d\\d|800)\\d{3,9}|(?:[12]\\d|3[0-79])\\d{5,10}",[6,7,8,9,10,11,12],[["(\\d{3})(\\d{3,9})","$1 $2",["(?:2[389]|39)0|[7-9]"],"0$1"],["(\\d{2})(\\d{5,10})","$1 $2",["[1-36]"],"0$1"]],"0"],RU:["7","810","8\\d{13}|[347-9]\\d{9}",[10,14],[["(\\d{4})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["7(?:1[0-8]|2[1-9])","7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))","7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2"],"8 ($1)",1],["(\\d{5})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["7(?:1[0-68]|2[1-9])","7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))","7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]"],"8 ($1)",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"8 ($1)",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[349]|8(?:[02-7]|1[1-8])"],"8 ($1)",1],["(\\d{4})(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3 $4",["8"],"8 ($1)"]],"8",0,0,0,0,"3[04-689]|[489]",0,"8~10"],RW:["250","00","(?:06|[27]\\d\\d|[89]00)\\d{6}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[7-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2"]]],"0"],SA:["966","00","92\\d{7}|(?:[15]|8\\d)\\d{8}",[9,10],[["(\\d{4})(\\d{5})","$1 $2",["9"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["81"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]]],"0"],SB:["677","0[01]","(?:[1-6]|[7-9]\\d\\d)\\d{4}",[5,7],[["(\\d{2})(\\d{5})","$1 $2",["7|8[4-9]|9(?:[1-8]|9[0-8])"]]]],SC:["248","010|0[0-2]","800\\d{4}|(?:[249]\\d|64)\\d{5}",[7],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[246]|9[57]"]]],0,0,0,0,0,0,0,"00"],SD:["249","00","[19]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[19]"],"0$1"]],"0"],SE:["46","00","(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}",[6,7,8,9,10],[["(\\d{2})(\\d{2,3})(\\d{2})","$1-$2 $3",["20"],"0$1",0,"$1 $2 $3"],["(\\d{3})(\\d{4})","$1-$2",["9(?:00|39|44|9)"],"0$1",0,"$1 $2"],["(\\d{2})(\\d{3})(\\d{2})","$1-$2 $3",["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"],"0$1",0,"$1 $2 $3"],["(\\d)(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["8"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2,3})(\\d{2})","$1-$2 $3",["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"],"0$1",0,"$1 $2 $3"],["(\\d{3})(\\d{2,3})(\\d{3})","$1-$2 $3",["9(?:00|39|44)"],"0$1",0,"$1 $2 $3"],["(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"],"0$1",0,"$1 $2 $3 $4"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["10|7"],"0$1",0,"$1 $2 $3 $4"],["(\\d)(\\d{3})(\\d{3})(\\d{2})","$1-$2 $3 $4",["8"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1-$2 $3 $4",["[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{2})(\\d{3})","$1-$2 $3 $4",["9"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4 $5",["[26]"],"0$1",0,"$1 $2 $3 $4 $5"]],"0"],SG:["65","0[0-3]\\d","(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}",[8,10,11],[["(\\d{4})(\\d{4})","$1 $2",["[369]|8(?:0[1-8]|[1-9])"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]],["(\\d{4})(\\d{4})(\\d{3})","$1 $2 $3",["7"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]]]],SH:["290","00","(?:[256]\\d|8)\\d{3}",[4,5],0,0,0,0,0,0,"[256]"],SI:["386","00|10(?:22|66|88|99)","[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}",[5,6,7,8],[["(\\d{2})(\\d{3,6})","$1 $2",["8[09]|9"],"0$1"],["(\\d{3})(\\d{5})","$1 $2",["59|8"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[37][01]|4[0139]|51|6"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[1-57]"],"(0$1)"]],"0",0,0,0,0,0,0,"00"],SJ:["47","00","0\\d{4}|(?:[489]\\d|[57]9)\\d{6}",[5,8],0,0,0,0,0,0,"79"],SK:["421","00","[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}",[6,7,9],[["(\\d)(\\d{2})(\\d{3,4})","$1 $2 $3",["21"],"0$1"],["(\\d{2})(\\d{2})(\\d{2,3})","$1 $2 $3",["[3-5][1-8]1","[3-5][1-8]1[67]"],"0$1"],["(\\d)(\\d{3})(\\d{3})(\\d{2})","$1/$2 $3 $4",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[689]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1/$2 $3 $4",["[3-5]"],"0$1"]],"0"],SL:["232","00","(?:[237-9]\\d|66)\\d{6}",[8],[["(\\d{2})(\\d{6})","$1 $2",["[236-9]"],"(0$1)"]],"0"],SM:["378","00","(?:0549|[5-7]\\d)\\d{6}",[8,10],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-7]"]],["(\\d{4})(\\d{6})","$1 $2",["0"]]],0,0,"([89]\\d{5})$","0549$1"],SN:["221","00","(?:[378]\\d|93)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[379]"]]]],SO:["252","00","[346-9]\\d{8}|[12679]\\d{7}|[1-5]\\d{6}|[1348]\\d{5}",[6,7,8,9],[["(\\d{2})(\\d{4})","$1 $2",["8[125]"]],["(\\d{6})","$1",["[134]"]],["(\\d)(\\d{6})","$1 $2",["[15]|2[0-79]|3[0-46-8]|4[0-7]"]],["(\\d)(\\d{7})","$1 $2",["(?:2|90)4|[67]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[348]|64|79|90"]],["(\\d{2})(\\d{5,7})","$1 $2",["1|28|6[0-35-9]|77|9[2-9]"]]],"0"],SR:["597","00","(?:[2-5]|68|[78]\\d)\\d{5}",[6,7],[["(\\d{2})(\\d{2})(\\d{2})","$1-$2-$3",["56"]],["(\\d{3})(\\d{3})","$1-$2",["[2-5]"]],["(\\d{3})(\\d{4})","$1-$2",["[6-8]"]]]],SS:["211","00","[19]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[19]"],"0$1"]],"0"],ST:["239","00","(?:22|9\\d)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[29]"]]]],SV:["503","00","[267]\\d{7}|[89]00\\d{4}(?:\\d{4})?",[7,8,11],[["(\\d{3})(\\d{4})","$1 $2",["[89]"]],["(\\d{4})(\\d{4})","$1 $2",["[267]"]],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[89]"]]]],SX:["1","011","7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"(5\\d{6})$|1","721$1",0,"721"],SY:["963","00","[1-39]\\d{8}|[1-5]\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-5]"],"0$1",1],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1",1]],"0"],SZ:["268","00","0800\\d{4}|(?:[237]\\d|900)\\d{6}",[8,9],[["(\\d{4})(\\d{4})","$1 $2",["[0237]"]],["(\\d{5})(\\d{4})","$1 $2",["9"]]]],TA:["290","00","8\\d{3}",[4],0,0,0,0,0,0,"8"],TC:["1","011","(?:[58]\\d\\d|649|900)\\d{7}",[10],0,"1",0,"([2-479]\\d{6})$|1","649$1",0,"649"],TD:["235","00|16","(?:22|[69]\\d|77)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2679]"]]],0,0,0,0,0,0,0,"00"],TG:["228","00","[279]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[279]"]]]],TH:["66","00[1-9]","(?:001800|[2-57]|[689]\\d)\\d{7}|1\\d{7,9}",[8,9,10,13],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[13-9]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],TJ:["992","810","[0-57-9]\\d{8}",[9],[["(\\d{6})(\\d)(\\d{2})","$1 $2 $3",["331","3317"]],["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["[34]7"]],["(\\d{4})(\\d)(\\d{4})","$1 $2 $3",["3[1-5]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[0-57-9]"]]],0,0,0,0,0,0,0,"8~10"],TK:["690","00","[2-47]\\d{3,6}",[4,5,6,7]],TL:["670","00","7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[2-489]|70"]],["(\\d{4})(\\d{4})","$1 $2",["7"]]]],TM:["993","810","[1-6]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["12"],"(8 $1)"],["(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2-$3-$4",["[1-5]"],"(8 $1)"],["(\\d{2})(\\d{6})","$1 $2",["6"],"8 $1"]],"8",0,0,0,0,0,0,"8~10"],TN:["216","00","[2-57-9]\\d{7}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-57-9]"]]]],TO:["676","00","(?:0800|(?:[5-8]\\d\\d|999)\\d)\\d{3}|[2-8]\\d{4}",[5,7],[["(\\d{2})(\\d{3})","$1-$2",["[2-4]|50|6[09]|7[0-24-69]|8[05]"]],["(\\d{4})(\\d{3})","$1 $2",["0"]],["(\\d{3})(\\d{4})","$1 $2",["[5-9]"]]]],TR:["90","00","4\\d{6}|8\\d{11,12}|(?:[2-58]\\d\\d|900)\\d{7}",[7,10,12,13],[["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["512|8[01589]|90"],"0$1",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5(?:[0-59]|61)","5(?:[0-59]|616)","5(?:[0-59]|6161)"],"0$1",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24][1-8]|3[1-9]"],"(0$1)",1],["(\\d{3})(\\d{3})(\\d{6,7})","$1 $2 $3",["80"],"0$1",1]],"0"],TT:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-46-8]\\d{6})$|1","868$1",0,"868"],TV:["688","00","(?:2|7\\d\\d|90)\\d{4}",[5,6,7],[["(\\d{2})(\\d{3})","$1 $2",["2"]],["(\\d{2})(\\d{4})","$1 $2",["90"]],["(\\d{2})(\\d{5})","$1 $2",["7"]]]],TW:["886","0(?:0[25-79]|19)","[2-689]\\d{8}|7\\d{9,10}|[2-8]\\d{7}|2\\d{6}",[7,8,9,10,11],[["(\\d{2})(\\d)(\\d{4})","$1 $2 $3",["202"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[258]0"],"0$1"],["(\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]","[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[49]"],"0$1"],["(\\d{2})(\\d{4})(\\d{4,5})","$1 $2 $3",["7"],"0$1"]],"0",0,0,0,0,0,0,0,"#"],TZ:["255","00[056]","(?:[25-8]\\d|41|90)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[24]"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["5"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[67]"],"0$1"]],"0"],UA:["380","00","[89]\\d{9}|[3-9]\\d{8}",[9,10],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]","6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]"],"0$1"],["(\\d{4})(\\d{5})","$1 $2",["3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])","3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[3-7]|89|9[1-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[89]"],"0$1"]],"0",0,0,0,0,0,0,"0~0"],UG:["256","00[057]","800\\d{6}|(?:[29]0|[347]\\d)\\d{7}",[9],[["(\\d{4})(\\d{5})","$1 $2",["202","2024"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["[27-9]|4(?:6[45]|[7-9])"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["[34]"],"0$1"]],"0"],US:["1","011","[2-9]\\d{9}|3\\d{6}",[10],[["(\\d{3})(\\d{4})","$1-$2",["310"],0,1],["(\\d{3})(\\d{3})(\\d{4})","($1) $2-$3",["[2-9]"],0,1,"$1-$2-$3"]],"1",0,0,0,0,0,[["5056(?:[0-35-9]\\d|4[46])\\d{4}|(?:4722|505[2-57-9])\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[01356]|3[0-24679]|4[167]|5[0-2]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}"],[""],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"]]],UY:["598","0(?:0|1[3-9]\\d)","(?:0004|4)\\d{9}|[1249]\\d{7}|(?:[49]\\d|80)\\d{5}",[7,8,10,13],[["(\\d{3})(\\d{4})","$1 $2",["405|8|90"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"],["(\\d{4})(\\d{4})","$1 $2",["[124]"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["4"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3 $4",["0"]]],"0",0,0,0,0,0,0,"00"," int. "],UZ:["998","810","200\\d{6}|(?:33|[5-79]\\d|88)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[235-9]"],"8 $1"]],"8",0,0,0,0,0,0,"8~10"],VA:["39","00","0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}",[6,7,8,9,10,11],0,0,0,0,0,0,"06698"],VC:["1","011","(?:[58]\\d\\d|784|900)\\d{7}",[10],0,"1",0,"([2-7]\\d{6})$|1","784$1",0,"784"],VE:["58","00","[68]00\\d{7}|(?:[24]\\d|[59]0)\\d{8}",[10],[["(\\d{3})(\\d{7})","$1-$2",["[24-689]"],"0$1"]],"0"],VG:["1","011","(?:284|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-578]\\d{6})$|1","284$1",0,"284"],VI:["1","011","[58]\\d{9}|(?:34|90)0\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","340$1",0,"340"],VN:["84","00","[12]\\d{9}|[135-9]\\d{8}|[16]\\d{7}|[16-8]\\d{6}",[7,8,9,10],[["(\\d{2})(\\d{5})","$1 $2",["80"],"0$1",1],["(\\d{4})(\\d{4,6})","$1 $2",["1"],0,1],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["6"],"0$1",1],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[357-9]"],"0$1",1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["2[48]"],"0$1",1],["(\\d{3})(\\d{4})(\\d{3})","$1 $2 $3",["2"],"0$1",1]],"0"],VU:["678","00","[57-9]\\d{6}|(?:[238]\\d|48)\\d{3}",[5,7],[["(\\d{3})(\\d{4})","$1 $2",["[57-9]"]]]],WF:["681","00","(?:40|72)\\d{4}|8\\d{5}(?:\\d{3})?",[6,9],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[478]"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]]]],WS:["685","0","(?:[2-6]|8\\d{5})\\d{4}|[78]\\d{6}|[68]\\d{5}",[5,6,7,10],[["(\\d{5})","$1",["[2-5]|6[1-9]"]],["(\\d{3})(\\d{3,7})","$1 $2",["[68]"]],["(\\d{2})(\\d{5})","$1 $2",["7"]]]],XK:["383","00","[23]\\d{7,8}|(?:4\\d\\d|[89]00)\\d{5}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-4]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[23]"],"0$1"]],"0"],YE:["967","00","(?:1|7\\d)\\d{7}|[1-7]\\d{6}",[7,8,9],[["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-6]|7(?:[24-6]|8[0-7])"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["7"],"0$1"]],"0"],YT:["262","00","(?:80|9\\d)\\d{7}|(?:26|63)9\\d{6}",[9],0,"0",0,0,0,0,0,[["269(?:0[0-467]|5[0-4]|6\\d|[78]0)\\d{4}"],["639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])\\d{4}"],["80\\d{7}"],0,0,0,0,0,["9(?:(?:39|47)8[01]|769\\d)\\d{4}"]]],ZA:["27","00","[1-79]\\d{8}|8\\d{4,9}",[5,6,7,8,9,10],[["(\\d{2})(\\d{3,4})","$1 $2",["8[1-4]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["8[1-4]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["860"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"]],"0"],ZM:["260","00","800\\d{6}|(?:21|63|[79]\\d)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[28]"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["[79]"],"0$1"]],"0"],ZW:["263","00","2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}",[5,6,7,8,9,10],[["(\\d{3})(\\d{3,5})","$1 $2",["2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]"],"0$1"],["(\\d)(\\d{3})(\\d{2,4})","$1 $2 $3",["[49]"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["80"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2","2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)","2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)"],"0$1"],["(\\d{4})(\\d{6})","$1 $2",["8"],"0$1"],["(\\d{2})(\\d{3,5})","$1 $2",["1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["29[013-9]|39|54"],"0$1"],["(\\d{4})(\\d{3,5})","$1 $2",["(?:25|54)8","258|5483"],"0$1"]],"0"]},nonGeographic:{800:["800",0,"(?:00|[1-9]\\d)\\d{6}",[8],[["(\\d{4})(\\d{4})","$1 $2",["\\d"]]],0,0,0,0,0,0,[0,0,["(?:00|[1-9]\\d)\\d{6}"]]],808:["808",0,"[1-9]\\d{7}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[1-9]"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,0,["[1-9]\\d{7}"]]],870:["870",0,"7\\d{11}|[35-7]\\d{8}",[9,12],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[35-7]"]]],0,0,0,0,0,0,[0,["(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}"]]],878:["878",0,"10\\d{10}",[12],[["(\\d{2})(\\d{5})(\\d{5})","$1 $2 $3",["1"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,["10\\d{10}"]]],881:["881",0,"[0-36-9]\\d{8}",[9],[["(\\d)(\\d{3})(\\d{5})","$1 $2 $3",["[0-36-9]"]]],0,0,0,0,0,0,[0,["[0-36-9]\\d{8}"]]],882:["882",0,"[13]\\d{6}(?:\\d{2,5})?|[19]\\d{7}|(?:[25]\\d\\d|4)\\d{7}(?:\\d{2})?",[7,8,9,10,11,12],[["(\\d{2})(\\d{5})","$1 $2",["16|342"]],["(\\d{2})(\\d{6})","$1 $2",["49"]],["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["1[36]|9"]],["(\\d{2})(\\d{4})(\\d{3})","$1 $2 $3",["3[23]"]],["(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["16"]],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["10|23|3(?:[15]|4[57])|4|51"]],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["34"]],["(\\d{2})(\\d{4,5})(\\d{5})","$1 $2 $3",["[1-35]"]]],0,0,0,0,0,0,[0,["342\\d{4}|(?:337|49)\\d{6}|(?:3(?:2|47|7\\d{3})|50\\d{3})\\d{7}",[7,8,9,10,12]],0,0,0,0,0,0,["1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\d{4}|6\\d{5,10})|(?:345\\d|9[89])\\d{6}|(?:10|2(?:3|85\\d)|3(?:[15]|[69]\\d\\d)|4[15-8]|51)\\d{8}"]]],883:["883",0,"(?:[1-4]\\d|51)\\d{6,10}",[8,9,10,11,12],[["(\\d{3})(\\d{3})(\\d{2,8})","$1 $2 $3",["[14]|2[24-689]|3[02-689]|51[24-9]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["510"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["21"]],["(\\d{4})(\\d{4})(\\d{4})","$1 $2 $3",["51[13]"]],["(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["[235]"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,["(?:2(?:00\\d\\d|10)|(?:370[1-9]|51\\d0)\\d)\\d{7}|51(?:00\\d{5}|[24-9]0\\d{4,7})|(?:1[013-79]|2[24-689]|3[02-689]|4[0-4])0\\d{5,9}"]]],888:["888",0,"\\d{11}",[11],[["(\\d{3})(\\d{3})(\\d{5})","$1 $2 $3"]],0,0,0,0,0,0,[0,0,0,0,0,0,["\\d{11}"]]],979:["979",0,"[1359]\\d{8}",[9],[["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["[1359]"]]],0,0,0,0,0,0,[0,0,0,["[1359]\\d{8}"]]]}};function An(t){return An="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},An(t)}function $n(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function bn(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function wn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Cn(t){var e,n,r,o,i,a=(o=Array.prototype.slice.call(t),i=4,function(t){if(Array.isArray(t))return t}(o)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i=[],a=!0,d=!1;try{for(n=n.call(t);!(a=(r=n.next()).done)&&(i.push(r.value),!e||i.length!==e);a=!0);}catch(t){d=!0,o=t}finally{try{a||null==n.return||n.return()}finally{if(d)throw o}}return i}}(o,i)||function(t,e){if(t){if("string"==typeof t)return wn(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?wn(t,e):void 0}}(o,i)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),d=a[0],s=a[1],c=a[2],l=a[3];if("string"!=typeof d)throw new TypeError("A text for parsing must be a string.");if(e=d,s&&"string"!=typeof s){if(!xn(s))throw new Error("Invalid second argument: ".concat(s));c?(n=s,r=c):r=s}else l?(n=c,r=l):(n=void 0,r=c),s&&(n=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?$n(Object(n),!0).forEach((function(e){bn(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):$n(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}({defaultCountry:s},n));return{text:e,options:n,metadata:r}}var xn=function(t){return"object"===An(t)},En=2,On=17,Sn=3,Pn="0-90-9٠-٩۰-۹",Ln="".concat("-‐-―−ー-").concat("//").concat("..").concat(" ").concat("()()[]\\[\\]").concat("~⁓∼~");function jn(t){return jn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},jn(t)}function In(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function _n(t){var e="function"==typeof Map?new Map:void 0;return _n=function(t){if(null===t||(n=t,-1===Function.toString.call(n).indexOf("[native code]")))return t;var n;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,r)}function r(){return kn(t,arguments,Dn(this).constructor)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),Nn(r,t)},_n(t)}function kn(t,e,n){return kn=Bn()?Reflect.construct:function(t,e,n){var r=[null];r.push.apply(r,e);var o=new(Function.bind.apply(t,r));return n&&Nn(o,n.prototype),o},kn.apply(null,arguments)}function Bn(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}function Nn(t,e){return Nn=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},Nn(t,e)}function Dn(t){return Dn=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},Dn(t)}var Tn=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Nn(t,e)}(i,t);var e,n,r,o=(n=i,r=Bn(),function(){var t,e=Dn(n);if(r){var o=Dn(this).constructor;t=Reflect.construct(e,arguments,o)}else t=e.apply(this,arguments);return function(t,e){if(e&&("object"===jn(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return In(t)}(this,t)});function i(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,i),e=o.call(this,t),Object.setPrototypeOf(In(e),i.prototype),e.name=e.constructor.name,e}return e=i,Object.defineProperty(e,"prototype",{writable:!1}),e}(_n(Error));function Mn(t,e){t=t.split("-"),e=e.split("-");for(var n=t[0].split("."),r=e[0].split("."),o=0;o<3;o++){var i=Number(n[o]),a=Number(r[o]);if(i>a)return 1;if(a>i)return-1;if(!isNaN(i)&&isNaN(a))return 1;if(isNaN(i)&&!isNaN(a))return-1}return t[1]&&e[1]?t[1]>e[1]?1:t[1]<e[1]?-1:0:!t[1]&&e[1]?1:t[1]&&!e[1]?-1:0}function Rn(t){return Rn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Rn(t)}function Fn(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Gn(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function Zn(t,e,n){return e&&Gn(t.prototype,e),n&&Gn(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}var Un=" ext. ",Yn=/^\d+$/,zn=function(){function t(e){Fn(this,t),function(t){if(!t)throw new Error("[libphonenumber-js] `metadata` argument not passed. Check your arguments.");if(!Kn(t)||!Kn(t.countries))throw new Error("[libphonenumber-js] `metadata` argument was passed but it's not a valid metadata. Must be an object having `.countries` child object property. Got ".concat(Kn(t)?"an object of shape: { "+Object.keys(t).join(", ")+" }":"a "+Qn(t)+": "+t,"."))}(e),this.metadata=e,tr.call(this,e)}return Zn(t,[{key:"getCountries",value:function(){return Object.keys(this.metadata.countries).filter((function(t){return"001"!==t}))}},{key:"getCountryMetadata",value:function(t){return this.metadata.countries[t]}},{key:"nonGeographic",value:function(){if(!(this.v1||this.v2||this.v3))return this.metadata.nonGeographic||this.metadata.nonGeographical}},{key:"hasCountry",value:function(t){return void 0!==this.getCountryMetadata(t)}},{key:"hasCallingCode",value:function(t){if(this.getCountryCodesForCallingCode(t))return!0;if(this.nonGeographic()){if(this.nonGeographic()[t])return!0}else{var e=this.countryCallingCodes()[t];if(e&&1===e.length&&"001"===e[0])return!0}}},{key:"isNonGeographicCallingCode",value:function(t){return this.nonGeographic()?!!this.nonGeographic()[t]:!this.getCountryCodesForCallingCode(t)}},{key:"country",value:function(t){return this.selectNumberingPlan(t)}},{key:"selectNumberingPlan",value:function(t,e){if(t&&Yn.test(t)&&(e=t,t=null),t&&"001"!==t){if(!this.hasCountry(t))throw new Error("Unknown country: ".concat(t));this.numberingPlan=new Hn(this.getCountryMetadata(t),this)}else if(e){if(!this.hasCallingCode(e))throw new Error("Unknown calling code: ".concat(e));this.numberingPlan=new Hn(this.getNumberingPlanMetadata(e),this)}else this.numberingPlan=void 0;return this}},{key:"getCountryCodesForCallingCode",value:function(t){var e=this.countryCallingCodes()[t];if(e){if(1===e.length&&3===e[0].length)return;return e}}},{key:"getCountryCodeForCallingCode",value:function(t){var e=this.getCountryCodesForCallingCode(t);if(e)return e[0]}},{key:"getNumberingPlanMetadata",value:function(t){var e=this.getCountryCodeForCallingCode(t);if(e)return this.getCountryMetadata(e);if(this.nonGeographic()){var n=this.nonGeographic()[t];if(n)return n}else{var r=this.countryCallingCodes()[t];if(r&&1===r.length&&"001"===r[0])return this.metadata.countries["001"]}}},{key:"countryCallingCode",value:function(){return this.numberingPlan.callingCode()}},{key:"IDDPrefix",value:function(){return this.numberingPlan.IDDPrefix()}},{key:"defaultIDDPrefix",value:function(){return this.numberingPlan.defaultIDDPrefix()}},{key:"nationalNumberPattern",value:function(){return this.numberingPlan.nationalNumberPattern()}},{key:"possibleLengths",value:function(){return this.numberingPlan.possibleLengths()}},{key:"formats",value:function(){return this.numberingPlan.formats()}},{key:"nationalPrefixForParsing",value:function(){return this.numberingPlan.nationalPrefixForParsing()}},{key:"nationalPrefixTransformRule",value:function(){return this.numberingPlan.nationalPrefixTransformRule()}},{key:"leadingDigits",value:function(){return this.numberingPlan.leadingDigits()}},{key:"hasTypes",value:function(){return this.numberingPlan.hasTypes()}},{key:"type",value:function(t){return this.numberingPlan.type(t)}},{key:"ext",value:function(){return this.numberingPlan.ext()}},{key:"countryCallingCodes",value:function(){return this.v1?this.metadata.country_phone_code_to_countries:this.metadata.country_calling_codes}},{key:"chooseCountryByCountryCallingCode",value:function(t){return this.selectNumberingPlan(t)}},{key:"hasSelectedNumberingPlan",value:function(){return void 0!==this.numberingPlan}}]),t}(),Hn=function(){function t(e,n){Fn(this,t),this.globalMetadataObject=n,this.metadata=e,tr.call(this,n.metadata)}return Zn(t,[{key:"callingCode",value:function(){return this.metadata[0]}},{key:"getDefaultCountryMetadataForRegion",value:function(){return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode())}},{key:"IDDPrefix",value:function(){if(!this.v1&&!this.v2)return this.metadata[1]}},{key:"defaultIDDPrefix",value:function(){if(!this.v1&&!this.v2)return this.metadata[12]}},{key:"nationalNumberPattern",value:function(){return this.v1||this.v2?this.metadata[1]:this.metadata[2]}},{key:"possibleLengths",value:function(){if(!this.v1)return this.metadata[this.v2?2:3]}},{key:"_getFormats",value:function(t){return t[this.v1?2:this.v2?3:4]}},{key:"formats",value:function(){var t=this;return(this._getFormats(this.metadata)||this._getFormats(this.getDefaultCountryMetadataForRegion())||[]).map((function(e){return new Wn(e,t)}))}},{key:"nationalPrefix",value:function(){return this.metadata[this.v1?3:this.v2?4:5]}},{key:"_getNationalPrefixFormattingRule",value:function(t){return t[this.v1?4:this.v2?5:6]}},{key:"nationalPrefixFormattingRule",value:function(){return this._getNationalPrefixFormattingRule(this.metadata)||this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion())}},{key:"_nationalPrefixForParsing",value:function(){return this.metadata[this.v1?5:this.v2?6:7]}},{key:"nationalPrefixForParsing",value:function(){return this._nationalPrefixForParsing()||this.nationalPrefix()}},{key:"nationalPrefixTransformRule",value:function(){return this.metadata[this.v1?6:this.v2?7:8]}},{key:"_getNationalPrefixIsOptionalWhenFormatting",value:function(){return!!this.metadata[this.v1?7:this.v2?8:9]}},{key:"nationalPrefixIsOptionalWhenFormattingInNationalFormat",value:function(){return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata)||this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion())}},{key:"leadingDigits",value:function(){return this.metadata[this.v1?8:this.v2?9:10]}},{key:"types",value:function(){return this.metadata[this.v1?9:this.v2?10:11]}},{key:"hasTypes",value:function(){return!(this.types()&&0===this.types().length||!this.types())}},{key:"type",value:function(t){if(this.hasTypes()&&qn(this.types(),t))return new Xn(qn(this.types(),t),this)}},{key:"ext",value:function(){return this.v1||this.v2?Un:this.metadata[13]||Un}}]),t}(),Wn=function(){function t(e,n){Fn(this,t),this._format=e,this.metadata=n}return Zn(t,[{key:"pattern",value:function(){return this._format[0]}},{key:"format",value:function(){return this._format[1]}},{key:"leadingDigitsPatterns",value:function(){return this._format[2]||[]}},{key:"nationalPrefixFormattingRule",value:function(){return this._format[3]||this.metadata.nationalPrefixFormattingRule()}},{key:"nationalPrefixIsOptionalWhenFormattingInNationalFormat",value:function(){return!!this._format[4]||this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat()}},{key:"nationalPrefixIsMandatoryWhenFormattingInNationalFormat",value:function(){return this.usesNationalPrefix()&&!this.nationalPrefixIsOptionalWhenFormattingInNationalFormat()}},{key:"usesNationalPrefix",value:function(){return!(!this.nationalPrefixFormattingRule()||Vn.test(this.nationalPrefixFormattingRule()))}},{key:"internationalFormat",value:function(){return this._format[5]||this.format()}}]),t}(),Vn=/^\(?\$1\)?$/,Xn=function(){function t(e,n){Fn(this,t),this.type=e,this.metadata=n}return Zn(t,[{key:"pattern",value:function(){return this.metadata.v1?this.type:this.type[0]}},{key:"possibleLengths",value:function(){if(!this.metadata.v1)return this.type[1]||this.metadata.possibleLengths()}}]),t}();function qn(t,e){switch(e){case"FIXED_LINE":return t[0];case"MOBILE":return t[1];case"TOLL_FREE":return t[2];case"PREMIUM_RATE":return t[3];case"PERSONAL_NUMBER":return t[4];case"VOICEMAIL":return t[5];case"UAN":return t[6];case"PAGER":return t[7];case"VOIP":return t[8];case"SHARED_COST":return t[9]}}var Kn=function(t){return"object"===Rn(t)},Qn=function(t){return Rn(t)};function Jn(t,e){if((e=new zn(e)).hasCountry(t))return e.country(t).countryCallingCode();throw new Error("Unknown country: ".concat(t))}function tr(t){var e=t.version;"number"==typeof e?(this.v1=1===e,this.v2=2===e,this.v3=3===e,this.v4=4===e):e?-1===Mn(e,"1.2.0")?this.v2=!0:-1===Mn(e,"1.7.35")?this.v3=!0:this.v4=!0:this.v1=!0}var er=function(t){return"([".concat(Pn,"]{1,").concat(t,"})")};function nr(t){var e="[ \\t,]*",n="[:\\..]?[ \\t,-]*",r="#?",o="[ \\t]*";return";ext="+er("20")+"|"+e+"(?:e?xt(?:ensi(?:ó?|ó))?n?|e?xtn?|доб|anexo)"+n+er("20")+"#?|"+e+"(?:[xx##~~]|int|int)"+n+er("9")+"#?|[- ]+"+er("6")+"#|"+o+"(?:,{2}|;)"+n+er("15")+"#?|"+o+"(?:,)+"+n+er("9")+r}var rr="["+Pn+"]{"+En+"}",or="[++]{0,1}(?:["+Ln+"]*["+Pn+"]){3,}["+Ln+Pn+"]*",ir=new RegExp("^[++]{0,1}(?:["+Ln+"]*["+Pn+"]){1,2}$","i"),ar=or+"(?:"+nr()+")?",dr=new RegExp("^"+rr+"$|^"+ar+"$","i"),sr=new RegExp("(?:"+nr()+")$","i"),cr={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9","0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9"};function lr(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function ur(t){for(var e,n="",r=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(n)return(n=n.call(t)).next.bind(n);if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return lr(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?lr(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(t.split(""));!(e=r()).done;)n+=pr(e.value,n)||"";return n}function pr(t,e){if("+"===t){if(e)return;return"+"}return function(t){return cr[t]}(t)}function fr(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function hr(t,e){return vr(t,void 0,e)}function vr(t,e,n){var r=n.type(e),o=r&&r.possibleLengths()||n.possibleLengths();if(!o)return"IS_POSSIBLE";if("FIXED_LINE_OR_MOBILE"===e){if(!n.type("FIXED_LINE"))return vr(t,"MOBILE",n);var i=n.type("MOBILE");i&&(o=function(t,e){for(var n,r=t.slice(),o=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(n)return(n=n.call(t)).next.bind(n);if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return fr(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?fr(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(e);!(n=o()).done;){var i=n.value;t.indexOf(i)<0&&r.push(i)}return r.sort((function(t,e){return t-e}))}(o,i.possibleLengths()))}else if(e&&!r)return"INVALID_LENGTH";var a=t.length,d=o[0];return d===a?"IS_POSSIBLE":d>a?"TOO_SHORT":o[o.length-1]<a?"TOO_LONG":o.indexOf(a,1)>=0?"IS_POSSIBLE":"INVALID_LENGTH"}function mr(t,e){return"IS_POSSIBLE"===hr(t,e)}function yr(t,e){return t=t||"",new RegExp("^(?:"+e+")$").test(t)}function gr(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var Ar=["MOBILE","PREMIUM_RATE","TOLL_FREE","SHARED_COST","VOIP","PERSONAL_NUMBER","PAGER","UAN","VOICEMAIL"];function $r(t,e,n){if(e=e||{},t.country){(n=new zn(n)).selectNumberingPlan(t.country,t.countryCallingCode);var r=e.v2?t.nationalNumber:t.phone;if(yr(r,n.nationalNumberPattern())){if(br(r,"FIXED_LINE",n))return n.type("MOBILE")&&""===n.type("MOBILE").pattern()?"FIXED_LINE_OR_MOBILE":n.type("MOBILE")?br(r,"MOBILE",n)?"FIXED_LINE_OR_MOBILE":"FIXED_LINE":"FIXED_LINE_OR_MOBILE";for(var o,i=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(n)return(n=n.call(t)).next.bind(n);if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return gr(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?gr(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(Ar);!(o=i()).done;){var a=o.value;if(br(r,a,n))return a}}}}function br(t,e,n){return!(!(e=n.type(e))||!e.pattern())&&!(e.possibleLengths()&&e.possibleLengths().indexOf(t.length)<0)&&yr(t,e.pattern())}var wr=/(\$\d)/;var Cr=/^[\d]+(?:[~\u2053\u223C\uFF5E][\d]+)?$/;function xr(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Er(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Or(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Er(Object(n),!0).forEach((function(e){Sr(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Er(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function Sr(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Pr={formatExtension:function(t,e,n){return"".concat(t).concat(n.ext()).concat(e)}};function Lr(t,e,n,r,o){var i=function(t,e){for(var n,r=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(n)return(n=n.call(t)).next.bind(n);if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return xr(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?xr(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(t);!(n=r()).done;){var o=n.value;if(o.leadingDigitsPatterns().length>0){var i=o.leadingDigitsPatterns()[o.leadingDigitsPatterns().length-1];if(0!==e.search(i))continue}if(yr(e,o.pattern()))return o}}(r.formats(),t);return i?function(t,e,n){var r=n.useInternationalFormat,o=n.withNationalPrefix,i=(n.carrierCode,n.metadata,t.replace(new RegExp(e.pattern()),r?e.internationalFormat():o&&e.nationalPrefixFormattingRule()?e.format().replace(wr,e.nationalPrefixFormattingRule()):e.format()));return r?function(t){return t.replace(new RegExp("[".concat(Ln,"]+"),"g")," ").trim()}(i):i}(t,i,{useInternationalFormat:"INTERNATIONAL"===n,withNationalPrefix:!i.nationalPrefixIsOptionalWhenFormattingInNationalFormat()||!o||!1!==o.nationalPrefix,carrierCode:e,metadata:r}):t}function jr(t,e,n,r){return e?r(t,e,n):t}function Ir(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function _r(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Ir(Object(n),!0).forEach((function(e){kr(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Ir(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function kr(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Br(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var Nr=function(){function t(e,n,r){if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw new TypeError("`country` or `countryCallingCode` not passed");if(!n)throw new TypeError("`nationalNumber` not passed");if(!r)throw new TypeError("`metadata` not passed");var o=function(t,e){var n,r,o=new zn(e);return Dr(t)?(n=t,o.selectNumberingPlan(n),r=o.countryCallingCode()):r=t,{country:n,countryCallingCode:r}}(e,r),i=o.country,a=o.countryCallingCode;this.country=i,this.countryCallingCode=a,this.nationalNumber=n,this.number="+"+this.countryCallingCode+this.nationalNumber,this.getMetadata=function(){return r}}var e,n;return e=t,n=[{key:"setExt",value:function(t){this.ext=t}},{key:"getPossibleCountries",value:function(){return this.country?[this.country]:(t=this.countryCallingCode,e=this.nationalNumber,n=this.getMetadata(),(r=new zn(n).getCountryCodesForCallingCode(t))?r.filter((function(t){return function(t,e,n){var r=new zn(n);return r.selectNumberingPlan(e),r.numberingPlan.possibleLengths().indexOf(t.length)>=0}(e,t,n)})):[]);var t,e,n,r}},{key:"isPossible",value:function(){return function(t,e,n){if(void 0===e&&(e={}),n=new zn(n),e.v2){if(!t.countryCallingCode)throw new Error("Invalid phone number object passed");n.selectNumberingPlan(t.countryCallingCode)}else{if(!t.phone)return!1;if(t.country){if(!n.hasCountry(t.country))throw new Error("Unknown country: ".concat(t.country));n.country(t.country)}else{if(!t.countryCallingCode)throw new Error("Invalid phone number object passed");n.selectNumberingPlan(t.countryCallingCode)}}if(n.possibleLengths())return mr(t.phone||t.nationalNumber,n);if(t.countryCallingCode&&n.isNonGeographicCallingCode(t.countryCallingCode))return!0;throw new Error('Missing "possibleLengths" in metadata. Perhaps the metadata has been generated before v1.0.18.')}(this,{v2:!0},this.getMetadata())}},{key:"isValid",value:function(){return function(t,e,n){return e=e||{},(n=new zn(n)).selectNumberingPlan(t.country,t.countryCallingCode),n.hasTypes()?void 0!==$r(t,e,n.metadata):yr(e.v2?t.nationalNumber:t.phone,n.nationalNumberPattern())}(this,{v2:!0},this.getMetadata())}},{key:"isNonGeographic",value:function(){return new zn(this.getMetadata()).isNonGeographicCallingCode(this.countryCallingCode)}},{key:"isEqual",value:function(t){return this.number===t.number&&this.ext===t.ext}},{key:"getType",value:function(){return $r(this,{v2:!0},this.getMetadata())}},{key:"format",value:function(t,e){return function(t,e,n,r){if(n=n?Or(Or({},Pr),n):Pr,r=new zn(r),t.country&&"001"!==t.country){if(!r.hasCountry(t.country))throw new Error("Unknown country: ".concat(t.country));r.country(t.country)}else{if(!t.countryCallingCode)return t.phone||"";r.selectNumberingPlan(t.countryCallingCode)}var o,i=r.countryCallingCode(),a=n.v2?t.nationalNumber:t.phone;switch(e){case"NATIONAL":return a?jr(o=Lr(a,t.carrierCode,"NATIONAL",r,n),t.ext,r,n.formatExtension):"";case"INTERNATIONAL":return a?(o=Lr(a,null,"INTERNATIONAL",r,n),jr(o="+".concat(i," ").concat(o),t.ext,r,n.formatExtension)):"+".concat(i);case"E.164":return"+".concat(i).concat(a);case"RFC3966":return function(t){var e=t.number,n=t.ext;if(!e)return"";if("+"!==e[0])throw new Error('"formatRFC3966()" expects "number" to be in E.164 format.');return"tel:".concat(e).concat(n?";ext="+n:"")}({number:"+".concat(i).concat(a),ext:t.ext});case"IDD":if(!n.fromCountry)return;var d=function(t,e,n,r,o){if(Jn(r,o.metadata)===n){var i=Lr(t,e,"NATIONAL",o);return"1"===n?n+" "+i:i}var a=function(t,e,n){var r=new zn(n);return r.selectNumberingPlan(t,void 0),r.defaultIDDPrefix()?r.defaultIDDPrefix():Cr.test(r.IDDPrefix())?r.IDDPrefix():void 0}(r,0,o.metadata);if(a)return"".concat(a," ").concat(n," ").concat(Lr(t,null,"INTERNATIONAL",o))}(a,t.carrierCode,i,n.fromCountry,r);return jr(d,t.ext,r,n.formatExtension);default:throw new Error('Unknown "format" argument passed to "formatNumber()": "'.concat(e,'"'))}}(this,t,e?_r(_r({},e),{},{v2:!0}):{v2:!0},this.getMetadata())}},{key:"formatNational",value:function(t){return this.format("NATIONAL",t)}},{key:"formatInternational",value:function(t){return this.format("INTERNATIONAL",t)}},{key:"getURI",value:function(t){return this.format("RFC3966",t)}}],n&&Br(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),t}(),Dr=function(t){return/^[A-Z]{2}$/.test(t)},Tr=new RegExp("(["+Pn+"])");function Mr(t,e){var n=function(t,e){if(t&&e.numberingPlan.nationalPrefixForParsing()){var n=new RegExp("^(?:"+e.numberingPlan.nationalPrefixForParsing()+")"),r=n.exec(t);if(r){var o,i,a,d=r.length-1,s=d>0&&r[d];if(e.nationalPrefixTransformRule()&&s)o=t.replace(n,e.nationalPrefixTransformRule()),d>1&&(i=r[1]);else{var c=r[0];o=t.slice(c.length),s&&(i=r[1])}if(s){var l=t.indexOf(r[1]);t.slice(0,l)===e.numberingPlan.nationalPrefix()&&(a=e.numberingPlan.nationalPrefix())}else a=r[0];return{nationalNumber:o,nationalPrefix:a,carrierCode:i}}}return{nationalNumber:t}}(t,e),r=n.carrierCode,o=n.nationalNumber;if(o!==t){if(!function(t,e,n){return!(yr(t,n.nationalNumberPattern())&&!yr(e,n.nationalNumberPattern()))}(t,o,e))return{nationalNumber:t};if(e.possibleLengths()&&!function(t,e){switch(hr(t,e)){case"TOO_SHORT":case"INVALID_LENGTH":return!1;default:return!0}}(o,e))return{nationalNumber:t}}return{nationalNumber:o,carrierCode:r}}function Rr(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var Fr=!1;function Gr(t,e){var n=e.nationalNumber,r=e.defaultCountry,o=e.metadata;if(Fr&&o.isNonGeographicCallingCode(t))return"001";var i=o.getCountryCodesForCallingCode(t);return i?1===i.length?i[0]:function(t,e){var n=e.countries,r=e.defaultCountry,o=e.metadata;o=new zn(o);for(var i,a=[],d=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(n)return(n=n.call(t)).next.bind(n);if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return Rr(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Rr(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(n);!(i=d()).done;){var s=i.value;if(o.country(s),o.leadingDigits()){if(t&&0===t.search(o.leadingDigits()))return s}else if($r({phone:t,country:s},void 0,o.metadata)){if(!r)return s;if(s===r)return s;a.push(s)}}if(a.length>0)return a[0]}(n,{countries:i,defaultCountry:r,metadata:o.metadata}):void 0}var Zr="+",Ur="(["+Pn+"]|[\\-\\.\\(\\)]?)",Yr=new RegExp("^\\"+Zr+Ur+"*["+Pn+"]"+Ur+"*$","g"),zr=new RegExp("^(["+Pn+"]+((\\-)*["+Pn+"])*\\.)*[a-zA-Z]+((\\-)*["+Pn+"])*\\.?$","g"),Hr="tel:",Wr=";phone-context=",Vr=";isub=";var Xr=250,qr=new RegExp("[++"+Pn+"]"),Kr=new RegExp("[^"+Pn+"#]+$"),Qr=!1;function Jr(t,e,n){if(e=e||{},n=new zn(n),e.defaultCountry&&!n.hasCountry(e.defaultCountry)){if(e.v2)throw new Tn("INVALID_COUNTRY");throw new Error("Unknown country: ".concat(e.defaultCountry))}var r=function(t,e,n){var r=function(t,e){var n,r=e.extractFormattedPhoneNumber,o=function(t){var e=t.indexOf(Wr);if(e<0)return null;var n=e+Wr.length;if(n>=t.length)return"";var r=t.indexOf(";",n);return r>=0?t.substring(n,r):t.substring(n)}(t);if(!function(t){return null===t||0!==t.length&&(Yr.test(t)||zr.test(t))}(o))throw new Tn("NOT_A_NUMBER");if(null===o)n=r(t)||"";else{n="",o.charAt(0)===Zr&&(n+=o);var i,a=t.indexOf(Hr);i=a>=0?a+Hr.length:0;var d=t.indexOf(Wr);n+=t.substring(i,d)}var s=n.indexOf(Vr);if(s>0&&(n=n.substring(0,s)),""!==n)return n}(t,{extractFormattedPhoneNumber:function(t){return function(t,e,n){if(t)if(t.length>Xr){if(n)throw new Tn("TOO_LONG")}else{if(!1===e)return t;var r=t.search(qr);if(!(r<0))return t.slice(r).replace(Kr,"")}}(t,n,e)}});if(!r)return{};if(!function(t){return t.length>=En&&dr.test(t)}(r))return function(t){return ir.test(t)}(r)?{error:"TOO_SHORT"}:{};var o=function(t){var e=t.search(sr);if(e<0)return{};for(var n=t.slice(0,e),r=t.match(sr),o=1;o<r.length;){if(r[o])return{number:n,ext:r[o]};o++}}(r);return o.ext?o:{number:r}}(t,e.v2,e.extract),o=r.number,i=r.ext,a=r.error;if(!o){if(e.v2){if("TOO_SHORT"===a)throw new Tn("TOO_SHORT");throw new Tn("NOT_A_NUMBER")}return{}}var d=function(t,e,n,r){var o,i=function(t,e,n,r){if(!t)return{};var o;if("+"!==t[0]){var i=function(t,e,n,r){if(e){var o=new zn(r);o.selectNumberingPlan(e,n);var i=new RegExp(o.IDDPrefix());if(0===t.search(i)){var a=(t=t.slice(t.match(i)[0].length)).match(Tr);if(!(a&&null!=a[1]&&a[1].length>0&&"0"===a[1]))return t}}}(t,e,n,r);if(!i||i===t){if(e||n){var a=function(t,e,n,r){var o=e?Jn(e,r):n;if(0===t.indexOf(o)){(r=new zn(r)).selectNumberingPlan(e,n);var i=t.slice(o.length),a=Mr(i,r).nationalNumber,d=Mr(t,r).nationalNumber;if(!yr(d,r.nationalNumberPattern())&&yr(a,r.nationalNumberPattern())||"TOO_LONG"===hr(d,r))return{countryCallingCode:o,number:i}}return{number:t}}(t,e,n,r),d=a.countryCallingCode,s=a.number;if(d)return{countryCallingCodeSource:"FROM_NUMBER_WITHOUT_PLUS_SIGN",countryCallingCode:d,number:s}}return{number:t}}o=!0,t="+"+i}if("0"===t[1])return{};r=new zn(r);for(var c=2;c-1<=Sn&&c<=t.length;){var l=t.slice(1,c);if(r.hasCallingCode(l))return r.selectNumberingPlan(l),{countryCallingCodeSource:o?"FROM_NUMBER_WITH_IDD":"FROM_NUMBER_WITH_PLUS_SIGN",countryCallingCode:l,number:t.slice(c)};c++}return{}}(ur(t),e,n,r.metadata),a=i.countryCallingCodeSource,d=i.countryCallingCode,s=i.number;if(d)r.selectNumberingPlan(d);else{if(!s||!e&&!n)return{};r.selectNumberingPlan(e,n),e?o=e:Qr&&r.isNonGeographicCallingCode(n)&&(o="001"),d=n||Jn(e,r.metadata)}if(!s)return{countryCallingCodeSource:a,countryCallingCode:d};var c=Mr(ur(s),r),l=c.nationalNumber,u=c.carrierCode,p=Gr(d,{nationalNumber:l,defaultCountry:e,metadata:r});return p&&(o=p,"001"===p||r.country(o)),{country:o,countryCallingCode:d,countryCallingCodeSource:a,nationalNumber:l,carrierCode:u}}(o,e.defaultCountry,e.defaultCallingCode,n),s=d.country,c=d.nationalNumber,l=d.countryCallingCode,u=d.countryCallingCodeSource,p=d.carrierCode;if(!n.hasSelectedNumberingPlan()){if(e.v2)throw new Tn("INVALID_COUNTRY");return{}}if(!c||c.length<En){if(e.v2)throw new Tn("TOO_SHORT");return{}}if(c.length>On){if(e.v2)throw new Tn("TOO_LONG");return{}}if(e.v2){var f=new Nr(l,c,n.metadata);return s&&(f.country=s),p&&(f.carrierCode=p),i&&(f.ext=i),f.__countryCallingCodeSource=u,f}var h=!!(e.extended?n.hasSelectedNumberingPlan():s)&&yr(c,n.nationalNumberPattern());return e.extended?{country:s,countryCallingCode:l,carrierCode:p,valid:h,possible:!!h||!(!0!==e.extended||!n.possibleLengths()||!mr(c,n)),phone:c,ext:i}:h?function(t,e,n){var r={country:t,phone:e};return n&&(r.ext=n),r}(s,c,i):{}}function to(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function eo(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?to(Object(n),!0).forEach((function(e){no(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):to(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function no(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function ro(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function oo(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?ro(Object(n),!0).forEach((function(e){io(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ro(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function io(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function ao(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function so(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?ao(Object(n),!0).forEach((function(e){co(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ao(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function co(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function lo(){var t=Cn(arguments),e=t.text,n=t.options,r=t.metadata,o=function(t,e,n){e&&e.defaultCountry&&!function(t,e){return e.countries.hasOwnProperty(t)}(e.defaultCountry,n)&&(e=oo(oo({},e),{},{defaultCountry:void 0}));try{return function(t,e,n){return Jr(t,eo(eo({},e),{},{v2:!0}),n)}(t,e,n)}catch(t){if(!(t instanceof Tn))throw t}}(e,n=so(so({},n),{},{extract:!1}),r);return o&&o.isValid()||!1}function uo(){return function(t,e){var n=Array.prototype.slice.call(e);return n.push(gn),t.apply(this,n)}(lo,arguments)}function po(t){return po="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},po(t)}function fo(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ho(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?fo(Object(n),!0).forEach((function(e){vo(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):fo(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function vo(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==po(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==po(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===po(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var mo=(0,a.j)("settings","personalInfoParameters",{}),yo=mo.defaultPhoneRegion,go=mo.phone,Ao={name:"PhoneSection",components:{AccountPropertySection:xe},data:function(){return{phone:ho(ho({},go),{},{readable:X[go.name]})}},methods:{onValidate:function(t){return yo?uo(t,yo):uo(t)}}},$o=(0,Z.Z)(Ao,(function(){var t=this;return(0,t._self._c)("AccountPropertySection",t._b({attrs:{placeholder:t.t("settings","Your phone number"),autocomplete:"tel",type:"tel","on-validate":t.onValidate}},"AccountPropertySection",t.phone,!1,!0))}),[],!1,null,null,null).exports;function bo(t){return bo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},bo(t)}function wo(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Co(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?wo(Object(n),!0).forEach((function(e){xo(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):wo(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function xo(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==bo(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==bo(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===bo(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Eo=(0,a.j)("settings","personalInfoParameters",{}).location,Oo={name:"LocationSection",components:{AccountPropertySection:xe},data:function(){return{location:Co(Co({},Eo),{},{readable:X[Eo.name]})}}},So=(0,Z.Z)(Oo,(function(){var t=this;return(0,t._self._c)("AccountPropertySection",t._b({attrs:{autocomplete:"address-level1",placeholder:t.t("settings","Your city")}},"AccountPropertySection",t.location,!1,!0))}),[],!1,null,null,null).exports;function Po(t){return Po="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Po(t)}function Lo(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function jo(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Lo(Object(n),!0).forEach((function(e){Io(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Lo(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function Io(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==Po(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Po(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===Po(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var _o=(0,a.j)("settings","personalInfoParameters",{}).website,ko={name:"WebsiteSection",components:{AccountPropertySection:xe},data:function(){return{website:jo(jo({},_o),{},{readable:X[_o.name]})}},methods:{onValidate:function(t){return function(t){try{return new URL(t),!0}catch(t){return!1}}(t)}}},Bo=(0,Z.Z)(ko,(function(){var t=this;return(0,t._self._c)("AccountPropertySection",t._b({attrs:{placeholder:t.t("settings","Your website"),autocomplete:"url",type:"url","on-validate":t.onValidate}},"AccountPropertySection",t.website,!1,!0))}),[],!1,null,null,null).exports;function No(t){return No="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},No(t)}function Do(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function To(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Do(Object(n),!0).forEach((function(e){Mo(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Do(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function Mo(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==No(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==No(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===No(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Ro=(0,a.j)("settings","personalInfoParameters",{}).twitter,Fo={name:"TwitterSection",components:{AccountPropertySection:xe},data:function(){return{twitter:To(To({},Ro),{},{readable:X[Ro.name]})}}},Go=(0,Z.Z)(Fo,(function(){var t=this;return(0,t._self._c)("AccountPropertySection",t._b({attrs:{placeholder:t.t("settings","Your Twitter handle")}},"AccountPropertySection",t.twitter,!1,!0))}),[],!1,null,null,null).exports;function Zo(t){return Zo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Zo(t)}function Uo(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Yo(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Uo(Object(n),!0).forEach((function(e){zo(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Uo(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function zo(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==Zo(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Zo(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===Zo(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Ho=(0,a.j)("settings","personalInfoParameters",{}).fediverse,Wo={name:"FediverseSection",components:{AccountPropertySection:xe},data:function(){return{fediverse:Yo(Yo({},Ho),{},{readable:X[Ho.name]})}}},Vo=(0,Z.Z)(Wo,(function(){var t=this;return(0,t._self._c)("AccountPropertySection",t._b({attrs:{placeholder:t.t("settings","Your handle")}},"AccountPropertySection",t.fediverse,!1,!0))}),[],!1,null,null,null).exports;function Xo(t){return Xo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Xo(t)}function qo(){qo=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",d=o.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,n){return t[e]=n}}function c(t,e,n,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),d=new E(o||[]);return r(a,"_invoke",{value:b(t,n,d)}),a}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var u={};function p(){}function f(){}function h(){}var v={};s(v,i,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(O([])));y&&y!==e&&n.call(y,i)&&(v=y);var g=h.prototype=p.prototype=Object.create(v);function A(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function $(t,e){function o(r,i,a,d){var s=l(t[r],t,i);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==Xo(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){o("next",t,a,d)}),(function(t){o("throw",t,a,d)})):e.resolve(u).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,d)}))}d(s.arg)}var i;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){o(t,n,e,r)}))}return i=i?i.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return{value:void 0,done:!0}}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var d=w(a,n);if(d){if(d===u)continue;return d}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var s=l(t,e,n);if("normal"===s.type){if(r=n.done?"completed":"suspendedYield",s.arg===u)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r="completed",n.method="throw",n.arg=s.arg)}}}function w(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),u;var o=l(r,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,u;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,u):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,u)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return f.prototype=h,r(g,"constructor",{value:h,configurable:!0}),r(h,"constructor",{value:f,configurable:!0}),f.displayName=s(h,d,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,d,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},A($.prototype),s($.prototype,a,(function(){return this})),t.AsyncIterator=$,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new $(c(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},A(g),s(g,d,"Generator"),s(g,i,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=O,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var d=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(d&&s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(d){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),u},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),u}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:O(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},t}function Ko(t,e,n,r,o,i,a){try{var d=t[i](a),s=d.value}catch(t){return void n(t)}d.done?e(s):Promise.resolve(s).then(r,o)}function Qo(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){Ko(i,r,o,a,d,"next",t)}function d(t){Ko(i,r,o,a,d,"throw",t)}a(void 0)}))}}function Jo(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ti(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Jo(Object(n),!0).forEach((function(e){ei(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Jo(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function ei(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==Xo(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Xo(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===Xo(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function ni(t){return function(t){if(Array.isArray(t))return ri(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return ri(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ri(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ri(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var oi={name:"Language",props:{inputId:{type:String,default:null},commonLanguages:{type:Array,required:!0},otherLanguages:{type:Array,required:!0},language:{type:Object,required:!0}},data:function(){return{initialLanguage:this.language}},computed:{allLanguages:function(){return Object.freeze([].concat(ni(this.commonLanguages),ni(this.otherLanguages)).reduce((function(t,e){var n=e.code,r=e.name;return ti(ti({},t),{},ei({},n,r))}),{}))}},methods:{onLanguageChange:function(t){var e=this;return Qo(qo().mark((function n(){var r;return qo().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(r=e.constructLanguage(t.target.value),e.$emit("update:language",r),""===(o=r).code||""===o.name||void 0===o.name){n.next=5;break}return n.next=5,e.updateLanguage(r);case 5:case"end":return n.stop()}var o}),n)})))()},updateLanguage:function(e){var n=this;return Qo(qo().mark((function r(){var o,i;return qo().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,ft(Q.LANGUAGE,e.code);case 3:i=r.sent,n.handleResponse({language:e,status:null===(o=i.ocs)||void 0===o||null===(o=o.meta)||void 0===o?void 0:o.status}),n.reloadPage(),r.next=11;break;case 8:r.prev=8,r.t0=r.catch(0),n.handleResponse({errorMessage:t("settings","Unable to update language"),error:r.t0});case 11:case"end":return r.stop()}}),r,null,[[0,8]])})))()},constructLanguage:function(t){return{code:t,name:this.allLanguages[t]}},handleResponse:function(t){var e=t.language,n=t.status,r=t.errorMessage,o=t.error;"ok"===n?this.initialLanguage=e:mt(o,r)},reloadPage:function(){location.reload()}}},ii=r(58531),ai={};ai.styleTagTransform=O(),ai.setAttributes=w(),ai.insert=$().bind(null,"head"),ai.domAPI=g(),ai.insertStyleElement=x(),m()(ii.Z,ai),ii.Z&&ii.Z.locals&&ii.Z.locals;var di=(0,Z.Z)(oi,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"language"},[e("select",{attrs:{id:t.inputId,placeholder:t.t("settings","Language")},on:{change:t.onLanguageChange}},[t._l(t.commonLanguages,(function(n){return e("option",{key:n.code,domProps:{selected:t.language.code===n.code,value:n.code}},[t._v("\n\t\t\t"+t._s(n.name)+"\n\t\t")])})),t._v(" "),e("option",{attrs:{disabled:""}},[t._v("\n\t\t\t──────────\n\t\t")]),t._v(" "),t._l(t.otherLanguages,(function(n){return e("option",{key:n.code,domProps:{selected:t.language.code===n.code,value:n.code}},[t._v("\n\t\t\t"+t._s(n.name)+"\n\t\t")])}))],2),t._v(" "),e("a",{attrs:{href:"https://www.transifex.com/nextcloud/nextcloud/",target:"_blank",rel:"noreferrer noopener"}},[e("em",[t._v(t._s(t.t("settings","Help translate")))])])])}),[],!1,null,"f4e20d10",null).exports,si=(0,a.j)("settings","personalInfoParameters",{}).languageMap,ci=si.activeLanguage,li=si.commonLanguages,ui=si.otherLanguages,pi={name:"LanguageSection",components:{Language:di,HeaderBar:_t},data:function(){return{propertyReadable:J.LANGUAGE,commonLanguages:li,otherLanguages:ui,language:ci}},computed:{inputId:function(){return"account-setting-".concat(Q.LANGUAGE)},isEditable:function(){return Boolean(this.language)}}},fi=r(12531),hi={};hi.styleTagTransform=O(),hi.setAttributes=w(),hi.insert=$().bind(null,"head"),hi.domAPI=g(),hi.insertStyleElement=x(),m()(fi.Z,hi),fi.Z&&fi.Z.locals&&fi.Z.locals;var vi=(0,Z.Z)(pi,(function(){var t=this,e=t._self._c;return e("section",[e("HeaderBar",{attrs:{"input-id":t.inputId,readable:t.propertyReadable}}),t._v(" "),t.isEditable?[e("Language",{attrs:{"input-id":t.inputId,"common-languages":t.commonLanguages,"other-languages":t.otherLanguages,language:t.language},on:{"update:language":function(e){t.language=e}}})]:e("span",[t._v("\n\t\t"+t._s(t.t("settings","No language set"))+"\n\t")])],2)}),[],!1,null,"92685b76",null).exports,mi=r(80351),yi=r.n(mi);function gi(t){return gi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gi(t)}function Ai(){Ai=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",d=o.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,n){return t[e]=n}}function c(t,e,n,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),d=new E(o||[]);return r(a,"_invoke",{value:b(t,n,d)}),a}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var u={};function p(){}function f(){}function h(){}var v={};s(v,i,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(O([])));y&&y!==e&&n.call(y,i)&&(v=y);var g=h.prototype=p.prototype=Object.create(v);function A(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function $(t,e){function o(r,i,a,d){var s=l(t[r],t,i);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==gi(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){o("next",t,a,d)}),(function(t){o("throw",t,a,d)})):e.resolve(u).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,d)}))}d(s.arg)}var i;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){o(t,n,e,r)}))}return i=i?i.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return{value:void 0,done:!0}}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var d=w(a,n);if(d){if(d===u)continue;return d}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var s=l(t,e,n);if("normal"===s.type){if(r=n.done?"completed":"suspendedYield",s.arg===u)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r="completed",n.method="throw",n.arg=s.arg)}}}function w(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),u;var o=l(r,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,u;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,u):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,u)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return f.prototype=h,r(g,"constructor",{value:h,configurable:!0}),r(h,"constructor",{value:f,configurable:!0}),f.displayName=s(h,d,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,d,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},A($.prototype),s($.prototype,a,(function(){return this})),t.AsyncIterator=$,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new $(c(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},A(g),s(g,d,"Generator"),s(g,i,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=O,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var d=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(d&&s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(d){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),u},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),u}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:O(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},t}function $i(t,e,n,r,o,i,a){try{var d=t[i](a),s=d.value}catch(t){return void n(t)}d.done?e(s):Promise.resolve(s).then(r,o)}function bi(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){$i(i,r,o,a,d,"next",t)}function d(t){$i(i,r,o,a,d,"throw",t)}a(void 0)}))}}function wi(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Ci(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?wi(Object(n),!0).forEach((function(e){xi(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):wi(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function xi(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==gi(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==gi(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===gi(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Ei(t){return function(t){if(Array.isArray(t))return Oi(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return Oi(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Oi(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Oi(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var Si={name:"Locale",components:{Web:r(97859).default},props:{inputId:{type:String,default:null},locale:{type:Object,required:!0},localesForLanguage:{type:Array,required:!0},otherLocales:{type:Array,required:!0}},data:function(){return{initialLocale:this.locale,example:{date:yi()().format("L"),time:yi()().format("LTS"),firstDayOfWeek:window.dayNames[window.firstDay]}}},computed:{allLocales:function(){return Object.freeze([].concat(Ei(this.localesForLanguage),Ei(this.otherLocales)).reduce((function(t,e){var n=e.code,r=e.name;return Ci(Ci({},t),{},xi({},n,r))}),{}))}},created:function(){setInterval(this.refreshExample,1e3)},methods:{onLocaleChange:function(t){var e=this;return bi(Ai().mark((function n(){var r;return Ai().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(r=e.constructLocale(t.target.value),e.$emit("update:locale",r),""===(o=r).code||""===o.name||void 0===o.name){n.next=5;break}return n.next=5,e.updateLocale(r);case 5:case"end":return n.stop()}var o}),n)})))()},updateLocale:function(e){var n=this;return bi(Ai().mark((function r(){var o,i;return Ai().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,ft(Q.LOCALE,e.code);case 3:i=r.sent,n.handleResponse({locale:e,status:null===(o=i.ocs)||void 0===o||null===(o=o.meta)||void 0===o?void 0:o.status}),n.reloadPage(),r.next=11;break;case 8:r.prev=8,r.t0=r.catch(0),n.handleResponse({errorMessage:t("settings","Unable to update locale"),error:r.t0});case 11:case"end":return r.stop()}}),r,null,[[0,8]])})))()},constructLocale:function(t){return{code:t,name:this.allLocales[t]}},handleResponse:function(t){var e=t.locale,n=t.status,r=t.errorMessage,o=t.error;"ok"===n?this.initialLocale=e:(this.$emit("update:locale",this.initialLocale),mt(o,r))},refreshExample:function(){this.example={date:yi()().format("L"),time:yi()().format("LTS"),firstDayOfWeek:window.dayNames[window.firstDay]}},reloadPage:function(){location.reload()}}},Pi=r(93615),Li={};Li.styleTagTransform=O(),Li.setAttributes=w(),Li.insert=$().bind(null,"head"),Li.domAPI=g(),Li.insertStyleElement=x(),m()(Pi.Z,Li),Pi.Z&&Pi.Z.locals&&Pi.Z.locals;var ji=(0,Z.Z)(Si,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"locale"},[e("select",{attrs:{id:t.inputId,placeholder:t.t("settings","Locale")},on:{change:t.onLocaleChange}},[t._l(t.localesForLanguage,(function(n){return e("option",{key:n.code,domProps:{selected:t.locale.code===n.code,value:n.code}},[t._v("\n\t\t\t"+t._s(n.name)+"\n\t\t")])})),t._v(" "),e("option",{attrs:{disabled:""}},[t._v("\n\t\t\t──────────\n\t\t")]),t._v(" "),t._l(t.otherLocales,(function(n){return e("option",{key:n.code,domProps:{selected:t.locale.code===n.code,value:n.code}},[t._v("\n\t\t\t"+t._s(n.name)+"\n\t\t")])}))],2),t._v(" "),e("div",{staticClass:"example"},[e("Web",{attrs:{size:20}}),t._v(" "),e("div",{staticClass:"example__text"},[e("p",[e("span",[t._v(t._s(t.example.date))]),t._v(" "),e("span",[t._v(t._s(t.example.time))])]),t._v(" "),e("p",[t._v("\n\t\t\t\t"+t._s(t.t("settings","Week starts on {firstDayOfWeek}",{firstDayOfWeek:t.example.firstDayOfWeek}))+"\n\t\t\t")])])],1)])}),[],!1,null,"9c4afa34",null).exports,Ii=(0,a.j)("settings","personalInfoParameters",{}).localeMap,_i=Ii.activeLocale,ki=Ii.localesForLanguage,Bi=Ii.otherLocales,Ni={name:"LocaleSection",components:{Locale:ji,HeaderBar:_t},data:function(){return{propertyReadable:J.LOCALE,localesForLanguage:ki,otherLocales:Bi,locale:_i}},computed:{inputId:function(){return"account-setting-".concat(Q.LOCALE)},isEditable:function(){return Boolean(this.locale)}}},Di=r(682),Ti={};Ti.styleTagTransform=O(),Ti.setAttributes=w(),Ti.insert=$().bind(null,"head"),Ti.domAPI=g(),Ti.insertStyleElement=x(),m()(Di.Z,Ti),Di.Z&&Di.Z.locals&&Di.Z.locals;var Mi=(0,Z.Z)(Ni,(function(){var t=this,e=t._self._c;return e("section",[e("HeaderBar",{attrs:{"input-id":t.inputId,readable:t.propertyReadable}}),t._v(" "),t.isEditable?[e("Locale",{attrs:{"input-id":t.inputId,"locales-for-language":t.localesForLanguage,"other-locales":t.otherLocales,locale:t.locale},on:{"update:locale":function(e){t.locale=e}}})]:e("span",[t._v("\n\t\t"+t._s(t.t("settings","No locale set"))+"\n\t")])],2)}),[],!1,null,"84fca724",null).exports,Ri={name:"EditProfileAnchorLink",components:{ChevronDownIcon:r(41622).default},props:{profileEnabled:{type:Boolean,required:!0}},computed:{disabled:function(){return!this.profileEnabled}}},Fi=r(38139),Gi={};Gi.styleTagTransform=O(),Gi.setAttributes=w(),Gi.insert=$().bind(null,"head"),Gi.domAPI=g(),Gi.insertStyleElement=x(),m()(Fi.Z,Gi),Fi.Z&&Fi.Z.locals&&Fi.Z.locals;var Zi=r(28168),Ui={};Ui.styleTagTransform=O(),Ui.setAttributes=w(),Ui.insert=$().bind(null,"head"),Ui.domAPI=g(),Ui.insertStyleElement=x(),m()(Zi.Z,Ui),Zi.Z&&Zi.Z.locals&&Zi.Z.locals;var Yi=(0,Z.Z)(Ri,(function(){var t=this,e=t._self._c;return e("a",t._g({class:{disabled:t.disabled},attrs:{href:"#profile-visibility"}},t.$listeners),[e("ChevronDownIcon",{staticClass:"anchor-icon",attrs:{size:22}}),t._v("\n\t"+t._s(t.t("settings","Edit your Profile visibility"))+"\n")],1)}),[],!1,null,"23992b06",null).exports;function zi(t){return zi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},zi(t)}function Hi(){Hi=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",d=o.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,n){return t[e]=n}}function c(t,e,n,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),d=new E(o||[]);return r(a,"_invoke",{value:b(t,n,d)}),a}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var u={};function p(){}function f(){}function h(){}var v={};s(v,i,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(O([])));y&&y!==e&&n.call(y,i)&&(v=y);var g=h.prototype=p.prototype=Object.create(v);function A(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function $(t,e){function o(r,i,a,d){var s=l(t[r],t,i);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==zi(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){o("next",t,a,d)}),(function(t){o("throw",t,a,d)})):e.resolve(u).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,d)}))}d(s.arg)}var i;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){o(t,n,e,r)}))}return i=i?i.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return{value:void 0,done:!0}}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var d=w(a,n);if(d){if(d===u)continue;return d}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var s=l(t,e,n);if("normal"===s.type){if(r=n.done?"completed":"suspendedYield",s.arg===u)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r="completed",n.method="throw",n.arg=s.arg)}}}function w(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),u;var o=l(r,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,u;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,u):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,u)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return f.prototype=h,r(g,"constructor",{value:h,configurable:!0}),r(h,"constructor",{value:f,configurable:!0}),f.displayName=s(h,d,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,d,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},A($.prototype),s($.prototype,a,(function(){return this})),t.AsyncIterator=$,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new $(c(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},A(g),s(g,d,"Generator"),s(g,i,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=O,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var d=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(d&&s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(d){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),u},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),u}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:O(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},t}function Wi(t,e,n,r,o,i,a){try{var d=t[i](a),s=d.value}catch(t){return void n(t)}d.done?e(s):Promise.resolve(s).then(r,o)}var Vi={name:"ProfileCheckbox",components:{NcCheckboxRadioSwitch:r(71998).Z},props:{profileEnabled:{type:Boolean,required:!0}},data:function(){return{isProfileEnabled:this.profileEnabled,loading:!1}},methods:{saveEnableProfile:function(){var e,n=this;return(e=Hi().mark((function e(){var r,o;return Hi().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.loading=!0,e.prev=1,e.next=4,ft(W.PROFILE_ENABLED,n.isProfileEnabled);case 4:o=e.sent,n.handleResponse({isProfileEnabled:n.isProfileEnabled,status:null===(r=o.ocs)||void 0===r||null===(r=r.meta)||void 0===r?void 0:r.status}),e.next=11;break;case 8:e.prev=8,e.t0=e.catch(1),n.handleResponse({errorMessage:t("settings","Unable to update profile enabled state"),error:e.t0});case 11:case"end":return e.stop()}}),e,null,[[1,8]])})),function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(t){Wi(i,r,o,a,d,"next",t)}function d(t){Wi(i,r,o,a,d,"throw",t)}a(void 0)}))})()},handleResponse:function(t){var e=t.isProfileEnabled,n=t.status,r=t.errorMessage,o=t.error;"ok"===n?(0,u.j8)("settings:profile-enabled:updated",e):mt(o,r),this.loading=!1}}},Xi=Vi,qi=(0,Z.Z)(Xi,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"checkbox-container"},[e("NcCheckboxRadioSwitch",{attrs:{type:"switch",checked:t.isProfileEnabled,loading:t.loading},on:{"update:checked":[function(e){t.isProfileEnabled=e},t.saveEnableProfile]}},[t._v("\n\t\t"+t._s(t.t("settings","Enable Profile"))+"\n\t")])],1)}),[],!1,null,null,null).exports,Ki={name:"ProfilePreviewCard",components:{NcAvatar:p.Z},props:{displayName:{type:String,required:!0},organisation:{type:String,required:!0},profileEnabled:{type:Boolean,required:!0},userId:{type:String,required:!0}},computed:{disabled:function(){return!this.profileEnabled},profilePageLink:function(){return this.profileEnabled?(0,c.generateUrl)("/u/{userId}",{userId:(0,i.ts)().uid}):null}}},Qi=r(7714),Ji={};Ji.styleTagTransform=O(),Ji.setAttributes=w(),Ji.insert=$().bind(null,"head"),Ji.domAPI=g(),Ji.insertStyleElement=x(),m()(Qi.Z,Ji),Qi.Z&&Qi.Z.locals&&Qi.Z.locals;var ta=(0,Z.Z)(Ki,(function(){var t=this,e=t._self._c;return e("a",{staticClass:"preview-card",class:{disabled:t.disabled},attrs:{href:t.profilePageLink}},[e("NcAvatar",{staticClass:"preview-card__avatar",attrs:{user:t.userId,size:48,"show-user-status":!0,"show-user-status-compact":!1,"disable-menu":!0,"disable-tooltip":!0}}),t._v(" "),e("div",{staticClass:"preview-card__header"},[e("span",[t._v(t._s(t.displayName))])]),t._v(" "),e("div",{staticClass:"preview-card__footer"},[e("span",[t._v(t._s(t.organisation))])])],1)}),[],!1,null,"3375e082",null).exports,ea=(0,a.j)("settings","personalInfoParameters",{}),na=ea.organisation.value,ra=ea.displayName.value,oa=ea.profileEnabled,ia=ea.userId,aa={name:"ProfileSection",components:{EditProfileAnchorLink:Yi,HeaderBar:_t,ProfileCheckbox:qi,ProfilePreviewCard:ta},data:function(){return{propertyReadable:V.PROFILE_ENABLED,organisation:na,displayName:ra,profileEnabled:oa,userId:ia}},mounted:function(){(0,u.Ld)("settings:display-name:updated",this.handleDisplayNameUpdate),(0,u.Ld)("settings:organisation:updated",this.handleOrganisationUpdate)},beforeDestroy:function(){(0,u.r1)("settings:display-name:updated",this.handleDisplayNameUpdate),(0,u.r1)("settings:organisation:updated",this.handleOrganisationUpdate)},methods:{handleDisplayNameUpdate:function(t){this.displayName=t},handleOrganisationUpdate:function(t){this.organisation=t}}},da=aa,sa=r(90552),ca={};ca.styleTagTransform=O(),ca.setAttributes=w(),ca.insert=$().bind(null,"head"),ca.domAPI=g(),ca.insertStyleElement=x(),m()(sa.Z,ca),sa.Z&&sa.Z.locals&&sa.Z.locals;var la=(0,Z.Z)(da,(function(){var t=this,e=t._self._c;return e("section",[e("HeaderBar",{attrs:{readable:t.propertyReadable}}),t._v(" "),e("ProfileCheckbox",{attrs:{"profile-enabled":t.profileEnabled},on:{"update:profileEnabled":function(e){t.profileEnabled=e},"update:profile-enabled":function(e){t.profileEnabled=e}}}),t._v(" "),e("ProfilePreviewCard",{attrs:{organisation:t.organisation,"display-name":t.displayName,"profile-enabled":t.profileEnabled,"user-id":t.userId}}),t._v(" "),e("EditProfileAnchorLink",{attrs:{"profile-enabled":t.profileEnabled}})],1)}),[],!1,null,"cf64d964",null).exports;function ua(t){return ua="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ua(t)}function pa(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function fa(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?pa(Object(n),!0).forEach((function(e){ha(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):pa(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function ha(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==ua(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==ua(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===ua(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var va=(0,a.j)("settings","personalInfoParameters",{}).organisation,ma={name:"OrganisationSection",components:{AccountPropertySection:xe},data:function(){return{organisation:fa(fa({},va),{},{readable:X[va.name]})}}},ya=(0,Z.Z)(ma,(function(){var t=this;return(0,t._self._c)("AccountPropertySection",t._b({attrs:{autocomplete:"organization",placeholder:t.t("settings","Your organisation")}},"AccountPropertySection",t.organisation,!1,!0))}),[],!1,null,null,null).exports;function ga(t){return ga="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ga(t)}function Aa(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function $a(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Aa(Object(n),!0).forEach((function(e){ba(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Aa(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function ba(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==ga(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==ga(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===ga(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var wa=(0,a.j)("settings","personalInfoParameters",{}).role,Ca={name:"RoleSection",components:{AccountPropertySection:xe},data:function(){return{role:$a($a({},wa),{},{readable:X[wa.name]})}}},xa=(0,Z.Z)(Ca,(function(){var t=this;return(0,t._self._c)("AccountPropertySection",t._b({attrs:{autocomplete:"organization-title",placeholder:t.t("settings","Your role")}},"AccountPropertySection",t.role,!1,!0))}),[],!1,null,null,null).exports;function Ea(t){return Ea="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ea(t)}function Oa(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Sa(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Oa(Object(n),!0).forEach((function(e){Pa(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Oa(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function Pa(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==Ea(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Ea(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===Ea(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var La=(0,a.j)("settings","personalInfoParameters",{}).headline,ja={name:"HeadlineSection",components:{AccountPropertySection:xe},data:function(){return{headline:Sa(Sa({},La),{},{readable:X[La.name]})}}},Ia=(0,Z.Z)(ja,(function(){var t=this;return(0,t._self._c)("AccountPropertySection",t._b({attrs:{placeholder:t.t("settings","Your headline")}},"AccountPropertySection",t.headline,!1,!0))}),[],!1,null,null,null).exports;function _a(t){return _a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_a(t)}function ka(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Ba(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?ka(Object(n),!0).forEach((function(e){Na(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ka(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function Na(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==_a(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==_a(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===_a(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Da=(0,a.j)("settings","personalInfoParameters",{}).biography,Ta={name:"BiographySection",components:{AccountPropertySection:xe},data:function(){return{biography:Ba(Ba({},Da),{},{readable:X[Da.name]})}}},Ma=(0,Z.Z)(Ta,(function(){var t=this;return(0,t._self._c)("AccountPropertySection",t._b({attrs:{placeholder:t.t("settings","Your biography"),"multi-line":!0}},"AccountPropertySection",t.biography,!1,!0))}),[],!1,null,null,null).exports,Ra=r(61537);function Fa(t){return Fa="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Fa(t)}function Ga(){Ga=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",d=o.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,n){return t[e]=n}}function c(t,e,n,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),d=new E(o||[]);return r(a,"_invoke",{value:b(t,n,d)}),a}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var u={};function p(){}function f(){}function h(){}var v={};s(v,i,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(O([])));y&&y!==e&&n.call(y,i)&&(v=y);var g=h.prototype=p.prototype=Object.create(v);function A(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function $(t,e){function o(r,i,a,d){var s=l(t[r],t,i);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==Fa(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){o("next",t,a,d)}),(function(t){o("throw",t,a,d)})):e.resolve(u).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,d)}))}d(s.arg)}var i;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){o(t,n,e,r)}))}return i=i?i.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return{value:void 0,done:!0}}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var d=w(a,n);if(d){if(d===u)continue;return d}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var s=l(t,e,n);if("normal"===s.type){if(r=n.done?"completed":"suspendedYield",s.arg===u)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r="completed",n.method="throw",n.arg=s.arg)}}}function w(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),u;var o=l(r,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,u;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,u):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,u)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return f.prototype=h,r(g,"constructor",{value:h,configurable:!0}),r(h,"constructor",{value:f,configurable:!0}),f.displayName=s(h,d,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,d,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},A($.prototype),s($.prototype,a,(function(){return this})),t.AsyncIterator=$,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new $(c(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},A(g),s(g,d,"Generator"),s(g,i,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=O,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var d=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(d&&s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(d){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),u},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),u}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:O(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},t}function Za(t,e,n,r,o,i,a){try{var d=t[i](a),s=d.value}catch(t){return void n(t)}d.done?e(s):Promise.resolve(s).then(r,o)}var Ua,Ya=function(){var t,e=(t=Ga().mark((function t(e,n){var r,o,a;return Ga().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=(0,i.ts)().uid,o=(0,c.generateOcsUrl)("/profile/{userId}",{userId:r}),t.next=4,(0,st.Z)();case 4:return t.next=6,s.Z.put(o,{paramId:e,visibility:n});case 6:return a=t.sent,t.abrupt("return",a.data);case 8:case"end":return t.stop()}}),t)})),function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){Za(i,r,o,a,d,"next",t)}function d(t){Za(i,r,o,a,d,"throw",t)}a(void 0)}))});return function(t,n){return e.apply(this,arguments)}}();function za(t){return za="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},za(t)}function Ha(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==za(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==za(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===za(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Wa=Object.freeze({SHOW:"show",SHOW_USERS_ONLY:"show_users_only",HIDE:"hide"}),Va=Object.freeze((Ha(Ua={},Wa.SHOW,{name:Wa.SHOW,label:t("settings","Show to everyone")}),Ha(Ua,Wa.SHOW_USERS_ONLY,{name:Wa.SHOW_USERS_ONLY,label:t("settings","Show to logged in users only")}),Ha(Ua,Wa.HIDE,{name:Wa.HIDE,label:t("settings","Hide")}),Ua));function Xa(t){return Xa="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Xa(t)}function qa(){qa=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",d=o.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,n){return t[e]=n}}function c(t,e,n,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),d=new E(o||[]);return r(a,"_invoke",{value:b(t,n,d)}),a}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var u={};function p(){}function f(){}function h(){}var v={};s(v,i,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(O([])));y&&y!==e&&n.call(y,i)&&(v=y);var g=h.prototype=p.prototype=Object.create(v);function A(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function $(t,e){function o(r,i,a,d){var s=l(t[r],t,i);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==Xa(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){o("next",t,a,d)}),(function(t){o("throw",t,a,d)})):e.resolve(u).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,d)}))}d(s.arg)}var i;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){o(t,n,e,r)}))}return i=i?i.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return{value:void 0,done:!0}}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var d=w(a,n);if(d){if(d===u)continue;return d}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var s=l(t,e,n);if("normal"===s.type){if(r=n.done?"completed":"suspendedYield",s.arg===u)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r="completed",n.method="throw",n.arg=s.arg)}}}function w(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),u;var o=l(r,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,u;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,u):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,u)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return f.prototype=h,r(g,"constructor",{value:h,configurable:!0}),r(h,"constructor",{value:f,configurable:!0}),f.displayName=s(h,d,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,d,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},A($.prototype),s($.prototype,a,(function(){return this})),t.AsyncIterator=$,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new $(c(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},A(g),s(g,d,"Generator"),s(g,i,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=O,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var d=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(d&&s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(d){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),u},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),u}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:O(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},t}function Ka(t,e,n,r,o,i,a){try{var d=t[i](a),s=d.value}catch(t){return void n(t)}d.done?e(s):Promise.resolve(s).then(r,o)}function Qa(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){Ka(i,r,o,a,d,"next",t)}function d(t){Ka(i,r,o,a,d,"throw",t)}a(void 0)}))}}var Ja=(0,a.j)("settings","personalInfoParameters",!1).profileEnabled,td={name:"VisibilityDropdown",components:{NcSelect:Ra.Z},props:{paramId:{type:String,required:!0},displayId:{type:String,required:!0},visibility:{type:String,required:!0}},data:function(){return{initialVisibility:this.visibility,profileEnabled:Ja}},computed:{disabled:function(){return!this.profileEnabled},inputId:function(){return"profile-visibility-".concat(this.paramId)},visibilityObject:function(){return Va[this.visibility]},visibilityOptions:function(){return Object.values(Va)}},mounted:function(){(0,u.Ld)("settings:profile-enabled:updated",this.handleProfileEnabledUpdate)},beforeDestroy:function(){(0,u.r1)("settings:profile-enabled:updated",this.handleProfileEnabledUpdate)},methods:{onVisibilityChange:function(t){var e=this;return Qa(qa().mark((function n(){var r;return qa().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(null===t){n.next=6;break}if(r=t.name,e.$emit("update:visibility",r),""===r){n.next=6;break}return n.next=6,e.updateVisibility(r);case 6:case"end":return n.stop()}}),n)})))()},updateVisibility:function(e){var n=this;return Qa(qa().mark((function r(){var o,i;return qa().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,Ya(n.paramId,e);case 3:i=r.sent,n.handleResponse({visibility:e,status:null===(o=i.ocs)||void 0===o||null===(o=o.meta)||void 0===o?void 0:o.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),n.handleResponse({errorMessage:t("settings","Unable to update visibility of {displayId}",{displayId:n.displayId}),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},handleResponse:function(t){var e=t.visibility,n=t.status,r=t.errorMessage,o=t.error;"ok"===n?this.initialVisibility=e:mt(o,r)},handleProfileEnabledUpdate:function(t){this.profileEnabled=t}}},ed=td,nd=r(31161),rd={};rd.styleTagTransform=O(),rd.setAttributes=w(),rd.insert=$().bind(null,"head"),rd.domAPI=g(),rd.insertStyleElement=x(),m()(nd.Z,rd),nd.Z&&nd.Z.locals&&nd.Z.locals;var od=(0,Z.Z)(ed,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"visibility-container",class:{disabled:t.disabled}},[e("label",{attrs:{for:t.inputId}},[t._v("\n\t\t"+t._s(t.displayId)+"\n\t")]),t._v(" "),e("NcSelect",{staticClass:"visibility-container__select",attrs:{"input-id":t.inputId,clearable:!1,options:t.visibilityOptions,value:t.visibilityObject},on:{"option:selected":t.onVisibilityChange}})],1)}),[],!1,null,"c7ec7e16",null).exports;function id(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var ad=(0,a.j)("settings","profileParameters",{}).profileConfig,dd=(0,a.j)("settings","personalInfoParameters",!1).profileEnabled,sd=function(t,e){return t.appId===e.appId||"core"!==t.appId&&"core"!==e.appId?t.displayId.localeCompare(e.displayId):"core"===t.appId?1:-1},cd={name:"ProfileVisibilitySection",components:{HeaderBar:_t,VisibilityDropdown:od},data:function(){return{heading:q.PROFILE_VISIBILITY,profileEnabled:dd,visibilityParams:Object.entries(ad).map((function(t){var e,n,r=(n=2,function(t){if(Array.isArray(t))return t}(e=t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i,a,d=[],s=!0,c=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=i.call(n)).done)&&(d.push(r.value),d.length!==e);s=!0);}catch(t){c=!0,o=t}finally{try{if(!s&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return d}}(e,n)||function(t,e){if(t){if("string"==typeof t)return id(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?id(t,e):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),o=r[0],i=r[1];return{id:o,appId:i.appId,displayId:i.displayId,visibility:i.visibility}})).sort(sd),marginLeft:window.matchMedia("(min-width: 1600px)").matches?window.getComputedStyle(document.getElementById("vue-avatar-section")).getPropertyValue("width").trim():"0px"}},computed:{disabled:function(){return!this.profileEnabled},rows:function(){return Math.ceil(this.visibilityParams.length/2)}},mounted:function(){var t=this;(0,u.Ld)("settings:profile-enabled:updated",this.handleProfileEnabledUpdate),window.onresize=function(){t.marginLeft=window.matchMedia("(min-width: 1600px)").matches?window.getComputedStyle(document.getElementById("vue-avatar-section")).getPropertyValue("width").trim():"0px"}},beforeDestroy:function(){(0,u.r1)("settings:profile-enabled:updated",this.handleProfileEnabledUpdate)},methods:{handleProfileEnabledUpdate:function(t){this.profileEnabled=t}}},ld=cd,ud=r(19549),pd={};pd.styleTagTransform=O(),pd.setAttributes=w(),pd.insert=$().bind(null,"head"),pd.domAPI=g(),pd.insertStyleElement=x(),m()(ud.Z,pd),ud.Z&&ud.Z.locals&&ud.Z.locals;var fd=(0,Z.Z)(ld,(function(){var t=this,e=t._self._c;return e("section",{style:{marginLeft:t.marginLeft},attrs:{id:"profile-visibility"}},[e("HeaderBar",{attrs:{"is-heading":!0,readable:t.heading}}),t._v(" "),e("em",{class:{disabled:t.disabled}},[t._v("\n\t\t"+t._s(t.t("settings",'The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to "Show to everyone" and scope is set to "Private", "Private" is respected.'))+"\n\t")]),t._v(" "),e("div",{staticClass:"visibility-dropdowns",style:{gridTemplateRows:"repeat(".concat(t.rows,", 44px)")}},t._l(t.visibilityParams,(function(n){return e("VisibilityDropdown",{key:n.id,attrs:{"param-id":n.id,"display-id":n.displayId,visibility:n.visibility},on:{"update:visibility":function(e){return t.$set(n,"visibility",e)}}})})),1)],1)}),[],!1,null,"199109a6",null).exports;r.nc=btoa((0,i.IH)());var hd=(0,a.j)("settings","profileEnabledGlobally",!0);o.default.mixin({methods:{t:d.Iu}});var vd=o.default.extend(Vt),md=o.default.extend(ce),yd=o.default.extend(_e),gd=o.default.extend(yn),Ad=o.default.extend($o),$d=o.default.extend(So),bd=o.default.extend(Bo),wd=o.default.extend(Go),Cd=o.default.extend(Vo),xd=o.default.extend(vi),Ed=o.default.extend(Mi);if((new vd).$mount("#vue-avatar-section"),(new md).$mount("#vue-details-section"),(new yd).$mount("#vue-displayname-section"),(new gd).$mount("#vue-email-section"),(new Ad).$mount("#vue-phone-section"),(new $d).$mount("#vue-location-section"),(new bd).$mount("#vue-website-section"),(new wd).$mount("#vue-twitter-section"),(new Cd).$mount("#vue-fediverse-section"),(new xd).$mount("#vue-language-section"),(new Ed).$mount("#vue-locale-section"),hd){var Od=o.default.extend(la),Sd=o.default.extend(ya),Pd=o.default.extend(xa),Ld=o.default.extend(Ia),jd=o.default.extend(Ma),Id=o.default.extend(fd);(new Od).$mount("#vue-profile-section"),(new Sd).$mount("#vue-organisation-section"),(new Pd).$mount("#vue-role-section"),(new Ld).$mount("#vue-headline-section"),(new jd).$mount("#vue-biography-section"),(new Id).$mount("#vue-profile-visibility-section")}},33129:function(t){t.exports=function(){"use strict";function t(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function e(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?t(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):t(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function r(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function i(t){return function(t){if(Array.isArray(t))return a(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return a(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var d="undefined"!=typeof window&&void 0!==window.document,s=d?window:{},c=!(!d||!s.document.documentElement)&&"ontouchstart"in s.document.documentElement,l=!!d&&"PointerEvent"in s,u="cropper",p="all",f="crop",h="move",v="zoom",m="e",y="w",g="s",A="n",$="ne",b="nw",w="se",C="sw",x="".concat(u,"-crop"),E="".concat(u,"-disabled"),O="".concat(u,"-hidden"),S="".concat(u,"-hide"),P="".concat(u,"-invisible"),L="".concat(u,"-modal"),j="".concat(u,"-move"),I="".concat(u,"Action"),_="".concat(u,"Preview"),k="crop",B="move",N="none",D="crop",T="cropend",M="cropmove",R="cropstart",F="dblclick",G=l?"pointerdown":c?"touchstart":"mousedown",Z=l?"pointermove":c?"touchmove":"mousemove",U=l?"pointerup pointercancel":c?"touchend touchcancel":"mouseup",Y="ready",z="resize",H="wheel",W="zoom",V="image/jpeg",X=/^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/,q=/^data:/,K=/^data:image\/jpeg;base64,/,Q=/^img|canvas$/i,J={viewMode:0,dragMode:k,initialAspectRatio:NaN,aspectRatio:NaN,data:null,preview:"",responsive:!0,restore:!0,checkCrossOrigin:!0,checkOrientation:!0,modal:!0,guides:!0,center:!0,highlight:!0,background:!0,autoCrop:!0,autoCropArea:.8,movable:!0,rotatable:!0,scalable:!0,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,wheelZoomRatio:.1,cropBoxMovable:!0,cropBoxResizable:!0,toggleDragModeOnDblclick:!0,minCanvasWidth:0,minCanvasHeight:0,minCropBoxWidth:0,minCropBoxHeight:0,minContainerWidth:200,minContainerHeight:100,ready:null,cropstart:null,cropmove:null,cropend:null,crop:null,zoom:null},tt=Number.isNaN||s.isNaN;function et(t){return"number"==typeof t&&!tt(t)}var nt=function(t){return t>0&&t<1/0};function rt(t){return void 0===t}function ot(t){return"object"===n(t)&&null!==t}var it=Object.prototype.hasOwnProperty;function at(t){if(!ot(t))return!1;try{var e=t.constructor,n=e.prototype;return e&&n&&it.call(n,"isPrototypeOf")}catch(t){return!1}}function dt(t){return"function"==typeof t}var st=Array.prototype.slice;function ct(t){return Array.from?Array.from(t):st.call(t)}function lt(t,e){return t&&dt(e)&&(Array.isArray(t)||et(t.length)?ct(t).forEach((function(n,r){e.call(t,n,r,t)})):ot(t)&&Object.keys(t).forEach((function(n){e.call(t,t[n],n,t)}))),t}var ut=Object.assign||function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];return ot(t)&&n.length>0&&n.forEach((function(e){ot(e)&&Object.keys(e).forEach((function(n){t[n]=e[n]}))})),t},pt=/\.\d*(?:0|9){12}\d*$/;function ft(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e11;return pt.test(t)?Math.round(t*e)/e:t}var ht=/^width|height|left|top|marginLeft|marginTop$/;function vt(t,e){var n=t.style;lt(e,(function(t,e){ht.test(e)&&et(t)&&(t="".concat(t,"px")),n[e]=t}))}function mt(t,e){if(e)if(et(t.length))lt(t,(function(t){mt(t,e)}));else if(t.classList)t.classList.add(e);else{var n=t.className.trim();n?n.indexOf(e)<0&&(t.className="".concat(n," ").concat(e)):t.className=e}}function yt(t,e){e&&(et(t.length)?lt(t,(function(t){yt(t,e)})):t.classList?t.classList.remove(e):t.className.indexOf(e)>=0&&(t.className=t.className.replace(e,"")))}function gt(t,e,n){e&&(et(t.length)?lt(t,(function(t){gt(t,e,n)})):n?mt(t,e):yt(t,e))}var At=/([a-z\d])([A-Z])/g;function $t(t){return t.replace(At,"$1-$2").toLowerCase()}function bt(t,e){return ot(t[e])?t[e]:t.dataset?t.dataset[e]:t.getAttribute("data-".concat($t(e)))}function wt(t,e,n){ot(n)?t[e]=n:t.dataset?t.dataset[e]=n:t.setAttribute("data-".concat($t(e)),n)}var Ct=/\s\s*/,xt=function(){var t=!1;if(d){var e=!1,n=function(){},r=Object.defineProperty({},"once",{get:function(){return t=!0,e},set:function(t){e=t}});s.addEventListener("test",n,r),s.removeEventListener("test",n,r)}return t}();function Et(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=n;e.trim().split(Ct).forEach((function(e){if(!xt){var i=t.listeners;i&&i[e]&&i[e][n]&&(o=i[e][n],delete i[e][n],0===Object.keys(i[e]).length&&delete i[e],0===Object.keys(i).length&&delete t.listeners)}t.removeEventListener(e,o,r)}))}function Ot(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=n;e.trim().split(Ct).forEach((function(e){if(r.once&&!xt){var i=t.listeners,a=void 0===i?{}:i;o=function(){delete a[e][n],t.removeEventListener(e,o,r);for(var i=arguments.length,d=new Array(i),s=0;s<i;s++)d[s]=arguments[s];n.apply(t,d)},a[e]||(a[e]={}),a[e][n]&&t.removeEventListener(e,a[e][n],r),a[e][n]=o,t.listeners=a}t.addEventListener(e,o,r)}))}function St(t,e,n){var r;return dt(Event)&&dt(CustomEvent)?r=new CustomEvent(e,{detail:n,bubbles:!0,cancelable:!0}):(r=document.createEvent("CustomEvent")).initCustomEvent(e,!0,!0,n),t.dispatchEvent(r)}function Pt(t){var e=t.getBoundingClientRect();return{left:e.left+(window.pageXOffset-document.documentElement.clientLeft),top:e.top+(window.pageYOffset-document.documentElement.clientTop)}}var Lt=s.location,jt=/^(\w+:)\/\/([^:/?#]*):?(\d*)/i;function It(t){var e=t.match(jt);return null!==e&&(e[1]!==Lt.protocol||e[2]!==Lt.hostname||e[3]!==Lt.port)}function _t(t){var e="timestamp=".concat((new Date).getTime());return t+(-1===t.indexOf("?")?"?":"&")+e}function kt(t){var e=t.rotate,n=t.scaleX,r=t.scaleY,o=t.translateX,i=t.translateY,a=[];et(o)&&0!==o&&a.push("translateX(".concat(o,"px)")),et(i)&&0!==i&&a.push("translateY(".concat(i,"px)")),et(e)&&0!==e&&a.push("rotate(".concat(e,"deg)")),et(n)&&1!==n&&a.push("scaleX(".concat(n,")")),et(r)&&1!==r&&a.push("scaleY(".concat(r,")"));var d=a.length?a.join(" "):"none";return{WebkitTransform:d,msTransform:d,transform:d}}function Bt(t,n){var r=t.pageX,o=t.pageY,i={endX:r,endY:o};return n?i:e({startX:r,startY:o},i)}function Nt(t){var e=t.aspectRatio,n=t.height,r=t.width,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"contain",i=nt(r),a=nt(n);if(i&&a){var d=n*e;"contain"===o&&d>r||"cover"===o&&d<r?n=r/e:r=n*e}else i?n=r/e:a&&(r=n*e);return{width:r,height:n}}var Dt=String.fromCharCode;var Tt=/^data:.*,/;function Mt(t){var e,n=new DataView(t);try{var r,o,i;if(255===n.getUint8(0)&&216===n.getUint8(1))for(var a=n.byteLength,d=2;d+1<a;){if(255===n.getUint8(d)&&225===n.getUint8(d+1)){o=d;break}d+=1}if(o){var s=o+10;if("Exif"===function(t,e,n){var r="";n+=e;for(var o=e;o<n;o+=1)r+=Dt(t.getUint8(o));return r}(n,o+4,4)){var c=n.getUint16(s);if(((r=18761===c)||19789===c)&&42===n.getUint16(s+2,r)){var l=n.getUint32(s+4,r);l>=8&&(i=s+l)}}}if(i){var u,p,f=n.getUint16(i,r);for(p=0;p<f;p+=1)if(u=i+12*p+2,274===n.getUint16(u,r)){u+=8,e=n.getUint16(u,r),n.setUint16(u,1,r);break}}}catch(t){e=1}return e}var Rt={render:function(){this.initContainer(),this.initCanvas(),this.initCropBox(),this.renderCanvas(),this.cropped&&this.renderCropBox()},initContainer:function(){var t=this.element,e=this.options,n=this.container,r=this.cropper,o=Number(e.minContainerWidth),i=Number(e.minContainerHeight);mt(r,O),yt(t,O);var a={width:Math.max(n.offsetWidth,o>=0?o:200),height:Math.max(n.offsetHeight,i>=0?i:100)};this.containerData=a,vt(r,{width:a.width,height:a.height}),mt(t,O),yt(r,O)},initCanvas:function(){var t=this.containerData,e=this.imageData,n=this.options.viewMode,r=Math.abs(e.rotate)%180==90,o=r?e.naturalHeight:e.naturalWidth,i=r?e.naturalWidth:e.naturalHeight,a=o/i,d=t.width,s=t.height;t.height*a>t.width?3===n?d=t.height*a:s=t.width/a:3===n?s=t.width/a:d=t.height*a;var c={aspectRatio:a,naturalWidth:o,naturalHeight:i,width:d,height:s};this.canvasData=c,this.limited=1===n||2===n,this.limitCanvas(!0,!0),c.width=Math.min(Math.max(c.width,c.minWidth),c.maxWidth),c.height=Math.min(Math.max(c.height,c.minHeight),c.maxHeight),c.left=(t.width-c.width)/2,c.top=(t.height-c.height)/2,c.oldLeft=c.left,c.oldTop=c.top,this.initialCanvasData=ut({},c)},limitCanvas:function(t,e){var n=this.options,r=this.containerData,o=this.canvasData,i=this.cropBoxData,a=n.viewMode,d=o.aspectRatio,s=this.cropped&&i;if(t){var c=Number(n.minCanvasWidth)||0,l=Number(n.minCanvasHeight)||0;a>1?(c=Math.max(c,r.width),l=Math.max(l,r.height),3===a&&(l*d>c?c=l*d:l=c/d)):a>0&&(c?c=Math.max(c,s?i.width:0):l?l=Math.max(l,s?i.height:0):s&&(c=i.width,(l=i.height)*d>c?c=l*d:l=c/d));var u=Nt({aspectRatio:d,width:c,height:l});c=u.width,l=u.height,o.minWidth=c,o.minHeight=l,o.maxWidth=1/0,o.maxHeight=1/0}if(e)if(a>(s?0:1)){var p=r.width-o.width,f=r.height-o.height;o.minLeft=Math.min(0,p),o.minTop=Math.min(0,f),o.maxLeft=Math.max(0,p),o.maxTop=Math.max(0,f),s&&this.limited&&(o.minLeft=Math.min(i.left,i.left+(i.width-o.width)),o.minTop=Math.min(i.top,i.top+(i.height-o.height)),o.maxLeft=i.left,o.maxTop=i.top,2===a&&(o.width>=r.width&&(o.minLeft=Math.min(0,p),o.maxLeft=Math.max(0,p)),o.height>=r.height&&(o.minTop=Math.min(0,f),o.maxTop=Math.max(0,f))))}else o.minLeft=-o.width,o.minTop=-o.height,o.maxLeft=r.width,o.maxTop=r.height},renderCanvas:function(t,e){var n=this.canvasData,r=this.imageData;if(e){var o=function(t){var e=t.width,n=t.height,r=t.degree;if(90==(r=Math.abs(r)%180))return{width:n,height:e};var o=r%90*Math.PI/180,i=Math.sin(o),a=Math.cos(o),d=e*a+n*i,s=e*i+n*a;return r>90?{width:s,height:d}:{width:d,height:s}}({width:r.naturalWidth*Math.abs(r.scaleX||1),height:r.naturalHeight*Math.abs(r.scaleY||1),degree:r.rotate||0}),i=o.width,a=o.height,d=n.width*(i/n.naturalWidth),s=n.height*(a/n.naturalHeight);n.left-=(d-n.width)/2,n.top-=(s-n.height)/2,n.width=d,n.height=s,n.aspectRatio=i/a,n.naturalWidth=i,n.naturalHeight=a,this.limitCanvas(!0,!1)}(n.width>n.maxWidth||n.width<n.minWidth)&&(n.left=n.oldLeft),(n.height>n.maxHeight||n.height<n.minHeight)&&(n.top=n.oldTop),n.width=Math.min(Math.max(n.width,n.minWidth),n.maxWidth),n.height=Math.min(Math.max(n.height,n.minHeight),n.maxHeight),this.limitCanvas(!1,!0),n.left=Math.min(Math.max(n.left,n.minLeft),n.maxLeft),n.top=Math.min(Math.max(n.top,n.minTop),n.maxTop),n.oldLeft=n.left,n.oldTop=n.top,vt(this.canvas,ut({width:n.width,height:n.height},kt({translateX:n.left,translateY:n.top}))),this.renderImage(t),this.cropped&&this.limited&&this.limitCropBox(!0,!0)},renderImage:function(t){var e=this.canvasData,n=this.imageData,r=n.naturalWidth*(e.width/e.naturalWidth),o=n.naturalHeight*(e.height/e.naturalHeight);ut(n,{width:r,height:o,left:(e.width-r)/2,top:(e.height-o)/2}),vt(this.image,ut({width:n.width,height:n.height},kt(ut({translateX:n.left,translateY:n.top},n)))),t&&this.output()},initCropBox:function(){var t=this.options,e=this.canvasData,n=t.aspectRatio||t.initialAspectRatio,r=Number(t.autoCropArea)||.8,o={width:e.width,height:e.height};n&&(e.height*n>e.width?o.height=o.width/n:o.width=o.height*n),this.cropBoxData=o,this.limitCropBox(!0,!0),o.width=Math.min(Math.max(o.width,o.minWidth),o.maxWidth),o.height=Math.min(Math.max(o.height,o.minHeight),o.maxHeight),o.width=Math.max(o.minWidth,o.width*r),o.height=Math.max(o.minHeight,o.height*r),o.left=e.left+(e.width-o.width)/2,o.top=e.top+(e.height-o.height)/2,o.oldLeft=o.left,o.oldTop=o.top,this.initialCropBoxData=ut({},o)},limitCropBox:function(t,e){var n=this.options,r=this.containerData,o=this.canvasData,i=this.cropBoxData,a=this.limited,d=n.aspectRatio;if(t){var s=Number(n.minCropBoxWidth)||0,c=Number(n.minCropBoxHeight)||0,l=a?Math.min(r.width,o.width,o.width+o.left,r.width-o.left):r.width,u=a?Math.min(r.height,o.height,o.height+o.top,r.height-o.top):r.height;s=Math.min(s,r.width),c=Math.min(c,r.height),d&&(s&&c?c*d>s?c=s/d:s=c*d:s?c=s/d:c&&(s=c*d),u*d>l?u=l/d:l=u*d),i.minWidth=Math.min(s,l),i.minHeight=Math.min(c,u),i.maxWidth=l,i.maxHeight=u}e&&(a?(i.minLeft=Math.max(0,o.left),i.minTop=Math.max(0,o.top),i.maxLeft=Math.min(r.width,o.left+o.width)-i.width,i.maxTop=Math.min(r.height,o.top+o.height)-i.height):(i.minLeft=0,i.minTop=0,i.maxLeft=r.width-i.width,i.maxTop=r.height-i.height))},renderCropBox:function(){var t=this.options,e=this.containerData,n=this.cropBoxData;(n.width>n.maxWidth||n.width<n.minWidth)&&(n.left=n.oldLeft),(n.height>n.maxHeight||n.height<n.minHeight)&&(n.top=n.oldTop),n.width=Math.min(Math.max(n.width,n.minWidth),n.maxWidth),n.height=Math.min(Math.max(n.height,n.minHeight),n.maxHeight),this.limitCropBox(!1,!0),n.left=Math.min(Math.max(n.left,n.minLeft),n.maxLeft),n.top=Math.min(Math.max(n.top,n.minTop),n.maxTop),n.oldLeft=n.left,n.oldTop=n.top,t.movable&&t.cropBoxMovable&&wt(this.face,I,n.width>=e.width&&n.height>=e.height?h:p),vt(this.cropBox,ut({width:n.width,height:n.height},kt({translateX:n.left,translateY:n.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),St(this.element,D,this.getData())}},Ft={initPreview:function(){var t=this.element,e=this.crossOrigin,n=this.options.preview,r=e?this.crossOriginUrl:this.url,o=t.alt||"The image to preview",i=document.createElement("img");if(e&&(i.crossOrigin=e),i.src=r,i.alt=o,this.viewBox.appendChild(i),this.viewBoxImage=i,n){var a=n;"string"==typeof n?a=t.ownerDocument.querySelectorAll(n):n.querySelector&&(a=[n]),this.previews=a,lt(a,(function(t){var n=document.createElement("img");wt(t,_,{width:t.offsetWidth,height:t.offsetHeight,html:t.innerHTML}),e&&(n.crossOrigin=e),n.src=r,n.alt=o,n.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',t.innerHTML="",t.appendChild(n)}))}},resetPreview:function(){lt(this.previews,(function(t){var e=bt(t,_);vt(t,{width:e.width,height:e.height}),t.innerHTML=e.html,function(t,e){if(ot(t[e]))try{delete t[e]}catch(n){t[e]=void 0}else if(t.dataset)try{delete t.dataset[e]}catch(n){t.dataset[e]=void 0}else t.removeAttribute("data-".concat($t(e)))}(t,_)}))},preview:function(){var t=this.imageData,e=this.canvasData,n=this.cropBoxData,r=n.width,o=n.height,i=t.width,a=t.height,d=n.left-e.left-t.left,s=n.top-e.top-t.top;this.cropped&&!this.disabled&&(vt(this.viewBoxImage,ut({width:i,height:a},kt(ut({translateX:-d,translateY:-s},t)))),lt(this.previews,(function(e){var n=bt(e,_),c=n.width,l=n.height,u=c,p=l,f=1;r&&(p=o*(f=c/r)),o&&p>l&&(u=r*(f=l/o),p=l),vt(e,{width:u,height:p}),vt(e.getElementsByTagName("img")[0],ut({width:i*f,height:a*f},kt(ut({translateX:-d*f,translateY:-s*f},t))))})))}},Gt={bind:function(){var t=this.element,e=this.options,n=this.cropper;dt(e.cropstart)&&Ot(t,R,e.cropstart),dt(e.cropmove)&&Ot(t,M,e.cropmove),dt(e.cropend)&&Ot(t,T,e.cropend),dt(e.crop)&&Ot(t,D,e.crop),dt(e.zoom)&&Ot(t,W,e.zoom),Ot(n,G,this.onCropStart=this.cropStart.bind(this)),e.zoomable&&e.zoomOnWheel&&Ot(n,H,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),e.toggleDragModeOnDblclick&&Ot(n,F,this.onDblclick=this.dblclick.bind(this)),Ot(t.ownerDocument,Z,this.onCropMove=this.cropMove.bind(this)),Ot(t.ownerDocument,U,this.onCropEnd=this.cropEnd.bind(this)),e.responsive&&Ot(window,z,this.onResize=this.resize.bind(this))},unbind:function(){var t=this.element,e=this.options,n=this.cropper;dt(e.cropstart)&&Et(t,R,e.cropstart),dt(e.cropmove)&&Et(t,M,e.cropmove),dt(e.cropend)&&Et(t,T,e.cropend),dt(e.crop)&&Et(t,D,e.crop),dt(e.zoom)&&Et(t,W,e.zoom),Et(n,G,this.onCropStart),e.zoomable&&e.zoomOnWheel&&Et(n,H,this.onWheel,{passive:!1,capture:!0}),e.toggleDragModeOnDblclick&&Et(n,F,this.onDblclick),Et(t.ownerDocument,Z,this.onCropMove),Et(t.ownerDocument,U,this.onCropEnd),e.responsive&&Et(window,z,this.onResize)}},Zt={resize:function(){if(!this.disabled){var t,e,n=this.options,r=this.container,o=this.containerData,i=r.offsetWidth/o.width,a=r.offsetHeight/o.height,d=Math.abs(i-1)>Math.abs(a-1)?i:a;1!==d&&(n.restore&&(t=this.getCanvasData(),e=this.getCropBoxData()),this.render(),n.restore&&(this.setCanvasData(lt(t,(function(e,n){t[n]=e*d}))),this.setCropBoxData(lt(e,(function(t,n){e[n]=t*d})))))}},dblclick:function(){var t,e;this.disabled||this.options.dragMode===N||this.setDragMode((t=this.dragBox,e=x,(t.classList?t.classList.contains(e):t.className.indexOf(e)>-1)?B:k))},wheel:function(t){var e=this,n=Number(this.options.wheelZoomRatio)||.1,r=1;this.disabled||(t.preventDefault(),this.wheeling||(this.wheeling=!0,setTimeout((function(){e.wheeling=!1}),50),t.deltaY?r=t.deltaY>0?1:-1:t.wheelDelta?r=-t.wheelDelta/120:t.detail&&(r=t.detail>0?1:-1),this.zoom(-r*n,t)))},cropStart:function(t){var e=t.buttons,n=t.button;if(!(this.disabled||("mousedown"===t.type||"pointerdown"===t.type&&"mouse"===t.pointerType)&&(et(e)&&1!==e||et(n)&&0!==n||t.ctrlKey))){var r,o=this.options,i=this.pointers;t.changedTouches?lt(t.changedTouches,(function(t){i[t.identifier]=Bt(t)})):i[t.pointerId||0]=Bt(t),r=Object.keys(i).length>1&&o.zoomable&&o.zoomOnTouch?v:bt(t.target,I),X.test(r)&&!1!==St(this.element,R,{originalEvent:t,action:r})&&(t.preventDefault(),this.action=r,this.cropping=!1,r===f&&(this.cropping=!0,mt(this.dragBox,L)))}},cropMove:function(t){var e=this.action;if(!this.disabled&&e){var n=this.pointers;t.preventDefault(),!1!==St(this.element,M,{originalEvent:t,action:e})&&(t.changedTouches?lt(t.changedTouches,(function(t){ut(n[t.identifier]||{},Bt(t,!0))})):ut(n[t.pointerId||0]||{},Bt(t,!0)),this.change(t))}},cropEnd:function(t){if(!this.disabled){var e=this.action,n=this.pointers;t.changedTouches?lt(t.changedTouches,(function(t){delete n[t.identifier]})):delete n[t.pointerId||0],e&&(t.preventDefault(),Object.keys(n).length||(this.action=""),this.cropping&&(this.cropping=!1,gt(this.dragBox,L,this.cropped&&this.options.modal)),St(this.element,T,{originalEvent:t,action:e}))}}},Ut={change:function(t){var n,r=this.options,o=this.canvasData,i=this.containerData,a=this.cropBoxData,d=this.pointers,s=this.action,c=r.aspectRatio,l=a.left,u=a.top,x=a.width,E=a.height,S=l+x,P=u+E,L=0,j=0,I=i.width,_=i.height,k=!0;!c&&t.shiftKey&&(c=x&&E?x/E:1),this.limited&&(L=a.minLeft,j=a.minTop,I=L+Math.min(i.width,o.width,o.left+o.width),_=j+Math.min(i.height,o.height,o.top+o.height));var B=d[Object.keys(d)[0]],N={x:B.endX-B.startX,y:B.endY-B.startY},D=function(t){switch(t){case m:S+N.x>I&&(N.x=I-S);break;case y:l+N.x<L&&(N.x=L-l);break;case A:u+N.y<j&&(N.y=j-u);break;case g:P+N.y>_&&(N.y=_-P)}};switch(s){case p:l+=N.x,u+=N.y;break;case m:if(N.x>=0&&(S>=I||c&&(u<=j||P>=_))){k=!1;break}D(m),(x+=N.x)<0&&(s=y,l-=x=-x),c&&(E=x/c,u+=(a.height-E)/2);break;case A:if(N.y<=0&&(u<=j||c&&(l<=L||S>=I))){k=!1;break}D(A),E-=N.y,u+=N.y,E<0&&(s=g,u-=E=-E),c&&(x=E*c,l+=(a.width-x)/2);break;case y:if(N.x<=0&&(l<=L||c&&(u<=j||P>=_))){k=!1;break}D(y),x-=N.x,l+=N.x,x<0&&(s=m,l-=x=-x),c&&(E=x/c,u+=(a.height-E)/2);break;case g:if(N.y>=0&&(P>=_||c&&(l<=L||S>=I))){k=!1;break}D(g),(E+=N.y)<0&&(s=A,u-=E=-E),c&&(x=E*c,l+=(a.width-x)/2);break;case $:if(c){if(N.y<=0&&(u<=j||S>=I)){k=!1;break}D(A),E-=N.y,u+=N.y,x=E*c}else D(A),D(m),N.x>=0?S<I?x+=N.x:N.y<=0&&u<=j&&(k=!1):x+=N.x,N.y<=0?u>j&&(E-=N.y,u+=N.y):(E-=N.y,u+=N.y);x<0&&E<0?(s=C,u-=E=-E,l-=x=-x):x<0?(s=b,l-=x=-x):E<0&&(s=w,u-=E=-E);break;case b:if(c){if(N.y<=0&&(u<=j||l<=L)){k=!1;break}D(A),E-=N.y,u+=N.y,x=E*c,l+=a.width-x}else D(A),D(y),N.x<=0?l>L?(x-=N.x,l+=N.x):N.y<=0&&u<=j&&(k=!1):(x-=N.x,l+=N.x),N.y<=0?u>j&&(E-=N.y,u+=N.y):(E-=N.y,u+=N.y);x<0&&E<0?(s=w,u-=E=-E,l-=x=-x):x<0?(s=$,l-=x=-x):E<0&&(s=C,u-=E=-E);break;case C:if(c){if(N.x<=0&&(l<=L||P>=_)){k=!1;break}D(y),x-=N.x,l+=N.x,E=x/c}else D(g),D(y),N.x<=0?l>L?(x-=N.x,l+=N.x):N.y>=0&&P>=_&&(k=!1):(x-=N.x,l+=N.x),N.y>=0?P<_&&(E+=N.y):E+=N.y;x<0&&E<0?(s=$,u-=E=-E,l-=x=-x):x<0?(s=w,l-=x=-x):E<0&&(s=b,u-=E=-E);break;case w:if(c){if(N.x>=0&&(S>=I||P>=_)){k=!1;break}D(m),E=(x+=N.x)/c}else D(g),D(m),N.x>=0?S<I?x+=N.x:N.y>=0&&P>=_&&(k=!1):x+=N.x,N.y>=0?P<_&&(E+=N.y):E+=N.y;x<0&&E<0?(s=b,u-=E=-E,l-=x=-x):x<0?(s=C,l-=x=-x):E<0&&(s=$,u-=E=-E);break;case h:this.move(N.x,N.y),k=!1;break;case v:this.zoom(function(t){var n=e({},t),r=0;return lt(t,(function(t,e){delete n[e],lt(n,(function(e){var n=Math.abs(t.startX-e.startX),o=Math.abs(t.startY-e.startY),i=Math.abs(t.endX-e.endX),a=Math.abs(t.endY-e.endY),d=Math.sqrt(n*n+o*o),s=(Math.sqrt(i*i+a*a)-d)/d;Math.abs(s)>Math.abs(r)&&(r=s)}))})),r}(d),t),k=!1;break;case f:if(!N.x||!N.y){k=!1;break}n=Pt(this.cropper),l=B.startX-n.left,u=B.startY-n.top,x=a.minWidth,E=a.minHeight,N.x>0?s=N.y>0?w:$:N.x<0&&(l-=x,s=N.y>0?C:b),N.y<0&&(u-=E),this.cropped||(yt(this.cropBox,O),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0))}k&&(a.width=x,a.height=E,a.left=l,a.top=u,this.action=s,this.renderCropBox()),lt(d,(function(t){t.startX=t.endX,t.startY=t.endY}))}},Yt={crop:function(){return!this.ready||this.cropped||this.disabled||(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&mt(this.dragBox,L),yt(this.cropBox,O),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=ut({},this.initialImageData),this.canvasData=ut({},this.initialCanvasData),this.cropBoxData=ut({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(ut(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),yt(this.dragBox,L),mt(this.cropBox,O)),this},replace:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return!this.disabled&&t&&(this.isImg&&(this.element.src=t),e?(this.url=t,this.image.src=t,this.ready&&(this.viewBoxImage.src=t,lt(this.previews,(function(e){e.getElementsByTagName("img")[0].src=t})))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(t))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,yt(this.cropper,E)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,mt(this.cropper,E)),this},destroy:function(){var t=this.element;return t[u]?(t[u]=void 0,this.isImg&&this.replaced&&(t.src=this.originalUrl),this.uncreate(),this):this},move:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,n=this.canvasData,r=n.left,o=n.top;return this.moveTo(rt(t)?t:r+Number(t),rt(e)?e:o+Number(e))},moveTo:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,n=this.canvasData,r=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.movable&&(et(t)&&(n.left=t,r=!0),et(e)&&(n.top=e,r=!0),r&&this.renderCanvas(!0)),this},zoom:function(t,e){var n=this.canvasData;return t=(t=Number(t))<0?1/(1-t):1+t,this.zoomTo(n.width*t/n.naturalWidth,null,e)},zoomTo:function(t,e,n){var r=this.options,o=this.canvasData,i=o.width,a=o.height,d=o.naturalWidth,s=o.naturalHeight;if((t=Number(t))>=0&&this.ready&&!this.disabled&&r.zoomable){var c=d*t,l=s*t;if(!1===St(this.element,W,{ratio:t,oldRatio:i/d,originalEvent:n}))return this;if(n){var u=this.pointers,p=Pt(this.cropper),f=u&&Object.keys(u).length?function(t){var e=0,n=0,r=0;return lt(t,(function(t){var o=t.startX,i=t.startY;e+=o,n+=i,r+=1})),{pageX:e/=r,pageY:n/=r}}(u):{pageX:n.pageX,pageY:n.pageY};o.left-=(c-i)*((f.pageX-p.left-o.left)/i),o.top-=(l-a)*((f.pageY-p.top-o.top)/a)}else at(e)&&et(e.x)&&et(e.y)?(o.left-=(c-i)*((e.x-o.left)/i),o.top-=(l-a)*((e.y-o.top)/a)):(o.left-=(c-i)/2,o.top-=(l-a)/2);o.width=c,o.height=l,this.renderCanvas(!0)}return this},rotate:function(t){return this.rotateTo((this.imageData.rotate||0)+Number(t))},rotateTo:function(t){return et(t=Number(t))&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=t%360,this.renderCanvas(!0,!0)),this},scaleX:function(t){var e=this.imageData.scaleY;return this.scale(t,et(e)?e:1)},scaleY:function(t){var e=this.imageData.scaleX;return this.scale(et(e)?e:1,t)},scale:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,n=this.imageData,r=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.scalable&&(et(t)&&(n.scaleX=t,r=!0),et(e)&&(n.scaleY=e,r=!0),r&&this.renderCanvas(!0,!0)),this},getData:function(){var t,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=this.options,r=this.imageData,o=this.canvasData,i=this.cropBoxData;if(this.ready&&this.cropped){t={x:i.left-o.left,y:i.top-o.top,width:i.width,height:i.height};var a=r.width/r.naturalWidth;if(lt(t,(function(e,n){t[n]=e/a})),e){var d=Math.round(t.y+t.height),s=Math.round(t.x+t.width);t.x=Math.round(t.x),t.y=Math.round(t.y),t.width=s-t.x,t.height=d-t.y}}else t={x:0,y:0,width:0,height:0};return n.rotatable&&(t.rotate=r.rotate||0),n.scalable&&(t.scaleX=r.scaleX||1,t.scaleY=r.scaleY||1),t},setData:function(t){var e=this.options,n=this.imageData,r=this.canvasData,o={};if(this.ready&&!this.disabled&&at(t)){var i=!1;e.rotatable&&et(t.rotate)&&t.rotate!==n.rotate&&(n.rotate=t.rotate,i=!0),e.scalable&&(et(t.scaleX)&&t.scaleX!==n.scaleX&&(n.scaleX=t.scaleX,i=!0),et(t.scaleY)&&t.scaleY!==n.scaleY&&(n.scaleY=t.scaleY,i=!0)),i&&this.renderCanvas(!0,!0);var a=n.width/n.naturalWidth;et(t.x)&&(o.left=t.x*a+r.left),et(t.y)&&(o.top=t.y*a+r.top),et(t.width)&&(o.width=t.width*a),et(t.height)&&(o.height=t.height*a),this.setCropBoxData(o)}return this},getContainerData:function(){return this.ready?ut({},this.containerData):{}},getImageData:function(){return this.sized?ut({},this.imageData):{}},getCanvasData:function(){var t=this.canvasData,e={};return this.ready&<(["left","top","width","height","naturalWidth","naturalHeight"],(function(n){e[n]=t[n]})),e},setCanvasData:function(t){var e=this.canvasData,n=e.aspectRatio;return this.ready&&!this.disabled&&at(t)&&(et(t.left)&&(e.left=t.left),et(t.top)&&(e.top=t.top),et(t.width)?(e.width=t.width,e.height=t.width/n):et(t.height)&&(e.height=t.height,e.width=t.height*n),this.renderCanvas(!0)),this},getCropBoxData:function(){var t,e=this.cropBoxData;return this.ready&&this.cropped&&(t={left:e.left,top:e.top,width:e.width,height:e.height}),t||{}},setCropBoxData:function(t){var e,n,r=this.cropBoxData,o=this.options.aspectRatio;return this.ready&&this.cropped&&!this.disabled&&at(t)&&(et(t.left)&&(r.left=t.left),et(t.top)&&(r.top=t.top),et(t.width)&&t.width!==r.width&&(e=!0,r.width=t.width),et(t.height)&&t.height!==r.height&&(n=!0,r.height=t.height),o&&(e?r.height=r.width/o:n&&(r.width=r.height*o)),this.renderCropBox()),this},getCroppedCanvas:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var e=this.canvasData,n=function(t,e,n,r){var o=e.aspectRatio,a=e.naturalWidth,d=e.naturalHeight,s=e.rotate,c=void 0===s?0:s,l=e.scaleX,u=void 0===l?1:l,p=e.scaleY,f=void 0===p?1:p,h=n.aspectRatio,v=n.naturalWidth,m=n.naturalHeight,y=r.fillColor,g=void 0===y?"transparent":y,A=r.imageSmoothingEnabled,$=void 0===A||A,b=r.imageSmoothingQuality,w=void 0===b?"low":b,C=r.maxWidth,x=void 0===C?1/0:C,E=r.maxHeight,O=void 0===E?1/0:E,S=r.minWidth,P=void 0===S?0:S,L=r.minHeight,j=void 0===L?0:L,I=document.createElement("canvas"),_=I.getContext("2d"),k=Nt({aspectRatio:h,width:x,height:O}),B=Nt({aspectRatio:h,width:P,height:j},"cover"),N=Math.min(k.width,Math.max(B.width,v)),D=Math.min(k.height,Math.max(B.height,m)),T=Nt({aspectRatio:o,width:x,height:O}),M=Nt({aspectRatio:o,width:P,height:j},"cover"),R=Math.min(T.width,Math.max(M.width,a)),F=Math.min(T.height,Math.max(M.height,d)),G=[-R/2,-F/2,R,F];return I.width=ft(N),I.height=ft(D),_.fillStyle=g,_.fillRect(0,0,N,D),_.save(),_.translate(N/2,D/2),_.rotate(c*Math.PI/180),_.scale(u,f),_.imageSmoothingEnabled=$,_.imageSmoothingQuality=w,_.drawImage.apply(_,[t].concat(i(G.map((function(t){return Math.floor(ft(t))}))))),_.restore(),I}(this.image,this.imageData,e,t);if(!this.cropped)return n;var r=this.getData(),o=r.x,a=r.y,d=r.width,s=r.height,c=n.width/Math.floor(e.naturalWidth);1!==c&&(o*=c,a*=c,d*=c,s*=c);var l=d/s,u=Nt({aspectRatio:l,width:t.maxWidth||1/0,height:t.maxHeight||1/0}),p=Nt({aspectRatio:l,width:t.minWidth||0,height:t.minHeight||0},"cover"),f=Nt({aspectRatio:l,width:t.width||(1!==c?n.width:d),height:t.height||(1!==c?n.height:s)}),h=f.width,v=f.height;h=Math.min(u.width,Math.max(p.width,h)),v=Math.min(u.height,Math.max(p.height,v));var m=document.createElement("canvas"),y=m.getContext("2d");m.width=ft(h),m.height=ft(v),y.fillStyle=t.fillColor||"transparent",y.fillRect(0,0,h,v);var g=t.imageSmoothingEnabled,A=void 0===g||g,$=t.imageSmoothingQuality;y.imageSmoothingEnabled=A,$&&(y.imageSmoothingQuality=$);var b,w,C,x,E,O,S=n.width,P=n.height,L=o,j=a;L<=-d||L>S?(L=0,b=0,C=0,E=0):L<=0?(C=-L,L=0,E=b=Math.min(S,d+L)):L<=S&&(C=0,E=b=Math.min(d,S-L)),b<=0||j<=-s||j>P?(j=0,w=0,x=0,O=0):j<=0?(x=-j,j=0,O=w=Math.min(P,s+j)):j<=P&&(x=0,O=w=Math.min(s,P-j));var I=[L,j,b,w];if(E>0&&O>0){var _=h/d;I.push(C*_,x*_,E*_,O*_)}return y.drawImage.apply(y,[n].concat(i(I.map((function(t){return Math.floor(ft(t))}))))),m},setAspectRatio:function(t){var e=this.options;return this.disabled||rt(t)||(e.aspectRatio=Math.max(0,t)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(t){var e=this.options,n=this.dragBox,r=this.face;if(this.ready&&!this.disabled){var o=t===k,i=e.movable&&t===B;t=o||i?t:N,e.dragMode=t,wt(n,I,t),gt(n,x,o),gt(n,j,i),e.cropBoxMovable||(wt(r,I,t),gt(r,x,o),gt(r,j,i))}return this}},zt=s.Cropper,Ht=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e||!Q.test(e.tagName))throw new Error("The first argument is required and must be an <img> or <canvas> element.");this.element=e,this.options=ut({},J,at(n)&&n),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}return e=t,o=[{key:"noConflict",value:function(){return window.Cropper=zt,t}},{key:"setDefaults",value:function(t){ut(J,at(t)&&t)}}],(n=[{key:"init",value:function(){var t,e=this.element,n=e.tagName.toLowerCase();if(!e[u]){if(e[u]=this,"img"===n){if(this.isImg=!0,t=e.getAttribute("src")||"",this.originalUrl=t,!t)return;t=e.src}else"canvas"===n&&window.HTMLCanvasElement&&(t=e.toDataURL());this.load(t)}}},{key:"load",value:function(t){var e,n,r,o,i=this;if(t){this.url=t,this.imageData={};var a=this.element,d=this.options;if(d.rotatable||d.scalable||(d.checkOrientation=!1),d.checkOrientation&&window.ArrayBuffer)if(q.test(t))K.test(t)?this.read((e=t.replace(Tt,""),n=atob(e),r=new ArrayBuffer(n.length),lt(o=new Uint8Array(r),(function(t,e){o[e]=n.charCodeAt(e)})),r)):this.clone();else{var s=new XMLHttpRequest,c=this.clone.bind(this);this.reloading=!0,this.xhr=s,s.onabort=c,s.onerror=c,s.ontimeout=c,s.onprogress=function(){s.getResponseHeader("content-type")!==V&&s.abort()},s.onload=function(){i.read(s.response)},s.onloadend=function(){i.reloading=!1,i.xhr=null},d.checkCrossOrigin&&It(t)&&a.crossOrigin&&(t=_t(t)),s.open("GET",t,!0),s.responseType="arraybuffer",s.withCredentials="use-credentials"===a.crossOrigin,s.send()}else this.clone()}}},{key:"read",value:function(t){var e=this.options,n=this.imageData,r=Mt(t),o=0,i=1,a=1;if(r>1){this.url=function(t,e){for(var n=[],r=new Uint8Array(t);r.length>0;)n.push(Dt.apply(null,ct(r.subarray(0,8192)))),r=r.subarray(8192);return"data:".concat(e,";base64,").concat(btoa(n.join("")))}(t,V);var d=function(t){var e=0,n=1,r=1;switch(t){case 2:n=-1;break;case 3:e=-180;break;case 4:r=-1;break;case 5:e=90,r=-1;break;case 6:e=90;break;case 7:e=90,n=-1;break;case 8:e=-90}return{rotate:e,scaleX:n,scaleY:r}}(r);o=d.rotate,i=d.scaleX,a=d.scaleY}e.rotatable&&(n.rotate=o),e.scalable&&(n.scaleX=i,n.scaleY=a),this.clone()}},{key:"clone",value:function(){var t=this.element,e=this.url,n=t.crossOrigin,r=e;this.options.checkCrossOrigin&&It(e)&&(n||(n="anonymous"),r=_t(e)),this.crossOrigin=n,this.crossOriginUrl=r;var o=document.createElement("img");n&&(o.crossOrigin=n),o.src=r||e,o.alt=t.alt||"The image to crop",this.image=o,o.onload=this.start.bind(this),o.onerror=this.stop.bind(this),mt(o,S),t.parentNode.insertBefore(o,t.nextSibling)}},{key:"start",value:function(){var t=this,e=this.image;e.onload=null,e.onerror=null,this.sizing=!0;var n=s.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(s.navigator.userAgent),r=function(e,n){ut(t.imageData,{naturalWidth:e,naturalHeight:n,aspectRatio:e/n}),t.initialImageData=ut({},t.imageData),t.sizing=!1,t.sized=!0,t.build()};if(!e.naturalWidth||n){var o=document.createElement("img"),i=document.body||document.documentElement;this.sizingImage=o,o.onload=function(){r(o.width,o.height),n||i.removeChild(o)},o.src=e.src,n||(o.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",i.appendChild(o))}else r(e.naturalWidth,e.naturalHeight)}},{key:"stop",value:function(){var t=this.image;t.onload=null,t.onerror=null,t.parentNode.removeChild(t),this.image=null}},{key:"build",value:function(){if(this.sized&&!this.ready){var t=this.element,e=this.options,n=this.image,r=t.parentNode,o=document.createElement("div");o.innerHTML='<div class="cropper-container" touch-action="none"><div class="cropper-wrap-box"><div class="cropper-canvas"></div></div><div class="cropper-drag-box"></div><div class="cropper-crop-box"><span class="cropper-view-box"></span><span class="cropper-dashed dashed-h"></span><span class="cropper-dashed dashed-v"></span><span class="cropper-center"></span><span class="cropper-face"></span><span class="cropper-line line-e" data-cropper-action="e"></span><span class="cropper-line line-n" data-cropper-action="n"></span><span class="cropper-line line-w" data-cropper-action="w"></span><span class="cropper-line line-s" data-cropper-action="s"></span><span class="cropper-point point-e" data-cropper-action="e"></span><span class="cropper-point point-n" data-cropper-action="n"></span><span class="cropper-point point-w" data-cropper-action="w"></span><span class="cropper-point point-s" data-cropper-action="s"></span><span class="cropper-point point-ne" data-cropper-action="ne"></span><span class="cropper-point point-nw" data-cropper-action="nw"></span><span class="cropper-point point-sw" data-cropper-action="sw"></span><span class="cropper-point point-se" data-cropper-action="se"></span></div></div>';var i=o.querySelector(".".concat(u,"-container")),a=i.querySelector(".".concat(u,"-canvas")),d=i.querySelector(".".concat(u,"-drag-box")),s=i.querySelector(".".concat(u,"-crop-box")),c=s.querySelector(".".concat(u,"-face"));this.container=r,this.cropper=i,this.canvas=a,this.dragBox=d,this.cropBox=s,this.viewBox=i.querySelector(".".concat(u,"-view-box")),this.face=c,a.appendChild(n),mt(t,O),r.insertBefore(i,t.nextSibling),yt(n,S),this.initPreview(),this.bind(),e.initialAspectRatio=Math.max(0,e.initialAspectRatio)||NaN,e.aspectRatio=Math.max(0,e.aspectRatio)||NaN,e.viewMode=Math.max(0,Math.min(3,Math.round(e.viewMode)))||0,mt(s,O),e.guides||mt(s.getElementsByClassName("".concat(u,"-dashed")),O),e.center||mt(s.getElementsByClassName("".concat(u,"-center")),O),e.background&&mt(i,"".concat(u,"-bg")),e.highlight||mt(c,P),e.cropBoxMovable&&(mt(c,j),wt(c,I,p)),e.cropBoxResizable||(mt(s.getElementsByClassName("".concat(u,"-line")),O),mt(s.getElementsByClassName("".concat(u,"-point")),O)),this.render(),this.ready=!0,this.setDragMode(e.dragMode),e.autoCrop&&this.crop(),this.setData(e.data),dt(e.ready)&&Ot(t,Y,e.ready,{once:!0}),St(t,Y)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var t=this.cropper.parentNode;t&&t.removeChild(this.cropper),yt(this.element,O)}}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}])&&r(e.prototype,n),o&&r(e,o),Object.defineProperty(e,"prototype",{writable:!1}),t;var e,n,o}();return ut(Ht.prototype,Rt,Ft,Gt,Zt,Ut,Yt),Ht}()},95073:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i),d=n(61667),s=n.n(d),c=new URL(n(8738),n.b),l=a()(o()),u=s()(c);l.push([t.id,'/*!\n * Cropper.js v1.5.13\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2022-11-20T05:30:43.444Z\n */\n\n.cropper-container {\n direction: ltr;\n font-size: 0;\n line-height: 0;\n position: relative;\n -ms-touch-action: none;\n touch-action: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.cropper-container img {\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n display: block;\n height: 100%;\n image-orientation: 0deg;\n max-height: none !important;\n max-width: none !important;\n min-height: 0 !important;\n min-width: 0 !important;\n width: 100%;\n }\n\n.cropper-wrap-box,\n.cropper-canvas,\n.cropper-drag-box,\n.cropper-crop-box,\n.cropper-modal {\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.cropper-wrap-box,\n.cropper-canvas {\n overflow: hidden;\n}\n\n.cropper-drag-box {\n background-color: #fff;\n opacity: 0;\n}\n\n.cropper-modal {\n background-color: #000;\n opacity: 0.5;\n}\n\n.cropper-view-box {\n display: block;\n height: 100%;\n outline: 1px solid #39f;\n outline-color: rgba(51, 153, 255, 75%);\n overflow: hidden;\n width: 100%;\n}\n\n.cropper-dashed {\n border: 0 dashed #eee;\n display: block;\n opacity: 0.5;\n position: absolute;\n}\n\n.cropper-dashed.dashed-h {\n border-bottom-width: 1px;\n border-top-width: 1px;\n height: calc(100% / 3);\n left: 0;\n top: calc(100% / 3);\n width: 100%;\n }\n\n.cropper-dashed.dashed-v {\n border-left-width: 1px;\n border-right-width: 1px;\n height: 100%;\n left: calc(100% / 3);\n top: 0;\n width: calc(100% / 3);\n }\n\n.cropper-center {\n display: block;\n height: 0;\n left: 50%;\n opacity: 0.75;\n position: absolute;\n top: 50%;\n width: 0;\n}\n\n.cropper-center::before,\n .cropper-center::after {\n background-color: #eee;\n content: " ";\n display: block;\n position: absolute;\n }\n\n.cropper-center::before {\n height: 1px;\n left: -3px;\n top: 0;\n width: 7px;\n }\n\n.cropper-center::after {\n height: 7px;\n left: 0;\n top: -3px;\n width: 1px;\n }\n\n.cropper-face,\n.cropper-line,\n.cropper-point {\n display: block;\n height: 100%;\n opacity: 0.1;\n position: absolute;\n width: 100%;\n}\n\n.cropper-face {\n background-color: #fff;\n left: 0;\n top: 0;\n}\n\n.cropper-line {\n background-color: #39f;\n}\n\n.cropper-line.line-e {\n cursor: ew-resize;\n right: -3px;\n top: 0;\n width: 5px;\n }\n\n.cropper-line.line-n {\n cursor: ns-resize;\n height: 5px;\n left: 0;\n top: -3px;\n }\n\n.cropper-line.line-w {\n cursor: ew-resize;\n left: -3px;\n top: 0;\n width: 5px;\n }\n\n.cropper-line.line-s {\n bottom: -3px;\n cursor: ns-resize;\n height: 5px;\n left: 0;\n }\n\n.cropper-point {\n background-color: #39f;\n height: 5px;\n opacity: 0.75;\n width: 5px;\n}\n\n.cropper-point.point-e {\n cursor: ew-resize;\n margin-top: -3px;\n right: -3px;\n top: 50%;\n }\n\n.cropper-point.point-n {\n cursor: ns-resize;\n left: 50%;\n margin-left: -3px;\n top: -3px;\n }\n\n.cropper-point.point-w {\n cursor: ew-resize;\n left: -3px;\n margin-top: -3px;\n top: 50%;\n }\n\n.cropper-point.point-s {\n bottom: -3px;\n cursor: s-resize;\n left: 50%;\n margin-left: -3px;\n }\n\n.cropper-point.point-ne {\n cursor: nesw-resize;\n right: -3px;\n top: -3px;\n }\n\n.cropper-point.point-nw {\n cursor: nwse-resize;\n left: -3px;\n top: -3px;\n }\n\n.cropper-point.point-sw {\n bottom: -3px;\n cursor: nesw-resize;\n left: -3px;\n }\n\n.cropper-point.point-se {\n bottom: -3px;\n cursor: nwse-resize;\n height: 20px;\n opacity: 1;\n right: -3px;\n width: 20px;\n }\n\n@media (min-width: 768px) {\n\n.cropper-point.point-se {\n height: 15px;\n width: 15px;\n }\n }\n\n@media (min-width: 992px) {\n\n.cropper-point.point-se {\n height: 10px;\n width: 10px;\n }\n }\n\n@media (min-width: 1200px) {\n\n.cropper-point.point-se {\n height: 5px;\n opacity: 0.75;\n width: 5px;\n }\n }\n\n.cropper-point.point-se::before {\n background-color: #39f;\n bottom: -50%;\n content: " ";\n display: block;\n height: 200%;\n opacity: 0;\n position: absolute;\n right: -50%;\n width: 200%;\n }\n\n.cropper-invisible {\n opacity: 0;\n}\n\n.cropper-bg {\n background-image: url('+u+");\n}\n\n.cropper-hide {\n display: block;\n height: 0;\n position: absolute;\n width: 0;\n}\n\n.cropper-hidden {\n display: none !important;\n}\n\n.cropper-move {\n cursor: move;\n}\n\n.cropper-crop {\n cursor: crosshair;\n}\n\n.cropper-disabled .cropper-drag-box,\n.cropper-disabled .cropper-face,\n.cropper-disabled .cropper-line,\n.cropper-disabled .cropper-point {\n cursor: not-allowed;\n}\n","",{version:3,sources:["webpack://./node_modules/cropperjs/dist/cropper.css"],names:[],mappings:"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",sourcesContent:['/*!\n * Cropper.js v1.5.13\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2022-11-20T05:30:43.444Z\n */\n\n.cropper-container {\n direction: ltr;\n font-size: 0;\n line-height: 0;\n position: relative;\n -ms-touch-action: none;\n touch-action: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.cropper-container img {\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n display: block;\n height: 100%;\n image-orientation: 0deg;\n max-height: none !important;\n max-width: none !important;\n min-height: 0 !important;\n min-width: 0 !important;\n width: 100%;\n }\n\n.cropper-wrap-box,\n.cropper-canvas,\n.cropper-drag-box,\n.cropper-crop-box,\n.cropper-modal {\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.cropper-wrap-box,\n.cropper-canvas {\n overflow: hidden;\n}\n\n.cropper-drag-box {\n background-color: #fff;\n opacity: 0;\n}\n\n.cropper-modal {\n background-color: #000;\n opacity: 0.5;\n}\n\n.cropper-view-box {\n display: block;\n height: 100%;\n outline: 1px solid #39f;\n outline-color: rgba(51, 153, 255, 75%);\n overflow: hidden;\n width: 100%;\n}\n\n.cropper-dashed {\n border: 0 dashed #eee;\n display: block;\n opacity: 0.5;\n position: absolute;\n}\n\n.cropper-dashed.dashed-h {\n border-bottom-width: 1px;\n border-top-width: 1px;\n height: calc(100% / 3);\n left: 0;\n top: calc(100% / 3);\n width: 100%;\n }\n\n.cropper-dashed.dashed-v {\n border-left-width: 1px;\n border-right-width: 1px;\n height: 100%;\n left: calc(100% / 3);\n top: 0;\n width: calc(100% / 3);\n }\n\n.cropper-center {\n display: block;\n height: 0;\n left: 50%;\n opacity: 0.75;\n position: absolute;\n top: 50%;\n width: 0;\n}\n\n.cropper-center::before,\n .cropper-center::after {\n background-color: #eee;\n content: " ";\n display: block;\n position: absolute;\n }\n\n.cropper-center::before {\n height: 1px;\n left: -3px;\n top: 0;\n width: 7px;\n }\n\n.cropper-center::after {\n height: 7px;\n left: 0;\n top: -3px;\n width: 1px;\n }\n\n.cropper-face,\n.cropper-line,\n.cropper-point {\n display: block;\n height: 100%;\n opacity: 0.1;\n position: absolute;\n width: 100%;\n}\n\n.cropper-face {\n background-color: #fff;\n left: 0;\n top: 0;\n}\n\n.cropper-line {\n background-color: #39f;\n}\n\n.cropper-line.line-e {\n cursor: ew-resize;\n right: -3px;\n top: 0;\n width: 5px;\n }\n\n.cropper-line.line-n {\n cursor: ns-resize;\n height: 5px;\n left: 0;\n top: -3px;\n }\n\n.cropper-line.line-w {\n cursor: ew-resize;\n left: -3px;\n top: 0;\n width: 5px;\n }\n\n.cropper-line.line-s {\n bottom: -3px;\n cursor: ns-resize;\n height: 5px;\n left: 0;\n }\n\n.cropper-point {\n background-color: #39f;\n height: 5px;\n opacity: 0.75;\n width: 5px;\n}\n\n.cropper-point.point-e {\n cursor: ew-resize;\n margin-top: -3px;\n right: -3px;\n top: 50%;\n }\n\n.cropper-point.point-n {\n cursor: ns-resize;\n left: 50%;\n margin-left: -3px;\n top: -3px;\n }\n\n.cropper-point.point-w {\n cursor: ew-resize;\n left: -3px;\n margin-top: -3px;\n top: 50%;\n }\n\n.cropper-point.point-s {\n bottom: -3px;\n cursor: s-resize;\n left: 50%;\n margin-left: -3px;\n }\n\n.cropper-point.point-ne {\n cursor: nesw-resize;\n right: -3px;\n top: -3px;\n }\n\n.cropper-point.point-nw {\n cursor: nwse-resize;\n left: -3px;\n top: -3px;\n }\n\n.cropper-point.point-sw {\n bottom: -3px;\n cursor: nesw-resize;\n left: -3px;\n }\n\n.cropper-point.point-se {\n bottom: -3px;\n cursor: nwse-resize;\n height: 20px;\n opacity: 1;\n right: -3px;\n width: 20px;\n }\n\n@media (min-width: 768px) {\n\n.cropper-point.point-se {\n height: 15px;\n width: 15px;\n }\n }\n\n@media (min-width: 992px) {\n\n.cropper-point.point-se {\n height: 10px;\n width: 10px;\n }\n }\n\n@media (min-width: 1200px) {\n\n.cropper-point.point-se {\n height: 5px;\n opacity: 0.75;\n width: 5px;\n }\n }\n\n.cropper-point.point-se::before {\n background-color: #39f;\n bottom: -50%;\n content: " ";\n display: block;\n height: 200%;\n opacity: 0;\n position: absolute;\n right: -50%;\n width: 200%;\n }\n\n.cropper-invisible {\n opacity: 0;\n}\n\n.cropper-bg {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC");\n}\n\n.cropper-hide {\n display: block;\n height: 0;\n position: absolute;\n width: 0;\n}\n\n.cropper-hidden {\n display: none !important;\n}\n\n.cropper-move {\n cursor: move;\n}\n\n.cropper-crop {\n cursor: crosshair;\n}\n\n.cropper-disabled .cropper-drag-box,\n.cropper-disabled .cropper-face,\n.cropper-disabled .cropper-line,\n.cropper-disabled .cropper-point {\n cursor: not-allowed;\n}\n'],sourceRoot:""}]),e.Z=l},32248:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,"section[data-v-cd78cbb2]{grid-row:1/3}.avatar__container[data-v-cd78cbb2]{margin:0 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px 0;width:min(100%,300px)}.avatar__container span[data-v-cd78cbb2]{color:var(--color-text-lighter)}.avatar__preview[data-v-cd78cbb2]{display:flex;justify-content:center;align-items:center;width:180px;height:180px}.avatar__buttons[data-v-cd78cbb2]{display:flex;gap:0 10px}.avatar__cropper[data-v-cd78cbb2]{width:300px;height:300px;overflow:hidden}.avatar__cropper-buttons[data-v-cd78cbb2]{width:100%;display:flex;justify-content:space-between}.avatar__cropper[data-v-cd78cbb2] .cropper-view-box{border-radius:50%}input[type=file][data-v-cd78cbb2]{display:none}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/AvatarSection.vue"],names:[],mappings:"AACA,yBACC,YAAA,CAGA,oCACC,aAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,kBAAA,CACA,UAAA,CACA,qBAAA,CAEA,yCACC,+BAAA,CAIF,kCACC,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,WAAA,CACA,YAAA,CAGD,kCACC,YAAA,CACA,UAAA,CAGD,kCACC,WAAA,CACA,YAAA,CACA,eAAA,CAEA,0CACC,UAAA,CACA,YAAA,CACA,6BAAA,CAGD,oDACC,iBAAA,CAKH,kCACC,YAAA",sourcesContent:['\nsection {\n\tgrid-row: 1/3;\n}\n.avatar {\n\t&__container {\n\t\tmargin: 0 auto;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\tgap: 16px 0;\n\t\twidth: min(100%, 300px);\n\n\t\tspan {\n\t\t\tcolor: var(--color-text-lighter);\n\t\t}\n\t}\n\n\t&__preview {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\twidth: 180px;\n\t\theight: 180px;\n\t}\n\n\t&__buttons {\n\t\tdisplay: flex;\n\t\tgap: 0 10px;\n\t}\n\n\t&__cropper {\n\t\twidth: 300px;\n\t\theight: 300px;\n\t\toverflow: hidden;\n\n\t\t&-buttons {\n\t\t\twidth: 100%;\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t}\n\n\t\t&::v-deep .cropper-view-box {\n\t\t\tborder-radius: 50%;\n\t\t}\n\t}\n}\n\ninput[type="file"] {\n\tdisplay: none;\n}\n'],sourceRoot:""}]),e.Z=a},14260:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,".details[data-v-f432848e]{display:flex;flex-direction:column;margin:10px 32px 10px 0;gap:16px 0;color:var(--color-text-lighter)}.details__groups[data-v-f432848e],.details__quota[data-v-f432848e]{display:flex;gap:0 10px}.details__groups-info[data-v-f432848e],.details__quota-info[data-v-f432848e]{display:flex;flex-direction:column;width:100%;gap:4px 0}.details__groups-list[data-v-f432848e],.details__quota-list[data-v-f432848e]{font-weight:bold}.details__groups[data-v-f432848e] .material-design-icon,.details__quota[data-v-f432848e] .material-design-icon{align-self:flex-start;margin-top:2px}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/DetailsSection.vue"],names:[],mappings:"AACA,0BACC,YAAA,CACA,qBAAA,CACA,uBAAA,CACA,UAAA,CACA,+BAAA,CAEA,mEAEC,YAAA,CACA,UAAA,CAEA,6EACC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,SAAA,CAGD,6EACC,gBAAA,CAGD,+GACC,qBAAA,CACA,cAAA",sourcesContent:["\n.details {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin: 10px 32px 10px 0;\n\tgap: 16px 0;\n\tcolor: var(--color-text-lighter);\n\n\t&__groups,\n\t&__quota {\n\t\tdisplay: flex;\n\t\tgap: 0 10px;\n\n\t\t&-info {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\twidth: 100%;\n\t\t\tgap: 4px 0;\n\t\t}\n\n\t\t&-list {\n\t\t\tfont-weight: bold;\n\t\t}\n\n\t\t&::v-deep .material-design-icon {\n\t\t\talign-self: flex-start;\n\t\t\tmargin-top: 2px;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},98548:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,".email[data-v-0e3855d2]{display:grid;align-items:center}.email input[data-v-0e3855d2]{grid-area:1/1;width:100%}.email .email__actions-container[data-v-0e3855d2]{grid-area:1/1;justify-self:flex-end;height:30px;display:flex;gap:0 2px;margin-right:5px}.email .email__actions-container .email__actions[data-v-0e3855d2]:hover,.email .email__actions-container .email__actions[data-v-0e3855d2]:focus,.email .email__actions-container .email__actions[data-v-0e3855d2]:active{opacity:.8 !important}.email .email__actions-container .email__actions[data-v-0e3855d2] button{height:30px !important;min-height:30px !important;width:30px !important;min-width:30px !important}.email__helper-text-message[data-v-0e3855d2]{padding:4px 0;display:flex;align-items:center}.email__helper-text-message__icon[data-v-0e3855d2]{margin-right:8px;align-self:start;margin-top:4px}.email__helper-text-message--error[data-v-0e3855d2]{color:var(--color-error)}.fade-enter[data-v-0e3855d2],.fade-leave-to[data-v-0e3855d2]{opacity:0}.fade-enter-active[data-v-0e3855d2]{transition:opacity 200ms ease-out}.fade-leave-active[data-v-0e3855d2]{transition:opacity 300ms ease-out}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/EmailSection/Email.vue"],names:[],mappings:"AACA,wBACC,YAAA,CACA,kBAAA,CAEA,8BACC,aAAA,CACA,UAAA,CAGD,kDACC,aAAA,CACA,qBAAA,CACA,WAAA,CAEA,YAAA,CACA,SAAA,CACA,gBAAA,CAGC,yNAGC,qBAAA,CAGD,yEACC,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA,CAKH,6CACC,aAAA,CACA,YAAA,CACA,kBAAA,CAEA,mDACC,gBAAA,CACA,gBAAA,CACA,cAAA,CAGD,oDACC,wBAAA,CAKH,6DAEC,SAAA,CAGD,oCACC,iCAAA,CAGD,oCACC,iCAAA",sourcesContent:["\n.email {\n\tdisplay: grid;\n\talign-items: center;\n\n\tinput {\n\t\tgrid-area: 1 / 1;\n\t\twidth: 100%;\n\t}\n\n\t.email__actions-container {\n\t\tgrid-area: 1 / 1;\n\t\tjustify-self: flex-end;\n\t\theight: 30px;\n\n\t\tdisplay: flex;\n\t\tgap: 0 2px;\n\t\tmargin-right: 5px;\n\n\t\t.email__actions {\n\t\t\t&:hover,\n\t\t\t&:focus,\n\t\t\t&:active {\n\t\t\t\topacity: 0.8 !important;\n\t\t\t}\n\n\t\t\t&::v-deep button {\n\t\t\t\theight: 30px !important;\n\t\t\t\tmin-height: 30px !important;\n\t\t\t\twidth: 30px !important;\n\t\t\t\tmin-width: 30px !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__helper-text-message {\n\t\tpadding: 4px 0;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\n\t\t&__icon {\n\t\t\tmargin-right: 8px;\n\t\t\talign-self: start;\n\t\t\tmargin-top: 4px;\n\t\t}\n\n\t\t&--error {\n\t\t\tcolor: var(--color-error);\n\t\t}\n\t}\n}\n\n.fade-enter,\n.fade-leave-to {\n\topacity: 0;\n}\n\n.fade-enter-active {\n\ttransition: opacity 200ms ease-out;\n}\n\n.fade-leave-active {\n\ttransition: opacity 300ms ease-out;\n}\n"],sourceRoot:""}]),e.Z=a},47791:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,"section[data-v-b17ef20e]{padding:10px 10px}section[data-v-b17ef20e] button:disabled{cursor:default}section .additional-emails-label[data-v-b17ef20e]{display:block;margin-top:16px}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue"],names:[],mappings:"AACA,yBACC,iBAAA,CAEA,yCACC,cAAA,CAGD,kDACC,aAAA,CACA,eAAA",sourcesContent:["\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n\n\t.additional-emails-label {\n\t\tdisplay: block;\n\t\tmargin-top: 16px;\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},58531:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,".language[data-v-f4e20d10]{display:grid}.language select[data-v-f4e20d10]{width:100%}.language a[data-v-f4e20d10]{color:var(--color-main-text);text-decoration:none;width:max-content}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue"],names:[],mappings:"AACA,2BACC,YAAA,CAEA,kCACC,UAAA,CAGD,6BACC,4BAAA,CACA,oBAAA,CACA,iBAAA",sourcesContent:["\n.language {\n\tdisplay: grid;\n\n\tselect {\n\t\twidth: 100%;\n\t}\n\n\ta {\n\t\tcolor: var(--color-main-text);\n\t\ttext-decoration: none;\n\t\twidth: max-content;\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},12531:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,"section[data-v-92685b76]{padding:10px 10px}section[data-v-92685b76] button:disabled{cursor:default}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue"],names:[],mappings:"AACA,yBACC,iBAAA,CAEA,yCACC,cAAA",sourcesContent:["\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},93615:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,".locale[data-v-9c4afa34]{display:grid}.locale select[data-v-9c4afa34]{width:100%}.example[data-v-9c4afa34]{margin:10px 0;display:flex;gap:0 10px;color:var(--color-text-lighter)}.example[data-v-9c4afa34] .material-design-icon{align-self:flex-start;margin-top:2px}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue"],names:[],mappings:"AACA,yBACC,YAAA,CAEA,gCACC,UAAA,CAIF,0BACC,aAAA,CACA,YAAA,CACA,UAAA,CACA,+BAAA,CAEA,gDACC,qBAAA,CACA,cAAA",sourcesContent:["\n.locale {\n\tdisplay: grid;\n\n\tselect {\n\t\twidth: 100%;\n\t}\n}\n\n.example {\n\tmargin: 10px 0;\n\tdisplay: flex;\n\tgap: 0 10px;\n\tcolor: var(--color-text-lighter);\n\n\t&::v-deep .material-design-icon {\n\t\talign-self: flex-start;\n\t\tmargin-top: 2px;\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},682:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,"section[data-v-84fca724]{padding:10px 10px}section[data-v-84fca724] button:disabled{cursor:default}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue"],names:[],mappings:"AACA,yBACC,iBAAA,CAEA,yCACC,cAAA",sourcesContent:["\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},38139:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,"html{scroll-behavior:smooth}@media screen and (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue"],names:[],mappings:"AACA,KACC,sBAAA,CAEA,mDAHD,KAIE,oBAAA,CAAA",sourcesContent:["\nhtml {\n\tscroll-behavior: smooth;\n\n\t@media screen and (prefers-reduced-motion: reduce) {\n\t\tscroll-behavior: auto;\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},28168:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,"a[data-v-23992b06]{display:block;height:44px;width:min(100%,290px);overflow:hidden;text-overflow:ellipsis;line-height:44px;padding:0 16px;margin:14px auto;border-radius:var(--border-radius-pill);color:var(--color-text-maxcontrast);background-color:rgba(0,0,0,0)}a .anchor-icon[data-v-23992b06]{display:inline-block;vertical-align:middle;margin-top:6px;margin-right:8px}a[data-v-23992b06]:hover,a[data-v-23992b06]:focus,a[data-v-23992b06]:active{color:var(--color-main-text);background-color:var(--color-background-dark)}a.disabled[data-v-23992b06]{pointer-events:none}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue"],names:[],mappings:"AACA,mBACC,aAAA,CACA,WAAA,CACA,qBAAA,CACA,eAAA,CACA,sBAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CACA,uCAAA,CACA,mCAAA,CACA,8BAAA,CAEA,gCACC,oBAAA,CACA,qBAAA,CACA,cAAA,CACA,gBAAA,CAGD,4EAGC,4BAAA,CACA,6CAAA,CAGD,4BACC,mBAAA",sourcesContent:["\na {\n\tdisplay: block;\n\theight: 44px;\n\twidth: min(100%, 290px);\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\tline-height: 44px;\n\tpadding: 0 16px;\n\tmargin: 14px auto;\n\tborder-radius: var(--border-radius-pill);\n\tcolor: var(--color-text-maxcontrast);\n\tbackground-color: transparent;\n\n\t.anchor-icon {\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\tmargin-top: 6px;\n\t\tmargin-right: 8px;\n\t}\n\n\t&:hover,\n\t&:focus,\n\t&:active {\n\t\tcolor: var(--color-main-text);\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t&.disabled {\n\t\tpointer-events: none;\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},7714:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,".preview-card[data-v-3375e082]{display:flex;flex-direction:column;position:relative;width:min(100%,290px);height:116px;margin:14px auto;border-radius:var(--border-radius-large);background-color:var(--color-main-background);font-weight:bold;box-shadow:0 2px 9px var(--color-box-shadow)}.preview-card[data-v-3375e082]:hover,.preview-card[data-v-3375e082]:focus,.preview-card[data-v-3375e082]:active{box-shadow:0 2px 12px var(--color-box-shadow)}.preview-card[data-v-3375e082]:focus-visible{outline:var(--color-main-text) solid 1px;outline-offset:3px}.preview-card.disabled[data-v-3375e082]{filter:grayscale(1);opacity:.5;cursor:default;box-shadow:0 0 3px var(--color-box-shadow)}.preview-card.disabled *[data-v-3375e082],.preview-card.disabled[data-v-3375e082] *{cursor:default}.preview-card__avatar[data-v-3375e082]{position:absolute !important;top:40px;left:18px;z-index:1}.preview-card__avatar[data-v-3375e082]:not(.avatardiv--unknown){box-shadow:0 0 0 3px var(--color-main-background) !important}.preview-card__header[data-v-3375e082],.preview-card__footer[data-v-3375e082]{position:relative;width:auto}.preview-card__header span[data-v-3375e082],.preview-card__footer span[data-v-3375e082]{position:absolute;left:78px;overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere}@supports(-webkit-line-clamp: 2){.preview-card__header span[data-v-3375e082],.preview-card__footer span[data-v-3375e082]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.preview-card__header[data-v-3375e082]{height:70px;border-radius:var(--border-radius-large) var(--border-radius-large) 0 0;background-color:var(--color-primary-element);background-image:var(--gradient-primary-background)}.preview-card__header span[data-v-3375e082]{bottom:0;color:var(--color-primary-element-text);font-size:18px;font-weight:bold;margin:0 4px 8px 0}.preview-card__footer[data-v-3375e082]{height:46px}.preview-card__footer span[data-v-3375e082]{top:0;color:var(--color-text-maxcontrast);font-size:14px;font-weight:normal;margin:4px 4px 0 0;line-height:1.3}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue"],names:[],mappings:"AACA,+BACC,YAAA,CACA,qBAAA,CACA,iBAAA,CACA,qBAAA,CACA,YAAA,CACA,gBAAA,CACA,wCAAA,CACA,6CAAA,CACA,gBAAA,CACA,4CAAA,CAEA,gHAGC,6CAAA,CAGD,6CACC,wCAAA,CACA,kBAAA,CAGD,wCACC,mBAAA,CACA,UAAA,CACA,cAAA,CACA,0CAAA,CAEA,oFAEC,cAAA,CAIF,uCAEC,4BAAA,CACA,QAAA,CACA,SAAA,CACA,SAAA,CAEA,gEACC,4DAAA,CAIF,8EAEC,iBAAA,CACA,UAAA,CAEA,wFACC,iBAAA,CACA,SAAA,CACA,eAAA,CACA,sBAAA,CACA,sBAAA,CAEA,iCAPD,wFAQE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,uCACC,WAAA,CACA,uEAAA,CACA,6CAAA,CACA,mDAAA,CAEA,4CACC,QAAA,CACA,uCAAA,CACA,cAAA,CACA,gBAAA,CACA,kBAAA,CAIF,uCACC,WAAA,CAEA,4CACC,KAAA,CACA,mCAAA,CACA,cAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA",sourcesContent:["\n.preview-card {\n\tdisplay: flex;\n\tflex-direction: column;\n\tposition: relative;\n\twidth: min(100%, 290px);\n\theight: 116px;\n\tmargin: 14px auto;\n\tborder-radius: var(--border-radius-large);\n\tbackground-color: var(--color-main-background);\n\tfont-weight: bold;\n\tbox-shadow: 0 2px 9px var(--color-box-shadow);\n\n\t&:hover,\n\t&:focus,\n\t&:active {\n\t\tbox-shadow: 0 2px 12px var(--color-box-shadow);\n\t}\n\n\t&:focus-visible {\n\t\toutline: var(--color-main-text) solid 1px;\n\t\toutline-offset: 3px;\n\t}\n\n\t&.disabled {\n\t\tfilter: grayscale(1);\n\t\topacity: 0.5;\n\t\tcursor: default;\n\t\tbox-shadow: 0 0 3px var(--color-box-shadow);\n\n\t\t& *,\n\t\t&::v-deep * {\n\t\t\tcursor: default;\n\t\t}\n\t}\n\n\t&__avatar {\n\t\t// Override Avatar component position to fix positioning on rerender\n\t\tposition: absolute !important;\n\t\ttop: 40px;\n\t\tleft: 18px;\n\t\tz-index: 1;\n\n\t\t&:not(.avatardiv--unknown) {\n\t\t\tbox-shadow: 0 0 0 3px var(--color-main-background) !important;\n\t\t}\n\t}\n\n\t&__header,\n\t&__footer {\n\t\tposition: relative;\n\t\twidth: auto;\n\n\t\tspan {\n\t\t\tposition: absolute;\n\t\t\tleft: 78px;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow-wrap: anywhere;\n\n\t\t\t@supports (-webkit-line-clamp: 2) {\n\t\t\t\tdisplay: -webkit-box;\n\t\t\t\t-webkit-line-clamp: 2;\n\t\t\t\t-webkit-box-orient: vertical;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__header {\n\t\theight: 70px;\n\t\tborder-radius: var(--border-radius-large) var(--border-radius-large) 0 0;\n\t\tbackground-color: var(--color-primary-element);\n\t\tbackground-image: var(--gradient-primary-background);\n\n\t\tspan {\n\t\t\tbottom: 0;\n\t\t\tcolor: var(--color-primary-element-text);\n\t\t\tfont-size: 18px;\n\t\t\tfont-weight: bold;\n\t\t\tmargin: 0 4px 8px 0;\n\t\t}\n\t}\n\n\t&__footer {\n\t\theight: 46px;\n\n\t\tspan {\n\t\t\ttop: 0;\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\tfont-size: 14px;\n\t\t\tfont-weight: normal;\n\t\t\tmargin: 4px 4px 0 0;\n\t\t\tline-height: 1.3;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},90552:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,"section[data-v-cf64d964]{padding:10px 10px}section[data-v-cf64d964] button:disabled{cursor:default}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue"],names:[],mappings:"AACA,yBACC,iBAAA,CAEA,yCACC,cAAA",sourcesContent:["\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},19549:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,"section[data-v-199109a6]{padding:30px;max-width:900px;width:100%}section em[data-v-199109a6]{display:block;margin:16px 0}section em.disabled[data-v-199109a6]{filter:grayscale(1);opacity:.5;cursor:default;pointer-events:none}section em.disabled *[data-v-199109a6],section em.disabled[data-v-199109a6] *{cursor:default;pointer-events:none}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue"],names:[],mappings:"AACA,yBACC,YAAA,CACA,eAAA,CACA,UAAA,CAEA,4BACC,aAAA,CACA,aAAA,CAEA,qCACC,mBAAA,CACA,UAAA,CACA,cAAA,CACA,mBAAA,CAEA,8EAEC,cAAA,CACA,mBAAA",sourcesContent:["\nsection {\n\tpadding: 30px;\n\tmax-width: 900px;\n\twidth: 100%;\n\n\tem {\n\t\tdisplay: block;\n\t\tmargin: 16px 0;\n\n\t\t&.disabled {\n\t\t\tfilter: grayscale(1);\n\t\t\topacity: 0.5;\n\t\t\tcursor: default;\n\t\t\tpointer-events: none;\n\n\t\t\t& *,\n\t\t\t&::v-deep * {\n\t\t\t\tcursor: default;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},31161:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,".visibility-container[data-v-c7ec7e16]{display:flex;flex-wrap:wrap}.visibility-container.disabled[data-v-c7ec7e16]{filter:grayscale(1);opacity:.5;cursor:default;pointer-events:none}.visibility-container.disabled *[data-v-c7ec7e16],.visibility-container.disabled[data-v-c7ec7e16] *{cursor:default;pointer-events:none}.visibility-container label[data-v-c7ec7e16]{color:var(--color-text-lighter);width:150px;line-height:50px}.visibility-container__select[data-v-c7ec7e16]{width:270px;max-width:40vw}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue"],names:[],mappings:"AACA,uCACC,YAAA,CACA,cAAA,CAEA,gDACC,mBAAA,CACA,UAAA,CACA,cAAA,CACA,mBAAA,CAEA,oGAEC,cAAA,CACA,mBAAA,CAIF,6CACC,+BAAA,CACA,WAAA,CACA,gBAAA,CAGD,+CACC,WAAA,CACA,cAAA",sourcesContent:["\n.visibility-container {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\n\t&.disabled {\n\t\tfilter: grayscale(1);\n\t\topacity: 0.5;\n\t\tcursor: default;\n\t\tpointer-events: none;\n\n\t\t& *,\n\t\t&::v-deep * {\n\t\t\tcursor: default;\n\t\t\tpointer-events: none;\n\t\t}\n\t}\n\n\tlabel {\n\t\tcolor: var(--color-text-lighter);\n\t\twidth: 150px;\n\t\tline-height: 50px;\n\t}\n\n\t&__select {\n\t\twidth: 270px;\n\t\tmax-width: 40vw;\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},89952:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,"section[data-v-a47b60dc]{padding:10px 10px}section[data-v-a47b60dc] button:disabled{cursor:default}section .property[data-v-a47b60dc]{display:grid;align-items:center}section .property textarea[data-v-a47b60dc]{resize:vertical;grid-area:1/1;width:100%}section .property input[data-v-a47b60dc]{grid-area:1/1;width:100%}section .property .property__actions-container[data-v-a47b60dc]{grid-area:1/1;justify-self:flex-end;align-self:flex-end;height:30px;display:flex;gap:0 2px;margin-right:5px;margin-bottom:5px}section .property__helper-text-message[data-v-a47b60dc]{padding:4px 0;display:flex;align-items:center}section .property__helper-text-message__icon[data-v-a47b60dc]{margin-right:8px;align-self:start;margin-top:4px}section .property__helper-text-message--error[data-v-a47b60dc]{color:var(--color-error)}section .fade-enter[data-v-a47b60dc],section .fade-leave-to[data-v-a47b60dc]{opacity:0}section .fade-enter-active[data-v-a47b60dc]{transition:opacity 200ms ease-out}section .fade-leave-active[data-v-a47b60dc]{transition:opacity 300ms ease-out}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue"],names:[],mappings:"AACA,yBACC,iBAAA,CAEA,yCACC,cAAA,CAGD,mCACC,YAAA,CACA,kBAAA,CAEA,4CACC,eAAA,CACA,aAAA,CACA,UAAA,CAGD,yCACC,aAAA,CACA,UAAA,CAGD,gEACC,aAAA,CACA,qBAAA,CACA,mBAAA,CACA,WAAA,CAEA,YAAA,CACA,SAAA,CACA,gBAAA,CACA,iBAAA,CAIF,wDACC,aAAA,CACA,YAAA,CACA,kBAAA,CAEA,8DACC,gBAAA,CACA,gBAAA,CACA,cAAA,CAGD,+DACC,wBAAA,CAIF,6EAEC,SAAA,CAGD,4CACC,iCAAA,CAGD,4CACC,iCAAA",sourcesContent:["\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n\n\t.property {\n\t\tdisplay: grid;\n\t\talign-items: center;\n\n\t\ttextarea {\n\t\t\tresize: vertical;\n\t\t\tgrid-area: 1 / 1;\n\t\t\twidth: 100%;\n\t\t}\n\n\t\tinput {\n\t\t\tgrid-area: 1 / 1;\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t.property__actions-container {\n\t\t\tgrid-area: 1 / 1;\n\t\t\tjustify-self: flex-end;\n\t\t\talign-self: flex-end;\n\t\t\theight: 30px;\n\n\t\t\tdisplay: flex;\n\t\t\tgap: 0 2px;\n\t\t\tmargin-right: 5px;\n\t\t\tmargin-bottom: 5px;\n\t\t}\n\t}\n\n\t.property__helper-text-message {\n\t\tpadding: 4px 0;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\n\t\t&__icon {\n\t\t\tmargin-right: 8px;\n\t\t\talign-self: start;\n\t\t\tmargin-top: 4px;\n\t\t}\n\n\t\t&--error {\n\t\t\tcolor: var(--color-error);\n\t\t}\n\t}\n\n\t.fade-enter,\n\t.fade-leave-to {\n\t\topacity: 0;\n\t}\n\n\t.fade-enter-active {\n\t\ttransition: opacity 200ms ease-out;\n\t}\n\n\t.fade-leave-active {\n\t\ttransition: opacity 300ms ease-out;\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},79872:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,".federation-actions--additional[data-v-bce2fdec] button{padding-bottom:7px;height:30px !important;min-height:30px !important;width:30px !important;min-width:30px !important}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/shared/FederationControl.vue"],names:[],mappings:"AAEC,wDAEC,kBAAA,CACA,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA",sourcesContent:["\n.federation-actions--additional {\n\t&::v-deep button {\n\t\t// TODO remove this hack\n\t\tpadding-bottom: 7px;\n\t\theight: 30px !important;\n\t\tmin-height: 30px !important;\n\t\twidth: 30px !important;\n\t\tmin-width: 30px !important;\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},80918:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,".federation-actions__btn[data-v-4fc9bff1] p{width:150px !important;padding:8px 0 !important;color:var(--color-main-text) !important;font-size:12.8px !important;line-height:1.5em !important}.federation-actions__btn--active[data-v-4fc9bff1]{background-color:var(--color-primary-element-light) !important;box-shadow:inset 2px 0 var(--color-primary-element) !important}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue"],names:[],mappings:"AAEC,4CACC,sBAAA,CACA,wBAAA,CACA,uCAAA,CACA,2BAAA,CACA,4BAAA,CAIF,kDACC,8DAAA,CACA,8DAAA",sourcesContent:["\n.federation-actions__btn {\n\t&::v-deep p {\n\t\twidth: 150px !important;\n\t\tpadding: 8px 0 !important;\n\t\tcolor: var(--color-main-text) !important;\n\t\tfont-size: 12.8px !important;\n\t\tline-height: 1.5em !important;\n\t}\n}\n\n.federation-actions__btn--active {\n\tbackground-color: var(--color-primary-element-light) !important;\n\tbox-shadow: inset 2px 0 var(--color-primary-element) !important;\n}\n"],sourceRoot:""}]),e.Z=a},47922:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,".headerbar-label[data-v-117e8ad0]{font-weight:normal;display:inline-flex;width:100%;margin:12px 0 0 0;gap:8px;align-items:center;font-size:16px;color:var(--color-text-light)}.headerbar-label.profile-property[data-v-117e8ad0]{height:38px}.headerbar-label.setting-property[data-v-117e8ad0]{height:44px}.headerbar-label label[data-v-117e8ad0]{cursor:pointer}.federation-control[data-v-117e8ad0]{margin:0}.button-vue[data-v-117e8ad0]{margin:0 0 0 auto !important}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue"],names:[],mappings:"AACA,kCACC,kBAAA,CACA,mBAAA,CACA,UAAA,CACA,iBAAA,CACA,OAAA,CACA,kBAAA,CACA,cAAA,CACA,6BAAA,CAEA,mDACC,WAAA,CAGD,mDACC,WAAA,CAGD,wCACC,cAAA,CAIF,qCACC,QAAA,CAGD,6BACC,4BAAA",sourcesContent:["\n.headerbar-label {\n\tfont-weight: normal;\n\tdisplay: inline-flex;\n\twidth: 100%;\n\tmargin: 12px 0 0 0;\n\tgap: 8px;\n\talign-items: center;\n\tfont-size: 16px;\n\tcolor: var(--color-text-light);\n\n\t&.profile-property {\n\t\theight: 38px;\n\t}\n\n\t&.setting-property {\n\t\theight: 44px;\n\t}\n\n\tlabel {\n\t\tcursor: pointer;\n\t}\n}\n\n.federation-control {\n\tmargin: 0;\n}\n\n.button-vue {\n\tmargin: 0 0 0 auto !important;\n}\n"],sourceRoot:""}]),e.Z=a},46700:function(t,e,n){var r={"./af":42786,"./af.js":42786,"./ar":30867,"./ar-dz":14130,"./ar-dz.js":14130,"./ar-kw":96135,"./ar-kw.js":96135,"./ar-ly":56440,"./ar-ly.js":56440,"./ar-ma":47702,"./ar-ma.js":47702,"./ar-sa":16040,"./ar-sa.js":16040,"./ar-tn":37100,"./ar-tn.js":37100,"./ar.js":30867,"./az":31083,"./az.js":31083,"./be":9808,"./be.js":9808,"./bg":68338,"./bg.js":68338,"./bm":67438,"./bm.js":67438,"./bn":8905,"./bn-bd":76225,"./bn-bd.js":76225,"./bn.js":8905,"./bo":11560,"./bo.js":11560,"./br":1278,"./br.js":1278,"./bs":80622,"./bs.js":80622,"./ca":2468,"./ca.js":2468,"./cs":5822,"./cs.js":5822,"./cv":50877,"./cv.js":50877,"./cy":47373,"./cy.js":47373,"./da":24780,"./da.js":24780,"./de":59740,"./de-at":60217,"./de-at.js":60217,"./de-ch":60894,"./de-ch.js":60894,"./de.js":59740,"./dv":5300,"./dv.js":5300,"./el":50837,"./el.js":50837,"./en-au":78348,"./en-au.js":78348,"./en-ca":77925,"./en-ca.js":77925,"./en-gb":22243,"./en-gb.js":22243,"./en-ie":46436,"./en-ie.js":46436,"./en-il":47207,"./en-il.js":47207,"./en-in":44175,"./en-in.js":44175,"./en-nz":76319,"./en-nz.js":76319,"./en-sg":31662,"./en-sg.js":31662,"./eo":92915,"./eo.js":92915,"./es":55655,"./es-do":55251,"./es-do.js":55251,"./es-mx":96112,"./es-mx.js":96112,"./es-us":71146,"./es-us.js":71146,"./es.js":55655,"./et":5603,"./et.js":5603,"./eu":77763,"./eu.js":77763,"./fa":76959,"./fa.js":76959,"./fi":11897,"./fi.js":11897,"./fil":42549,"./fil.js":42549,"./fo":94694,"./fo.js":94694,"./fr":94470,"./fr-ca":63049,"./fr-ca.js":63049,"./fr-ch":52330,"./fr-ch.js":52330,"./fr.js":94470,"./fy":5044,"./fy.js":5044,"./ga":29295,"./ga.js":29295,"./gd":2101,"./gd.js":2101,"./gl":38794,"./gl.js":38794,"./gom-deva":27884,"./gom-deva.js":27884,"./gom-latn":23168,"./gom-latn.js":23168,"./gu":95349,"./gu.js":95349,"./he":24206,"./he.js":24206,"./hi":30094,"./hi.js":30094,"./hr":30316,"./hr.js":30316,"./hu":22138,"./hu.js":22138,"./hy-am":11423,"./hy-am.js":11423,"./id":29218,"./id.js":29218,"./is":90135,"./is.js":90135,"./it":90626,"./it-ch":10150,"./it-ch.js":10150,"./it.js":90626,"./ja":39183,"./ja.js":39183,"./jv":24286,"./jv.js":24286,"./ka":12105,"./ka.js":12105,"./kk":47772,"./kk.js":47772,"./km":18758,"./km.js":18758,"./kn":79282,"./kn.js":79282,"./ko":33730,"./ko.js":33730,"./ku":1408,"./ku.js":1408,"./ky":33291,"./ky.js":33291,"./lb":36841,"./lb.js":36841,"./lo":55466,"./lo.js":55466,"./lt":57010,"./lt.js":57010,"./lv":37595,"./lv.js":37595,"./me":39861,"./me.js":39861,"./mi":35493,"./mi.js":35493,"./mk":95966,"./mk.js":95966,"./ml":87341,"./ml.js":87341,"./mn":5115,"./mn.js":5115,"./mr":10370,"./mr.js":10370,"./ms":9847,"./ms-my":41237,"./ms-my.js":41237,"./ms.js":9847,"./mt":72126,"./mt.js":72126,"./my":56165,"./my.js":56165,"./nb":64924,"./nb.js":64924,"./ne":16744,"./ne.js":16744,"./nl":93901,"./nl-be":59814,"./nl-be.js":59814,"./nl.js":93901,"./nn":83877,"./nn.js":83877,"./oc-lnc":92135,"./oc-lnc.js":92135,"./pa-in":15858,"./pa-in.js":15858,"./pl":64495,"./pl.js":64495,"./pt":89520,"./pt-br":57971,"./pt-br.js":57971,"./pt.js":89520,"./ro":96459,"./ro.js":96459,"./ru":21793,"./ru.js":21793,"./sd":40950,"./sd.js":40950,"./se":10490,"./se.js":10490,"./si":90124,"./si.js":90124,"./sk":64249,"./sk.js":64249,"./sl":14985,"./sl.js":14985,"./sq":51104,"./sq.js":51104,"./sr":49131,"./sr-cyrl":79915,"./sr-cyrl.js":79915,"./sr.js":49131,"./ss":85893,"./ss.js":85893,"./sv":98760,"./sv.js":98760,"./sw":91172,"./sw.js":91172,"./ta":27333,"./ta.js":27333,"./te":23110,"./te.js":23110,"./tet":52095,"./tet.js":52095,"./tg":27321,"./tg.js":27321,"./th":9041,"./th.js":9041,"./tk":19005,"./tk.js":19005,"./tl-ph":75768,"./tl-ph.js":75768,"./tlh":89444,"./tlh.js":89444,"./tr":72397,"./tr.js":72397,"./tzl":28254,"./tzl.js":28254,"./tzm":51106,"./tzm-latn":30699,"./tzm-latn.js":30699,"./tzm.js":51106,"./ug-cn":9288,"./ug-cn.js":9288,"./uk":67691,"./uk.js":67691,"./ur":13795,"./ur.js":13795,"./uz":6791,"./uz-latn":60588,"./uz-latn.js":60588,"./uz.js":6791,"./vi":65666,"./vi.js":65666,"./x-pseudo":14378,"./x-pseudo.js":14378,"./yo":75805,"./yo.js":75805,"./zh-cn":83839,"./zh-cn.js":83839,"./zh-hk":55726,"./zh-hk.js":55726,"./zh-mo":99807,"./zh-mo.js":99807,"./zh-tw":74152,"./zh-tw.js":74152};function o(t){var e=i(t);return n(e)}function i(t){if(!n.o(r,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return r[t]}o.keys=function(){return Object.keys(r)},o.resolve=i,t.exports=o,o.id=46700},17652:function(t,e,n){"use strict";var r,o=(r=n(33129))&&r.__esModule?r:{default:r},i="undefined"==typeof window?[String,Array]:[String,Array,Element,NodeList];e.Z={render:function(t){var e=this.crossorigin||void 0;return t("div",{style:this.containerStyle},[t("img",{ref:"img",attrs:{src:this.src,alt:this.alt||"image",style:"max-width: 100%",crossorigin:e},on:this.$listeners,style:this.imgStyle})])},props:{containerStyle:Object,src:{type:String,default:""},alt:String,imgStyle:Object,viewMode:Number,dragMode:String,initialAspectRatio:Number,aspectRatio:Number,data:Object,preview:i,responsive:{type:Boolean,default:!0},restore:{type:Boolean,default:!0},checkCrossOrigin:{type:Boolean,default:!0},checkOrientation:{type:Boolean,default:!0},crossorigin:{type:String},modal:{type:Boolean,default:!0},guides:{type:Boolean,default:!0},center:{type:Boolean,default:!0},highlight:{type:Boolean,default:!0},background:{type:Boolean,default:!0},autoCrop:{type:Boolean,default:!0},autoCropArea:Number,movable:{type:Boolean,default:!0},rotatable:{type:Boolean,default:!0},scalable:{type:Boolean,default:!0},zoomable:{type:Boolean,default:!0},zoomOnTouch:{type:Boolean,default:!0},zoomOnWheel:{type:Boolean,default:!0},wheelZoomRatio:Number,cropBoxMovable:{type:Boolean,default:!0},cropBoxResizable:{type:Boolean,default:!0},toggleDragModeOnDblclick:{type:Boolean,default:!0},minCanvasWidth:Number,minCanvasHeight:Number,minCropBoxWidth:Number,minCropBoxHeight:Number,minContainerWidth:Number,minContainerHeight:Number,ready:Function,cropstart:Function,cropmove:Function,cropend:Function,crop:Function,zoom:Function},mounted:function(){var t=this.$options.props,e=(t.containerStyle,t.src,t.alt,t.imgStyle,function(t,e){var n={};for(var r in t)e.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n}(t,["containerStyle","src","alt","imgStyle"])),n={};for(var r in e)void 0!==this[r]&&(n[r]=this[r]);this.cropper=new o.default(this.$refs.img,n)},methods:{reset:function(){return this.cropper.reset()},clear:function(){return this.cropper.clear()},initCrop:function(){return this.cropper.crop()},replace:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this.cropper.replace(t,e)},enable:function(){return this.cropper.enable()},disable:function(){return this.cropper.disable()},destroy:function(){return this.cropper.destroy()},move:function(t,e){return this.cropper.move(t,e)},moveTo:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;return this.cropper.moveTo(t,e)},relativeZoom:function(t,e){return this.cropper.zoom(t,e)},zoomTo:function(t,e){return this.cropper.zoomTo(t,e)},rotate:function(t){return this.cropper.rotate(t)},rotateTo:function(t){return this.cropper.rotateTo(t)},scaleX:function(t){return this.cropper.scaleX(t)},scaleY:function(t){return this.cropper.scaleY(t)},scale:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;return this.cropper.scale(t,e)},getData:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.cropper.getData(t)},setData:function(t){return this.cropper.setData(t)},getContainerData:function(){return this.cropper.getContainerData()},getImageData:function(){return this.cropper.getImageData()},getCanvasData:function(){return this.cropper.getCanvasData()},setCanvasData:function(t){return this.cropper.setCanvasData(t)},getCropBoxData:function(){return this.cropper.getCropBoxData()},setCropBoxData:function(t){return this.cropper.setCropBoxData(t)},getCroppedCanvas:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.cropper.getCroppedCanvas(t)},setAspectRatio:function(t){return this.cropper.setAspectRatio(t)},setDragMode:function(t){return this.cropper.setDragMode(t)}}}},8738:function(t){"use strict";t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC"},42761:function(t){"use strict";t.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg=="},87210:function(t){"use strict";t.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K"},94659:function(t){"use strict";t.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg=="}},i={};function a(t){var e=i[t];if(void 0!==e)return e.exports;var n=i[t]={id:t,loaded:!1,exports:{}};return o[t].call(n.exports,n,n.exports,a),n.loaded=!0,n.exports}a.m=o,e=[],a.O=function(t,n,r,o){if(!n){var i=1/0;for(l=0;l<e.length;l++){n=e[l][0],r=e[l][1],o=e[l][2];for(var d=!0,s=0;s<n.length;s++)(!1&o||i>=o)&&Object.keys(a.O).every((function(t){return a.O[t](n[s])}))?n.splice(s--,1):(d=!1,o<i&&(i=o));if(d){e.splice(l--,1);var c=r();void 0!==c&&(t=c)}}return t}o=o||0;for(var l=e.length;l>0&&e[l-1][2]>o;l--)e[l]=e[l-1];e[l]=[n,r,o]},a.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return a.d(e,{a:e}),e},a.d=function(t,e){for(var n in e)a.o(e,n)&&!a.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},a.f={},a.e=function(t){return Promise.all(Object.keys(a.f).reduce((function(e,n){return a.f[n](t,e),e}),[]))},a.u=function(t){return t+"-"+t+".js?v="+{2250:"9c98ca37abd9ee1927b3",7996:"39e55a09e2da8534cf16"}[t]},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n={},r="nextcloud:",a.l=function(t,e,o,i){if(n[t])n[t].push(e);else{var d,s;if(void 0!==o)for(var c=document.getElementsByTagName("script"),l=0;l<c.length;l++){var u=c[l];if(u.getAttribute("src")==t||u.getAttribute("data-webpack")==r+o){d=u;break}}d||(s=!0,(d=document.createElement("script")).charset="utf-8",d.timeout=120,a.nc&&d.setAttribute("nonce",a.nc),d.setAttribute("data-webpack",r+o),d.src=t),n[t]=[e];var p=function(e,r){d.onerror=d.onload=null,clearTimeout(f);var o=n[t];if(delete n[t],d.parentNode&&d.parentNode.removeChild(d),o&&o.forEach((function(t){return t(r)})),e)return e(r)},f=setTimeout(p.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=p.bind(null,d.onerror),d.onload=p.bind(null,d.onload),s&&document.head.appendChild(d)}},a.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t},a.j=4418,function(){var t;a.g.importScripts&&(t=a.g.location+"");var e=a.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");if(n.length)for(var r=n.length-1;r>-1&&!t;)t=n[r--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=t}(),function(){a.b=document.baseURI||self.location.href;var t={4418:0};a.f.j=function(e,n){var r=a.o(t,e)?t[e]:void 0;if(0!==r)if(r)n.push(r[2]);else{var o=new Promise((function(n,o){r=t[e]=[n,o]}));n.push(r[2]=o);var i=a.p+a.u(e),d=new Error;a.l(i,(function(n){if(a.o(t,e)&&(0!==(r=t[e])&&(t[e]=void 0),r)){var o=n&&("load"===n.type?"missing":n.type),i=n&&n.target&&n.target.src;d.message="Loading chunk "+e+" failed.\n("+o+": "+i+")",d.name="ChunkLoadError",d.type=o,d.request=i,r[1](d)}}),"chunk-"+e,e)}},a.O.j=function(e){return 0===t[e]};var e=function(e,n){var r,o,i=n[0],d=n[1],s=n[2],c=0;if(i.some((function(e){return 0!==t[e]}))){for(r in d)a.o(d,r)&&(a.m[r]=d[r]);if(s)var l=s(a)}for(e&&e(n);c<i.length;c++)o=i[c],a.o(t,o)&&t[o]&&t[o][0](),t[o]=0;return a.O(l)},n=self.webpackChunknextcloud=self.webpackChunknextcloud||[];n.forEach(e.bind(null,0)),n.push=e.bind(null,n.push.bind(n))}(),a.nc=void 0;var d=a.O(void 0,[7874],(function(){return a(6190)}));d=a.O(d)}(); -//# sourceMappingURL=settings-vue-settings-personal-info.js.map?v=0656a7e4c62362d28911
\ No newline at end of file +!function(){var e,n,r,o={85874:function(e,n,r){"use strict";var o=r(20144),i=r(77958),a=r(43554),d=r(31352),s=r(93664),c=r(79753),l=r(64024),u=r(69183),p=r(18519),f=r(57274),h=r(17652),v=r(93379),m=r.n(v),y=r(7795),g=r.n(y),A=r(90569),$=r.n(A),b=r(3565),w=r.n(b),C=r(19216),x=r.n(C),E=r(44589),O=r.n(E),S=r(95073),P={};P.styleTagTransform=O(),P.setAttributes=w(),P.insert=$().bind(null,"head"),P.domAPI=g(),P.insertStyleElement=x(),m()(S.Z,P),S.Z&&S.Z.locals&&S.Z.locals;var L=r(75762),j=r(34829),I=r(57612),_=r(61149),k=r(3349),B=r(20212),N={name:"FederationControlAction",components:{NcActionButton:B.Z},props:{activeScope:{type:String,required:!0},displayName:{type:String,required:!0},handleScopeChange:{type:Function,default:function(){}},iconClass:{type:String,required:!0},isSupportedScope:{type:Boolean,required:!0},name:{type:String,required:!0},tooltipDisabled:{type:String,default:""},tooltip:{type:String,required:!0}},methods:{updateScope:function(){this.handleScopeChange(this.name)}}},D=r(80918),T={};T.styleTagTransform=O(),T.setAttributes=w(),T.insert=$().bind(null,"head"),T.domAPI=g(),T.insertStyleElement=x(),m()(D.Z,T),D.Z&&D.Z.locals&&D.Z.locals;var M,R,F,G,Z=r(51900),U=(0,Z.Z)(N,(function(){var t=this;return(0,t._self._c)("NcActionButton",{staticClass:"federation-actions__btn",class:{"federation-actions__btn--active":t.activeScope===t.name},attrs:{"aria-label":t.isSupportedScope?t.tooltip:t.tooltipDisabled,"close-after-click":!0,disabled:!t.isSupportedScope,icon:t.iconClass,title:t.displayName},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.updateScope.apply(null,arguments)}}},[t._v("\n\t"+t._s(t.isSupportedScope?t.tooltip:t.tooltipDisabled)+"\n")])}),[],!1,null,"4fc9bff1",null),Y=U.exports;function z(t){return z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},z(t)}function H(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==z(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==z(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===z(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var W=Object.freeze({ADDRESS:"address",AVATAR:"avatar",BIOGRAPHY:"biography",DISPLAYNAME:"displayname",EMAIL_COLLECTION:"additional_mail",EMAIL:"email",HEADLINE:"headline",NOTIFICATION_EMAIL:"notify_email",FEDIVERSE:"fediverse",ORGANISATION:"organisation",PHONE:"phone",PROFILE_ENABLED:"profile_enabled",ROLE:"role",TWITTER:"twitter",WEBSITE:"website"}),V=Object.freeze({ADDRESS:(0,d.Iu)("settings","Location"),AVATAR:(0,d.Iu)("settings","Profile picture"),BIOGRAPHY:(0,d.Iu)("settings","About"),DISPLAYNAME:(0,d.Iu)("settings","Full name"),EMAIL_COLLECTION:(0,d.Iu)("settings","Additional email"),EMAIL:(0,d.Iu)("settings","Email"),HEADLINE:(0,d.Iu)("settings","Headline"),ORGANISATION:(0,d.Iu)("settings","Organisation"),PHONE:(0,d.Iu)("settings","Phone number"),PROFILE_ENABLED:(0,d.Iu)("settings","Profile"),ROLE:(0,d.Iu)("settings","Role"),TWITTER:(0,d.Iu)("settings","Twitter"),FEDIVERSE:(0,d.Iu)("settings","Fediverse (e.g. Mastodon)"),WEBSITE:(0,d.Iu)("settings","Website")}),X=Object.freeze((H(M={},W.ADDRESS,V.ADDRESS),H(M,W.AVATAR,V.AVATAR),H(M,W.BIOGRAPHY,V.BIOGRAPHY),H(M,W.DISPLAYNAME,V.DISPLAYNAME),H(M,W.EMAIL_COLLECTION,V.EMAIL_COLLECTION),H(M,W.EMAIL,V.EMAIL),H(M,W.HEADLINE,V.HEADLINE),H(M,W.ORGANISATION,V.ORGANISATION),H(M,W.PHONE,V.PHONE),H(M,W.PROFILE_ENABLED,V.PROFILE_ENABLED),H(M,W.ROLE,V.ROLE),H(M,W.TWITTER,V.TWITTER),H(M,W.FEDIVERSE,V.FEDIVERSE),H(M,W.WEBSITE,V.WEBSITE),M)),q=Object.freeze({PROFILE_VISIBILITY:(0,d.Iu)("settings","Profile visibility")}),K=Object.freeze((H(R={},V.ADDRESS,W.ADDRESS),H(R,V.AVATAR,W.AVATAR),H(R,V.BIOGRAPHY,W.BIOGRAPHY),H(R,V.DISPLAYNAME,W.DISPLAYNAME),H(R,V.EMAIL_COLLECTION,W.EMAIL_COLLECTION),H(R,V.EMAIL,W.EMAIL),H(R,V.HEADLINE,W.HEADLINE),H(R,V.ORGANISATION,W.ORGANISATION),H(R,V.PHONE,W.PHONE),H(R,V.PROFILE_ENABLED,W.PROFILE_ENABLED),H(R,V.ROLE,W.ROLE),H(R,V.TWITTER,W.TWITTER),H(R,V.FEDIVERSE,W.FEDIVERSE),H(R,V.WEBSITE,W.WEBSITE),R)),Q=Object.freeze({LANGUAGE:"language",LOCALE:"locale"}),J=Object.freeze({LANGUAGE:(0,d.Iu)("settings","Language"),LOCALE:(0,d.Iu)("settings","Locale")}),tt=Object.freeze({PRIVATE:"v2-private",LOCAL:"v2-local",FEDERATED:"v2-federated",PUBLISHED:"v2-published"}),et=Object.freeze((H(F={},V.ADDRESS,[tt.LOCAL,tt.PRIVATE]),H(F,V.AVATAR,[tt.LOCAL,tt.PRIVATE]),H(F,V.BIOGRAPHY,[tt.LOCAL,tt.PRIVATE]),H(F,V.DISPLAYNAME,[tt.LOCAL]),H(F,V.EMAIL_COLLECTION,[tt.LOCAL]),H(F,V.EMAIL,[tt.LOCAL]),H(F,V.HEADLINE,[tt.LOCAL,tt.PRIVATE]),H(F,V.ORGANISATION,[tt.LOCAL,tt.PRIVATE]),H(F,V.PHONE,[tt.LOCAL,tt.PRIVATE]),H(F,V.PROFILE_ENABLED,[tt.LOCAL,tt.PRIVATE]),H(F,V.ROLE,[tt.LOCAL,tt.PRIVATE]),H(F,V.TWITTER,[tt.LOCAL,tt.PRIVATE]),H(F,V.FEDIVERSE,[tt.LOCAL,tt.PRIVATE]),H(F,V.WEBSITE,[tt.LOCAL,tt.PRIVATE]),F)),nt=Object.freeze([V.BIOGRAPHY,V.HEADLINE,V.ORGANISATION,V.ROLE]),rt="Scope",ot=Object.freeze((H(G={},tt.PRIVATE,{name:tt.PRIVATE,displayName:(0,d.Iu)("settings","Private"),tooltip:(0,d.Iu)("settings","Only visible to people matched via phone number integration through Talk on mobile"),tooltipDisabled:(0,d.Iu)("settings","Not available as this property is required for core functionality including file sharing and calendar invitations"),iconClass:"icon-phone"}),H(G,tt.LOCAL,{name:tt.LOCAL,displayName:(0,d.Iu)("settings","Local"),tooltip:(0,d.Iu)("settings","Only visible to people on this instance and guests"),iconClass:"icon-password"}),H(G,tt.FEDERATED,{name:tt.FEDERATED,displayName:(0,d.Iu)("settings","Federated"),tooltip:(0,d.Iu)("settings","Only synchronize to trusted servers"),tooltipDisabled:(0,d.Iu)("settings","Not available as federation has been disabled for your account, contact your system administrator if you have any questions"),iconClass:"icon-contacts-dark"}),H(G,tt.PUBLISHED,{name:tt.PUBLISHED,displayName:(0,d.Iu)("settings","Published"),tooltip:(0,d.Iu)("settings","Synchronize to trusted servers and the global and public address book"),tooltipDisabled:(0,d.Iu)("settings","Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions"),iconClass:"icon-link"}),G)),it=tt.LOCAL,at=Object.freeze({NOT_VERIFIED:0,VERIFICATION_IN_PROGRESS:1,VERIFIED:2}),dt=/^(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){255,})(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){65,}@)(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22))(?:\.(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-+[a-z0-9]+)*\.){1,126}){1,}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-+[a-z0-9]+)*)|(?:\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\]))$/i,st=r(7820);function ct(t){return ct="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ct(t)}function lt(){lt=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",d=o.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,n){return t[e]=n}}function c(t,e,n,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),d=new E(o||[]);return r(a,"_invoke",{value:b(t,n,d)}),a}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var u={};function p(){}function f(){}function h(){}var v={};s(v,i,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(O([])));y&&y!==e&&n.call(y,i)&&(v=y);var g=h.prototype=p.prototype=Object.create(v);function A(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function $(t,e){function o(r,i,a,d){var s=l(t[r],t,i);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==ct(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){o("next",t,a,d)}),(function(t){o("throw",t,a,d)})):e.resolve(u).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,d)}))}d(s.arg)}var i;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){o(t,n,e,r)}))}return i=i?i.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return{value:void 0,done:!0}}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var d=w(a,n);if(d){if(d===u)continue;return d}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var s=l(t,e,n);if("normal"===s.type){if(r=n.done?"completed":"suspendedYield",s.arg===u)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r="completed",n.method="throw",n.arg=s.arg)}}}function w(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),u;var o=l(r,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,u;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,u):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,u)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return f.prototype=h,r(g,"constructor",{value:h,configurable:!0}),r(h,"constructor",{value:f,configurable:!0}),f.displayName=s(h,d,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,d,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},A($.prototype),s($.prototype,a,(function(){return this})),t.AsyncIterator=$,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new $(c(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},A(g),s(g,d,"Generator"),s(g,i,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=O,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var d=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(d&&s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(d){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),u},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),u}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:O(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},t}function ut(t,e,n,r,o,i,a){try{var d=t[i](a),s=d.value}catch(t){return void n(t)}d.done?e(s):Promise.resolve(s).then(r,o)}function pt(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){ut(i,r,o,a,d,"next",t)}function d(t){ut(i,r,o,a,d,"throw",t)}a(void 0)}))}}r(65509);var ft=function(){var t=pt(lt().mark((function t(e,n){var r,o,a;return lt().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return"boolean"==typeof n&&(n=n?"1":"0"),r=(0,i.ts)().uid,o=(0,c.generateOcsUrl)("cloud/users/{userId}",{userId:r}),t.next=5,(0,st.Z)();case 5:return t.next=7,s.Z.put(o,{key:e,value:n});case 7:return a=t.sent,t.abrupt("return",a.data);case 9:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}(),ht=function(){var t=pt(lt().mark((function t(e,n){var r,o,a;return lt().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=(0,i.ts)().uid,o=(0,c.generateOcsUrl)("cloud/users/{userId}",{userId:r}),t.next=4,(0,st.Z)();case 4:return t.next=6,s.Z.put(o,{key:"".concat(e).concat(rt),value:n});case 6:return a=t.sent,t.abrupt("return",a.data);case 8:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}(),vt=(0,r(17499).IY)().setApp("settings").detectUser().build(),mt=function(t,e){var n,r="";e&&(r+=e),429===(null===(n=t.response)||void 0===n?void 0:n.status)&&(r&&(r+="\n"),r+=(0,d.Iu)("settings","There were too many requests from your network. Retry later or contact your administrator if this is an error.")),(0,l.x2)(r),vt.error(r||(0,d.Iu)("Error"),t)};function yt(t){return yt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yt(t)}function gt(){gt=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",d=o.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,n){return t[e]=n}}function c(t,e,n,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),d=new E(o||[]);return r(a,"_invoke",{value:b(t,n,d)}),a}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var u={};function p(){}function f(){}function h(){}var v={};s(v,i,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(O([])));y&&y!==e&&n.call(y,i)&&(v=y);var g=h.prototype=p.prototype=Object.create(v);function A(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function $(t,e){function o(r,i,a,d){var s=l(t[r],t,i);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==yt(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){o("next",t,a,d)}),(function(t){o("throw",t,a,d)})):e.resolve(u).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,d)}))}d(s.arg)}var i;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){o(t,n,e,r)}))}return i=i?i.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return{value:void 0,done:!0}}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var d=w(a,n);if(d){if(d===u)continue;return d}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var s=l(t,e,n);if("normal"===s.type){if(r=n.done?"completed":"suspendedYield",s.arg===u)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r="completed",n.method="throw",n.arg=s.arg)}}}function w(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),u;var o=l(r,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,u;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,u):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,u)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return f.prototype=h,r(g,"constructor",{value:h,configurable:!0}),r(h,"constructor",{value:f,configurable:!0}),f.displayName=s(h,d,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,d,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},A($.prototype),s($.prototype,a,(function(){return this})),t.AsyncIterator=$,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new $(c(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},A(g),s(g,d,"Generator"),s(g,i,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=O,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var d=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(d&&s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(d){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),u},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),u}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:O(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},t}function At(t,e,n,r,o,i,a){try{var d=t[i](a),s=d.value}catch(t){return void n(t)}d.done?e(s):Promise.resolve(s).then(r,o)}function $t(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){At(i,r,o,a,d,"next",t)}function d(t){At(i,r,o,a,d,"throw",t)}a(void 0)}))}}var bt=(0,a.j)("settings","accountParameters",{}),wt=bt.federationEnabled,Ct=bt.lookupServerUploadEnabled,xt={name:"FederationControl",components:{NcActions:k.Z,FederationControlAction:Y},props:{readable:{type:String,required:!0,validator:function(t){return Object.values(V).includes(t)||Object.values(J).includes(t)||t===q.PROFILE_VISIBILITY}},additional:{type:Boolean,default:!1},additionalValue:{type:String,default:""},disabled:{type:Boolean,default:!1},handleAdditionalScopeChange:{type:Function,default:null},scope:{type:String,required:!0}},data:function(){return{readableLowerCase:this.readable.toLocaleLowerCase(),initialScope:this.scope}},computed:{ariaLabel:function(){return t("settings","Change scope level of {property}, current scope is {scope}",{property:this.readableLowerCase,scope:this.scopeDisplayNameLowerCase})},scopeDisplayNameLowerCase:function(){return ot[this.scope].displayName.toLocaleLowerCase()},scopeIcon:function(){return ot[this.scope].iconClass},federationScopes:function(){return Object.values(ot)},supportedScopes:function(){var t=et[this.readable];return nt.includes(this.readable)||(wt&&t.push(tt.FEDERATED),Ct&&t.push(tt.PUBLISHED)),t}},methods:{changeScope:function(t){var e=this;return $t(gt().mark((function n(){return gt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(e.$emit("update:scope",t),e.additional){n.next=6;break}return n.next=4,e.updatePrimaryScope(t);case 4:n.next=8;break;case 6:return n.next=8,e.updateAdditionalScope(t);case 8:case"end":return n.stop()}}),n)})))()},updatePrimaryScope:function(e){var n=this;return $t(gt().mark((function r(){var o,i;return gt().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,ht(K[n.readable],e);case 3:i=r.sent,n.handleResponse({scope:e,status:null===(o=i.ocs)||void 0===o||null===(o=o.meta)||void 0===o?void 0:o.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),n.handleResponse({errorMessage:t("settings","Unable to update federation scope of the primary {property}",{property:n.readableLowerCase}),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},updateAdditionalScope:function(e){var n=this;return $t(gt().mark((function r(){var o,i;return gt().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,n.handleAdditionalScopeChange(n.additionalValue,e);case 3:i=r.sent,n.handleResponse({scope:e,status:null===(o=i.ocs)||void 0===o||null===(o=o.meta)||void 0===o?void 0:o.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),n.handleResponse({errorMessage:t("settings","Unable to update federation scope of additional {property}",{property:n.readableLowerCase}),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},handleResponse:function(t){var e=t.scope,n=t.status,r=t.errorMessage,o=t.error;"ok"===n?this.initialScope=e:(this.$emit("update:scope",this.initialScope),mt(o,r))}}},Et=r(79872),Ot={};Ot.styleTagTransform=O(),Ot.setAttributes=w(),Ot.insert=$().bind(null,"head"),Ot.domAPI=g(),Ot.insertStyleElement=x(),m()(Et.Z,Ot),Et.Z&&Et.Z.locals&&Et.Z.locals;var St=(0,Z.Z)(xt,(function(){var t=this,e=t._self._c;return e("NcActions",{class:{"federation-actions":!t.additional,"federation-actions--additional":t.additional},attrs:{"aria-label":t.ariaLabel,"default-icon":t.scopeIcon,disabled:t.disabled}},t._l(t.federationScopes,(function(n){return e("FederationControlAction",{key:n.name,attrs:{"active-scope":t.scope,"display-name":n.displayName,"handle-scope-change":t.changeScope,"icon-class":n.iconClass,"is-supported-scope":t.supportedScopes.includes(n.name),name:n.name,"tooltip-disabled":n.tooltipDisabled,tooltip:n.tooltip,"aria-label":n.tooltip}})})),1)}),[],!1,null,"bce2fdec",null).exports,Pt={name:"HeaderBar",components:{FederationControl:St,NcButton:f.Z,Plus:_.Z},props:{scope:{type:String,default:null},readable:{type:String,required:!0},inputId:{type:String,default:null},isEditable:{type:Boolean,default:!0},isMultiValueSupported:{type:Boolean,default:!1},isValidSection:{type:Boolean,default:!0},isHeading:{type:Boolean,default:!1}},data:function(){return{localScope:this.scope}},computed:{isProfileProperty:function(){return this.readable===V.PROFILE_ENABLED},isSettingProperty:function(){return!Object.values(V).includes(this.readable)&&!Object.values(q).includes(this.readable)}},methods:{onAddAdditional:function(){this.$emit("add-additional")},onScopeChange:function(t){this.$emit("update:scope",t)}}},Lt=r(47922),jt={};jt.styleTagTransform=O(),jt.setAttributes=w(),jt.insert=$().bind(null,"head"),jt.domAPI=g(),jt.insertStyleElement=x(),m()(Lt.Z,jt),Lt.Z&&Lt.Z.locals&&Lt.Z.locals;var It=(0,Z.Z)(Pt,(function(){var t=this,e=t._self._c;return e(t.isHeading?"h3":"div",{tag:"component",staticClass:"headerbar-label",class:{"setting-property":t.isSettingProperty,"profile-property":t.isProfileProperty}},[t.isHeading?e("span",[t._v("\n\t\t"+t._s(t.readable)+"\n\t")]):e("label",{attrs:{for:t.inputId}},[t._v("\n\t\t"+t._s(t.readable)+"\n\t")]),t._v(" "),t.scope?[e("FederationControl",{staticClass:"federation-control",attrs:{readable:t.readable,scope:t.localScope},on:{"update:scope":[function(e){t.localScope=e},t.onScopeChange]}})]:t._e(),t._v(" "),t.isEditable&&t.isMultiValueSupported?[e("NcButton",{attrs:{type:"tertiary",disabled:!t.isValidSection,"aria-label":t.t("settings","Add additional email")},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.onAddAdditional.apply(null,arguments)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Plus",{attrs:{size:20}})]},proxy:!0}],null,!1,32235154)},[t._v("\n\t\t\t"+t._s(t.t("settings","Add"))+"\n\t\t")])]:t._e()],2)}),[],!1,null,"117e8ad0",null),_t=It.exports;function kt(t){return kt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},kt(t)}function Bt(){Bt=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",d=o.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,n){return t[e]=n}}function c(t,e,n,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),d=new E(o||[]);return r(a,"_invoke",{value:b(t,n,d)}),a}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var u={};function p(){}function f(){}function h(){}var v={};s(v,i,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(O([])));y&&y!==e&&n.call(y,i)&&(v=y);var g=h.prototype=p.prototype=Object.create(v);function A(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function $(t,e){function o(r,i,a,d){var s=l(t[r],t,i);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==kt(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){o("next",t,a,d)}),(function(t){o("throw",t,a,d)})):e.resolve(u).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,d)}))}d(s.arg)}var i;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){o(t,n,e,r)}))}return i=i?i.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return{value:void 0,done:!0}}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var d=w(a,n);if(d){if(d===u)continue;return d}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var s=l(t,e,n);if("normal"===s.type){if(r=n.done?"completed":"suspendedYield",s.arg===u)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r="completed",n.method="throw",n.arg=s.arg)}}}function w(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),u;var o=l(r,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,u;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,u):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,u)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return f.prototype=h,r(g,"constructor",{value:h,configurable:!0}),r(h,"constructor",{value:f,configurable:!0}),f.displayName=s(h,d,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,d,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},A($.prototype),s($.prototype,a,(function(){return this})),t.AsyncIterator=$,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new $(c(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},A(g),s(g,d,"Generator"),s(g,i,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=O,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var d=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(d&&s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(d){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),u},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),u}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:O(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},t}function Nt(t,e,n,r,o,i,a){try{var d=t[i](a),s=d.value}catch(t){return void n(t)}d.done?e(s):Promise.resolve(s).then(r,o)}function Dt(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){Nt(i,r,o,a,d,"next",t)}function d(t){Nt(i,r,o,a,d,"throw",t)}a(void 0)}))}}function Tt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Mt(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Tt(Object(n),!0).forEach((function(e){Rt(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Tt(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function Rt(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==kt(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==kt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===kt(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Ft=(0,a.j)("settings","personalInfoParameters",{}).avatar,Gt=(0,a.j)("settings","accountParameters",{}).avatarChangeSupported,Zt=["image/png","image/jpeg"],Ut=(0,l.fn)(t("settings","Choose your profile picture")).setMultiSelect(!1).setMimeTypeFilter(Zt).setType(1).allowDirectories(!1).build(),Yt={name:"AvatarSection",components:{Delete:I.Z,Folder:j.default,HeaderBar:_t,NcAvatar:p.Z,NcButton:f.Z,Upload:L.Z,VueCropper:h.Z},data:function(){return{avatar:Mt(Mt({},Ft),{},{readable:X[Ft.name]}),avatarChangeSupported:Gt,showCropper:!1,loading:!1,userId:(0,i.ts)().uid,displayName:(0,i.ts)().displayName,version:oc_userconfig.avatar.version,isGenerated:oc_userconfig.avatar.generated,validMimeTypes:Zt,cropperOptions:{aspectRatio:1,viewMode:1,guides:!1,center:!1,highlight:!1,autoCropArea:1,minContainerWidth:300,minContainerHeight:300}}},computed:{inputId:function(){return"account-property-".concat(this.avatar.name)}},created:function(){(0,u.Ld)("settings:display-name:updated",this.handleDisplayNameUpdate)},beforeDestroy:function(){(0,u.r1)("settings:display-name:updated",this.handleDisplayNameUpdate)},methods:{activateLocalFilePicker:function(){this.$refs.input.value=null,this.$refs.input.click()},onChange:function(e){var n=this;this.loading=!0;var r=e.target.files[0];if(!this.validMimeTypes.includes(r.type))return(0,l.x2)(t("settings","Please select a valid png or jpg file")),void this.cancel();var o=new FileReader;o.onload=function(t){n.$refs.cropper.replace(t.target.result),n.showCropper=!0},o.readAsDataURL(r)},openFilePicker:function(){var e=this;return Dt(Bt().mark((function n(){var r,o,i,a;return Bt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Ut.pick();case 2:return r=n.sent,e.loading=!0,n.prev=4,n.next=7,s.Z.post((0,c.generateUrl)("/avatar"),{path:r});case 7:o=n.sent,"success"===(i=o.data).status?e.handleAvatarUpdate(!1):"notsquare"===i.data?(a=(0,c.generateUrl)("/avatar/tmp")+"?requesttoken="+encodeURIComponent(OC.requestToken)+"#"+Math.floor(1e3*Math.random()),e.$refs.cropper.replace(a),e.showCropper=!0):((0,l.x2)(i.data.message),e.cancel()),n.next=16;break;case 12:n.prev=12,n.t0=n.catch(4),(0,l.x2)(t("settings","Error setting profile picture")),e.cancel();case 16:case"end":return n.stop()}}),n,null,[[4,12]])})))()},saveAvatar:function(){var e=this;this.showCropper=!1,this.loading=!0;var n=this.$refs.cropper.getCroppedCanvas(),r=n.width>512?512/n.width:1;this.$refs.cropper.scale(r,r).getCroppedCanvas().toBlob(function(){var n=Dt(Bt().mark((function n(r){var o;return Bt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(null!==r){n.next=4;break}return(0,l.x2)(t("settings","Error cropping profile picture")),e.cancel(),n.abrupt("return");case 4:return(o=new FormData).append("files[]",r),n.prev=6,n.next=9,s.Z.post((0,c.generateUrl)("/avatar"),o);case 9:e.handleAvatarUpdate(!1),n.next=16;break;case 12:n.prev=12,n.t0=n.catch(6),(0,l.x2)(t("settings","Error saving profile picture")),e.handleAvatarUpdate(e.isGenerated);case 16:case"end":return n.stop()}}),n,null,[[6,12]])})));return function(t){return n.apply(this,arguments)}}())},removeAvatar:function(){var e=this;return Dt(Bt().mark((function n(){return Bt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return e.loading=!0,n.prev=1,n.next=4,s.Z.delete((0,c.generateUrl)("/avatar"));case 4:e.handleAvatarUpdate(!0),n.next=11;break;case 7:n.prev=7,n.t0=n.catch(1),(0,l.x2)(t("settings","Error removing profile picture")),e.handleAvatarUpdate(e.isGenerated);case 11:case"end":return n.stop()}}),n,null,[[1,7]])})))()},cancel:function(){this.showCropper=!1,this.loading=!1},handleAvatarUpdate:function(t){this.version=oc_userconfig.avatar.version=Date.now(),this.isGenerated=oc_userconfig.avatar.generated=t,this.loading=!1,(0,u.j8)("settings:avatar:updated",oc_userconfig.avatar.version)},handleDisplayNameUpdate:function(){this.version=oc_userconfig.avatar.version}}},zt=Yt,Ht=r(32248),Wt={};Wt.styleTagTransform=O(),Wt.setAttributes=w(),Wt.insert=$().bind(null,"head"),Wt.domAPI=g(),Wt.insertStyleElement=x(),m()(Ht.Z,Wt),Ht.Z&&Ht.Z.locals&&Ht.Z.locals;var Vt=(0,Z.Z)(zt,(function(){var t=this,e=t._self._c;return e("section",{attrs:{id:"vue-avatar-section"}},[e("h3",{staticClass:"hidden-visually"},[t._v("\n\t\t"+t._s(t.t("settings","Your profile information"))+"\n\t")]),t._v(" "),e("HeaderBar",{attrs:{"input-id":t.avatarChangeSupported?t.inputId:null,readable:t.avatar.readable,scope:t.avatar.scope},on:{"update:scope":function(e){return t.$set(t.avatar,"scope",e)}}}),t._v(" "),t.showCropper?t._e():e("div",{staticClass:"avatar__container"},[e("div",{staticClass:"avatar__preview"},[t.loading?e("div",{staticClass:"icon-loading"}):e("NcAvatar",{key:t.version,attrs:{user:t.userId,"aria-label":t.t("settings","Your profile picture"),"disabled-menu":!0,"disabled-tooltip":!0,"show-user-status":!1,size:180}})],1),t._v(" "),t.avatarChangeSupported?[e("div",{staticClass:"avatar__buttons"},[e("NcButton",{attrs:{"aria-label":t.t("settings","Upload profile picture")},on:{click:t.activateLocalFilePicker},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Upload",{attrs:{size:20}})]},proxy:!0}],null,!1,1329850251)}),t._v(" "),e("NcButton",{attrs:{"aria-label":t.t("settings","Choose profile picture from Files")},on:{click:t.openFilePicker},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Folder",{attrs:{size:20}})]},proxy:!0}],null,!1,4270628382)}),t._v(" "),t.isGenerated?t._e():e("NcButton",{attrs:{"aria-label":t.t("settings","Remove profile picture")},on:{click:t.removeAvatar},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Delete",{attrs:{size:20}})]},proxy:!0}],null,!1,2705356561)})],1),t._v(" "),e("span",[t._v(t._s(t.t("settings","The file must be a PNG or JPG")))]),t._v(" "),e("input",{ref:"input",attrs:{id:t.inputId,type:"file",accept:t.validMimeTypes.join(",")},on:{change:t.onChange}})]:e("span",[t._v("\n\t\t\t"+t._s(t.t("settings","Picture provided by original account"))+"\n\t\t")])],2),t._v(" "),e("div",{directives:[{name:"show",rawName:"v-show",value:t.showCropper,expression:"showCropper"}],staticClass:"avatar__container"},[e("VueCropper",t._b({ref:"cropper",staticClass:"avatar__cropper"},"VueCropper",t.cropperOptions,!1)),t._v(" "),e("div",{staticClass:"avatar__cropper-buttons"},[e("NcButton",{on:{click:t.cancel}},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Cancel"))+"\n\t\t\t")]),t._v(" "),e("NcButton",{attrs:{type:"primary"},on:{click:t.saveAvatar}},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Set as profile picture"))+"\n\t\t\t")])],1),t._v(" "),e("span",[t._v(t._s(t.t("settings","Please note that it can take up to 24 hours for your profile picture to be updated everywhere.")))])],1)],1)}),[],!1,null,"cd78cbb2",null).exports,Xt=r(34854),qt={name:"AccountIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Kt=(0,Z.Z)(qt,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon account-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,Qt={name:"CircleSlice3Icon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Jt=(0,Z.Z)(Qt,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon circle-slice3-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M12 5C15.87 5 19 8.13 19 12C19 13.93 18.22 15.68 16.95 16.95L12 12V5Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,te=(0,a.j)("settings","personalInfoParameters",{}),ee=te.groups,ne=te.quota,re=te.totalSpace,oe=te.usage,ie=te.usageRelative,ae={name:"DetailsSection",components:{Account:Kt,CircleSlice:Jt,HeaderBar:_t,NcProgressBar:Xt.Z},data:function(){return{groups:ee,usageRelative:ie}},computed:{quotaText:function(){return-3===ne?t("settings","You are using <strong>{usage}</strong>",{usage:oe}):t("settings","You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",{usage:oe,totalSpace:re,usageRelative:ie})}}},de=r(14260),se={};se.styleTagTransform=O(),se.setAttributes=w(),se.insert=$().bind(null,"head"),se.domAPI=g(),se.insertStyleElement=x(),m()(de.Z,se),de.Z&&de.Z.locals&&de.Z.locals;var ce=(0,Z.Z)(ae,(function(){var t=this,e=t._self._c;return e("section",[e("HeaderBar",{attrs:{"is-heading":!0,readable:t.t("settings","Details")}}),t._v(" "),e("div",{staticClass:"details"},[e("div",{staticClass:"details__groups"},[e("Account",{attrs:{size:20}}),t._v(" "),e("div",{staticClass:"details__groups-info"},[e("p",[t._v(t._s(t.t("settings","You are a member of the following groups:")))]),t._v(" "),e("p",{staticClass:"details__groups-list"},[t._v("\n\t\t\t\t\t"+t._s(t.groups.join(", "))+"\n\t\t\t\t")])])],1),t._v(" "),e("div",{staticClass:"details__quota"},[e("CircleSlice",{attrs:{size:20}}),t._v(" "),e("div",{staticClass:"details__quota-info"},[e("p",{staticClass:"details__quota-text",domProps:{innerHTML:t._s(t.quotaText)}}),t._v(" "),e("NcProgressBar",{attrs:{size:"medium",value:t.usageRelative,error:t.usageRelative>80}})],1)],1)])],1)}),[],!1,null,"f432848e",null).exports,le=r(20296),ue=r.n(le),pe=r(94603),fe={name:"AlertOctagonIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},he=(0,Z.Z)(fe,(function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon alert-octagon-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M13 13H11V7H13M11 15H13V17H11M15.73 3H8.27L3 8.27V15.73L8.27 21H15.73L21 15.73V8.27L15.73 3Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports,ve=r(80419);function me(t){return me="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},me(t)}function ye(){ye=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",d=o.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,n){return t[e]=n}}function c(t,e,n,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),d=new E(o||[]);return r(a,"_invoke",{value:b(t,n,d)}),a}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var u={};function p(){}function f(){}function h(){}var v={};s(v,i,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(O([])));y&&y!==e&&n.call(y,i)&&(v=y);var g=h.prototype=p.prototype=Object.create(v);function A(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function $(t,e){function o(r,i,a,d){var s=l(t[r],t,i);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==me(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){o("next",t,a,d)}),(function(t){o("throw",t,a,d)})):e.resolve(u).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,d)}))}d(s.arg)}var i;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){o(t,n,e,r)}))}return i=i?i.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return{value:void 0,done:!0}}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var d=w(a,n);if(d){if(d===u)continue;return d}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var s=l(t,e,n);if("normal"===s.type){if(r=n.done?"completed":"suspendedYield",s.arg===u)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r="completed",n.method="throw",n.arg=s.arg)}}}function w(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),u;var o=l(r,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,u;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,u):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,u)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return f.prototype=h,r(g,"constructor",{value:h,configurable:!0}),r(h,"constructor",{value:f,configurable:!0}),f.displayName=s(h,d,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,d,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},A($.prototype),s($.prototype,a,(function(){return this})),t.AsyncIterator=$,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new $(c(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},A(g),s(g,d,"Generator"),s(g,i,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=O,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var d=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(d&&s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(d){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),u},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),u}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:O(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},t}function ge(t,e,n,r,o,i,a){try{var d=t[i](a),s=d.value}catch(t){return void n(t)}d.done?e(s):Promise.resolve(s).then(r,o)}function Ae(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){ge(i,r,o,a,d,"next",t)}function d(t){ge(i,r,o,a,d,"throw",t)}a(void 0)}))}}var $e={name:"AccountPropertySection",components:{AlertCircle:pe.default,AlertOctagon:he,Check:ve.default,HeaderBar:_t},props:{name:{type:String,required:!0},value:{type:String,required:!0},scope:{type:String,required:!0},readable:{type:String,required:!0},placeholder:{type:String,required:!0},type:{type:String,default:"text"},isEditable:{type:Boolean,default:!0},multiLine:{type:Boolean,default:!1},onValidate:{type:Function,default:null},onSave:{type:Function,default:null},autocomplete:{type:String,default:null}},data:function(){return{initialValue:this.value,helperText:null,showCheckmarkIcon:!1,showErrorIcon:!1}},computed:{inputId:function(){return"account-property-".concat(this.name)}},methods:{onPropertyChange:function(t){this.$emit("update:value",t.target.value),this.debouncePropertyChange(t.target.value.trim())},debouncePropertyChange:ue()(function(){var t=Ae(ye().mark((function t(e){return ye().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.helperText=null,!this.$refs.input||!this.$refs.input.validationMessage){t.next=4;break}return this.helperText=this.$refs.input.validationMessage,t.abrupt("return");case 4:if(!this.onValidate||this.onValidate(e)){t.next=6;break}return t.abrupt("return");case 6:return t.next=8,this.updateProperty(e);case 8:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),500),updateProperty:function(e){var n=this;return Ae(ye().mark((function r(){var o,i;return ye().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,ft(n.name,e);case 3:i=r.sent,n.handleResponse({value:e,status:null===(o=i.ocs)||void 0===o||null===(o=o.meta)||void 0===o?void 0:o.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),n.handleResponse({errorMessage:t("settings","Unable to update {property}",{property:n.readable.toLocaleLowerCase()}),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},handleResponse:function(t){var e=this,n=t.value,r=t.status,o=t.errorMessage,i=t.error;"ok"===r?(this.initialValue=n,this.onSave&&this.onSave(n),this.showCheckmarkIcon=!0,setTimeout((function(){e.showCheckmarkIcon=!1}),2e3)):(this.$emit("update:value",this.initialValue),mt(i,o),this.showErrorIcon=!0,setTimeout((function(){e.showErrorIcon=!1}),2e3))}}},be=$e,we=r(29452),Ce={};Ce.styleTagTransform=O(),Ce.setAttributes=w(),Ce.insert=$().bind(null,"head"),Ce.domAPI=g(),Ce.insertStyleElement=x(),m()(we.Z,Ce),we.Z&&we.Z.locals&&we.Z.locals;var xe=(0,Z.Z)(be,(function(){var t=this,e=t._self._c;return e("section",[e("HeaderBar",{attrs:{scope:t.scope,readable:t.readable,"input-id":t.inputId,"is-editable":t.isEditable},on:{"update:scope":function(e){t.scope=e},"update:readable":function(e){t.readable=e}}}),t._v(" "),t.isEditable?e("div",{staticClass:"property"},[t.multiLine?e("textarea",{attrs:{id:t.inputId,placeholder:t.placeholder,rows:"8",autocapitalize:"none",autocomplete:"off",spellcheck:"false"},domProps:{value:t.value},on:{input:t.onPropertyChange}}):e("input",{ref:"input",attrs:{id:t.inputId,placeholder:t.placeholder,type:t.type,"aria-describedby":t.helperText?"".concat(t.name,"-helper-text"):"",autocapitalize:"none",spellcheck:"false",autocomplete:t.autocomplete},domProps:{value:t.value},on:{input:t.onPropertyChange}}),t._v(" "),e("div",{staticClass:"property__actions-container"},[e("transition",{attrs:{name:"fade"}},[t.showCheckmarkIcon?e("Check",{attrs:{size:20}}):t.showErrorIcon?e("AlertOctagon",{attrs:{size:20}}):t._e()],1)],1)]):e("span",[t._v("\n\t\t"+t._s(t.value||t.t("settings","No {property} set",{property:t.readable.toLocaleLowerCase()}))+"\n\t")]),t._v(" "),t.helperText?e("p",{staticClass:"property__helper-text-message property__helper-text-message--error",attrs:{id:"".concat(t.name,"-helper-text")}},[e("AlertCircle",{staticClass:"property__helper-text-message__icon",attrs:{size:18}}),t._v("\n\t\t"+t._s(t.helperText)+"\n\t")],1):t._e()],1)}),[],!1,null,"45da213c",null).exports;function Ee(t){return Ee="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ee(t)}function Oe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Se(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Oe(Object(n),!0).forEach((function(e){Pe(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Oe(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function Pe(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==Ee(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Ee(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===Ee(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Le=(0,a.j)("settings","personalInfoParameters",{}).displayName,je=(0,a.j)("settings","accountParameters",{}).displayNameChangeSupported,Ie={name:"DisplayNameSection",components:{AccountPropertySection:xe},data:function(){return{displayName:Se(Se({},Le),{},{readable:X[Le.name]}),displayNameChangeSupported:je}},methods:{onValidate:function(t){return""!==t},onSave:function(t){oc_userconfig.avatar.generated&&(oc_userconfig.avatar.version=Date.now()),(0,u.j8)("settings:display-name:updated",t)}}},_e=(0,Z.Z)(Ie,(function(){var t=this;return(0,t._self._c)("AccountPropertySection",t._b({attrs:{placeholder:t.t("settings","Your full name"),autocomplete:"username","is-editable":t.displayNameChangeSupported,"on-validate":t.onValidate,"on-save":t.onSave}},"AccountPropertySection",t.displayName,!1,!0))}),[],!1,null,null,null).exports;function ke(t){return ke="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ke(t)}function Be(){Be=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",d=o.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,n){return t[e]=n}}function c(t,e,n,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),d=new E(o||[]);return r(a,"_invoke",{value:b(t,n,d)}),a}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var u={};function p(){}function f(){}function h(){}var v={};s(v,i,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(O([])));y&&y!==e&&n.call(y,i)&&(v=y);var g=h.prototype=p.prototype=Object.create(v);function A(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function $(t,e){function o(r,i,a,d){var s=l(t[r],t,i);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==ke(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){o("next",t,a,d)}),(function(t){o("throw",t,a,d)})):e.resolve(u).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,d)}))}d(s.arg)}var i;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){o(t,n,e,r)}))}return i=i?i.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return{value:void 0,done:!0}}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var d=w(a,n);if(d){if(d===u)continue;return d}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var s=l(t,e,n);if("normal"===s.type){if(r=n.done?"completed":"suspendedYield",s.arg===u)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r="completed",n.method="throw",n.arg=s.arg)}}}function w(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),u;var o=l(r,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,u;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,u):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,u)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return f.prototype=h,r(g,"constructor",{value:h,configurable:!0}),r(h,"constructor",{value:f,configurable:!0}),f.displayName=s(h,d,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,d,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},A($.prototype),s($.prototype,a,(function(){return this})),t.AsyncIterator=$,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new $(c(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},A(g),s(g,d,"Generator"),s(g,i,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=O,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var d=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(d&&s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(d){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),u},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),u}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:O(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},t}function Ne(t,e,n,r,o,i,a){try{var d=t[i](a),s=d.value}catch(t){return void n(t)}d.done?e(s):Promise.resolve(s).then(r,o)}function De(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){Ne(i,r,o,a,d,"next",t)}function d(t){Ne(i,r,o,a,d,"throw",t)}a(void 0)}))}}var Te=function(){var t=De(Be().mark((function t(e){var n,r,o;return Be().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=(0,i.ts)().uid,r=(0,c.generateOcsUrl)("cloud/users/{userId}",{userId:n}),t.next=4,(0,st.Z)();case 4:return t.next=6,s.Z.put(r,{key:W.EMAIL,value:e});case 6:return o=t.sent,t.abrupt("return",o.data);case 8:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),Me=function(){var t=De(Be().mark((function t(e){var n,r,o;return Be().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=(0,i.ts)().uid,r=(0,c.generateOcsUrl)("cloud/users/{userId}",{userId:n}),t.next=4,(0,st.Z)();case 4:return t.next=6,s.Z.put(r,{key:W.EMAIL_COLLECTION,value:e});case 6:return o=t.sent,t.abrupt("return",o.data);case 8:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),Re=function(){var t=De(Be().mark((function t(e){var n,r,o;return Be().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=(0,i.ts)().uid,r=(0,c.generateOcsUrl)("cloud/users/{userId}",{userId:n}),t.next=4,(0,st.Z)();case 4:return t.next=6,s.Z.put(r,{key:W.NOTIFICATION_EMAIL,value:e});case 6:return o=t.sent,t.abrupt("return",o.data);case 8:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),Fe=function(){var t=De(Be().mark((function t(e){var n,r,o;return Be().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=(0,i.ts)().uid,r=(0,c.generateOcsUrl)("cloud/users/{userId}/{collection}",{userId:n,collection:W.EMAIL_COLLECTION}),t.next=4,(0,st.Z)();case 4:return t.next=6,s.Z.put(r,{key:e,value:""});case 6:return o=t.sent,t.abrupt("return",o.data);case 8:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),Ge=function(){var t=De(Be().mark((function t(e,n){var r,o,a;return Be().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=(0,i.ts)().uid,o=(0,c.generateOcsUrl)("cloud/users/{userId}/{collection}",{userId:r,collection:W.EMAIL_COLLECTION}),t.next=4,(0,st.Z)();case 4:return t.next=6,s.Z.put(o,{key:e,value:n});case 6:return a=t.sent,t.abrupt("return",a.data);case 8:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}(),Ze=function(){var t=De(Be().mark((function t(e){var n,r,o;return Be().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=(0,i.ts)().uid,r=(0,c.generateOcsUrl)("cloud/users/{userId}",{userId:n}),t.next=4,(0,st.Z)();case 4:return t.next=6,s.Z.put(r,{key:"".concat(W.EMAIL).concat(rt),value:e});case 6:return o=t.sent,t.abrupt("return",o.data);case 8:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),Ue=function(){var t=De(Be().mark((function t(e,n){var r,o,a;return Be().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=(0,i.ts)().uid,o=(0,c.generateOcsUrl)("cloud/users/{userId}/{collectionScope}",{userId:r,collectionScope:"".concat(W.EMAIL_COLLECTION).concat(rt)}),t.next=4,(0,st.Z)();case 4:return t.next=6,s.Z.put(o,{key:e,value:n});case 6:return a=t.sent,t.abrupt("return",a.data);case 8:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}();function Ye(t){return"string"==typeof t&&dt.test(t)&&"\n"!==t.slice(-1)&&t.length<=320&&encodeURIComponent(t).replace(/%../g,"x").length<=320}function ze(t){return ze="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ze(t)}function He(){He=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",d=o.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,n){return t[e]=n}}function c(t,e,n,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),d=new E(o||[]);return r(a,"_invoke",{value:b(t,n,d)}),a}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var u={};function p(){}function f(){}function h(){}var v={};s(v,i,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(O([])));y&&y!==e&&n.call(y,i)&&(v=y);var g=h.prototype=p.prototype=Object.create(v);function A(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function $(t,e){function o(r,i,a,d){var s=l(t[r],t,i);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==ze(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){o("next",t,a,d)}),(function(t){o("throw",t,a,d)})):e.resolve(u).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,d)}))}d(s.arg)}var i;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){o(t,n,e,r)}))}return i=i?i.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return{value:void 0,done:!0}}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var d=w(a,n);if(d){if(d===u)continue;return d}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var s=l(t,e,n);if("normal"===s.type){if(r=n.done?"completed":"suspendedYield",s.arg===u)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r="completed",n.method="throw",n.arg=s.arg)}}}function w(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),u;var o=l(r,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,u;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,u):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,u)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return f.prototype=h,r(g,"constructor",{value:h,configurable:!0}),r(h,"constructor",{value:f,configurable:!0}),f.displayName=s(h,d,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,d,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},A($.prototype),s($.prototype,a,(function(){return this})),t.AsyncIterator=$,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new $(c(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},A(g),s(g,d,"Generator"),s(g,i,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=O,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var d=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(d&&s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(d){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),u},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),u}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:O(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},t}function We(t,e,n,r,o,i,a){try{var d=t[i](a),s=d.value}catch(t){return void n(t)}d.done?e(s):Promise.resolve(s).then(r,o)}function Ve(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){We(i,r,o,a,d,"next",t)}function d(t){We(i,r,o,a,d,"throw",t)}a(void 0)}))}}var Xe={name:"Email",components:{NcActions:k.Z,NcActionButton:B.Z,AlertCircle:pe.default,AlertOctagon:he,Check:ve.default,FederationControl:St},props:{email:{type:String,required:!0},index:{type:Number,default:0},primary:{type:Boolean,default:!1},scope:{type:String,required:!0},activeNotificationEmail:{type:String,default:""},localVerificationState:{type:Number,default:at.NOT_VERIFIED}},data:function(){return{propertyReadable:V.EMAIL,initialEmail:this.email,localScope:this.scope,saveAdditionalEmailScope:Ue,helperText:null,showCheckmarkIcon:!1,showErrorIcon:!1}},computed:{deleteDisabled:function(){return this.primary?""===this.email||this.initialEmail!==this.email:""!==this.initialEmail&&this.initialEmail!==this.email},deleteEmailLabel:function(){return this.primary?t("settings","Remove primary email"):t("settings","Delete email")},setNotificationMailDisabled:function(){return!this.primary&&this.localVerificationState!==at.VERIFIED},setNotificationMailLabel:function(){return this.isNotificationEmail?t("settings","Unset as primary email"):this.primary||this.localVerificationState===at.VERIFIED?t("settings","Set as primary email"):t("settings","This address is not confirmed")},federationDisabled:function(){return!this.initialEmail},inputId:function(){return this.primary?"email":"email-".concat(this.index)},inputPlaceholder:function(){return this.primary?t("settings","Your email address"):t("settings","Additional email address {index}",{index:this.index+1})},isNotificationEmail:function(){return this.email&&this.email===this.activeNotificationEmail||this.primary&&""===this.activeNotificationEmail}},mounted:function(){var t=this;this.primary||""!==this.initialEmail||this.$nextTick((function(){var e;return null===(e=t.$refs.email)||void 0===e?void 0:e.focus()}))},methods:{onEmailChange:function(t){this.$emit("update:email",t.target.value),this.debounceEmailChange(t.target.value.trim())},debounceEmailChange:ue()(function(){var t=Ve(He().mark((function t(e){var n;return He().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.helperText=null,null===(n=this.$refs.email)||void 0===n||!n.validationMessage){t.next=4;break}return this.helperText=this.$refs.email.validationMessage,t.abrupt("return");case 4:if(!Ye(e)&&""!==e){t.next=18;break}if(!this.primary){t.next=10;break}return t.next=8,this.updatePrimaryEmail(e);case 8:case 14:t.next=18;break;case 10:if(!e){t.next=18;break}if(""!==this.initialEmail){t.next=16;break}return t.next=14,this.addAdditionalEmail(e);case 16:return t.next=18,this.updateAdditionalEmail(e);case 18:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),500),deleteEmail:function(){var t=this;return Ve(He().mark((function e(){return He().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.primary){e.next=6;break}return t.$emit("update:email",""),e.next=4,t.updatePrimaryEmail("");case 4:e.next=8;break;case 6:return e.next=8,t.deleteAdditionalEmail();case 8:case"end":return e.stop()}}),e)})))()},updatePrimaryEmail:function(e){var n=this;return Ve(He().mark((function r(){var o,i;return He().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,Te(e);case 3:i=r.sent,n.handleResponse({email:e,status:null===(o=i.ocs)||void 0===o||null===(o=o.meta)||void 0===o?void 0:o.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),""===e?n.handleResponse({errorMessage:t("settings","Unable to delete primary email address"),error:r.t0}):n.handleResponse({errorMessage:t("settings","Unable to update primary email address"),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},addAdditionalEmail:function(e){var n=this;return Ve(He().mark((function r(){var o,i;return He().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,Me(e);case 3:i=r.sent,n.handleResponse({email:e,status:null===(o=i.ocs)||void 0===o||null===(o=o.meta)||void 0===o?void 0:o.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),n.handleResponse({errorMessage:t("settings","Unable to add additional email address"),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},setNotificationMail:function(){var t=this;return Ve(He().mark((function e(){var n,r,o;return He().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,r=t.primary||t.isNotificationEmail?"":t.initialEmail,e.next=4,Re(r);case 4:o=e.sent,t.handleResponse({notificationEmail:r,status:null===(n=o.ocs)||void 0===n||null===(n=n.meta)||void 0===n?void 0:n.status}),e.next=11;break;case 8:e.prev=8,e.t0=e.catch(0),t.handleResponse({errorMessage:"Unable to choose this email for notifications",error:e.t0});case 11:case"end":return e.stop()}}),e,null,[[0,8]])})))()},updateAdditionalEmail:function(e){var n=this;return Ve(He().mark((function r(){var o,i;return He().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,Ge(n.initialEmail,e);case 3:i=r.sent,n.handleResponse({email:e,status:null===(o=i.ocs)||void 0===o||null===(o=o.meta)||void 0===o?void 0:o.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),n.handleResponse({errorMessage:t("settings","Unable to update additional email address"),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},deleteAdditionalEmail:function(){var e=this;return Ve(He().mark((function n(){var r,o;return He().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,Fe(e.initialEmail);case 3:o=n.sent,e.handleDeleteAdditionalEmail(null===(r=o.ocs)||void 0===r||null===(r=r.meta)||void 0===r?void 0:r.status),n.next=10;break;case 7:n.prev=7,n.t0=n.catch(0),e.handleResponse({errorMessage:t("settings","Unable to delete additional email address"),error:n.t0});case 10:case"end":return n.stop()}}),n,null,[[0,7]])})))()},handleDeleteAdditionalEmail:function(e){"ok"===e?this.$emit("delete-additional-email"):this.handleResponse({errorMessage:t("settings","Unable to delete additional email address")})},handleResponse:function(t){var e=this,n=t.email,r=t.notificationEmail,o=t.status,i=t.errorMessage,a=t.error;"ok"===o?(n?this.initialEmail=n:void 0!==r&&this.$emit("update:notification-email",r),this.showCheckmarkIcon=!0,setTimeout((function(){e.showCheckmarkIcon=!1}),2e3)):(mt(a,i),this.showErrorIcon=!0,setTimeout((function(){e.showErrorIcon=!1}),2e3))},onScopeChange:function(t){this.$emit("update:scope",t)}}},qe=Xe,Ke=r(58630),Qe={};Qe.styleTagTransform=O(),Qe.setAttributes=w(),Qe.insert=$().bind(null,"head"),Qe.domAPI=g(),Qe.insertStyleElement=x(),m()(Ke.Z,Qe),Ke.Z&&Ke.Z.locals&&Ke.Z.locals;var Je=(0,Z.Z)(qe,(function(){var t=this,e=t._self._c;return e("div",[e("div",{staticClass:"email"},[e("input",{ref:"email",attrs:{id:t.inputId,type:"email",autocomplete:"email",placeholder:t.inputPlaceholder,"aria-describedby":t.helperText?"".concat(t.inputId,"-helper-text"):"",autocapitalize:"none",spellcheck:"false"},domProps:{value:t.email},on:{input:t.onEmailChange}}),t._v(" "),e("div",{staticClass:"email__actions-container"},[e("transition",{attrs:{name:"fade"}},[t.showCheckmarkIcon?e("Check",{attrs:{size:20}}):t.showErrorIcon?e("AlertOctagon",{attrs:{size:20}}):t._e()],1),t._v(" "),t.primary?t._e():[e("FederationControl",{attrs:{readable:t.propertyReadable,additional:!0,"additional-value":t.email,disabled:t.federationDisabled,"handle-additional-scope-change":t.saveAdditionalEmailScope,scope:t.localScope},on:{"update:scope":[function(e){t.localScope=e},t.onScopeChange]}})],t._v(" "),e("NcActions",{staticClass:"email__actions",attrs:{"aria-label":t.t("settings","Email options"),"force-menu":!0}},[e("NcActionButton",{attrs:{"aria-label":t.deleteEmailLabel,"close-after-click":!0,disabled:t.deleteDisabled,icon:"icon-delete"},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.deleteEmail.apply(null,arguments)}}},[t._v("\n\t\t\t\t\t"+t._s(t.deleteEmailLabel)+"\n\t\t\t\t")]),t._v(" "),t.primary&&t.isNotificationEmail?t._e():e("NcActionButton",{attrs:{"aria-label":t.setNotificationMailLabel,"close-after-click":!0,disabled:t.setNotificationMailDisabled,icon:"icon-favorite"},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.setNotificationMail.apply(null,arguments)}}},[t._v("\n\t\t\t\t\t"+t._s(t.setNotificationMailLabel)+"\n\t\t\t\t")])],1)],2)]),t._v(" "),t.helperText?e("p",{staticClass:"email__helper-text-message email__helper-text-message--error",attrs:{id:"".concat(t.inputId,"-helper-text")}},[e("AlertCircle",{staticClass:"email__helper-text-message__icon",attrs:{size:18}}),t._v("\n\t\t"+t._s(t.helperText)+"\n\t")],1):t._e(),t._v(" "),t.isNotificationEmail?e("em",[t._v("\n\t\t"+t._s(t.t("settings","Primary email for password reset and notifications"))+"\n\t")]):t._e()])}),[],!1,null,"01402aef",null),tn=Je.exports;function en(t){return en="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},en(t)}function nn(){nn=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",d=o.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,n){return t[e]=n}}function c(t,e,n,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),d=new E(o||[]);return r(a,"_invoke",{value:b(t,n,d)}),a}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var u={};function p(){}function f(){}function h(){}var v={};s(v,i,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(O([])));y&&y!==e&&n.call(y,i)&&(v=y);var g=h.prototype=p.prototype=Object.create(v);function A(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function $(t,e){function o(r,i,a,d){var s=l(t[r],t,i);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==en(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){o("next",t,a,d)}),(function(t){o("throw",t,a,d)})):e.resolve(u).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,d)}))}d(s.arg)}var i;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){o(t,n,e,r)}))}return i=i?i.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return{value:void 0,done:!0}}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var d=w(a,n);if(d){if(d===u)continue;return d}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var s=l(t,e,n);if("normal"===s.type){if(r=n.done?"completed":"suspendedYield",s.arg===u)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r="completed",n.method="throw",n.arg=s.arg)}}}function w(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),u;var o=l(r,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,u;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,u):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,u)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return f.prototype=h,r(g,"constructor",{value:h,configurable:!0}),r(h,"constructor",{value:f,configurable:!0}),f.displayName=s(h,d,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,d,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},A($.prototype),s($.prototype,a,(function(){return this})),t.AsyncIterator=$,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new $(c(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},A(g),s(g,d,"Generator"),s(g,i,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=O,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var d=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(d&&s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(d){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),u},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),u}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:O(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},t}function rn(t,e,n,r,o,i,a){try{var d=t[i](a),s=d.value}catch(t){return void n(t)}d.done?e(s):Promise.resolve(s).then(r,o)}function on(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){rn(i,r,o,a,d,"next",t)}function d(t){rn(i,r,o,a,d,"throw",t)}a(void 0)}))}}function an(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function dn(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?an(Object(n),!0).forEach((function(e){sn(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):an(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function sn(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==en(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==en(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===en(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var cn=(0,a.j)("settings","personalInfoParameters",{}).emailMap,ln=cn.additionalEmails,un=cn.primaryEmail,pn=cn.notificationEmail,fn=(0,a.j)("settings","accountParameters",{}).displayNameChangeSupported,hn={name:"EmailSection",components:{HeaderBar:_t,Email:tn},data:function(){var t=this;return{accountProperty:V.EMAIL,additionalEmails:ln.map((function(e){return dn(dn({},e),{},{key:t.generateUniqueKey()})})),displayNameChangeSupported:fn,primaryEmail:dn(dn({},un),{},{readable:X[un.name]}),savePrimaryEmailScope:Ze,notificationEmail:pn}},computed:{firstAdditionalEmail:function(){return this.additionalEmails.length?this.additionalEmails[0].value:null},inputId:function(){return"account-property-".concat(this.primaryEmail.name)},isValidSection:function(){return Ye(this.primaryEmail.value)&&this.additionalEmails.map((function(t){return t.value})).every(Ye)},primaryEmailValue:{get:function(){return this.primaryEmail.value},set:function(t){this.primaryEmail.value=t}}},methods:{onAddAdditionalEmail:function(){this.isValidSection&&this.additionalEmails.push({value:"",scope:it,key:this.generateUniqueKey()})},onDeleteAdditionalEmail:function(t){this.$delete(this.additionalEmails,t)},onUpdateEmail:function(){var t=this;return on(nn().mark((function e(){var n;return nn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(""!==t.primaryEmailValue||!t.firstAdditionalEmail){e.next=7;break}return n=t.firstAdditionalEmail,e.next=4,t.deleteFirstAdditionalEmail();case 4:return t.primaryEmailValue=n,e.next=7,t.updatePrimaryEmail();case 7:case"end":return e.stop()}}),e)})))()},onUpdateNotificationEmail:function(t){var e=this;return on(nn().mark((function n(){return nn().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:e.notificationEmail=t;case 1:case"end":return n.stop()}}),n)})))()},updatePrimaryEmail:function(){var e=this;return on(nn().mark((function n(){var r,o;return nn().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,Te(e.primaryEmailValue);case 3:o=n.sent,e.handleResponse(null===(r=o.ocs)||void 0===r||null===(r=r.meta)||void 0===r?void 0:r.status),n.next=10;break;case 7:n.prev=7,n.t0=n.catch(0),e.handleResponse("error",t("settings","Unable to update primary email address"),n.t0);case 10:case"end":return n.stop()}}),n,null,[[0,7]])})))()},deleteFirstAdditionalEmail:function(){var e=this;return on(nn().mark((function n(){var r,o;return nn().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,Fe(e.firstAdditionalEmail);case 3:o=n.sent,e.handleDeleteFirstAdditionalEmail(null===(r=o.ocs)||void 0===r||null===(r=r.meta)||void 0===r?void 0:r.status),n.next=10;break;case 7:n.prev=7,n.t0=n.catch(0),e.handleResponse("error",t("settings","Unable to delete additional email address"),n.t0);case 10:case"end":return n.stop()}}),n,null,[[0,7]])})))()},handleDeleteFirstAdditionalEmail:function(e){"ok"===e?this.$delete(this.additionalEmails,0):this.handleResponse("error",t("settings","Unable to delete additional email address"),{})},handleResponse:function(t,e,n){"ok"!==t&&mt(n,e)},generateUniqueKey:function(){return Math.random().toString(36).substring(2)}}},vn=r(47791),mn={};mn.styleTagTransform=O(),mn.setAttributes=w(),mn.insert=$().bind(null,"head"),mn.domAPI=g(),mn.insertStyleElement=x(),m()(vn.Z,mn),vn.Z&&vn.Z.locals&&vn.Z.locals;var yn=(0,Z.Z)(hn,(function(){var t=this,e=t._self._c;return e("section",[e("HeaderBar",{attrs:{"input-id":t.inputId,readable:t.primaryEmail.readable,"handle-scope-change":t.savePrimaryEmailScope,"is-editable":!0,"is-multi-value-supported":!0,"is-valid-section":t.isValidSection,scope:t.primaryEmail.scope},on:{"update:scope":function(e){return t.$set(t.primaryEmail,"scope",e)},"add-additional":t.onAddAdditionalEmail}}),t._v(" "),t.displayNameChangeSupported?[e("Email",{attrs:{primary:!0,scope:t.primaryEmail.scope,email:t.primaryEmail.value,"active-notification-email":t.notificationEmail},on:{"update:scope":function(e){return t.$set(t.primaryEmail,"scope",e)},"update:email":[function(e){return t.$set(t.primaryEmail,"value",e)},t.onUpdateEmail],"update:activeNotificationEmail":function(e){t.notificationEmail=e},"update:active-notification-email":function(e){t.notificationEmail=e},"update:notification-email":t.onUpdateNotificationEmail}})]:e("span",[t._v("\n\t\t"+t._s(t.primaryEmail.value||t.t("settings","No email address set"))+"\n\t")]),t._v(" "),t.additionalEmails.length?[e("em",{staticClass:"additional-emails-label"},[t._v(t._s(t.t("settings","Additional emails")))]),t._v(" "),t._l(t.additionalEmails,(function(n,r){return e("Email",{key:n.key,attrs:{index:r,scope:n.scope,email:n.value,"local-verification-state":parseInt(n.locallyVerified,10),"active-notification-email":t.notificationEmail},on:{"update:scope":function(e){return t.$set(n,"scope",e)},"update:email":[function(e){return t.$set(n,"value",e)},t.onUpdateEmail],"update:activeNotificationEmail":function(e){t.notificationEmail=e},"update:active-notification-email":function(e){t.notificationEmail=e},"update:notification-email":t.onUpdateNotificationEmail,"delete-additional-email":function(e){return t.onDeleteAdditionalEmail(r)}}})}))]:t._e()],2)}),[],!1,null,"b17ef20e",null).exports,gn={version:4,country_calling_codes:{1:["US","AG","AI","AS","BB","BM","BS","CA","DM","DO","GD","GU","JM","KN","KY","LC","MP","MS","PR","SX","TC","TT","VC","VG","VI"],7:["RU","KZ"],20:["EG"],27:["ZA"],30:["GR"],31:["NL"],32:["BE"],33:["FR"],34:["ES"],36:["HU"],39:["IT","VA"],40:["RO"],41:["CH"],43:["AT"],44:["GB","GG","IM","JE"],45:["DK"],46:["SE"],47:["NO","SJ"],48:["PL"],49:["DE"],51:["PE"],52:["MX"],53:["CU"],54:["AR"],55:["BR"],56:["CL"],57:["CO"],58:["VE"],60:["MY"],61:["AU","CC","CX"],62:["ID"],63:["PH"],64:["NZ"],65:["SG"],66:["TH"],81:["JP"],82:["KR"],84:["VN"],86:["CN"],90:["TR"],91:["IN"],92:["PK"],93:["AF"],94:["LK"],95:["MM"],98:["IR"],211:["SS"],212:["MA","EH"],213:["DZ"],216:["TN"],218:["LY"],220:["GM"],221:["SN"],222:["MR"],223:["ML"],224:["GN"],225:["CI"],226:["BF"],227:["NE"],228:["TG"],229:["BJ"],230:["MU"],231:["LR"],232:["SL"],233:["GH"],234:["NG"],235:["TD"],236:["CF"],237:["CM"],238:["CV"],239:["ST"],240:["GQ"],241:["GA"],242:["CG"],243:["CD"],244:["AO"],245:["GW"],246:["IO"],247:["AC"],248:["SC"],249:["SD"],250:["RW"],251:["ET"],252:["SO"],253:["DJ"],254:["KE"],255:["TZ"],256:["UG"],257:["BI"],258:["MZ"],260:["ZM"],261:["MG"],262:["RE","YT"],263:["ZW"],264:["NA"],265:["MW"],266:["LS"],267:["BW"],268:["SZ"],269:["KM"],290:["SH","TA"],291:["ER"],297:["AW"],298:["FO"],299:["GL"],350:["GI"],351:["PT"],352:["LU"],353:["IE"],354:["IS"],355:["AL"],356:["MT"],357:["CY"],358:["FI","AX"],359:["BG"],370:["LT"],371:["LV"],372:["EE"],373:["MD"],374:["AM"],375:["BY"],376:["AD"],377:["MC"],378:["SM"],380:["UA"],381:["RS"],382:["ME"],383:["XK"],385:["HR"],386:["SI"],387:["BA"],389:["MK"],420:["CZ"],421:["SK"],423:["LI"],500:["FK"],501:["BZ"],502:["GT"],503:["SV"],504:["HN"],505:["NI"],506:["CR"],507:["PA"],508:["PM"],509:["HT"],590:["GP","BL","MF"],591:["BO"],592:["GY"],593:["EC"],594:["GF"],595:["PY"],596:["MQ"],597:["SR"],598:["UY"],599:["CW","BQ"],670:["TL"],672:["NF"],673:["BN"],674:["NR"],675:["PG"],676:["TO"],677:["SB"],678:["VU"],679:["FJ"],680:["PW"],681:["WF"],682:["CK"],683:["NU"],685:["WS"],686:["KI"],687:["NC"],688:["TV"],689:["PF"],690:["TK"],691:["FM"],692:["MH"],850:["KP"],852:["HK"],853:["MO"],855:["KH"],856:["LA"],880:["BD"],886:["TW"],960:["MV"],961:["LB"],962:["JO"],963:["SY"],964:["IQ"],965:["KW"],966:["SA"],967:["YE"],968:["OM"],970:["PS"],971:["AE"],972:["IL"],973:["BH"],974:["QA"],975:["BT"],976:["MN"],977:["NP"],992:["TJ"],993:["TM"],994:["AZ"],995:["GE"],996:["KG"],998:["UZ"]},countries:{AC:["247","00","(?:[01589]\\d|[46])\\d{4}",[5,6]],AD:["376","00","(?:1|6\\d)\\d{7}|[135-9]\\d{5}",[6,8,9],[["(\\d{3})(\\d{3})","$1 $2",["[135-9]"]],["(\\d{4})(\\d{4})","$1 $2",["1"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]]]],AE:["971","00","(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}",[5,6,7,8,9,10,11,12],[["(\\d{3})(\\d{2,9})","$1 $2",["60|8"]],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[236]|[479][2-8]"],"0$1"],["(\\d{3})(\\d)(\\d{5})","$1 $2 $3",["[479]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"]],"0"],AF:["93","00","[2-7]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[2-7]"],"0$1"]],"0"],AG:["1","011","(?:268|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([457]\\d{6})$|1","268$1",0,"268"],AI:["1","011","(?:264|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2457]\\d{6})$|1","264$1",0,"264"],AL:["355","00","(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}",[6,7,8,9],[["(\\d{3})(\\d{3,4})","$1 $2",["80|9"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["4[2-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2358][2-5]|4"],"0$1"],["(\\d{3})(\\d{5})","$1 $2",["[23578]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["6"],"0$1"]],"0"],AM:["374","00","(?:[1-489]\\d|55|60|77)\\d{6}",[8],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[89]0"],"0 $1"],["(\\d{3})(\\d{5})","$1 $2",["2|3[12]"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["1|47"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["[3-9]"],"0$1"]],"0"],AO:["244","00","[29]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[29]"]]]],AR:["54","00","(?:11|[89]\\d\\d)\\d{8}|[2368]\\d{9}",[10,11],[["(\\d{4})(\\d{2})(\\d{4})","$1 $2-$3",["2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])","2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)","2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]","2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],"0$1",1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["1"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2-$3",["[23]"],"0$1",1],["(\\d)(\\d{4})(\\d{2})(\\d{4})","$2 15-$3-$4",["9(?:2[2-469]|3[3-578])","9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))","9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)","9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]","9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],"0$1",0,"$1 $2 $3-$4"],["(\\d)(\\d{2})(\\d{4})(\\d{4})","$2 15-$3-$4",["91"],"0$1",0,"$1 $2 $3-$4"],["(\\d{3})(\\d{3})(\\d{5})","$1-$2-$3",["8"],"0$1"],["(\\d)(\\d{3})(\\d{3})(\\d{4})","$2 15-$3-$4",["9"],"0$1",0,"$1 $2 $3-$4"]],"0",0,"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?","9$1"],AS:["1","011","(?:[58]\\d\\d|684|900)\\d{7}",[10],0,"1",0,"([267]\\d{6})$|1","684$1",0,"684"],AT:["43","00","1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}",[4,5,6,7,8,9,10,11,12,13],[["(\\d)(\\d{3,12})","$1 $2",["1(?:11|[2-9])"],"0$1"],["(\\d{3})(\\d{2})","$1 $2",["517"],"0$1"],["(\\d{2})(\\d{3,5})","$1 $2",["5[079]"],"0$1"],["(\\d{3})(\\d{3,10})","$1 $2",["(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]"],"0$1"],["(\\d{4})(\\d{3,9})","$1 $2",["[2-467]|5[2-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["5"],"0$1"],["(\\d{2})(\\d{4})(\\d{4,7})","$1 $2 $3",["5"],"0$1"]],"0"],AU:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d{7}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}",[5,6,7,8,9,10,12],[["(\\d{2})(\\d{3,4})","$1 $2",["16"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,4})","$1 $2 $3",["16"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["14|4"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["[2378]"],"(0$1)"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:30|[89])"]]],"0",0,"(183[12])|0",0,0,0,[["(?:(?:2(?:[0-26-9]\\d|3[0-8]|4[02-9]|5[0135-9])|3(?:[0-3589]\\d|4[0-578]|6[1-9]|7[0-35-9])|7(?:[013-57-9]\\d|2[0-8]))\\d{3}|8(?:51(?:0(?:0[03-9]|[12479]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\d|7[89]|9[0-4]))|(?:6[0-8]|[78]\\d)\\d{3}|9(?:[02-9]\\d{3}|1(?:(?:[0-58]\\d|6[0135-9])\\d|7(?:0[0-24-9]|[1-9]\\d)|9(?:[0-46-9]\\d|5[0-79])))))\\d{3}",[9]],["4(?:(?:79|94)[01]|83[0-389])\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[016-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,["163\\d{2,6}",[5,6,7,8,9]],["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}",[9]],["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}",[6,8,10,12]]],"0011"],AW:["297","00","(?:[25-79]\\d\\d|800)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[25-9]"]]]],AX:["358","00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))","2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|7\\d{5,11}|(?:[14]\\d|3[0-46-9]|50)\\d{4,8}",[5,6,7,8,9,10,11,12],0,"0",0,0,0,0,"18",0,"00"],AZ:["994","00","365\\d{6}|(?:[124579]\\d|60|88)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["90"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[28]|2|365|46","1[28]|2|365[45]|46","1[28]|2|365(?:4|5[02])|46"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[13-9]"],"0$1"]],"0"],BA:["387","00","6\\d{8}|(?:[35689]\\d|49|70)\\d{6}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["6[1-3]|[7-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2-$3",["[3-5]|6[56]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["6"],"0$1"]],"0"],BB:["1","011","(?:246|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","246$1",0,"246"],BD:["880","00","[1-469]\\d{9}|8[0-79]\\d{7,8}|[2-79]\\d{8}|[2-9]\\d{7}|[3-9]\\d{6}|[57-9]\\d{5}",[6,7,8,9,10],[["(\\d{2})(\\d{4,6})","$1-$2",["31[5-8]|[459]1"],"0$1"],["(\\d{3})(\\d{3,7})","$1-$2",["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]"],"0$1"],["(\\d{4})(\\d{3,6})","$1-$2",["[13-9]|22"],"0$1"],["(\\d)(\\d{7,8})","$1-$2",["2"],"0$1"]],"0"],BE:["32","00","4\\d{8}|[1-9]\\d{7}",[8,9],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["(?:80|9)0"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[239]|4[23]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[15-8]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["4"],"0$1"]],"0"],BF:["226","00","[025-7]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[025-7]"]]]],BG:["359","00","00800\\d{7}|[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}",[6,7,8,9,12],[["(\\d)(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["2"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["43[1-6]|70[1-9]"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["(?:70|8)0"],"0$1"],["(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3",["43[1-7]|7"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[48]|9[08]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"]],"0"],BH:["973","00","[136-9]\\d{7}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[13679]|8[02-4679]"]]]],BI:["257","00","(?:[267]\\d|31)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2367]"]]]],BJ:["229","00","[24-689]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24-689]"]]]],BL:["590","00","590\\d{6}|(?:69|80|9\\d)\\d{7}",[9],0,"0",0,0,0,0,0,[["590(?:2[7-9]|3[3-7]|5[12]|87)\\d{4}"],["69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))\\d{4}"],["80[0-5]\\d{6}"],0,0,0,0,0,["9(?:(?:395|76[018])\\d|475[0-5])\\d{4}"]]],BM:["1","011","(?:441|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","441$1",0,"441"],BN:["673","00","[2-578]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-578]"]]]],BO:["591","00(?:1\\d)?","(?:[2-467]\\d\\d|8001)\\d{5}",[8,9],[["(\\d)(\\d{7})","$1 $2",["[23]|4[46]"]],["(\\d{8})","$1",["[67]"]],["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["8"]]],"0",0,"0(1\\d)?"],BQ:["599","00","(?:[34]1|7\\d)\\d{5}",[7],0,0,0,0,0,0,"[347]"],BR:["55","00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)","(?:[1-46-9]\\d\\d|5(?:[0-46-9]\\d|5[0-46-9]))\\d{8}|[1-9]\\d{9}|[3589]\\d{8}|[34]\\d{7}",[8,9,10,11],[["(\\d{4})(\\d{4})","$1-$2",["300|4(?:0[02]|37)","4(?:02|37)0|[34]00"]],["(\\d{3})(\\d{2,3})(\\d{4})","$1 $2 $3",["(?:[358]|90)0"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"],"($1)"],["(\\d{2})(\\d{5})(\\d{4})","$1 $2-$3",["[16][1-9]|[2-57-9]"],"($1)"]],"0",0,"(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?","$2"],BS:["1","011","(?:242|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([3-8]\\d{6})$|1","242$1",0,"242"],BT:["975","00","[17]\\d{7}|[2-8]\\d{6}",[7,8],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[2-68]|7[246]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[67]|7"]]]],BW:["267","00","(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}",[7,8,10],[["(\\d{2})(\\d{5})","$1 $2",["90"]],["(\\d{3})(\\d{4})","$1 $2",["[24-6]|3[15-9]"]],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[37]"]],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["0"]],["(\\d{3})(\\d{4})(\\d{3})","$1 $2 $3",["8"]]]],BY:["375","810","(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}",[6,7,8,9,10,11],[["(\\d{3})(\\d{3})","$1 $2",["800"],"8 $1"],["(\\d{3})(\\d{2})(\\d{2,4})","$1 $2 $3",["800"],"8 $1"],["(\\d{4})(\\d{2})(\\d{3})","$1 $2-$3",["1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])","1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])"],"8 0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["1(?:[56]|7[467])|2[1-3]"],"8 0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[1-4]"],"8 0$1"],["(\\d{3})(\\d{3,4})(\\d{4})","$1 $2 $3",["[89]"],"8 $1"]],"8",0,"0|80?",0,0,0,0,"8~10"],BZ:["501","00","(?:0800\\d|[2-8])\\d{6}",[7,11],[["(\\d{3})(\\d{4})","$1-$2",["[2-8]"]],["(\\d)(\\d{3})(\\d{4})(\\d{3})","$1-$2-$3-$4",["0"]]]],CA:["1","011","(?:[2-8]\\d|90)\\d{8}|3\\d{6}",[7,10],0,"1",0,0,0,0,0,[["(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\d{6}",[10]],["",[10]],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",[10]],["900[2-9]\\d{6}",[10]],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|(?:5(?:00|2[125-9]|33|44|66|77|88)|622)[2-9]\\d{6}",[10]],0,["310\\d{4}",[7]],0,["600[2-9]\\d{6}",[10]]]],CC:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}",[6,7,8,9,10,12],0,"0",0,"([59]\\d{7})$|0","8$1",0,0,[["8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}",[9]],["4(?:(?:79|94)[01]|83[0-389])\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[016-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,0,["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}",[9]],["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}",[6,8,10,12]]],"0011"],CD:["243","00","[189]\\d{8}|[1-68]\\d{6}",[7,9],[["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["88"],"0$1"],["(\\d{2})(\\d{5})","$1 $2",["[1-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[89]"],"0$1"]],"0"],CF:["236","00","(?:[27]\\d{3}|8776)\\d{4}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[278]"]]]],CG:["242","00","222\\d{6}|(?:0\\d|80)\\d{7}",[9],[["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["8"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[02]"]]]],CH:["41","00","8\\d{11}|[2-9]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8[047]|90"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-79]|81"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["8"],"0$1"]],"0"],CI:["225","00","[02]\\d{9}",[10],[["(\\d{2})(\\d{2})(\\d)(\\d{5})","$1 $2 $3 $4",["2"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3 $4",["0"]]]],CK:["682","00","[2-578]\\d{4}",[5],[["(\\d{2})(\\d{3})","$1 $2",["[2-578]"]]]],CL:["56","(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0","12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}",[9,10,11],[["(\\d{5})(\\d{4})","$1 $2",["219","2196"],"($1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["44"]],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2[1-36]"],"($1)"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["9[2-9]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])"],"($1)"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["60|8"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]],["(\\d{3})(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3 $4",["60"]]]],CM:["237","00","[26]\\d{8}|88\\d{6,7}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["88"]],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[26]|88"]]]],CN:["86","00|1(?:[12]\\d|79)\\d\\d00","1[127]\\d{8,9}|2\\d{9}(?:\\d{2})?|[12]\\d{6,7}|86\\d{6}|(?:1[03-689]\\d|6)\\d{7,9}|(?:[3-579]\\d|8[0-57-9])\\d{6,9}",[7,8,9,10,11,12],[["(\\d{2})(\\d{5,6})","$1 $2",["(?:10|2[0-57-9])[19]","(?:10|2[0-57-9])(?:10|9[56])","10(?:10|9[56])|2[0-57-9](?:100|9[56])"],"0$1"],["(\\d{3})(\\d{5,6})","$1 $2",["3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]","(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]","85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])","85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["(?:4|80)0"]],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["10|2(?:[02-57-9]|1[1-9])","10|2(?:[02-57-9]|1[1-9])","10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]"],"0$1",1],["(\\d{3})(\\d{7,8})","$1 $2",["9"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["80"],"0$1",1],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[3-578]"],"0$1",1],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["1[3-9]"]],["(\\d{2})(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3 $4",["[12]"],"0$1",1]],"0",0,"(1(?:[12]\\d|79)\\d\\d)|0",0,0,0,0,"00"],CO:["57","00(?:4(?:[14]4|56)|[579])","(?:60\\d\\d|9101)\\d{6}|(?:1\\d|3)\\d{9}",[10,11],[["(\\d{3})(\\d{7})","$1 $2",["6"],"($1)"],["(\\d{3})(\\d{7})","$1 $2",["3[0-357]|91"]],["(\\d)(\\d{3})(\\d{7})","$1-$2-$3",["1"],"0$1",0,"$1 $2 $3"]],"0",0,"0(4(?:[14]4|56)|[579])?"],CR:["506","00","(?:8\\d|90)\\d{8}|(?:[24-8]\\d{3}|3005)\\d{4}",[8,10],[["(\\d{4})(\\d{4})","$1 $2",["[2-7]|8[3-9]"]],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[89]"]]],0,0,"(19(?:0[0-2468]|1[09]|20|66|77|99))"],CU:["53","119","[27]\\d{6,7}|[34]\\d{5,7}|63\\d{6}|(?:5|8\\d\\d)\\d{7}",[6,7,8,10],[["(\\d{2})(\\d{4,6})","$1 $2",["2[1-4]|[34]"],"(0$1)"],["(\\d)(\\d{6,7})","$1 $2",["7"],"(0$1)"],["(\\d)(\\d{7})","$1 $2",["[56]"],"0$1"],["(\\d{3})(\\d{7})","$1 $2",["8"],"0$1"]],"0"],CV:["238","0","(?:[2-59]\\d\\d|800)\\d{4}",[7],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[2-589]"]]]],CW:["599","00","(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[3467]"]],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["9[4-8]"]]],0,0,0,0,0,"[69]"],CX:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}",[6,7,8,9,10,12],0,"0",0,"([59]\\d{7})$|0","8$1",0,0,[["8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}",[9]],["4(?:(?:79|94)[01]|83[0-389])\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[016-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,0,["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}",[9]],["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}",[6,8,10,12]]],"0011"],CY:["357","00","(?:[279]\\d|[58]0)\\d{6}",[8],[["(\\d{2})(\\d{6})","$1 $2",["[257-9]"]]]],CZ:["420","00","(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]|9[015-7]"]],["(\\d{2})(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3 $4",["96"]],["(\\d{2})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]],["(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]]]],DE:["49","00","[2579]\\d{5,14}|49(?:[34]0|69|8\\d)\\d\\d?|49(?:37|49|60|7[089]|9\\d)\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\d{1,8}|(?:1|[368]\\d|4[0-8])\\d{3,13}|49(?:[015]\\d|2[13]|31|[46][1-8])\\d{1,9}",[4,5,6,7,8,9,10,11,12,13,14,15],[["(\\d{2})(\\d{3,13})","$1 $2",["3[02]|40|[68]9"],"0$1"],["(\\d{3})(\\d{3,12})","$1 $2",["2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1","2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1"],"0$1"],["(\\d{4})(\\d{2,11})","$1 $2",["[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]","[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["138"],"0$1"],["(\\d{5})(\\d{2,10})","$1 $2",["3"],"0$1"],["(\\d{3})(\\d{5,11})","$1 $2",["181"],"0$1"],["(\\d{3})(\\d)(\\d{4,10})","$1 $2 $3",["1(?:3|80)|9"],"0$1"],["(\\d{3})(\\d{7,8})","$1 $2",["1[67]"],"0$1"],["(\\d{3})(\\d{7,12})","$1 $2",["8"],"0$1"],["(\\d{5})(\\d{6})","$1 $2",["185","1850","18500"],"0$1"],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{4})(\\d{7})","$1 $2",["18[68]"],"0$1"],["(\\d{5})(\\d{6})","$1 $2",["15[0568]"],"0$1"],["(\\d{4})(\\d{7})","$1 $2",["15[1279]"],"0$1"],["(\\d{3})(\\d{8})","$1 $2",["18"],"0$1"],["(\\d{3})(\\d{2})(\\d{7,8})","$1 $2 $3",["1(?:6[023]|7)"],"0$1"],["(\\d{4})(\\d{2})(\\d{7})","$1 $2 $3",["15[279]"],"0$1"],["(\\d{3})(\\d{2})(\\d{8})","$1 $2 $3",["15"],"0$1"]],"0"],DJ:["253","00","(?:2\\d|77)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[27]"]]]],DK:["45","00","[2-9]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-9]"]]]],DM:["1","011","(?:[58]\\d\\d|767|900)\\d{7}",[10],0,"1",0,"([2-7]\\d{6})$|1","767$1",0,"767"],DO:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,0,0,0,"8001|8[024]9"],DZ:["213","00","(?:[1-4]|[5-79]\\d|80)\\d{7}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[1-4]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["9"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-8]"],"0$1"]],"0"],EC:["593","00","1\\d{9,10}|(?:[2-7]|9\\d)\\d{7}",[8,9,10,11],[["(\\d)(\\d{3})(\\d{4})","$1 $2-$3",["[2-7]"],"(0$1)",0,"$1-$2-$3"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["9"],"0$1"],["(\\d{4})(\\d{3})(\\d{3,4})","$1 $2 $3",["1"]]],"0"],EE:["372","00","8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d|90)\\d{5}",[7,8,10],[["(\\d{3})(\\d{4})","$1 $2",["[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88","[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88"]],["(\\d{4})(\\d{3,4})","$1 $2",["[45]|8(?:00|[1-49])","[45]|8(?:00[1-9]|[1-49])"]],["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["7"]],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["8"]]]],EG:["20","00","[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}",[8,9,10],[["(\\d)(\\d{7,8})","$1 $2",["[23]"],"0$1"],["(\\d{2})(\\d{6,7})","$1 $2",["1[35]|[4-6]|8[2468]|9[235-7]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],["(\\d{2})(\\d{8})","$1 $2",["1"],"0$1"]],"0"],EH:["212","00","[5-8]\\d{8}",[9],0,"0",0,0,0,0,"528[89]"],ER:["291","00","[178]\\d{6}",[7],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[178]"],"0$1"]],"0"],ES:["34","00","[5-9]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[89]00"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-9]"]]]],ET:["251","00","(?:11|[2-579]\\d)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-579]"],"0$1"]],"0"],FI:["358","00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))","[1-35689]\\d{4}|7\\d{10,11}|(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}",[5,6,7,8,9,10,11,12],[["(\\d)(\\d{4,9})","$1 $2",["[2568][1-8]|3(?:0[1-9]|[1-9])|9"],"0$1"],["(\\d{3})(\\d{3,7})","$1 $2",["[12]00|[368]|70[07-9]"],"0$1"],["(\\d{2})(\\d{4,8})","$1 $2",["[1245]|7[135]"],"0$1"],["(\\d{2})(\\d{6,10})","$1 $2",["7"],"0$1"]],"0",0,0,0,0,"1[03-79]|[2-9]",0,"00"],FJ:["679","0(?:0|52)","45\\d{5}|(?:0800\\d|[235-9])\\d{6}",[7,11],[["(\\d{3})(\\d{4})","$1 $2",["[235-9]|45"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["0"]]],0,0,0,0,0,0,0,"00"],FK:["500","00","[2-7]\\d{4}",[5]],FM:["691","00","(?:[39]\\d\\d|820)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[389]"]]]],FO:["298","00","[2-9]\\d{5}",[6],[["(\\d{6})","$1",["[2-9]"]]],0,0,"(10(?:01|[12]0|88))"],FR:["33","00","[1-9]\\d{8}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0 $1"],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[1-79]"],"0$1"]],"0"],GA:["241","00","(?:[067]\\d|11)\\d{6}|[2-7]\\d{6}",[7,8],[["(\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-7]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["11|[67]"],"0$1"]],0,0,"0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[467]\\d{6})","$1"],GB:["44","00","[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}",[7,9,10],[["(\\d{3})(\\d{4})","$1 $2",["800","8001","80011","800111","8001111"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["845","8454","84546","845464"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["800"],"0$1"],["(\\d{5})(\\d{4,5})","$1 $2",["1(?:38|5[23]|69|76|94)","1(?:(?:38|69)7|5(?:24|39)|768|946)","1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)"],"0$1"],["(\\d{4})(\\d{5,6})","$1 $2",["1(?:[2-69][02-9]|[78])"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[25]|7(?:0|6[02-9])","[25]|7(?:0|6(?:[03-9]|2[356]))"],"0$1"],["(\\d{4})(\\d{6})","$1 $2",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[1389]"],"0$1"]],"0",0,0,0,0,0,[["(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0235])|4(?:[0-5]\\d\\d|69[7-9]|70[0-579])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|50))\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d|1(?:[0-7]\\d|8[0-2]))|(?:3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d)\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}",[9,10]],["7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}",[10]],["80[08]\\d{7}|800\\d{6}|8001111"],["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d",[7,10]],["70\\d{8}",[10]],0,["(?:3[0347]|55)\\d{8}",[10]],["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}",[10]],["56\\d{8}",[10]]],0," x"],GD:["1","011","(?:473|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","473$1",0,"473"],GE:["995","00","(?:[3-57]\\d\\d|800)\\d{6}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["70"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["32"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[57]"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[348]"],"0$1"]],"0"],GF:["594","00","[56]94\\d{6}|(?:80|9\\d)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[56]|9[47]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[89]"],"0$1"]],"0"],GG:["44","00","(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?",[7,9,10],0,"0",0,"([25-9]\\d{5})$|0","1481$1",0,0,[["1481[25-9]\\d{5}",[10]],["7(?:(?:781|839)\\d|911[17])\\d{5}",[10]],["80[08]\\d{7}|800\\d{6}|8001111"],["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d",[7,10]],["70\\d{8}",[10]],0,["(?:3[0347]|55)\\d{8}",[10]],["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}",[10]],["56\\d{8}",[10]]]],GH:["233","00","(?:[235]\\d{3}|800)\\d{5}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["8"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[235]"],"0$1"]],"0"],GI:["350","00","(?:[25]\\d|60)\\d{6}",[8],[["(\\d{3})(\\d{5})","$1 $2",["2"]]]],GL:["299","00","(?:19|[2-689]\\d|70)\\d{4}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["19|[2-9]"]]]],GM:["220","00","[2-9]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]]],GN:["224","00","722\\d{6}|(?:3|6\\d)\\d{7}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["3"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[67]"]]]],GP:["590","00","590\\d{6}|(?:69|80|9\\d)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[569]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0$1"]],"0",0,0,0,0,0,[["590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\d)\\d{4}"],["69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))\\d{4}"],["80[0-5]\\d{6}"],0,0,0,0,0,["9(?:(?:395|76[018])\\d|475[0-5])\\d{4}"]]],GQ:["240","00","222\\d{6}|(?:3\\d|55|[89]0)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235]"]],["(\\d{3})(\\d{6})","$1 $2",["[89]"]]]],GR:["30","00","5005000\\d{3}|8\\d{9,11}|(?:[269]\\d|70)\\d{8}",[10,11,12],[["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["21|7"]],["(\\d{4})(\\d{6})","$1 $2",["2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2689]"]],["(\\d{3})(\\d{3,4})(\\d{5})","$1 $2 $3",["8"]]]],GT:["502","00","(?:1\\d{3}|[2-7])\\d{7}",[8,11],[["(\\d{4})(\\d{4})","$1 $2",["[2-7]"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]]]],GU:["1","011","(?:[58]\\d\\d|671|900)\\d{7}",[10],0,"1",0,"([3-9]\\d{6})$|1","671$1",0,"671"],GW:["245","00","[49]\\d{8}|4\\d{6}",[7,9],[["(\\d{3})(\\d{4})","$1 $2",["40"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[49]"]]]],GY:["592","001","9008\\d{3}|(?:[2-467]\\d\\d|862)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-46-9]"]]]],HK:["852","00(?:30|5[09]|[126-9]?)","8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}",[5,6,7,8,9,11],[["(\\d{3})(\\d{2,5})","$1 $2",["900","9003"]],["(\\d{4})(\\d{4})","$1 $2",["[2-7]|8[1-4]|9(?:0[1-9]|[1-8])"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]],["(\\d{3})(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]]],0,0,0,0,0,0,0,"00"],HN:["504","00","8\\d{10}|[237-9]\\d{7}",[8,11],[["(\\d{4})(\\d{4})","$1-$2",["[237-9]"]]]],HR:["385","00","(?:[24-69]\\d|3[0-79])\\d{7}|80\\d{5,7}|[1-79]\\d{7}|6\\d{5,6}",[6,7,8,9],[["(\\d{2})(\\d{2})(\\d{2,3})","$1 $2 $3",["6[01]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{4})(\\d{3})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[67]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-5]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"],"0$1"]],"0"],HT:["509","00","(?:[2-489]\\d|55)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[2-589]"]]]],HU:["36","00","[235-7]\\d{8}|[1-9]\\d{7}",[8,9],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"(06 $1)"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]"],"(06 $1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-9]"],"06 $1"]],"06"],ID:["62","00[89]","(?:(?:00[1-9]|8\\d)\\d{4}|[1-36])\\d{6}|00\\d{10}|[1-9]\\d{8,10}|[2-9]\\d{7}",[7,8,9,10,11,12,13],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["15"]],["(\\d{2})(\\d{5,9})","$1 $2",["2[124]|[36]1"],"(0$1)"],["(\\d{3})(\\d{5,7})","$1 $2",["800"],"0$1"],["(\\d{3})(\\d{5,8})","$1 $2",["[2-79]"],"(0$1)"],["(\\d{3})(\\d{3,4})(\\d{3})","$1-$2-$3",["8[1-35-9]"],"0$1"],["(\\d{3})(\\d{6,8})","$1 $2",["1"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["804"],"0$1"],["(\\d{3})(\\d)(\\d{3})(\\d{3})","$1 $2 $3 $4",["80"],"0$1"],["(\\d{3})(\\d{4})(\\d{4,5})","$1-$2-$3",["8"],"0$1"]],"0"],IE:["353","00","(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}",[7,8,9,10],[["(\\d{2})(\\d{5})","$1 $2",["2[24-9]|47|58|6[237-9]|9[35-9]"],"(0$1)"],["(\\d{3})(\\d{5})","$1 $2",["[45]0"],"(0$1)"],["(\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["1"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2569]|4[1-69]|7[14]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["70"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["81"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[78]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["4"],"(0$1)"],["(\\d{2})(\\d)(\\d{3})(\\d{4})","$1 $2 $3 $4",["8"],"0$1"]],"0"],IL:["972","0(?:0|1[2-9])","1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}",[7,8,9,10,11,12],[["(\\d{4})(\\d{3})","$1-$2",["125"]],["(\\d{4})(\\d{2})(\\d{2})","$1-$2-$3",["121"]],["(\\d)(\\d{3})(\\d{4})","$1-$2-$3",["[2-489]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[57]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1-$2-$3",["12"]],["(\\d{4})(\\d{6})","$1-$2",["159"]],["(\\d)(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3-$4",["1[7-9]"]],["(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})","$1-$2 $3-$4",["15"]]],"0"],IM:["44","00","1624\\d{6}|(?:[3578]\\d|90)\\d{8}",[10],0,"0",0,"([25-8]\\d{5})$|0","1624$1",0,"74576|(?:16|7[56])24"],IN:["91","00","(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}",[8,9,10,11,12,13],[["(\\d{8})","$1",["5(?:0|2[23]|3[03]|[67]1|88)","5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)","5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)"],0,1],["(\\d{4})(\\d{4,5})","$1 $2",["180","1800"],0,1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["140"],0,1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["11|2[02]|33|4[04]|79[1-7]|80[2-46]","11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])","11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]","1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]","1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]"],"0$1",1],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807","1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]","1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\d|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]"],"0$1",1],["(\\d{5})(\\d{5})","$1 $2",["[6-9]"],"0$1",1],["(\\d{4})(\\d{2,4})(\\d{4})","$1 $2 $3",["1(?:6|8[06])","1(?:6|8[06]0)"],0,1],["(\\d{4})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["18"],0,1]],"0"],IO:["246","00","3\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["3"]]]],IQ:["964","00","(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-6]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"]],"0"],IR:["98","00","[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}",[4,5,6,7,10],[["(\\d{4,5})","$1",["96"],"0$1"],["(\\d{2})(\\d{4,5})","$1 $2",["(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[1-8]"],"0$1"]],"0"],IS:["354","00|1(?:0(?:01|[12]0)|100)","(?:38\\d|[4-9])\\d{6}",[7,9],[["(\\d{3})(\\d{4})","$1 $2",["[4-9]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["3"]]],0,0,0,0,0,0,0,"00"],IT:["39","00","0\\d{5,10}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?",[6,7,8,9,10,11],[["(\\d{2})(\\d{4,6})","$1 $2",["0[26]"]],["(\\d{3})(\\d{3,6})","$1 $2",["0[13-57-9][0159]|8(?:03|4[17]|9[2-5])","0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))"]],["(\\d{4})(\\d{2,6})","$1 $2",["0(?:[13-579][2-46-8]|8[236-8])"]],["(\\d{4})(\\d{4})","$1 $2",["894"]],["(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[26]|5"]],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["1(?:44|[679])|[378]"]],["(\\d{3})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[13-57-9][0159]|14"]],["(\\d{2})(\\d{4})(\\d{5})","$1 $2 $3",["0[26]"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["0"]],["(\\d{3})(\\d{4})(\\d{4,5})","$1 $2 $3",["3"]]],0,0,0,0,0,0,[["0669[0-79]\\d{1,6}|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}"],["3[1-9]\\d{8}|3[2-9]\\d{7}",[9,10]],["80(?:0\\d{3}|3)\\d{3}",[6,9]],["(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}",[6,8,9,10]],["1(?:78\\d|99)\\d{6}",[9,10]],0,0,0,["55\\d{8}",[10]],["84(?:[08]\\d{3}|[17])\\d{3}",[6,9]]]],JE:["44","00","1534\\d{6}|(?:[3578]\\d|90)\\d{8}",[10],0,"0",0,"([0-24-8]\\d{5})$|0","1534$1",0,0,[["1534[0-24-8]\\d{5}"],["7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97[7-9]))\\d{5}"],["80(?:07(?:35|81)|8901)\\d{4}"],["(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}"],["701511\\d{4}"],0,["(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}"],["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}"],["56\\d{8}"]]],JM:["1","011","(?:[58]\\d\\d|658|900)\\d{7}",[10],0,"1",0,0,0,0,"658|876"],JO:["962","00","(?:(?:[2689]|7\\d)\\d|32|53)\\d{6}",[8,9],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2356]|87"],"(0$1)"],["(\\d{3})(\\d{5,6})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["70"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"]],"0"],JP:["81","010","00[1-9]\\d{6,14}|[257-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}",[8,9,10,11,12,13,14,15,16,17],[["(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3",["(?:12|57|99)0"],"0$1"],["(\\d{4})(\\d)(\\d{4})","$1-$2-$3",["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51|63)|9(?:80|9[16])","1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9]|636)|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]","1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9]|636[457-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["60"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1-$2-$3",["[36]|4(?:2[09]|7[01])","[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[23]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]"],"0$1"],["(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["[14]|[289][2-9]|5[3-9]|7[2-4679]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["800"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[257-9]"],"0$1"]],"0",0,"(000[259]\\d{6})$|(?:(?:003768)0?)|0","$1"],KE:["254","000","(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}",[7,8,9,10],[["(\\d{2})(\\d{5,7})","$1 $2",["[24-6]"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["[17]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[89]"],"0$1"]],"0"],KG:["996","00","8\\d{9}|[235-9]\\d{8}",[9,10],[["(\\d{4})(\\d{5})","$1 $2",["3(?:1[346]|[24-79])"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235-79]|88"],"0$1"],["(\\d{3})(\\d{3})(\\d)(\\d{2,3})","$1 $2 $3 $4",["8"],"0$1"]],"0"],KH:["855","00[14-9]","1\\d{9}|[1-9]\\d{7,8}",[8,9,10],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-9]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],KI:["686","00","(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}",[5,8],0,"0"],KM:["269","00","[3478]\\d{6}",[7],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[3478]"]]]],KN:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-7]\\d{6})$|1","869$1",0,"869"],KP:["850","00|99","85\\d{6}|(?:19\\d|[2-7])\\d{7}",[8,10],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2-7]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"]],"0"],KR:["82","00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))","00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}",[5,6,8,9,10,11,12,13,14],[["(\\d{2})(\\d{3,4})","$1-$2",["(?:3[1-3]|[46][1-4]|5[1-5])1"],"0$1"],["(\\d{4})(\\d{4})","$1-$2",["1"]],["(\\d)(\\d{3,4})(\\d{4})","$1-$2-$3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["60|8"],"0$1"],["(\\d{2})(\\d{3,4})(\\d{4})","$1-$2-$3",["[1346]|5[1-5]"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[57]"],"0$1"],["(\\d{2})(\\d{5})(\\d{4})","$1-$2-$3",["5"],"0$1"]],"0",0,"0(8(?:[1-46-8]|5\\d\\d))?"],KW:["965","00","18\\d{5}|(?:[2569]\\d|41)\\d{6}",[7,8],[["(\\d{4})(\\d{3,4})","$1 $2",["[169]|2(?:[235]|4[1-35-9])|52"]],["(\\d{3})(\\d{5})","$1 $2",["[245]"]]]],KY:["1","011","(?:345|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","345$1",0,"345"],KZ:["7","810","(?:33622|8\\d{8})\\d{5}|[78]\\d{9}",[10,14],0,"8",0,0,0,0,"33|7",0,"8~10"],LA:["856","00","[23]\\d{9}|3\\d{8}|(?:[235-8]\\d|41)\\d{6}",[8,9,10],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2[13]|3[14]|[4-8]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["30[013-9]"],"0$1"],["(\\d{2})(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["[23]"],"0$1"]],"0"],LB:["961","00","[27-9]\\d{7}|[13-9]\\d{6}",[7,8],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[27-9]"]]],"0"],LC:["1","011","(?:[58]\\d\\d|758|900)\\d{7}",[10],0,"1",0,"([2-8]\\d{6})$|1","758$1",0,"758"],LI:["423","00","[68]\\d{8}|(?:[2378]\\d|90)\\d{5}",[7,9],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[2379]|8(?:0[09]|7)","[2379]|8(?:0(?:02|9)|7)"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["69"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]]],"0",0,"(1001)|0"],LK:["94","00","[1-9]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[1-689]"],"0$1"]],"0"],LR:["231","00","(?:[25]\\d|33|77|88)\\d{7}|(?:2\\d|[4-6])\\d{6}",[7,8,9],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[4-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[23578]"],"0$1"]],"0"],LS:["266","00","(?:[256]\\d\\d|800)\\d{5}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[2568]"]]]],LT:["370","00","(?:[3469]\\d|52|[78]0)\\d{6}",[8],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["52[0-7]"],"(8-$1)",1],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[7-9]"],"8 $1",1],["(\\d{2})(\\d{6})","$1 $2",["37|4(?:[15]|6[1-8])"],"(8-$1)",1],["(\\d{3})(\\d{5})","$1 $2",["[3-6]"],"(8-$1)",1]],"8",0,"[08]"],LU:["352","00","35[013-9]\\d{4,8}|6\\d{8}|35\\d{2,4}|(?:[2457-9]\\d|3[0-46-9])\\d{2,9}",[4,5,6,7,8,9,10,11],[["(\\d{2})(\\d{3})","$1 $2",["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]],["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["20[2-689]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4",["2(?:[0367]|4[3-8])"]],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["80[01]|90[015]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["20"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4 $5",["2(?:[0367]|4[3-8])"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})","$1 $2 $3 $4",["[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]"]]],0,0,"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)"],LV:["371","00","(?:[268]\\d|90)\\d{6}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[269]|8[01]"]]]],LY:["218","00","[2-9]\\d{8}",[9],[["(\\d{2})(\\d{7})","$1-$2",["[2-9]"],"0$1"]],"0"],MA:["212","00","[5-8]\\d{8}",[9],[["(\\d{5})(\\d{4})","$1-$2",["5(?:29|38)","5(?:29[1289]|389)","529(?:1[1-46-9]|2[013-8]|90)|5(?:298|389)[0-46-9]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5[45]"],"0$1"],["(\\d{4})(\\d{5})","$1-$2",["5(?:2[2-489]|3[5-9]|9)|892","5(?:2(?:[2-49]|8[235-9])|3[5-9]|9)|892"],"0$1"],["(\\d{2})(\\d{7})","$1-$2",["8"],"0$1"],["(\\d{3})(\\d{6})","$1-$2",["[5-7]"],"0$1"]],"0",0,0,0,0,0,[["5293[01]\\d{4}|5(?:2(?:[0-25-7]\\d|3[1-578]|4[02-46-8]|8[0235-7]|9[0-289])|3(?:[0-47]\\d|5[02-9]|6[02-8]|8[0189]|9[3-9])|(?:4[067]|5[03])\\d)\\d{5}"],["(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[017]\\d|2[0-2]|6[0-8]|8[0-3]))\\d{6}"],["80\\d{7}"],["89\\d{7}"],0,0,0,0,["592(?:4[0-2]|93)\\d{4}"]]],MC:["377","00","(?:[3489]|6\\d)\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["4"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[389]"]],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["6"],"0$1"]],"0"],MD:["373","00","(?:[235-7]\\d|[89]0)\\d{6}",[8],[["(\\d{3})(\\d{5})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["22|3"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[25-7]"],"0$1"]],"0"],ME:["382","00","(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-9]"],"0$1"]],"0"],MF:["590","00","590\\d{6}|(?:69|80|9\\d)\\d{7}",[9],0,"0",0,0,0,0,0,[["590(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)\\d{4}"],["69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))\\d{4}"],["80[0-5]\\d{6}"],0,0,0,0,0,["9(?:(?:395|76[018])\\d|475[0-5])\\d{4}"]]],MG:["261","00","[23]\\d{8}",[9],[["(\\d{2})(\\d{2})(\\d{3})(\\d{2})","$1 $2 $3 $4",["[23]"],"0$1"]],"0",0,"([24-9]\\d{6})$|0","20$1"],MH:["692","011","329\\d{4}|(?:[256]\\d|45)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1-$2",["[2-6]"]]],"1"],MK:["389","00","[2-578]\\d{7}",[8],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2|34[47]|4(?:[37]7|5[47]|64)"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[347]"],"0$1"],["(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["[58]"],"0$1"]],"0"],ML:["223","00","[24-9]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24-9]"]]]],MM:["95","00","1\\d{5,7}|95\\d{6}|(?:[4-7]|9[0-46-9])\\d{6,8}|(?:2|8\\d)\\d{5,8}",[6,7,8,9,10],[["(\\d)(\\d{2})(\\d{3})","$1 $2 $3",["16|2"],"0$1"],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[12]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[4-7]|8[1-35]"],"0$1"],["(\\d)(\\d{3})(\\d{4,6})","$1 $2 $3",["9(?:2[0-4]|[35-9]|4[137-9])"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["92"],"0$1"],["(\\d)(\\d{5})(\\d{4})","$1 $2 $3",["9"],"0$1"]],"0"],MN:["976","001","[12]\\d{7,9}|[5-9]\\d{7}",[8,9,10],[["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[12]1"],"0$1"],["(\\d{4})(\\d{4})","$1 $2",["[5-9]"]],["(\\d{3})(\\d{5,6})","$1 $2",["[12]2[1-3]"],"0$1"],["(\\d{4})(\\d{5,6})","$1 $2",["[12](?:27|3[2-8]|4[2-68]|5[1-4689])","[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]"],"0$1"],["(\\d{5})(\\d{4,5})","$1 $2",["[12]"],"0$1"]],"0"],MO:["853","00","0800\\d{3}|(?:28|[68]\\d)\\d{6}",[7,8],[["(\\d{4})(\\d{3})","$1 $2",["0"]],["(\\d{4})(\\d{4})","$1 $2",["[268]"]]]],MP:["1","011","[58]\\d{9}|(?:67|90)0\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","670$1",0,"670"],MQ:["596","00","596\\d{6}|(?:69|80|9\\d)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[569]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0$1"]],"0"],MR:["222","00","(?:[2-4]\\d\\d|800)\\d{5}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-48]"]]]],MS:["1","011","(?:[58]\\d\\d|664|900)\\d{7}",[10],0,"1",0,"([34]\\d{6})$|1","664$1",0,"664"],MT:["356","00","3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[2357-9]"]]]],MU:["230","0(?:0|[24-7]0|3[03])","(?:[57]|8\\d\\d)\\d{7}|[2-468]\\d{6}",[7,8,10],[["(\\d{3})(\\d{4})","$1 $2",["[2-46]|8[013]"]],["(\\d{4})(\\d{4})","$1 $2",["[57]"]],["(\\d{5})(\\d{5})","$1 $2",["8"]]],0,0,0,0,0,0,0,"020"],MV:["960","0(?:0|19)","(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}",[7,10],[["(\\d{3})(\\d{4})","$1-$2",["[34679]"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"]]],0,0,0,0,0,0,0,"00"],MW:["265","00","(?:[1289]\\d|31|77)\\d{7}|1\\d{6}",[7,9],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["1[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[137-9]"],"0$1"]],"0"],MX:["52","0[09]","1(?:(?:[27]2|44|99)[1-9]|65[0-689])\\d{7}|(?:1(?:[01]\\d|2[13-9]|[35][1-9]|4[0-35-9]|6[0-46-9]|7[013-9]|8[1-79]|9[1-8])|[2-9]\\d)\\d{8}",[10,11],[["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["33|5[56]|81"],0,1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2-9]"],0,1],["(\\d)(\\d{2})(\\d{4})(\\d{4})","$2 $3 $4",["1(?:33|5[56]|81)"],0,1],["(\\d)(\\d{3})(\\d{3})(\\d{4})","$2 $3 $4",["1"],0,1]],"01",0,"0(?:[12]|4[45])|1",0,0,0,0,"00"],MY:["60","00","1\\d{8,9}|(?:3\\d|[4-9])\\d{7}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1-$2 $3",["[4-79]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1-$2 $3",["1(?:[02469]|[378][1-9]|53)|8","1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1-$2 $3",["3"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3-$4",["1(?:[367]|80)"]],["(\\d{3})(\\d{3})(\\d{4})","$1-$2 $3",["15"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2 $3",["1"],"0$1"]],"0"],MZ:["258","00","(?:2|8\\d)\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["2|8[2-79]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]]]],NA:["264","00","[68]\\d{7,8}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["88"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["6"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["87"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"]],"0"],NC:["687","00","(?:050|[2-57-9]\\d\\d)\\d{3}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1.$2.$3",["[02-57-9]"]]]],NE:["227","00","[027-9]\\d{7}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["08"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[089]|2[013]|7[047]"]]]],NF:["672","00","[13]\\d{5}",[6],[["(\\d{2})(\\d{4})","$1 $2",["1[0-3]"]],["(\\d)(\\d{5})","$1 $2",["[13]"]]],0,0,"([0-258]\\d{4})$","3$1"],NG:["234","009","(?:[124-7]|9\\d{3})\\d{6}|[1-9]\\d{7}|[78]\\d{9,13}",[7,8,10,11,12,13,14],[["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["78"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[12]|9(?:0[3-9]|[1-9])"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["[3-7]|8[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[7-9]"],"0$1"],["(\\d{3})(\\d{4})(\\d{4,5})","$1 $2 $3",["[78]"],"0$1"],["(\\d{3})(\\d{5})(\\d{5,6})","$1 $2 $3",["[78]"],"0$1"]],"0"],NI:["505","00","(?:1800|[25-8]\\d{3})\\d{4}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[125-8]"]]]],NL:["31","00","(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|8\\d{6,9}|9\\d{6,10}|1\\d{4,5}",[5,6,7,8,9,10,11],[["(\\d{3})(\\d{4,7})","$1 $2",["[89]0"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["66"],"0$1"],["(\\d)(\\d{8})","$1 $2",["6"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-578]|91"],"0$1"],["(\\d{3})(\\d{3})(\\d{5})","$1 $2 $3",["9"],"0$1"]],"0"],NO:["47","00","(?:0|[2-9]\\d{3})\\d{4}",[5,8],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["8"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-79]"]]],0,0,0,0,0,"[02-689]|7[0-8]"],NP:["977","00","(?:1\\d|9)\\d{9}|[1-9]\\d{7}",[8,10,11],[["(\\d)(\\d{7})","$1-$2",["1[2-6]"],"0$1"],["(\\d{2})(\\d{6})","$1-$2",["1[01]|[2-8]|9(?:[1-59]|[67][2-6])"],"0$1"],["(\\d{3})(\\d{7})","$1-$2",["9"]]],"0"],NR:["674","00","(?:444|(?:55|8\\d)\\d|666)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[4-68]"]]]],NU:["683","00","(?:[47]|888\\d)\\d{3}",[4,7],[["(\\d{3})(\\d{4})","$1 $2",["8"]]]],NZ:["64","0(?:0|161)","[29]\\d{7,9}|50\\d{5}(?:\\d{2,3})?|6[0-35-9]\\d{6}|7\\d{7,8}|8\\d{4,9}|(?:11\\d|[34])\\d{7}",[5,6,7,8,9,10],[["(\\d{2})(\\d{3,8})","$1 $2",["8[1-579]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["50[036-8]|[89]0","50(?:[0367]|88)|[89]0"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["24|[346]|7[2-57-9]|9[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:10|74)|[59]|80"],"0$1"],["(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["1|2[028]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,5})","$1 $2 $3",["2(?:[169]|7[0-35-9])|7|86"],"0$1"]],"0",0,0,0,0,0,0,"00"],OM:["968","00","(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}",[7,8,9],[["(\\d{3})(\\d{4,6})","$1 $2",["[58]"]],["(\\d{2})(\\d{6})","$1 $2",["2"]],["(\\d{4})(\\d{4})","$1 $2",["[179]"]]]],PA:["507","00","(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}",[7,8,10,11],[["(\\d{3})(\\d{4})","$1-$2",["[1-57-9]"]],["(\\d{4})(\\d{4})","$1-$2",["[68]"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]]]],PE:["51","00|19(?:1[124]|77|90)00","(?:[14-8]|9\\d)\\d{7}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["80"],"(0$1)"],["(\\d)(\\d{7})","$1 $2",["1"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["[4-8]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"]]],"0",0,0,0,0,0,0,"00"," Anexo "],PF:["689","00","4\\d{5}(?:\\d{2})?|8\\d{7,8}",[6,8,9],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["44"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["4|8[7-9]"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]]]],PG:["675","00|140[1-3]","(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["18|[2-69]|85"]],["(\\d{4})(\\d{4})","$1 $2",["[78]"]]],0,0,0,0,0,0,0,"00"],PH:["63","00","(?:[2-7]|9\\d)\\d{8}|2\\d{5}|(?:1800|8)\\d{7,9}",[6,8,9,10,11,12,13],[["(\\d)(\\d{5})","$1 $2",["2"],"(0$1)"],["(\\d{4})(\\d{4,6})","$1 $2",["3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2","3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))"],"(0$1)"],["(\\d{5})(\\d{4})","$1 $2",["346|4(?:27|9[35])|883","3469|4(?:279|9(?:30|56))|8834"],"(0$1)"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[3-7]|8[2-8]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]],["(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})","$1 $2 $3 $4",["1"]]],"0"],PK:["92","00","122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[06-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}",[8,9,10,11,12],[["(\\d{3})(\\d{3})(\\d{2,7})","$1 $2 $3",["[89]0"],"0$1"],["(\\d{4})(\\d{5})","$1 $2",["1"]],["(\\d{3})(\\d{6,7})","$1 $2",["2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])","9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]"],"(0$1)"],["(\\d{2})(\\d{7,8})","$1 $2",["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"],"(0$1)"],["(\\d{5})(\\d{5})","$1 $2",["58"],"(0$1)"],["(\\d{3})(\\d{7})","$1 $2",["3"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["[24-9]"],"(0$1)"]],"0"],PL:["48","00","(?:6|8\\d\\d)\\d{7}|[1-9]\\d{6}(?:\\d{2})?|[26]\\d{5}",[6,7,8,9,10],[["(\\d{5})","$1",["19"]],["(\\d{3})(\\d{3})","$1 $2",["11|20|64"]],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1","(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19"]],["(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["64"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)"]],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[2-8]|[2-7]|8[1-79]|9[145]"]],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["8"]]]],PM:["508","00","[45]\\d{5}|(?:708|80\\d)\\d{6}",[6,9],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[45]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["7"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0$1"]],"0"],PR:["1","011","(?:[589]\\d\\d|787)\\d{7}",[10],0,"1",0,0,0,0,"787|939"],PS:["970","00","[2489]2\\d{6}|(?:1\\d|5)\\d{8}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2489]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["5"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],PT:["351","00","1693\\d{5}|(?:[26-9]\\d|30)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["2[12]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["16|[236-9]"]]]],PW:["680","01[12]","(?:[24-8]\\d\\d|345|900)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]]],PY:["595","00","59\\d{4,6}|9\\d{5,10}|(?:[2-46-8]\\d|5[0-8])\\d{4,7}",[6,7,8,9,10,11],[["(\\d{3})(\\d{3,6})","$1 $2",["[2-9]0"],"0$1"],["(\\d{2})(\\d{5})","$1 $2",["[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]"],"(0$1)"],["(\\d{3})(\\d{4,5})","$1 $2",["2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["87"]],["(\\d{3})(\\d{6})","$1 $2",["9(?:[5-79]|8[1-6])"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]"],"0$1"],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["9"]]],"0"],QA:["974","00","800\\d{4}|(?:2|800)\\d{6}|(?:0080|[3-7])\\d{7}",[7,8,9,11],[["(\\d{3})(\\d{4})","$1 $2",["2[16]|8"]],["(\\d{4})(\\d{4})","$1 $2",["[3-7]"]]]],RE:["262","00","(?:26|[689]\\d)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2689]"],"0$1"]],"0",0,0,0,0,0,[["26(?:2\\d\\d|3(?:0\\d|1[0-4]))\\d{4}"],["69(?:2\\d\\d|3(?:0[0-46]|1[013]|2[0-2]|3[0-39]|4\\d|5[0-5]|6[0-6]|7[0-27]|8[0-8]|9[0-479]))\\d{4}"],["80\\d{7}"],["89[1-37-9]\\d{6}"],0,0,0,0,["9(?:399[0-3]|479[0-5]|76(?:2[27]|3[0-37]))\\d{4}"],["8(?:1[019]|2[0156]|84|90)\\d{6}"]]],RO:["40","00","(?:[2378]\\d|90)\\d{7}|[23]\\d{5}",[6,9],[["(\\d{3})(\\d{3})","$1 $2",["2[3-6]","2[3-6]\\d9"],"0$1"],["(\\d{2})(\\d{4})","$1 $2",["219|31"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[23]1"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[237-9]"],"0$1"]],"0",0,0,0,0,0,0,0," int "],RS:["381","00","38[02-9]\\d{6,9}|6\\d{7,9}|90\\d{4,8}|38\\d{5,6}|(?:7\\d\\d|800)\\d{3,9}|(?:[12]\\d|3[0-79])\\d{5,10}",[6,7,8,9,10,11,12],[["(\\d{3})(\\d{3,9})","$1 $2",["(?:2[389]|39)0|[7-9]"],"0$1"],["(\\d{2})(\\d{5,10})","$1 $2",["[1-36]"],"0$1"]],"0"],RU:["7","810","8\\d{13}|[347-9]\\d{9}",[10,14],[["(\\d{4})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["7(?:1[0-8]|2[1-9])","7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))","7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2"],"8 ($1)",1],["(\\d{5})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["7(?:1[0-68]|2[1-9])","7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))","7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]"],"8 ($1)",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"8 ($1)",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[349]|8(?:[02-7]|1[1-8])"],"8 ($1)",1],["(\\d{4})(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3 $4",["8"],"8 ($1)"]],"8",0,0,0,0,"3[04-689]|[489]",0,"8~10"],RW:["250","00","(?:06|[27]\\d\\d|[89]00)\\d{6}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[7-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2"]]],"0"],SA:["966","00","92\\d{7}|(?:[15]|8\\d)\\d{8}",[9,10],[["(\\d{4})(\\d{5})","$1 $2",["9"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["81"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]]],"0"],SB:["677","0[01]","(?:[1-6]|[7-9]\\d\\d)\\d{4}",[5,7],[["(\\d{2})(\\d{5})","$1 $2",["7|8[4-9]|9(?:[1-8]|9[0-8])"]]]],SC:["248","010|0[0-2]","800\\d{4}|(?:[249]\\d|64)\\d{5}",[7],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[246]|9[57]"]]],0,0,0,0,0,0,0,"00"],SD:["249","00","[19]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[19]"],"0$1"]],"0"],SE:["46","00","(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}",[6,7,8,9,10],[["(\\d{2})(\\d{2,3})(\\d{2})","$1-$2 $3",["20"],"0$1",0,"$1 $2 $3"],["(\\d{3})(\\d{4})","$1-$2",["9(?:00|39|44|9)"],"0$1",0,"$1 $2"],["(\\d{2})(\\d{3})(\\d{2})","$1-$2 $3",["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"],"0$1",0,"$1 $2 $3"],["(\\d)(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["8"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2,3})(\\d{2})","$1-$2 $3",["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"],"0$1",0,"$1 $2 $3"],["(\\d{3})(\\d{2,3})(\\d{3})","$1-$2 $3",["9(?:00|39|44)"],"0$1",0,"$1 $2 $3"],["(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"],"0$1",0,"$1 $2 $3 $4"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["10|7"],"0$1",0,"$1 $2 $3 $4"],["(\\d)(\\d{3})(\\d{3})(\\d{2})","$1-$2 $3 $4",["8"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1-$2 $3 $4",["[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{2})(\\d{3})","$1-$2 $3 $4",["9"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4 $5",["[26]"],"0$1",0,"$1 $2 $3 $4 $5"]],"0"],SG:["65","0[0-3]\\d","(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}",[8,10,11],[["(\\d{4})(\\d{4})","$1 $2",["[369]|8(?:0[1-8]|[1-9])"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]],["(\\d{4})(\\d{4})(\\d{3})","$1 $2 $3",["7"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]]]],SH:["290","00","(?:[256]\\d|8)\\d{3}",[4,5],0,0,0,0,0,0,"[256]"],SI:["386","00|10(?:22|66|88|99)","[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}",[5,6,7,8],[["(\\d{2})(\\d{3,6})","$1 $2",["8[09]|9"],"0$1"],["(\\d{3})(\\d{5})","$1 $2",["59|8"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[37][01]|4[0139]|51|6"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[1-57]"],"(0$1)"]],"0",0,0,0,0,0,0,"00"],SJ:["47","00","0\\d{4}|(?:[489]\\d|[57]9)\\d{6}",[5,8],0,0,0,0,0,0,"79"],SK:["421","00","[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}",[6,7,9],[["(\\d)(\\d{2})(\\d{3,4})","$1 $2 $3",["21"],"0$1"],["(\\d{2})(\\d{2})(\\d{2,3})","$1 $2 $3",["[3-5][1-8]1","[3-5][1-8]1[67]"],"0$1"],["(\\d)(\\d{3})(\\d{3})(\\d{2})","$1/$2 $3 $4",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[689]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1/$2 $3 $4",["[3-5]"],"0$1"]],"0"],SL:["232","00","(?:[237-9]\\d|66)\\d{6}",[8],[["(\\d{2})(\\d{6})","$1 $2",["[236-9]"],"(0$1)"]],"0"],SM:["378","00","(?:0549|[5-7]\\d)\\d{6}",[8,10],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-7]"]],["(\\d{4})(\\d{6})","$1 $2",["0"]]],0,0,"([89]\\d{5})$","0549$1"],SN:["221","00","(?:[378]\\d|93)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[379]"]]]],SO:["252","00","[346-9]\\d{8}|[12679]\\d{7}|[1-5]\\d{6}|[1348]\\d{5}",[6,7,8,9],[["(\\d{2})(\\d{4})","$1 $2",["8[125]"]],["(\\d{6})","$1",["[134]"]],["(\\d)(\\d{6})","$1 $2",["[15]|2[0-79]|3[0-46-8]|4[0-7]"]],["(\\d)(\\d{7})","$1 $2",["(?:2|90)4|[67]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[348]|64|79|90"]],["(\\d{2})(\\d{5,7})","$1 $2",["1|28|6[0-35-9]|77|9[2-9]"]]],"0"],SR:["597","00","(?:[2-5]|68|[78]\\d)\\d{5}",[6,7],[["(\\d{2})(\\d{2})(\\d{2})","$1-$2-$3",["56"]],["(\\d{3})(\\d{3})","$1-$2",["[2-5]"]],["(\\d{3})(\\d{4})","$1-$2",["[6-8]"]]]],SS:["211","00","[19]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[19]"],"0$1"]],"0"],ST:["239","00","(?:22|9\\d)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[29]"]]]],SV:["503","00","[267]\\d{7}|[89]00\\d{4}(?:\\d{4})?",[7,8,11],[["(\\d{3})(\\d{4})","$1 $2",["[89]"]],["(\\d{4})(\\d{4})","$1 $2",["[267]"]],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[89]"]]]],SX:["1","011","7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"(5\\d{6})$|1","721$1",0,"721"],SY:["963","00","[1-39]\\d{8}|[1-5]\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-5]"],"0$1",1],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1",1]],"0"],SZ:["268","00","0800\\d{4}|(?:[237]\\d|900)\\d{6}",[8,9],[["(\\d{4})(\\d{4})","$1 $2",["[0237]"]],["(\\d{5})(\\d{4})","$1 $2",["9"]]]],TA:["290","00","8\\d{3}",[4],0,0,0,0,0,0,"8"],TC:["1","011","(?:[58]\\d\\d|649|900)\\d{7}",[10],0,"1",0,"([2-479]\\d{6})$|1","649$1",0,"649"],TD:["235","00|16","(?:22|[69]\\d|77)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2679]"]]],0,0,0,0,0,0,0,"00"],TG:["228","00","[279]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[279]"]]]],TH:["66","00[1-9]","(?:001800|[2-57]|[689]\\d)\\d{7}|1\\d{7,9}",[8,9,10,13],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[13-9]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],TJ:["992","810","[0-57-9]\\d{8}",[9],[["(\\d{6})(\\d)(\\d{2})","$1 $2 $3",["331","3317"]],["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["[34]7"]],["(\\d{4})(\\d)(\\d{4})","$1 $2 $3",["3[1-5]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[0-57-9]"]]],0,0,0,0,0,0,0,"8~10"],TK:["690","00","[2-47]\\d{3,6}",[4,5,6,7]],TL:["670","00","7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[2-489]|70"]],["(\\d{4})(\\d{4})","$1 $2",["7"]]]],TM:["993","810","[1-6]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["12"],"(8 $1)"],["(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2-$3-$4",["[1-5]"],"(8 $1)"],["(\\d{2})(\\d{6})","$1 $2",["6"],"8 $1"]],"8",0,0,0,0,0,0,"8~10"],TN:["216","00","[2-57-9]\\d{7}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-57-9]"]]]],TO:["676","00","(?:0800|(?:[5-8]\\d\\d|999)\\d)\\d{3}|[2-8]\\d{4}",[5,7],[["(\\d{2})(\\d{3})","$1-$2",["[2-4]|50|6[09]|7[0-24-69]|8[05]"]],["(\\d{4})(\\d{3})","$1 $2",["0"]],["(\\d{3})(\\d{4})","$1 $2",["[5-9]"]]]],TR:["90","00","4\\d{6}|8\\d{11,12}|(?:[2-58]\\d\\d|900)\\d{7}",[7,10,12,13],[["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["512|8[01589]|90"],"0$1",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5(?:[0-59]|61)","5(?:[0-59]|616)","5(?:[0-59]|6161)"],"0$1",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24][1-8]|3[1-9]"],"(0$1)",1],["(\\d{3})(\\d{3})(\\d{6,7})","$1 $2 $3",["80"],"0$1",1]],"0"],TT:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-46-8]\\d{6})$|1","868$1",0,"868"],TV:["688","00","(?:2|7\\d\\d|90)\\d{4}",[5,6,7],[["(\\d{2})(\\d{3})","$1 $2",["2"]],["(\\d{2})(\\d{4})","$1 $2",["90"]],["(\\d{2})(\\d{5})","$1 $2",["7"]]]],TW:["886","0(?:0[25-79]|19)","[2-689]\\d{8}|7\\d{9,10}|[2-8]\\d{7}|2\\d{6}",[7,8,9,10,11],[["(\\d{2})(\\d)(\\d{4})","$1 $2 $3",["202"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[258]0"],"0$1"],["(\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]","[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[49]"],"0$1"],["(\\d{2})(\\d{4})(\\d{4,5})","$1 $2 $3",["7"],"0$1"]],"0",0,0,0,0,0,0,0,"#"],TZ:["255","00[056]","(?:[25-8]\\d|41|90)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[24]"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["5"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[67]"],"0$1"]],"0"],UA:["380","00","[89]\\d{9}|[3-9]\\d{8}",[9,10],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]","6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]"],"0$1"],["(\\d{4})(\\d{5})","$1 $2",["3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])","3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[3-7]|89|9[1-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[89]"],"0$1"]],"0",0,0,0,0,0,0,"0~0"],UG:["256","00[057]","800\\d{6}|(?:[29]0|[347]\\d)\\d{7}",[9],[["(\\d{4})(\\d{5})","$1 $2",["202","2024"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["[27-9]|4(?:6[45]|[7-9])"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["[34]"],"0$1"]],"0"],US:["1","011","[2-9]\\d{9}|3\\d{6}",[10],[["(\\d{3})(\\d{4})","$1-$2",["310"],0,1],["(\\d{3})(\\d{3})(\\d{4})","($1) $2-$3",["[2-9]"],0,1,"$1-$2-$3"]],"1",0,0,0,0,0,[["5056(?:[0-35-9]\\d|4[46])\\d{4}|(?:4722|505[2-57-9])\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[01356]|3[0-24679]|4[167]|5[0-2]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}"],[""],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"]]],UY:["598","0(?:0|1[3-9]\\d)","(?:0004|4)\\d{9}|[1249]\\d{7}|(?:[49]\\d|80)\\d{5}",[7,8,10,13],[["(\\d{3})(\\d{4})","$1 $2",["405|8|90"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"],["(\\d{4})(\\d{4})","$1 $2",["[124]"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["4"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3 $4",["0"]]],"0",0,0,0,0,0,0,"00"," int. "],UZ:["998","810","200\\d{6}|(?:33|[5-79]\\d|88)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[235-9]"],"8 $1"]],"8",0,0,0,0,0,0,"8~10"],VA:["39","00","0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}",[6,7,8,9,10,11],0,0,0,0,0,0,"06698"],VC:["1","011","(?:[58]\\d\\d|784|900)\\d{7}",[10],0,"1",0,"([2-7]\\d{6})$|1","784$1",0,"784"],VE:["58","00","[68]00\\d{7}|(?:[24]\\d|[59]0)\\d{8}",[10],[["(\\d{3})(\\d{7})","$1-$2",["[24-689]"],"0$1"]],"0"],VG:["1","011","(?:284|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-578]\\d{6})$|1","284$1",0,"284"],VI:["1","011","[58]\\d{9}|(?:34|90)0\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","340$1",0,"340"],VN:["84","00","[12]\\d{9}|[135-9]\\d{8}|[16]\\d{7}|[16-8]\\d{6}",[7,8,9,10],[["(\\d{2})(\\d{5})","$1 $2",["80"],"0$1",1],["(\\d{4})(\\d{4,6})","$1 $2",["1"],0,1],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["6"],"0$1",1],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[357-9]"],"0$1",1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["2[48]"],"0$1",1],["(\\d{3})(\\d{4})(\\d{3})","$1 $2 $3",["2"],"0$1",1]],"0"],VU:["678","00","[57-9]\\d{6}|(?:[238]\\d|48)\\d{3}",[5,7],[["(\\d{3})(\\d{4})","$1 $2",["[57-9]"]]]],WF:["681","00","(?:40|72)\\d{4}|8\\d{5}(?:\\d{3})?",[6,9],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[478]"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]]]],WS:["685","0","(?:[2-6]|8\\d{5})\\d{4}|[78]\\d{6}|[68]\\d{5}",[5,6,7,10],[["(\\d{5})","$1",["[2-5]|6[1-9]"]],["(\\d{3})(\\d{3,7})","$1 $2",["[68]"]],["(\\d{2})(\\d{5})","$1 $2",["7"]]]],XK:["383","00","[23]\\d{7,8}|(?:4\\d\\d|[89]00)\\d{5}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-4]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[23]"],"0$1"]],"0"],YE:["967","00","(?:1|7\\d)\\d{7}|[1-7]\\d{6}",[7,8,9],[["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-6]|7(?:[24-6]|8[0-7])"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["7"],"0$1"]],"0"],YT:["262","00","(?:80|9\\d)\\d{7}|(?:26|63)9\\d{6}",[9],0,"0",0,0,0,0,0,[["269(?:0[0-467]|5[0-4]|6\\d|[78]0)\\d{4}"],["639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])\\d{4}"],["80\\d{7}"],0,0,0,0,0,["9(?:(?:39|47)8[01]|769\\d)\\d{4}"]]],ZA:["27","00","[1-79]\\d{8}|8\\d{4,9}",[5,6,7,8,9,10],[["(\\d{2})(\\d{3,4})","$1 $2",["8[1-4]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["8[1-4]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["860"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"]],"0"],ZM:["260","00","800\\d{6}|(?:21|63|[79]\\d)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[28]"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["[79]"],"0$1"]],"0"],ZW:["263","00","2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}",[5,6,7,8,9,10],[["(\\d{3})(\\d{3,5})","$1 $2",["2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]"],"0$1"],["(\\d)(\\d{3})(\\d{2,4})","$1 $2 $3",["[49]"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["80"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2","2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)","2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)"],"0$1"],["(\\d{4})(\\d{6})","$1 $2",["8"],"0$1"],["(\\d{2})(\\d{3,5})","$1 $2",["1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["29[013-9]|39|54"],"0$1"],["(\\d{4})(\\d{3,5})","$1 $2",["(?:25|54)8","258|5483"],"0$1"]],"0"]},nonGeographic:{800:["800",0,"(?:00|[1-9]\\d)\\d{6}",[8],[["(\\d{4})(\\d{4})","$1 $2",["\\d"]]],0,0,0,0,0,0,[0,0,["(?:00|[1-9]\\d)\\d{6}"]]],808:["808",0,"[1-9]\\d{7}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[1-9]"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,0,["[1-9]\\d{7}"]]],870:["870",0,"7\\d{11}|[35-7]\\d{8}",[9,12],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[35-7]"]]],0,0,0,0,0,0,[0,["(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}"]]],878:["878",0,"10\\d{10}",[12],[["(\\d{2})(\\d{5})(\\d{5})","$1 $2 $3",["1"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,["10\\d{10}"]]],881:["881",0,"[0-36-9]\\d{8}",[9],[["(\\d)(\\d{3})(\\d{5})","$1 $2 $3",["[0-36-9]"]]],0,0,0,0,0,0,[0,["[0-36-9]\\d{8}"]]],882:["882",0,"[13]\\d{6}(?:\\d{2,5})?|[19]\\d{7}|(?:[25]\\d\\d|4)\\d{7}(?:\\d{2})?",[7,8,9,10,11,12],[["(\\d{2})(\\d{5})","$1 $2",["16|342"]],["(\\d{2})(\\d{6})","$1 $2",["49"]],["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["1[36]|9"]],["(\\d{2})(\\d{4})(\\d{3})","$1 $2 $3",["3[23]"]],["(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["16"]],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["10|23|3(?:[15]|4[57])|4|51"]],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["34"]],["(\\d{2})(\\d{4,5})(\\d{5})","$1 $2 $3",["[1-35]"]]],0,0,0,0,0,0,[0,["342\\d{4}|(?:337|49)\\d{6}|(?:3(?:2|47|7\\d{3})|50\\d{3})\\d{7}",[7,8,9,10,12]],0,0,0,0,0,0,["1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\d{4}|6\\d{5,10})|(?:345\\d|9[89])\\d{6}|(?:10|2(?:3|85\\d)|3(?:[15]|[69]\\d\\d)|4[15-8]|51)\\d{8}"]]],883:["883",0,"(?:[1-4]\\d|51)\\d{6,10}",[8,9,10,11,12],[["(\\d{3})(\\d{3})(\\d{2,8})","$1 $2 $3",["[14]|2[24-689]|3[02-689]|51[24-9]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["510"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["21"]],["(\\d{4})(\\d{4})(\\d{4})","$1 $2 $3",["51[13]"]],["(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["[235]"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,["(?:2(?:00\\d\\d|10)|(?:370[1-9]|51\\d0)\\d)\\d{7}|51(?:00\\d{5}|[24-9]0\\d{4,7})|(?:1[013-79]|2[24-689]|3[02-689]|4[0-4])0\\d{5,9}"]]],888:["888",0,"\\d{11}",[11],[["(\\d{3})(\\d{3})(\\d{5})","$1 $2 $3"]],0,0,0,0,0,0,[0,0,0,0,0,0,["\\d{11}"]]],979:["979",0,"[1359]\\d{8}",[9],[["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["[1359]"]]],0,0,0,0,0,0,[0,0,0,["[1359]\\d{8}"]]]}};function An(t){return An="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},An(t)}function $n(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function bn(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function wn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Cn(t){var e,n,r,o,i,a=(o=Array.prototype.slice.call(t),i=4,function(t){if(Array.isArray(t))return t}(o)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i=[],a=!0,d=!1;try{for(n=n.call(t);!(a=(r=n.next()).done)&&(i.push(r.value),!e||i.length!==e);a=!0);}catch(t){d=!0,o=t}finally{try{a||null==n.return||n.return()}finally{if(d)throw o}}return i}}(o,i)||function(t,e){if(t){if("string"==typeof t)return wn(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?wn(t,e):void 0}}(o,i)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),d=a[0],s=a[1],c=a[2],l=a[3];if("string"!=typeof d)throw new TypeError("A text for parsing must be a string.");if(e=d,s&&"string"!=typeof s){if(!xn(s))throw new Error("Invalid second argument: ".concat(s));c?(n=s,r=c):r=s}else l?(n=c,r=l):(n=void 0,r=c),s&&(n=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?$n(Object(n),!0).forEach((function(e){bn(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):$n(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}({defaultCountry:s},n));return{text:e,options:n,metadata:r}}var xn=function(t){return"object"===An(t)},En=2,On=17,Sn=3,Pn="0-90-9٠-٩۰-۹",Ln="".concat("-‐-―−ー-").concat("//").concat("..").concat(" ").concat("()()[]\\[\\]").concat("~⁓∼~");function jn(t){return jn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},jn(t)}function In(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function _n(t){var e="function"==typeof Map?new Map:void 0;return _n=function(t){if(null===t||(n=t,-1===Function.toString.call(n).indexOf("[native code]")))return t;var n;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,r)}function r(){return kn(t,arguments,Dn(this).constructor)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),Nn(r,t)},_n(t)}function kn(t,e,n){return kn=Bn()?Reflect.construct:function(t,e,n){var r=[null];r.push.apply(r,e);var o=new(Function.bind.apply(t,r));return n&&Nn(o,n.prototype),o},kn.apply(null,arguments)}function Bn(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}function Nn(t,e){return Nn=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},Nn(t,e)}function Dn(t){return Dn=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},Dn(t)}var Tn=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Nn(t,e)}(i,t);var e,n,r,o=(n=i,r=Bn(),function(){var t,e=Dn(n);if(r){var o=Dn(this).constructor;t=Reflect.construct(e,arguments,o)}else t=e.apply(this,arguments);return function(t,e){if(e&&("object"===jn(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return In(t)}(this,t)});function i(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,i),e=o.call(this,t),Object.setPrototypeOf(In(e),i.prototype),e.name=e.constructor.name,e}return e=i,Object.defineProperty(e,"prototype",{writable:!1}),e}(_n(Error));function Mn(t,e){t=t.split("-"),e=e.split("-");for(var n=t[0].split("."),r=e[0].split("."),o=0;o<3;o++){var i=Number(n[o]),a=Number(r[o]);if(i>a)return 1;if(a>i)return-1;if(!isNaN(i)&&isNaN(a))return 1;if(isNaN(i)&&!isNaN(a))return-1}return t[1]&&e[1]?t[1]>e[1]?1:t[1]<e[1]?-1:0:!t[1]&&e[1]?1:t[1]&&!e[1]?-1:0}function Rn(t){return Rn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Rn(t)}function Fn(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Gn(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function Zn(t,e,n){return e&&Gn(t.prototype,e),n&&Gn(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}var Un=" ext. ",Yn=/^\d+$/,zn=function(){function t(e){Fn(this,t),function(t){if(!t)throw new Error("[libphonenumber-js] `metadata` argument not passed. Check your arguments.");if(!Kn(t)||!Kn(t.countries))throw new Error("[libphonenumber-js] `metadata` argument was passed but it's not a valid metadata. Must be an object having `.countries` child object property. Got ".concat(Kn(t)?"an object of shape: { "+Object.keys(t).join(", ")+" }":"a "+Qn(t)+": "+t,"."))}(e),this.metadata=e,tr.call(this,e)}return Zn(t,[{key:"getCountries",value:function(){return Object.keys(this.metadata.countries).filter((function(t){return"001"!==t}))}},{key:"getCountryMetadata",value:function(t){return this.metadata.countries[t]}},{key:"nonGeographic",value:function(){if(!(this.v1||this.v2||this.v3))return this.metadata.nonGeographic||this.metadata.nonGeographical}},{key:"hasCountry",value:function(t){return void 0!==this.getCountryMetadata(t)}},{key:"hasCallingCode",value:function(t){if(this.getCountryCodesForCallingCode(t))return!0;if(this.nonGeographic()){if(this.nonGeographic()[t])return!0}else{var e=this.countryCallingCodes()[t];if(e&&1===e.length&&"001"===e[0])return!0}}},{key:"isNonGeographicCallingCode",value:function(t){return this.nonGeographic()?!!this.nonGeographic()[t]:!this.getCountryCodesForCallingCode(t)}},{key:"country",value:function(t){return this.selectNumberingPlan(t)}},{key:"selectNumberingPlan",value:function(t,e){if(t&&Yn.test(t)&&(e=t,t=null),t&&"001"!==t){if(!this.hasCountry(t))throw new Error("Unknown country: ".concat(t));this.numberingPlan=new Hn(this.getCountryMetadata(t),this)}else if(e){if(!this.hasCallingCode(e))throw new Error("Unknown calling code: ".concat(e));this.numberingPlan=new Hn(this.getNumberingPlanMetadata(e),this)}else this.numberingPlan=void 0;return this}},{key:"getCountryCodesForCallingCode",value:function(t){var e=this.countryCallingCodes()[t];if(e){if(1===e.length&&3===e[0].length)return;return e}}},{key:"getCountryCodeForCallingCode",value:function(t){var e=this.getCountryCodesForCallingCode(t);if(e)return e[0]}},{key:"getNumberingPlanMetadata",value:function(t){var e=this.getCountryCodeForCallingCode(t);if(e)return this.getCountryMetadata(e);if(this.nonGeographic()){var n=this.nonGeographic()[t];if(n)return n}else{var r=this.countryCallingCodes()[t];if(r&&1===r.length&&"001"===r[0])return this.metadata.countries["001"]}}},{key:"countryCallingCode",value:function(){return this.numberingPlan.callingCode()}},{key:"IDDPrefix",value:function(){return this.numberingPlan.IDDPrefix()}},{key:"defaultIDDPrefix",value:function(){return this.numberingPlan.defaultIDDPrefix()}},{key:"nationalNumberPattern",value:function(){return this.numberingPlan.nationalNumberPattern()}},{key:"possibleLengths",value:function(){return this.numberingPlan.possibleLengths()}},{key:"formats",value:function(){return this.numberingPlan.formats()}},{key:"nationalPrefixForParsing",value:function(){return this.numberingPlan.nationalPrefixForParsing()}},{key:"nationalPrefixTransformRule",value:function(){return this.numberingPlan.nationalPrefixTransformRule()}},{key:"leadingDigits",value:function(){return this.numberingPlan.leadingDigits()}},{key:"hasTypes",value:function(){return this.numberingPlan.hasTypes()}},{key:"type",value:function(t){return this.numberingPlan.type(t)}},{key:"ext",value:function(){return this.numberingPlan.ext()}},{key:"countryCallingCodes",value:function(){return this.v1?this.metadata.country_phone_code_to_countries:this.metadata.country_calling_codes}},{key:"chooseCountryByCountryCallingCode",value:function(t){return this.selectNumberingPlan(t)}},{key:"hasSelectedNumberingPlan",value:function(){return void 0!==this.numberingPlan}}]),t}(),Hn=function(){function t(e,n){Fn(this,t),this.globalMetadataObject=n,this.metadata=e,tr.call(this,n.metadata)}return Zn(t,[{key:"callingCode",value:function(){return this.metadata[0]}},{key:"getDefaultCountryMetadataForRegion",value:function(){return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode())}},{key:"IDDPrefix",value:function(){if(!this.v1&&!this.v2)return this.metadata[1]}},{key:"defaultIDDPrefix",value:function(){if(!this.v1&&!this.v2)return this.metadata[12]}},{key:"nationalNumberPattern",value:function(){return this.v1||this.v2?this.metadata[1]:this.metadata[2]}},{key:"possibleLengths",value:function(){if(!this.v1)return this.metadata[this.v2?2:3]}},{key:"_getFormats",value:function(t){return t[this.v1?2:this.v2?3:4]}},{key:"formats",value:function(){var t=this;return(this._getFormats(this.metadata)||this._getFormats(this.getDefaultCountryMetadataForRegion())||[]).map((function(e){return new Wn(e,t)}))}},{key:"nationalPrefix",value:function(){return this.metadata[this.v1?3:this.v2?4:5]}},{key:"_getNationalPrefixFormattingRule",value:function(t){return t[this.v1?4:this.v2?5:6]}},{key:"nationalPrefixFormattingRule",value:function(){return this._getNationalPrefixFormattingRule(this.metadata)||this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion())}},{key:"_nationalPrefixForParsing",value:function(){return this.metadata[this.v1?5:this.v2?6:7]}},{key:"nationalPrefixForParsing",value:function(){return this._nationalPrefixForParsing()||this.nationalPrefix()}},{key:"nationalPrefixTransformRule",value:function(){return this.metadata[this.v1?6:this.v2?7:8]}},{key:"_getNationalPrefixIsOptionalWhenFormatting",value:function(){return!!this.metadata[this.v1?7:this.v2?8:9]}},{key:"nationalPrefixIsOptionalWhenFormattingInNationalFormat",value:function(){return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata)||this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion())}},{key:"leadingDigits",value:function(){return this.metadata[this.v1?8:this.v2?9:10]}},{key:"types",value:function(){return this.metadata[this.v1?9:this.v2?10:11]}},{key:"hasTypes",value:function(){return!(this.types()&&0===this.types().length||!this.types())}},{key:"type",value:function(t){if(this.hasTypes()&&qn(this.types(),t))return new Xn(qn(this.types(),t),this)}},{key:"ext",value:function(){return this.v1||this.v2?Un:this.metadata[13]||Un}}]),t}(),Wn=function(){function t(e,n){Fn(this,t),this._format=e,this.metadata=n}return Zn(t,[{key:"pattern",value:function(){return this._format[0]}},{key:"format",value:function(){return this._format[1]}},{key:"leadingDigitsPatterns",value:function(){return this._format[2]||[]}},{key:"nationalPrefixFormattingRule",value:function(){return this._format[3]||this.metadata.nationalPrefixFormattingRule()}},{key:"nationalPrefixIsOptionalWhenFormattingInNationalFormat",value:function(){return!!this._format[4]||this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat()}},{key:"nationalPrefixIsMandatoryWhenFormattingInNationalFormat",value:function(){return this.usesNationalPrefix()&&!this.nationalPrefixIsOptionalWhenFormattingInNationalFormat()}},{key:"usesNationalPrefix",value:function(){return!(!this.nationalPrefixFormattingRule()||Vn.test(this.nationalPrefixFormattingRule()))}},{key:"internationalFormat",value:function(){return this._format[5]||this.format()}}]),t}(),Vn=/^\(?\$1\)?$/,Xn=function(){function t(e,n){Fn(this,t),this.type=e,this.metadata=n}return Zn(t,[{key:"pattern",value:function(){return this.metadata.v1?this.type:this.type[0]}},{key:"possibleLengths",value:function(){if(!this.metadata.v1)return this.type[1]||this.metadata.possibleLengths()}}]),t}();function qn(t,e){switch(e){case"FIXED_LINE":return t[0];case"MOBILE":return t[1];case"TOLL_FREE":return t[2];case"PREMIUM_RATE":return t[3];case"PERSONAL_NUMBER":return t[4];case"VOICEMAIL":return t[5];case"UAN":return t[6];case"PAGER":return t[7];case"VOIP":return t[8];case"SHARED_COST":return t[9]}}var Kn=function(t){return"object"===Rn(t)},Qn=function(t){return Rn(t)};function Jn(t,e){if((e=new zn(e)).hasCountry(t))return e.country(t).countryCallingCode();throw new Error("Unknown country: ".concat(t))}function tr(t){var e=t.version;"number"==typeof e?(this.v1=1===e,this.v2=2===e,this.v3=3===e,this.v4=4===e):e?-1===Mn(e,"1.2.0")?this.v2=!0:-1===Mn(e,"1.7.35")?this.v3=!0:this.v4=!0:this.v1=!0}var er=function(t){return"([".concat(Pn,"]{1,").concat(t,"})")};function nr(t){var e="[ \\t,]*",n="[:\\..]?[ \\t,-]*",r="#?",o="[ \\t]*";return";ext="+er("20")+"|"+e+"(?:e?xt(?:ensi(?:ó?|ó))?n?|e?xtn?|доб|anexo)"+n+er("20")+"#?|"+e+"(?:[xx##~~]|int|int)"+n+er("9")+"#?|[- ]+"+er("6")+"#|"+o+"(?:,{2}|;)"+n+er("15")+"#?|"+o+"(?:,)+"+n+er("9")+r}var rr="["+Pn+"]{"+En+"}",or="[++]{0,1}(?:["+Ln+"]*["+Pn+"]){3,}["+Ln+Pn+"]*",ir=new RegExp("^[++]{0,1}(?:["+Ln+"]*["+Pn+"]){1,2}$","i"),ar=or+"(?:"+nr()+")?",dr=new RegExp("^"+rr+"$|^"+ar+"$","i"),sr=new RegExp("(?:"+nr()+")$","i"),cr={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9","0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9"};function lr(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function ur(t){for(var e,n="",r=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(n)return(n=n.call(t)).next.bind(n);if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return lr(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?lr(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(t.split(""));!(e=r()).done;)n+=pr(e.value,n)||"";return n}function pr(t,e){if("+"===t){if(e)return;return"+"}return function(t){return cr[t]}(t)}function fr(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function hr(t,e){return vr(t,void 0,e)}function vr(t,e,n){var r=n.type(e),o=r&&r.possibleLengths()||n.possibleLengths();if(!o)return"IS_POSSIBLE";if("FIXED_LINE_OR_MOBILE"===e){if(!n.type("FIXED_LINE"))return vr(t,"MOBILE",n);var i=n.type("MOBILE");i&&(o=function(t,e){for(var n,r=t.slice(),o=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(n)return(n=n.call(t)).next.bind(n);if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return fr(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?fr(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(e);!(n=o()).done;){var i=n.value;t.indexOf(i)<0&&r.push(i)}return r.sort((function(t,e){return t-e}))}(o,i.possibleLengths()))}else if(e&&!r)return"INVALID_LENGTH";var a=t.length,d=o[0];return d===a?"IS_POSSIBLE":d>a?"TOO_SHORT":o[o.length-1]<a?"TOO_LONG":o.indexOf(a,1)>=0?"IS_POSSIBLE":"INVALID_LENGTH"}function mr(t,e){return"IS_POSSIBLE"===hr(t,e)}function yr(t,e){return t=t||"",new RegExp("^(?:"+e+")$").test(t)}function gr(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var Ar=["MOBILE","PREMIUM_RATE","TOLL_FREE","SHARED_COST","VOIP","PERSONAL_NUMBER","PAGER","UAN","VOICEMAIL"];function $r(t,e,n){if(e=e||{},t.country){(n=new zn(n)).selectNumberingPlan(t.country,t.countryCallingCode);var r=e.v2?t.nationalNumber:t.phone;if(yr(r,n.nationalNumberPattern())){if(br(r,"FIXED_LINE",n))return n.type("MOBILE")&&""===n.type("MOBILE").pattern()?"FIXED_LINE_OR_MOBILE":n.type("MOBILE")?br(r,"MOBILE",n)?"FIXED_LINE_OR_MOBILE":"FIXED_LINE":"FIXED_LINE_OR_MOBILE";for(var o,i=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(n)return(n=n.call(t)).next.bind(n);if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return gr(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?gr(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(Ar);!(o=i()).done;){var a=o.value;if(br(r,a,n))return a}}}}function br(t,e,n){return!(!(e=n.type(e))||!e.pattern())&&!(e.possibleLengths()&&e.possibleLengths().indexOf(t.length)<0)&&yr(t,e.pattern())}var wr=/(\$\d)/;var Cr=/^[\d]+(?:[~\u2053\u223C\uFF5E][\d]+)?$/;function xr(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Er(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Or(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Er(Object(n),!0).forEach((function(e){Sr(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Er(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function Sr(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Pr={formatExtension:function(t,e,n){return"".concat(t).concat(n.ext()).concat(e)}};function Lr(t,e,n,r,o){var i=function(t,e){for(var n,r=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(n)return(n=n.call(t)).next.bind(n);if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return xr(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?xr(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(t);!(n=r()).done;){var o=n.value;if(o.leadingDigitsPatterns().length>0){var i=o.leadingDigitsPatterns()[o.leadingDigitsPatterns().length-1];if(0!==e.search(i))continue}if(yr(e,o.pattern()))return o}}(r.formats(),t);return i?function(t,e,n){var r=n.useInternationalFormat,o=n.withNationalPrefix,i=(n.carrierCode,n.metadata,t.replace(new RegExp(e.pattern()),r?e.internationalFormat():o&&e.nationalPrefixFormattingRule()?e.format().replace(wr,e.nationalPrefixFormattingRule()):e.format()));return r?function(t){return t.replace(new RegExp("[".concat(Ln,"]+"),"g")," ").trim()}(i):i}(t,i,{useInternationalFormat:"INTERNATIONAL"===n,withNationalPrefix:!i.nationalPrefixIsOptionalWhenFormattingInNationalFormat()||!o||!1!==o.nationalPrefix,carrierCode:e,metadata:r}):t}function jr(t,e,n,r){return e?r(t,e,n):t}function Ir(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function _r(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Ir(Object(n),!0).forEach((function(e){kr(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Ir(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function kr(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Br(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var Nr=function(){function t(e,n,r){if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e)throw new TypeError("`country` or `countryCallingCode` not passed");if(!n)throw new TypeError("`nationalNumber` not passed");if(!r)throw new TypeError("`metadata` not passed");var o=function(t,e){var n,r,o=new zn(e);return Dr(t)?(n=t,o.selectNumberingPlan(n),r=o.countryCallingCode()):r=t,{country:n,countryCallingCode:r}}(e,r),i=o.country,a=o.countryCallingCode;this.country=i,this.countryCallingCode=a,this.nationalNumber=n,this.number="+"+this.countryCallingCode+this.nationalNumber,this.getMetadata=function(){return r}}var e,n;return e=t,n=[{key:"setExt",value:function(t){this.ext=t}},{key:"getPossibleCountries",value:function(){return this.country?[this.country]:(t=this.countryCallingCode,e=this.nationalNumber,n=this.getMetadata(),(r=new zn(n).getCountryCodesForCallingCode(t))?r.filter((function(t){return function(t,e,n){var r=new zn(n);return r.selectNumberingPlan(e),r.numberingPlan.possibleLengths().indexOf(t.length)>=0}(e,t,n)})):[]);var t,e,n,r}},{key:"isPossible",value:function(){return function(t,e,n){if(void 0===e&&(e={}),n=new zn(n),e.v2){if(!t.countryCallingCode)throw new Error("Invalid phone number object passed");n.selectNumberingPlan(t.countryCallingCode)}else{if(!t.phone)return!1;if(t.country){if(!n.hasCountry(t.country))throw new Error("Unknown country: ".concat(t.country));n.country(t.country)}else{if(!t.countryCallingCode)throw new Error("Invalid phone number object passed");n.selectNumberingPlan(t.countryCallingCode)}}if(n.possibleLengths())return mr(t.phone||t.nationalNumber,n);if(t.countryCallingCode&&n.isNonGeographicCallingCode(t.countryCallingCode))return!0;throw new Error('Missing "possibleLengths" in metadata. Perhaps the metadata has been generated before v1.0.18.')}(this,{v2:!0},this.getMetadata())}},{key:"isValid",value:function(){return function(t,e,n){return e=e||{},(n=new zn(n)).selectNumberingPlan(t.country,t.countryCallingCode),n.hasTypes()?void 0!==$r(t,e,n.metadata):yr(e.v2?t.nationalNumber:t.phone,n.nationalNumberPattern())}(this,{v2:!0},this.getMetadata())}},{key:"isNonGeographic",value:function(){return new zn(this.getMetadata()).isNonGeographicCallingCode(this.countryCallingCode)}},{key:"isEqual",value:function(t){return this.number===t.number&&this.ext===t.ext}},{key:"getType",value:function(){return $r(this,{v2:!0},this.getMetadata())}},{key:"format",value:function(t,e){return function(t,e,n,r){if(n=n?Or(Or({},Pr),n):Pr,r=new zn(r),t.country&&"001"!==t.country){if(!r.hasCountry(t.country))throw new Error("Unknown country: ".concat(t.country));r.country(t.country)}else{if(!t.countryCallingCode)return t.phone||"";r.selectNumberingPlan(t.countryCallingCode)}var o,i=r.countryCallingCode(),a=n.v2?t.nationalNumber:t.phone;switch(e){case"NATIONAL":return a?jr(o=Lr(a,t.carrierCode,"NATIONAL",r,n),t.ext,r,n.formatExtension):"";case"INTERNATIONAL":return a?(o=Lr(a,null,"INTERNATIONAL",r,n),jr(o="+".concat(i," ").concat(o),t.ext,r,n.formatExtension)):"+".concat(i);case"E.164":return"+".concat(i).concat(a);case"RFC3966":return function(t){var e=t.number,n=t.ext;if(!e)return"";if("+"!==e[0])throw new Error('"formatRFC3966()" expects "number" to be in E.164 format.');return"tel:".concat(e).concat(n?";ext="+n:"")}({number:"+".concat(i).concat(a),ext:t.ext});case"IDD":if(!n.fromCountry)return;var d=function(t,e,n,r,o){if(Jn(r,o.metadata)===n){var i=Lr(t,e,"NATIONAL",o);return"1"===n?n+" "+i:i}var a=function(t,e,n){var r=new zn(n);return r.selectNumberingPlan(t,void 0),r.defaultIDDPrefix()?r.defaultIDDPrefix():Cr.test(r.IDDPrefix())?r.IDDPrefix():void 0}(r,0,o.metadata);if(a)return"".concat(a," ").concat(n," ").concat(Lr(t,null,"INTERNATIONAL",o))}(a,t.carrierCode,i,n.fromCountry,r);return jr(d,t.ext,r,n.formatExtension);default:throw new Error('Unknown "format" argument passed to "formatNumber()": "'.concat(e,'"'))}}(this,t,e?_r(_r({},e),{},{v2:!0}):{v2:!0},this.getMetadata())}},{key:"formatNational",value:function(t){return this.format("NATIONAL",t)}},{key:"formatInternational",value:function(t){return this.format("INTERNATIONAL",t)}},{key:"getURI",value:function(t){return this.format("RFC3966",t)}}],n&&Br(e.prototype,n),Object.defineProperty(e,"prototype",{writable:!1}),t}(),Dr=function(t){return/^[A-Z]{2}$/.test(t)},Tr=new RegExp("(["+Pn+"])");function Mr(t,e){var n=function(t,e){if(t&&e.numberingPlan.nationalPrefixForParsing()){var n=new RegExp("^(?:"+e.numberingPlan.nationalPrefixForParsing()+")"),r=n.exec(t);if(r){var o,i,a,d=r.length-1,s=d>0&&r[d];if(e.nationalPrefixTransformRule()&&s)o=t.replace(n,e.nationalPrefixTransformRule()),d>1&&(i=r[1]);else{var c=r[0];o=t.slice(c.length),s&&(i=r[1])}if(s){var l=t.indexOf(r[1]);t.slice(0,l)===e.numberingPlan.nationalPrefix()&&(a=e.numberingPlan.nationalPrefix())}else a=r[0];return{nationalNumber:o,nationalPrefix:a,carrierCode:i}}}return{nationalNumber:t}}(t,e),r=n.carrierCode,o=n.nationalNumber;if(o!==t){if(!function(t,e,n){return!(yr(t,n.nationalNumberPattern())&&!yr(e,n.nationalNumberPattern()))}(t,o,e))return{nationalNumber:t};if(e.possibleLengths()&&!function(t,e){switch(hr(t,e)){case"TOO_SHORT":case"INVALID_LENGTH":return!1;default:return!0}}(o,e))return{nationalNumber:t}}return{nationalNumber:o,carrierCode:r}}function Rr(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var Fr=!1;function Gr(t,e){var n=e.nationalNumber,r=e.defaultCountry,o=e.metadata;if(Fr&&o.isNonGeographicCallingCode(t))return"001";var i=o.getCountryCodesForCallingCode(t);return i?1===i.length?i[0]:function(t,e){var n=e.countries,r=e.defaultCountry,o=e.metadata;o=new zn(o);for(var i,a=[],d=function(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(n)return(n=n.call(t)).next.bind(n);if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return Rr(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Rr(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(n);!(i=d()).done;){var s=i.value;if(o.country(s),o.leadingDigits()){if(t&&0===t.search(o.leadingDigits()))return s}else if($r({phone:t,country:s},void 0,o.metadata)){if(!r)return s;if(s===r)return s;a.push(s)}}if(a.length>0)return a[0]}(n,{countries:i,defaultCountry:r,metadata:o.metadata}):void 0}var Zr="+",Ur="(["+Pn+"]|[\\-\\.\\(\\)]?)",Yr=new RegExp("^\\"+Zr+Ur+"*["+Pn+"]"+Ur+"*$","g"),zr=new RegExp("^(["+Pn+"]+((\\-)*["+Pn+"])*\\.)*[a-zA-Z]+((\\-)*["+Pn+"])*\\.?$","g"),Hr="tel:",Wr=";phone-context=",Vr=";isub=";var Xr=250,qr=new RegExp("[++"+Pn+"]"),Kr=new RegExp("[^"+Pn+"#]+$"),Qr=!1;function Jr(t,e,n){if(e=e||{},n=new zn(n),e.defaultCountry&&!n.hasCountry(e.defaultCountry)){if(e.v2)throw new Tn("INVALID_COUNTRY");throw new Error("Unknown country: ".concat(e.defaultCountry))}var r=function(t,e,n){var r=function(t,e){var n,r=e.extractFormattedPhoneNumber,o=function(t){var e=t.indexOf(Wr);if(e<0)return null;var n=e+Wr.length;if(n>=t.length)return"";var r=t.indexOf(";",n);return r>=0?t.substring(n,r):t.substring(n)}(t);if(!function(t){return null===t||0!==t.length&&(Yr.test(t)||zr.test(t))}(o))throw new Tn("NOT_A_NUMBER");if(null===o)n=r(t)||"";else{n="",o.charAt(0)===Zr&&(n+=o);var i,a=t.indexOf(Hr);i=a>=0?a+Hr.length:0;var d=t.indexOf(Wr);n+=t.substring(i,d)}var s=n.indexOf(Vr);if(s>0&&(n=n.substring(0,s)),""!==n)return n}(t,{extractFormattedPhoneNumber:function(t){return function(t,e,n){if(t)if(t.length>Xr){if(n)throw new Tn("TOO_LONG")}else{if(!1===e)return t;var r=t.search(qr);if(!(r<0))return t.slice(r).replace(Kr,"")}}(t,n,e)}});if(!r)return{};if(!function(t){return t.length>=En&&dr.test(t)}(r))return function(t){return ir.test(t)}(r)?{error:"TOO_SHORT"}:{};var o=function(t){var e=t.search(sr);if(e<0)return{};for(var n=t.slice(0,e),r=t.match(sr),o=1;o<r.length;){if(r[o])return{number:n,ext:r[o]};o++}}(r);return o.ext?o:{number:r}}(t,e.v2,e.extract),o=r.number,i=r.ext,a=r.error;if(!o){if(e.v2){if("TOO_SHORT"===a)throw new Tn("TOO_SHORT");throw new Tn("NOT_A_NUMBER")}return{}}var d=function(t,e,n,r){var o,i=function(t,e,n,r){if(!t)return{};var o;if("+"!==t[0]){var i=function(t,e,n,r){if(e){var o=new zn(r);o.selectNumberingPlan(e,n);var i=new RegExp(o.IDDPrefix());if(0===t.search(i)){var a=(t=t.slice(t.match(i)[0].length)).match(Tr);if(!(a&&null!=a[1]&&a[1].length>0&&"0"===a[1]))return t}}}(t,e,n,r);if(!i||i===t){if(e||n){var a=function(t,e,n,r){var o=e?Jn(e,r):n;if(0===t.indexOf(o)){(r=new zn(r)).selectNumberingPlan(e,n);var i=t.slice(o.length),a=Mr(i,r).nationalNumber,d=Mr(t,r).nationalNumber;if(!yr(d,r.nationalNumberPattern())&&yr(a,r.nationalNumberPattern())||"TOO_LONG"===hr(d,r))return{countryCallingCode:o,number:i}}return{number:t}}(t,e,n,r),d=a.countryCallingCode,s=a.number;if(d)return{countryCallingCodeSource:"FROM_NUMBER_WITHOUT_PLUS_SIGN",countryCallingCode:d,number:s}}return{number:t}}o=!0,t="+"+i}if("0"===t[1])return{};r=new zn(r);for(var c=2;c-1<=Sn&&c<=t.length;){var l=t.slice(1,c);if(r.hasCallingCode(l))return r.selectNumberingPlan(l),{countryCallingCodeSource:o?"FROM_NUMBER_WITH_IDD":"FROM_NUMBER_WITH_PLUS_SIGN",countryCallingCode:l,number:t.slice(c)};c++}return{}}(ur(t),e,n,r.metadata),a=i.countryCallingCodeSource,d=i.countryCallingCode,s=i.number;if(d)r.selectNumberingPlan(d);else{if(!s||!e&&!n)return{};r.selectNumberingPlan(e,n),e?o=e:Qr&&r.isNonGeographicCallingCode(n)&&(o="001"),d=n||Jn(e,r.metadata)}if(!s)return{countryCallingCodeSource:a,countryCallingCode:d};var c=Mr(ur(s),r),l=c.nationalNumber,u=c.carrierCode,p=Gr(d,{nationalNumber:l,defaultCountry:e,metadata:r});return p&&(o=p,"001"===p||r.country(o)),{country:o,countryCallingCode:d,countryCallingCodeSource:a,nationalNumber:l,carrierCode:u}}(o,e.defaultCountry,e.defaultCallingCode,n),s=d.country,c=d.nationalNumber,l=d.countryCallingCode,u=d.countryCallingCodeSource,p=d.carrierCode;if(!n.hasSelectedNumberingPlan()){if(e.v2)throw new Tn("INVALID_COUNTRY");return{}}if(!c||c.length<En){if(e.v2)throw new Tn("TOO_SHORT");return{}}if(c.length>On){if(e.v2)throw new Tn("TOO_LONG");return{}}if(e.v2){var f=new Nr(l,c,n.metadata);return s&&(f.country=s),p&&(f.carrierCode=p),i&&(f.ext=i),f.__countryCallingCodeSource=u,f}var h=!!(e.extended?n.hasSelectedNumberingPlan():s)&&yr(c,n.nationalNumberPattern());return e.extended?{country:s,countryCallingCode:l,carrierCode:p,valid:h,possible:!!h||!(!0!==e.extended||!n.possibleLengths()||!mr(c,n)),phone:c,ext:i}:h?function(t,e,n){var r={country:t,phone:e};return n&&(r.ext=n),r}(s,c,i):{}}function to(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function eo(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?to(Object(n),!0).forEach((function(e){no(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):to(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function no(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function ro(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function oo(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?ro(Object(n),!0).forEach((function(e){io(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ro(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function io(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function ao(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function so(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?ao(Object(n),!0).forEach((function(e){co(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ao(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function co(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function lo(){var t=Cn(arguments),e=t.text,n=t.options,r=t.metadata,o=function(t,e,n){e&&e.defaultCountry&&!function(t,e){return e.countries.hasOwnProperty(t)}(e.defaultCountry,n)&&(e=oo(oo({},e),{},{defaultCountry:void 0}));try{return function(t,e,n){return Jr(t,eo(eo({},e),{},{v2:!0}),n)}(t,e,n)}catch(t){if(!(t instanceof Tn))throw t}}(e,n=so(so({},n),{},{extract:!1}),r);return o&&o.isValid()||!1}function uo(){return function(t,e){var n=Array.prototype.slice.call(e);return n.push(gn),t.apply(this,n)}(lo,arguments)}function po(t){return po="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},po(t)}function fo(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ho(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?fo(Object(n),!0).forEach((function(e){vo(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):fo(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function vo(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==po(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==po(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===po(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var mo=(0,a.j)("settings","personalInfoParameters",{}),yo=mo.defaultPhoneRegion,go=mo.phone,Ao={name:"PhoneSection",components:{AccountPropertySection:xe},data:function(){return{phone:ho(ho({},go),{},{readable:X[go.name]})}},methods:{onValidate:function(t){return yo?uo(t,yo):uo(t)}}},$o=(0,Z.Z)(Ao,(function(){var t=this;return(0,t._self._c)("AccountPropertySection",t._b({attrs:{placeholder:t.t("settings","Your phone number"),autocomplete:"tel",type:"tel","on-validate":t.onValidate}},"AccountPropertySection",t.phone,!1,!0))}),[],!1,null,null,null).exports;function bo(t){return bo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},bo(t)}function wo(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Co(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?wo(Object(n),!0).forEach((function(e){xo(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):wo(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function xo(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==bo(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==bo(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===bo(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Eo=(0,a.j)("settings","personalInfoParameters",{}).location,Oo={name:"LocationSection",components:{AccountPropertySection:xe},data:function(){return{location:Co(Co({},Eo),{},{readable:X[Eo.name]})}}},So=(0,Z.Z)(Oo,(function(){var t=this;return(0,t._self._c)("AccountPropertySection",t._b({attrs:{autocomplete:"address-level1",placeholder:t.t("settings","Your city")}},"AccountPropertySection",t.location,!1,!0))}),[],!1,null,null,null).exports;function Po(t){return Po="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Po(t)}function Lo(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function jo(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Lo(Object(n),!0).forEach((function(e){Io(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Lo(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function Io(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==Po(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Po(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===Po(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var _o=(0,a.j)("settings","personalInfoParameters",{}).website,ko={name:"WebsiteSection",components:{AccountPropertySection:xe},data:function(){return{website:jo(jo({},_o),{},{readable:X[_o.name]})}},methods:{onValidate:function(t){return function(t){try{return new URL(t),!0}catch(t){return!1}}(t)}}},Bo=(0,Z.Z)(ko,(function(){var t=this;return(0,t._self._c)("AccountPropertySection",t._b({attrs:{placeholder:t.t("settings","Your website"),autocomplete:"url",type:"url","on-validate":t.onValidate}},"AccountPropertySection",t.website,!1,!0))}),[],!1,null,null,null).exports;function No(t){return No="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},No(t)}function Do(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function To(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Do(Object(n),!0).forEach((function(e){Mo(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Do(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function Mo(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==No(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==No(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===No(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Ro=(0,a.j)("settings","personalInfoParameters",{}).twitter,Fo={name:"TwitterSection",components:{AccountPropertySection:xe},data:function(){return{twitter:To(To({},Ro),{},{readable:X[Ro.name]})}}},Go=(0,Z.Z)(Fo,(function(){var t=this;return(0,t._self._c)("AccountPropertySection",t._b({attrs:{placeholder:t.t("settings","Your Twitter handle")}},"AccountPropertySection",t.twitter,!1,!0))}),[],!1,null,null,null).exports;function Zo(t){return Zo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Zo(t)}function Uo(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Yo(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Uo(Object(n),!0).forEach((function(e){zo(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Uo(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function zo(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==Zo(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Zo(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===Zo(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Ho=(0,a.j)("settings","personalInfoParameters",{}).fediverse,Wo={name:"FediverseSection",components:{AccountPropertySection:xe},data:function(){return{fediverse:Yo(Yo({},Ho),{},{readable:X[Ho.name]})}}},Vo=(0,Z.Z)(Wo,(function(){var t=this;return(0,t._self._c)("AccountPropertySection",t._b({attrs:{placeholder:t.t("settings","Your handle")}},"AccountPropertySection",t.fediverse,!1,!0))}),[],!1,null,null,null).exports;function Xo(t){return Xo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Xo(t)}function qo(){qo=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",d=o.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,n){return t[e]=n}}function c(t,e,n,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),d=new E(o||[]);return r(a,"_invoke",{value:b(t,n,d)}),a}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var u={};function p(){}function f(){}function h(){}var v={};s(v,i,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(O([])));y&&y!==e&&n.call(y,i)&&(v=y);var g=h.prototype=p.prototype=Object.create(v);function A(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function $(t,e){function o(r,i,a,d){var s=l(t[r],t,i);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==Xo(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){o("next",t,a,d)}),(function(t){o("throw",t,a,d)})):e.resolve(u).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,d)}))}d(s.arg)}var i;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){o(t,n,e,r)}))}return i=i?i.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return{value:void 0,done:!0}}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var d=w(a,n);if(d){if(d===u)continue;return d}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var s=l(t,e,n);if("normal"===s.type){if(r=n.done?"completed":"suspendedYield",s.arg===u)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r="completed",n.method="throw",n.arg=s.arg)}}}function w(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),u;var o=l(r,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,u;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,u):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,u)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return f.prototype=h,r(g,"constructor",{value:h,configurable:!0}),r(h,"constructor",{value:f,configurable:!0}),f.displayName=s(h,d,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,d,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},A($.prototype),s($.prototype,a,(function(){return this})),t.AsyncIterator=$,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new $(c(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},A(g),s(g,d,"Generator"),s(g,i,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=O,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var d=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(d&&s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(d){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),u},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),u}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:O(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},t}function Ko(t,e,n,r,o,i,a){try{var d=t[i](a),s=d.value}catch(t){return void n(t)}d.done?e(s):Promise.resolve(s).then(r,o)}function Qo(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){Ko(i,r,o,a,d,"next",t)}function d(t){Ko(i,r,o,a,d,"throw",t)}a(void 0)}))}}function Jo(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ti(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Jo(Object(n),!0).forEach((function(e){ei(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Jo(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function ei(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==Xo(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Xo(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===Xo(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function ni(t){return function(t){if(Array.isArray(t))return ri(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return ri(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ri(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ri(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var oi={name:"Language",props:{inputId:{type:String,default:null},commonLanguages:{type:Array,required:!0},otherLanguages:{type:Array,required:!0},language:{type:Object,required:!0}},data:function(){return{initialLanguage:this.language}},computed:{allLanguages:function(){return Object.freeze([].concat(ni(this.commonLanguages),ni(this.otherLanguages)).reduce((function(t,e){var n=e.code,r=e.name;return ti(ti({},t),{},ei({},n,r))}),{}))}},methods:{onLanguageChange:function(t){var e=this;return Qo(qo().mark((function n(){var r;return qo().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(r=e.constructLanguage(t.target.value),e.$emit("update:language",r),""===(o=r).code||""===o.name||void 0===o.name){n.next=5;break}return n.next=5,e.updateLanguage(r);case 5:case"end":return n.stop()}var o}),n)})))()},updateLanguage:function(e){var n=this;return Qo(qo().mark((function r(){var o,i;return qo().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,ft(Q.LANGUAGE,e.code);case 3:i=r.sent,n.handleResponse({language:e,status:null===(o=i.ocs)||void 0===o||null===(o=o.meta)||void 0===o?void 0:o.status}),n.reloadPage(),r.next=11;break;case 8:r.prev=8,r.t0=r.catch(0),n.handleResponse({errorMessage:t("settings","Unable to update language"),error:r.t0});case 11:case"end":return r.stop()}}),r,null,[[0,8]])})))()},constructLanguage:function(t){return{code:t,name:this.allLanguages[t]}},handleResponse:function(t){var e=t.language,n=t.status,r=t.errorMessage,o=t.error;"ok"===n?this.initialLanguage=e:mt(o,r)},reloadPage:function(){location.reload()}}},ii=r(58531),ai={};ai.styleTagTransform=O(),ai.setAttributes=w(),ai.insert=$().bind(null,"head"),ai.domAPI=g(),ai.insertStyleElement=x(),m()(ii.Z,ai),ii.Z&&ii.Z.locals&&ii.Z.locals;var di=(0,Z.Z)(oi,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"language"},[e("select",{attrs:{id:t.inputId,placeholder:t.t("settings","Language")},on:{change:t.onLanguageChange}},[t._l(t.commonLanguages,(function(n){return e("option",{key:n.code,domProps:{selected:t.language.code===n.code,value:n.code}},[t._v("\n\t\t\t"+t._s(n.name)+"\n\t\t")])})),t._v(" "),e("option",{attrs:{disabled:""}},[t._v("\n\t\t\t──────────\n\t\t")]),t._v(" "),t._l(t.otherLanguages,(function(n){return e("option",{key:n.code,domProps:{selected:t.language.code===n.code,value:n.code}},[t._v("\n\t\t\t"+t._s(n.name)+"\n\t\t")])}))],2),t._v(" "),e("a",{attrs:{href:"https://www.transifex.com/nextcloud/nextcloud/",target:"_blank",rel:"noreferrer noopener"}},[e("em",[t._v(t._s(t.t("settings","Help translate")))])])])}),[],!1,null,"f4e20d10",null).exports,si=(0,a.j)("settings","personalInfoParameters",{}).languageMap,ci=si.activeLanguage,li=si.commonLanguages,ui=si.otherLanguages,pi={name:"LanguageSection",components:{Language:di,HeaderBar:_t},data:function(){return{propertyReadable:J.LANGUAGE,commonLanguages:li,otherLanguages:ui,language:ci}},computed:{inputId:function(){return"account-setting-".concat(Q.LANGUAGE)},isEditable:function(){return Boolean(this.language)}}},fi=r(12531),hi={};hi.styleTagTransform=O(),hi.setAttributes=w(),hi.insert=$().bind(null,"head"),hi.domAPI=g(),hi.insertStyleElement=x(),m()(fi.Z,hi),fi.Z&&fi.Z.locals&&fi.Z.locals;var vi=(0,Z.Z)(pi,(function(){var t=this,e=t._self._c;return e("section",[e("HeaderBar",{attrs:{"input-id":t.inputId,readable:t.propertyReadable}}),t._v(" "),t.isEditable?[e("Language",{attrs:{"input-id":t.inputId,"common-languages":t.commonLanguages,"other-languages":t.otherLanguages,language:t.language},on:{"update:language":function(e){t.language=e}}})]:e("span",[t._v("\n\t\t"+t._s(t.t("settings","No language set"))+"\n\t")])],2)}),[],!1,null,"92685b76",null).exports,mi=r(80351),yi=r.n(mi);function gi(t){return gi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gi(t)}function Ai(){Ai=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",d=o.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,n){return t[e]=n}}function c(t,e,n,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),d=new E(o||[]);return r(a,"_invoke",{value:b(t,n,d)}),a}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var u={};function p(){}function f(){}function h(){}var v={};s(v,i,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(O([])));y&&y!==e&&n.call(y,i)&&(v=y);var g=h.prototype=p.prototype=Object.create(v);function A(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function $(t,e){function o(r,i,a,d){var s=l(t[r],t,i);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==gi(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){o("next",t,a,d)}),(function(t){o("throw",t,a,d)})):e.resolve(u).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,d)}))}d(s.arg)}var i;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){o(t,n,e,r)}))}return i=i?i.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return{value:void 0,done:!0}}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var d=w(a,n);if(d){if(d===u)continue;return d}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var s=l(t,e,n);if("normal"===s.type){if(r=n.done?"completed":"suspendedYield",s.arg===u)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r="completed",n.method="throw",n.arg=s.arg)}}}function w(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),u;var o=l(r,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,u;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,u):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,u)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return f.prototype=h,r(g,"constructor",{value:h,configurable:!0}),r(h,"constructor",{value:f,configurable:!0}),f.displayName=s(h,d,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,d,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},A($.prototype),s($.prototype,a,(function(){return this})),t.AsyncIterator=$,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new $(c(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},A(g),s(g,d,"Generator"),s(g,i,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=O,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var d=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(d&&s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(d){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),u},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),u}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:O(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},t}function $i(t,e,n,r,o,i,a){try{var d=t[i](a),s=d.value}catch(t){return void n(t)}d.done?e(s):Promise.resolve(s).then(r,o)}function bi(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){$i(i,r,o,a,d,"next",t)}function d(t){$i(i,r,o,a,d,"throw",t)}a(void 0)}))}}function wi(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Ci(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?wi(Object(n),!0).forEach((function(e){xi(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):wi(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function xi(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==gi(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==gi(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===gi(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Ei(t){return function(t){if(Array.isArray(t))return Oi(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return Oi(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Oi(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Oi(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var Si={name:"Locale",components:{Web:r(97859).default},props:{inputId:{type:String,default:null},locale:{type:Object,required:!0},localesForLanguage:{type:Array,required:!0},otherLocales:{type:Array,required:!0}},data:function(){return{initialLocale:this.locale,example:{date:yi()().format("L"),time:yi()().format("LTS"),firstDayOfWeek:window.dayNames[window.firstDay]}}},computed:{allLocales:function(){return Object.freeze([].concat(Ei(this.localesForLanguage),Ei(this.otherLocales)).reduce((function(t,e){var n=e.code,r=e.name;return Ci(Ci({},t),{},xi({},n,r))}),{}))}},created:function(){setInterval(this.refreshExample,1e3)},methods:{onLocaleChange:function(t){var e=this;return bi(Ai().mark((function n(){var r;return Ai().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(r=e.constructLocale(t.target.value),e.$emit("update:locale",r),""===(o=r).code||""===o.name||void 0===o.name){n.next=5;break}return n.next=5,e.updateLocale(r);case 5:case"end":return n.stop()}var o}),n)})))()},updateLocale:function(e){var n=this;return bi(Ai().mark((function r(){var o,i;return Ai().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,ft(Q.LOCALE,e.code);case 3:i=r.sent,n.handleResponse({locale:e,status:null===(o=i.ocs)||void 0===o||null===(o=o.meta)||void 0===o?void 0:o.status}),n.reloadPage(),r.next=11;break;case 8:r.prev=8,r.t0=r.catch(0),n.handleResponse({errorMessage:t("settings","Unable to update locale"),error:r.t0});case 11:case"end":return r.stop()}}),r,null,[[0,8]])})))()},constructLocale:function(t){return{code:t,name:this.allLocales[t]}},handleResponse:function(t){var e=t.locale,n=t.status,r=t.errorMessage,o=t.error;"ok"===n?this.initialLocale=e:(this.$emit("update:locale",this.initialLocale),mt(o,r))},refreshExample:function(){this.example={date:yi()().format("L"),time:yi()().format("LTS"),firstDayOfWeek:window.dayNames[window.firstDay]}},reloadPage:function(){location.reload()}}},Pi=r(93615),Li={};Li.styleTagTransform=O(),Li.setAttributes=w(),Li.insert=$().bind(null,"head"),Li.domAPI=g(),Li.insertStyleElement=x(),m()(Pi.Z,Li),Pi.Z&&Pi.Z.locals&&Pi.Z.locals;var ji=(0,Z.Z)(Si,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"locale"},[e("select",{attrs:{id:t.inputId,placeholder:t.t("settings","Locale")},on:{change:t.onLocaleChange}},[t._l(t.localesForLanguage,(function(n){return e("option",{key:n.code,domProps:{selected:t.locale.code===n.code,value:n.code}},[t._v("\n\t\t\t"+t._s(n.name)+"\n\t\t")])})),t._v(" "),e("option",{attrs:{disabled:""}},[t._v("\n\t\t\t──────────\n\t\t")]),t._v(" "),t._l(t.otherLocales,(function(n){return e("option",{key:n.code,domProps:{selected:t.locale.code===n.code,value:n.code}},[t._v("\n\t\t\t"+t._s(n.name)+"\n\t\t")])}))],2),t._v(" "),e("div",{staticClass:"example"},[e("Web",{attrs:{size:20}}),t._v(" "),e("div",{staticClass:"example__text"},[e("p",[e("span",[t._v(t._s(t.example.date))]),t._v(" "),e("span",[t._v(t._s(t.example.time))])]),t._v(" "),e("p",[t._v("\n\t\t\t\t"+t._s(t.t("settings","Week starts on {firstDayOfWeek}",{firstDayOfWeek:t.example.firstDayOfWeek}))+"\n\t\t\t")])])],1)])}),[],!1,null,"9c4afa34",null).exports,Ii=(0,a.j)("settings","personalInfoParameters",{}).localeMap,_i=Ii.activeLocale,ki=Ii.localesForLanguage,Bi=Ii.otherLocales,Ni={name:"LocaleSection",components:{Locale:ji,HeaderBar:_t},data:function(){return{propertyReadable:J.LOCALE,localesForLanguage:ki,otherLocales:Bi,locale:_i}},computed:{inputId:function(){return"account-setting-".concat(Q.LOCALE)},isEditable:function(){return Boolean(this.locale)}}},Di=r(682),Ti={};Ti.styleTagTransform=O(),Ti.setAttributes=w(),Ti.insert=$().bind(null,"head"),Ti.domAPI=g(),Ti.insertStyleElement=x(),m()(Di.Z,Ti),Di.Z&&Di.Z.locals&&Di.Z.locals;var Mi=(0,Z.Z)(Ni,(function(){var t=this,e=t._self._c;return e("section",[e("HeaderBar",{attrs:{"input-id":t.inputId,readable:t.propertyReadable}}),t._v(" "),t.isEditable?[e("Locale",{attrs:{"input-id":t.inputId,"locales-for-language":t.localesForLanguage,"other-locales":t.otherLocales,locale:t.locale},on:{"update:locale":function(e){t.locale=e}}})]:e("span",[t._v("\n\t\t"+t._s(t.t("settings","No locale set"))+"\n\t")])],2)}),[],!1,null,"84fca724",null).exports,Ri={name:"EditProfileAnchorLink",components:{ChevronDownIcon:r(41622).default},props:{profileEnabled:{type:Boolean,required:!0}},computed:{disabled:function(){return!this.profileEnabled}}},Fi=r(38139),Gi={};Gi.styleTagTransform=O(),Gi.setAttributes=w(),Gi.insert=$().bind(null,"head"),Gi.domAPI=g(),Gi.insertStyleElement=x(),m()(Fi.Z,Gi),Fi.Z&&Fi.Z.locals&&Fi.Z.locals;var Zi=r(28168),Ui={};Ui.styleTagTransform=O(),Ui.setAttributes=w(),Ui.insert=$().bind(null,"head"),Ui.domAPI=g(),Ui.insertStyleElement=x(),m()(Zi.Z,Ui),Zi.Z&&Zi.Z.locals&&Zi.Z.locals;var Yi=(0,Z.Z)(Ri,(function(){var t=this,e=t._self._c;return e("a",t._g({class:{disabled:t.disabled},attrs:{href:"#profile-visibility"}},t.$listeners),[e("ChevronDownIcon",{staticClass:"anchor-icon",attrs:{size:22}}),t._v("\n\t"+t._s(t.t("settings","Edit your Profile visibility"))+"\n")],1)}),[],!1,null,"23992b06",null).exports;function zi(t){return zi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},zi(t)}function Hi(){Hi=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",d=o.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,n){return t[e]=n}}function c(t,e,n,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),d=new E(o||[]);return r(a,"_invoke",{value:b(t,n,d)}),a}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var u={};function p(){}function f(){}function h(){}var v={};s(v,i,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(O([])));y&&y!==e&&n.call(y,i)&&(v=y);var g=h.prototype=p.prototype=Object.create(v);function A(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function $(t,e){function o(r,i,a,d){var s=l(t[r],t,i);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==zi(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){o("next",t,a,d)}),(function(t){o("throw",t,a,d)})):e.resolve(u).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,d)}))}d(s.arg)}var i;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){o(t,n,e,r)}))}return i=i?i.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return{value:void 0,done:!0}}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var d=w(a,n);if(d){if(d===u)continue;return d}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var s=l(t,e,n);if("normal"===s.type){if(r=n.done?"completed":"suspendedYield",s.arg===u)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r="completed",n.method="throw",n.arg=s.arg)}}}function w(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),u;var o=l(r,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,u;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,u):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,u)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return f.prototype=h,r(g,"constructor",{value:h,configurable:!0}),r(h,"constructor",{value:f,configurable:!0}),f.displayName=s(h,d,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,d,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},A($.prototype),s($.prototype,a,(function(){return this})),t.AsyncIterator=$,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new $(c(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},A(g),s(g,d,"Generator"),s(g,i,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=O,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var d=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(d&&s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(d){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),u},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),u}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:O(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},t}function Wi(t,e,n,r,o,i,a){try{var d=t[i](a),s=d.value}catch(t){return void n(t)}d.done?e(s):Promise.resolve(s).then(r,o)}var Vi={name:"ProfileCheckbox",components:{NcCheckboxRadioSwitch:r(71998).Z},props:{profileEnabled:{type:Boolean,required:!0}},data:function(){return{isProfileEnabled:this.profileEnabled,loading:!1}},methods:{saveEnableProfile:function(){var e,n=this;return(e=Hi().mark((function e(){var r,o;return Hi().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.loading=!0,e.prev=1,e.next=4,ft(W.PROFILE_ENABLED,n.isProfileEnabled);case 4:o=e.sent,n.handleResponse({isProfileEnabled:n.isProfileEnabled,status:null===(r=o.ocs)||void 0===r||null===(r=r.meta)||void 0===r?void 0:r.status}),e.next=11;break;case 8:e.prev=8,e.t0=e.catch(1),n.handleResponse({errorMessage:t("settings","Unable to update profile enabled state"),error:e.t0});case 11:case"end":return e.stop()}}),e,null,[[1,8]])})),function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(t){Wi(i,r,o,a,d,"next",t)}function d(t){Wi(i,r,o,a,d,"throw",t)}a(void 0)}))})()},handleResponse:function(t){var e=t.isProfileEnabled,n=t.status,r=t.errorMessage,o=t.error;"ok"===n?(0,u.j8)("settings:profile-enabled:updated",e):mt(o,r),this.loading=!1}}},Xi=Vi,qi=(0,Z.Z)(Xi,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"checkbox-container"},[e("NcCheckboxRadioSwitch",{attrs:{type:"switch",checked:t.isProfileEnabled,loading:t.loading},on:{"update:checked":[function(e){t.isProfileEnabled=e},t.saveEnableProfile]}},[t._v("\n\t\t"+t._s(t.t("settings","Enable Profile"))+"\n\t")])],1)}),[],!1,null,null,null).exports,Ki={name:"ProfilePreviewCard",components:{NcAvatar:p.Z},props:{displayName:{type:String,required:!0},organisation:{type:String,required:!0},profileEnabled:{type:Boolean,required:!0},userId:{type:String,required:!0}},computed:{disabled:function(){return!this.profileEnabled},profilePageLink:function(){return this.profileEnabled?(0,c.generateUrl)("/u/{userId}",{userId:(0,i.ts)().uid}):null}}},Qi=r(7714),Ji={};Ji.styleTagTransform=O(),Ji.setAttributes=w(),Ji.insert=$().bind(null,"head"),Ji.domAPI=g(),Ji.insertStyleElement=x(),m()(Qi.Z,Ji),Qi.Z&&Qi.Z.locals&&Qi.Z.locals;var ta=(0,Z.Z)(Ki,(function(){var t=this,e=t._self._c;return e("a",{staticClass:"preview-card",class:{disabled:t.disabled},attrs:{href:t.profilePageLink}},[e("NcAvatar",{staticClass:"preview-card__avatar",attrs:{user:t.userId,size:48,"show-user-status":!0,"show-user-status-compact":!1,"disable-menu":!0,"disable-tooltip":!0}}),t._v(" "),e("div",{staticClass:"preview-card__header"},[e("span",[t._v(t._s(t.displayName))])]),t._v(" "),e("div",{staticClass:"preview-card__footer"},[e("span",[t._v(t._s(t.organisation))])])],1)}),[],!1,null,"3375e082",null).exports,ea=(0,a.j)("settings","personalInfoParameters",{}),na=ea.organisation.value,ra=ea.displayName.value,oa=ea.profileEnabled,ia=ea.userId,aa={name:"ProfileSection",components:{EditProfileAnchorLink:Yi,HeaderBar:_t,ProfileCheckbox:qi,ProfilePreviewCard:ta},data:function(){return{propertyReadable:V.PROFILE_ENABLED,organisation:na,displayName:ra,profileEnabled:oa,userId:ia}},mounted:function(){(0,u.Ld)("settings:display-name:updated",this.handleDisplayNameUpdate),(0,u.Ld)("settings:organisation:updated",this.handleOrganisationUpdate)},beforeDestroy:function(){(0,u.r1)("settings:display-name:updated",this.handleDisplayNameUpdate),(0,u.r1)("settings:organisation:updated",this.handleOrganisationUpdate)},methods:{handleDisplayNameUpdate:function(t){this.displayName=t},handleOrganisationUpdate:function(t){this.organisation=t}}},da=aa,sa=r(90552),ca={};ca.styleTagTransform=O(),ca.setAttributes=w(),ca.insert=$().bind(null,"head"),ca.domAPI=g(),ca.insertStyleElement=x(),m()(sa.Z,ca),sa.Z&&sa.Z.locals&&sa.Z.locals;var la=(0,Z.Z)(da,(function(){var t=this,e=t._self._c;return e("section",[e("HeaderBar",{attrs:{readable:t.propertyReadable}}),t._v(" "),e("ProfileCheckbox",{attrs:{"profile-enabled":t.profileEnabled},on:{"update:profileEnabled":function(e){t.profileEnabled=e},"update:profile-enabled":function(e){t.profileEnabled=e}}}),t._v(" "),e("ProfilePreviewCard",{attrs:{organisation:t.organisation,"display-name":t.displayName,"profile-enabled":t.profileEnabled,"user-id":t.userId}}),t._v(" "),e("EditProfileAnchorLink",{attrs:{"profile-enabled":t.profileEnabled}})],1)}),[],!1,null,"cf64d964",null).exports;function ua(t){return ua="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ua(t)}function pa(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function fa(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?pa(Object(n),!0).forEach((function(e){ha(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):pa(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function ha(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==ua(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==ua(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===ua(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var va=(0,a.j)("settings","personalInfoParameters",{}).organisation,ma={name:"OrganisationSection",components:{AccountPropertySection:xe},data:function(){return{organisation:fa(fa({},va),{},{readable:X[va.name]})}}},ya=(0,Z.Z)(ma,(function(){var t=this;return(0,t._self._c)("AccountPropertySection",t._b({attrs:{autocomplete:"organization",placeholder:t.t("settings","Your organisation")}},"AccountPropertySection",t.organisation,!1,!0))}),[],!1,null,null,null).exports;function ga(t){return ga="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ga(t)}function Aa(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function $a(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Aa(Object(n),!0).forEach((function(e){ba(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Aa(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function ba(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==ga(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==ga(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===ga(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var wa=(0,a.j)("settings","personalInfoParameters",{}).role,Ca={name:"RoleSection",components:{AccountPropertySection:xe},data:function(){return{role:$a($a({},wa),{},{readable:X[wa.name]})}}},xa=(0,Z.Z)(Ca,(function(){var t=this;return(0,t._self._c)("AccountPropertySection",t._b({attrs:{autocomplete:"organization-title",placeholder:t.t("settings","Your role")}},"AccountPropertySection",t.role,!1,!0))}),[],!1,null,null,null).exports;function Ea(t){return Ea="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ea(t)}function Oa(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Sa(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Oa(Object(n),!0).forEach((function(e){Pa(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Oa(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function Pa(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==Ea(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==Ea(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===Ea(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var La=(0,a.j)("settings","personalInfoParameters",{}).headline,ja={name:"HeadlineSection",components:{AccountPropertySection:xe},data:function(){return{headline:Sa(Sa({},La),{},{readable:X[La.name]})}}},Ia=(0,Z.Z)(ja,(function(){var t=this;return(0,t._self._c)("AccountPropertySection",t._b({attrs:{placeholder:t.t("settings","Your headline")}},"AccountPropertySection",t.headline,!1,!0))}),[],!1,null,null,null).exports;function _a(t){return _a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_a(t)}function ka(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Ba(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?ka(Object(n),!0).forEach((function(e){Na(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ka(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function Na(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==_a(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==_a(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===_a(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Da=(0,a.j)("settings","personalInfoParameters",{}).biography,Ta={name:"BiographySection",components:{AccountPropertySection:xe},data:function(){return{biography:Ba(Ba({},Da),{},{readable:X[Da.name]})}}},Ma=(0,Z.Z)(Ta,(function(){var t=this;return(0,t._self._c)("AccountPropertySection",t._b({attrs:{placeholder:t.t("settings","Your biography"),"multi-line":!0}},"AccountPropertySection",t.biography,!1,!0))}),[],!1,null,null,null).exports,Ra=r(61537);function Fa(t){return Fa="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Fa(t)}function Ga(){Ga=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",d=o.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,n){return t[e]=n}}function c(t,e,n,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),d=new E(o||[]);return r(a,"_invoke",{value:b(t,n,d)}),a}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var u={};function p(){}function f(){}function h(){}var v={};s(v,i,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(O([])));y&&y!==e&&n.call(y,i)&&(v=y);var g=h.prototype=p.prototype=Object.create(v);function A(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function $(t,e){function o(r,i,a,d){var s=l(t[r],t,i);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==Fa(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){o("next",t,a,d)}),(function(t){o("throw",t,a,d)})):e.resolve(u).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,d)}))}d(s.arg)}var i;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){o(t,n,e,r)}))}return i=i?i.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return{value:void 0,done:!0}}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var d=w(a,n);if(d){if(d===u)continue;return d}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var s=l(t,e,n);if("normal"===s.type){if(r=n.done?"completed":"suspendedYield",s.arg===u)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r="completed",n.method="throw",n.arg=s.arg)}}}function w(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),u;var o=l(r,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,u;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,u):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,u)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return f.prototype=h,r(g,"constructor",{value:h,configurable:!0}),r(h,"constructor",{value:f,configurable:!0}),f.displayName=s(h,d,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,d,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},A($.prototype),s($.prototype,a,(function(){return this})),t.AsyncIterator=$,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new $(c(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},A(g),s(g,d,"Generator"),s(g,i,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=O,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var d=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(d&&s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(d){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),u},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),u}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:O(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},t}function Za(t,e,n,r,o,i,a){try{var d=t[i](a),s=d.value}catch(t){return void n(t)}d.done?e(s):Promise.resolve(s).then(r,o)}var Ua,Ya=function(){var t,e=(t=Ga().mark((function t(e,n){var r,o,a;return Ga().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=(0,i.ts)().uid,o=(0,c.generateOcsUrl)("/profile/{userId}",{userId:r}),t.next=4,(0,st.Z)();case 4:return t.next=6,s.Z.put(o,{paramId:e,visibility:n});case 6:return a=t.sent,t.abrupt("return",a.data);case 8:case"end":return t.stop()}}),t)})),function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){Za(i,r,o,a,d,"next",t)}function d(t){Za(i,r,o,a,d,"throw",t)}a(void 0)}))});return function(t,n){return e.apply(this,arguments)}}();function za(t){return za="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},za(t)}function Ha(t,e,n){return(e=function(t){var e=function(t,e){if("object"!==za(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==za(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===za(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Wa=Object.freeze({SHOW:"show",SHOW_USERS_ONLY:"show_users_only",HIDE:"hide"}),Va=Object.freeze((Ha(Ua={},Wa.SHOW,{name:Wa.SHOW,label:t("settings","Show to everyone")}),Ha(Ua,Wa.SHOW_USERS_ONLY,{name:Wa.SHOW_USERS_ONLY,label:t("settings","Show to logged in users only")}),Ha(Ua,Wa.HIDE,{name:Wa.HIDE,label:t("settings","Hide")}),Ua));function Xa(t){return Xa="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Xa(t)}function qa(){qa=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",d=o.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,n){return t[e]=n}}function c(t,e,n,o){var i=e&&e.prototype instanceof p?e:p,a=Object.create(i.prototype),d=new E(o||[]);return r(a,"_invoke",{value:b(t,n,d)}),a}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var u={};function p(){}function f(){}function h(){}var v={};s(v,i,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(O([])));y&&y!==e&&n.call(y,i)&&(v=y);var g=h.prototype=p.prototype=Object.create(v);function A(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function $(t,e){function o(r,i,a,d){var s=l(t[r],t,i);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==Xa(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){o("next",t,a,d)}),(function(t){o("throw",t,a,d)})):e.resolve(u).then((function(t){c.value=t,a(c)}),(function(t){return o("throw",t,a,d)}))}d(s.arg)}var i;r(this,"_invoke",{value:function(t,n){function r(){return new e((function(e,r){o(t,n,e,r)}))}return i=i?i.then(r,r):r()}})}function b(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return{value:void 0,done:!0}}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var d=w(a,n);if(d){if(d===u)continue;return d}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var s=l(t,e,n);if("normal"===s.type){if(r=n.done?"completed":"suspendedYield",s.arg===u)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r="completed",n.method="throw",n.arg=s.arg)}}}function w(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),u;var o=l(r,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,u;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,u):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,u)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return f.prototype=h,r(g,"constructor",{value:h,configurable:!0}),r(h,"constructor",{value:f,configurable:!0}),f.displayName=s(h,d,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,s(t,d,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},A($.prototype),s($.prototype,a,(function(){return this})),t.AsyncIterator=$,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new $(c(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},A(g),s(g,d,"Generator"),s(g,i,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=O,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return a.type="throw",a.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var d=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(d&&s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(d){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),u},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),u}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:O(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),u}},t}function Ka(t,e,n,r,o,i,a){try{var d=t[i](a),s=d.value}catch(t){return void n(t)}d.done?e(s):Promise.resolve(s).then(r,o)}function Qa(t){return function(){var e=this,n=arguments;return new Promise((function(r,o){var i=t.apply(e,n);function a(t){Ka(i,r,o,a,d,"next",t)}function d(t){Ka(i,r,o,a,d,"throw",t)}a(void 0)}))}}var Ja=(0,a.j)("settings","personalInfoParameters",!1).profileEnabled,td={name:"VisibilityDropdown",components:{NcSelect:Ra.Z},props:{paramId:{type:String,required:!0},displayId:{type:String,required:!0},visibility:{type:String,required:!0}},data:function(){return{initialVisibility:this.visibility,profileEnabled:Ja}},computed:{disabled:function(){return!this.profileEnabled},inputId:function(){return"profile-visibility-".concat(this.paramId)},visibilityObject:function(){return Va[this.visibility]},visibilityOptions:function(){return Object.values(Va)}},mounted:function(){(0,u.Ld)("settings:profile-enabled:updated",this.handleProfileEnabledUpdate)},beforeDestroy:function(){(0,u.r1)("settings:profile-enabled:updated",this.handleProfileEnabledUpdate)},methods:{onVisibilityChange:function(t){var e=this;return Qa(qa().mark((function n(){var r;return qa().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(null===t){n.next=6;break}if(r=t.name,e.$emit("update:visibility",r),""===r){n.next=6;break}return n.next=6,e.updateVisibility(r);case 6:case"end":return n.stop()}}),n)})))()},updateVisibility:function(e){var n=this;return Qa(qa().mark((function r(){var o,i;return qa().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,Ya(n.paramId,e);case 3:i=r.sent,n.handleResponse({visibility:e,status:null===(o=i.ocs)||void 0===o||null===(o=o.meta)||void 0===o?void 0:o.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),n.handleResponse({errorMessage:t("settings","Unable to update visibility of {displayId}",{displayId:n.displayId}),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},handleResponse:function(t){var e=t.visibility,n=t.status,r=t.errorMessage,o=t.error;"ok"===n?this.initialVisibility=e:mt(o,r)},handleProfileEnabledUpdate:function(t){this.profileEnabled=t}}},ed=td,nd=r(31161),rd={};rd.styleTagTransform=O(),rd.setAttributes=w(),rd.insert=$().bind(null,"head"),rd.domAPI=g(),rd.insertStyleElement=x(),m()(nd.Z,rd),nd.Z&&nd.Z.locals&&nd.Z.locals;var od=(0,Z.Z)(ed,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"visibility-container",class:{disabled:t.disabled}},[e("label",{attrs:{for:t.inputId}},[t._v("\n\t\t"+t._s(t.displayId)+"\n\t")]),t._v(" "),e("NcSelect",{staticClass:"visibility-container__select",attrs:{"input-id":t.inputId,clearable:!1,options:t.visibilityOptions,value:t.visibilityObject},on:{"option:selected":t.onVisibilityChange}})],1)}),[],!1,null,"c7ec7e16",null).exports;function id(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var ad=(0,a.j)("settings","profileParameters",{}).profileConfig,dd=(0,a.j)("settings","personalInfoParameters",!1).profileEnabled,sd=function(t,e){return t.appId===e.appId||"core"!==t.appId&&"core"!==e.appId?t.displayId.localeCompare(e.displayId):"core"===t.appId?1:-1},cd={name:"ProfileVisibilitySection",components:{HeaderBar:_t,VisibilityDropdown:od},data:function(){return{heading:q.PROFILE_VISIBILITY,profileEnabled:dd,visibilityParams:Object.entries(ad).map((function(t){var e,n,r=(n=2,function(t){if(Array.isArray(t))return t}(e=t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i,a,d=[],s=!0,c=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=i.call(n)).done)&&(d.push(r.value),d.length!==e);s=!0);}catch(t){c=!0,o=t}finally{try{if(!s&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return d}}(e,n)||function(t,e){if(t){if("string"==typeof t)return id(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?id(t,e):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),o=r[0],i=r[1];return{id:o,appId:i.appId,displayId:i.displayId,visibility:i.visibility}})).sort(sd),marginLeft:window.matchMedia("(min-width: 1600px)").matches?window.getComputedStyle(document.getElementById("vue-avatar-section")).getPropertyValue("width").trim():"0px"}},computed:{disabled:function(){return!this.profileEnabled},rows:function(){return Math.ceil(this.visibilityParams.length/2)}},mounted:function(){var t=this;(0,u.Ld)("settings:profile-enabled:updated",this.handleProfileEnabledUpdate),window.onresize=function(){t.marginLeft=window.matchMedia("(min-width: 1600px)").matches?window.getComputedStyle(document.getElementById("vue-avatar-section")).getPropertyValue("width").trim():"0px"}},beforeDestroy:function(){(0,u.r1)("settings:profile-enabled:updated",this.handleProfileEnabledUpdate)},methods:{handleProfileEnabledUpdate:function(t){this.profileEnabled=t}}},ld=cd,ud=r(19549),pd={};pd.styleTagTransform=O(),pd.setAttributes=w(),pd.insert=$().bind(null,"head"),pd.domAPI=g(),pd.insertStyleElement=x(),m()(ud.Z,pd),ud.Z&&ud.Z.locals&&ud.Z.locals;var fd=(0,Z.Z)(ld,(function(){var t=this,e=t._self._c;return e("section",{style:{marginLeft:t.marginLeft},attrs:{id:"profile-visibility"}},[e("HeaderBar",{attrs:{"is-heading":!0,readable:t.heading}}),t._v(" "),e("em",{class:{disabled:t.disabled}},[t._v("\n\t\t"+t._s(t.t("settings",'The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to "Show to everyone" and scope is set to "Private", "Private" is respected.'))+"\n\t")]),t._v(" "),e("div",{staticClass:"visibility-dropdowns",style:{gridTemplateRows:"repeat(".concat(t.rows,", 44px)")}},t._l(t.visibilityParams,(function(n){return e("VisibilityDropdown",{key:n.id,attrs:{"param-id":n.id,"display-id":n.displayId,visibility:n.visibility},on:{"update:visibility":function(e){return t.$set(n,"visibility",e)}}})})),1)],1)}),[],!1,null,"199109a6",null).exports;r.nc=btoa((0,i.IH)());var hd=(0,a.j)("settings","profileEnabledGlobally",!0);o.default.mixin({methods:{t:d.Iu}});var vd=o.default.extend(Vt),md=o.default.extend(ce),yd=o.default.extend(_e),gd=o.default.extend(yn),Ad=o.default.extend($o),$d=o.default.extend(So),bd=o.default.extend(Bo),wd=o.default.extend(Go),Cd=o.default.extend(Vo),xd=o.default.extend(vi),Ed=o.default.extend(Mi);if((new vd).$mount("#vue-avatar-section"),(new md).$mount("#vue-details-section"),(new yd).$mount("#vue-displayname-section"),(new gd).$mount("#vue-email-section"),(new Ad).$mount("#vue-phone-section"),(new $d).$mount("#vue-location-section"),(new bd).$mount("#vue-website-section"),(new wd).$mount("#vue-twitter-section"),(new Cd).$mount("#vue-fediverse-section"),(new xd).$mount("#vue-language-section"),(new Ed).$mount("#vue-locale-section"),hd){var Od=o.default.extend(la),Sd=o.default.extend(ya),Pd=o.default.extend(xa),Ld=o.default.extend(Ia),jd=o.default.extend(Ma),Id=o.default.extend(fd);(new Od).$mount("#vue-profile-section"),(new Sd).$mount("#vue-organisation-section"),(new Pd).$mount("#vue-role-section"),(new Ld).$mount("#vue-headline-section"),(new jd).$mount("#vue-biography-section"),(new Id).$mount("#vue-profile-visibility-section")}},33129:function(t){t.exports=function(){"use strict";function t(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function e(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?t(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):t(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function r(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function i(t){return function(t){if(Array.isArray(t))return a(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return a(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var d="undefined"!=typeof window&&void 0!==window.document,s=d?window:{},c=!(!d||!s.document.documentElement)&&"ontouchstart"in s.document.documentElement,l=!!d&&"PointerEvent"in s,u="cropper",p="all",f="crop",h="move",v="zoom",m="e",y="w",g="s",A="n",$="ne",b="nw",w="se",C="sw",x="".concat(u,"-crop"),E="".concat(u,"-disabled"),O="".concat(u,"-hidden"),S="".concat(u,"-hide"),P="".concat(u,"-invisible"),L="".concat(u,"-modal"),j="".concat(u,"-move"),I="".concat(u,"Action"),_="".concat(u,"Preview"),k="crop",B="move",N="none",D="crop",T="cropend",M="cropmove",R="cropstart",F="dblclick",G=l?"pointerdown":c?"touchstart":"mousedown",Z=l?"pointermove":c?"touchmove":"mousemove",U=l?"pointerup pointercancel":c?"touchend touchcancel":"mouseup",Y="ready",z="resize",H="wheel",W="zoom",V="image/jpeg",X=/^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/,q=/^data:/,K=/^data:image\/jpeg;base64,/,Q=/^img|canvas$/i,J={viewMode:0,dragMode:k,initialAspectRatio:NaN,aspectRatio:NaN,data:null,preview:"",responsive:!0,restore:!0,checkCrossOrigin:!0,checkOrientation:!0,modal:!0,guides:!0,center:!0,highlight:!0,background:!0,autoCrop:!0,autoCropArea:.8,movable:!0,rotatable:!0,scalable:!0,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,wheelZoomRatio:.1,cropBoxMovable:!0,cropBoxResizable:!0,toggleDragModeOnDblclick:!0,minCanvasWidth:0,minCanvasHeight:0,minCropBoxWidth:0,minCropBoxHeight:0,minContainerWidth:200,minContainerHeight:100,ready:null,cropstart:null,cropmove:null,cropend:null,crop:null,zoom:null},tt=Number.isNaN||s.isNaN;function et(t){return"number"==typeof t&&!tt(t)}var nt=function(t){return t>0&&t<1/0};function rt(t){return void 0===t}function ot(t){return"object"===n(t)&&null!==t}var it=Object.prototype.hasOwnProperty;function at(t){if(!ot(t))return!1;try{var e=t.constructor,n=e.prototype;return e&&n&&it.call(n,"isPrototypeOf")}catch(t){return!1}}function dt(t){return"function"==typeof t}var st=Array.prototype.slice;function ct(t){return Array.from?Array.from(t):st.call(t)}function lt(t,e){return t&&dt(e)&&(Array.isArray(t)||et(t.length)?ct(t).forEach((function(n,r){e.call(t,n,r,t)})):ot(t)&&Object.keys(t).forEach((function(n){e.call(t,t[n],n,t)}))),t}var ut=Object.assign||function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];return ot(t)&&n.length>0&&n.forEach((function(e){ot(e)&&Object.keys(e).forEach((function(n){t[n]=e[n]}))})),t},pt=/\.\d*(?:0|9){12}\d*$/;function ft(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e11;return pt.test(t)?Math.round(t*e)/e:t}var ht=/^width|height|left|top|marginLeft|marginTop$/;function vt(t,e){var n=t.style;lt(e,(function(t,e){ht.test(e)&&et(t)&&(t="".concat(t,"px")),n[e]=t}))}function mt(t,e){if(e)if(et(t.length))lt(t,(function(t){mt(t,e)}));else if(t.classList)t.classList.add(e);else{var n=t.className.trim();n?n.indexOf(e)<0&&(t.className="".concat(n," ").concat(e)):t.className=e}}function yt(t,e){e&&(et(t.length)?lt(t,(function(t){yt(t,e)})):t.classList?t.classList.remove(e):t.className.indexOf(e)>=0&&(t.className=t.className.replace(e,"")))}function gt(t,e,n){e&&(et(t.length)?lt(t,(function(t){gt(t,e,n)})):n?mt(t,e):yt(t,e))}var At=/([a-z\d])([A-Z])/g;function $t(t){return t.replace(At,"$1-$2").toLowerCase()}function bt(t,e){return ot(t[e])?t[e]:t.dataset?t.dataset[e]:t.getAttribute("data-".concat($t(e)))}function wt(t,e,n){ot(n)?t[e]=n:t.dataset?t.dataset[e]=n:t.setAttribute("data-".concat($t(e)),n)}var Ct=/\s\s*/,xt=function(){var t=!1;if(d){var e=!1,n=function(){},r=Object.defineProperty({},"once",{get:function(){return t=!0,e},set:function(t){e=t}});s.addEventListener("test",n,r),s.removeEventListener("test",n,r)}return t}();function Et(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=n;e.trim().split(Ct).forEach((function(e){if(!xt){var i=t.listeners;i&&i[e]&&i[e][n]&&(o=i[e][n],delete i[e][n],0===Object.keys(i[e]).length&&delete i[e],0===Object.keys(i).length&&delete t.listeners)}t.removeEventListener(e,o,r)}))}function Ot(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=n;e.trim().split(Ct).forEach((function(e){if(r.once&&!xt){var i=t.listeners,a=void 0===i?{}:i;o=function(){delete a[e][n],t.removeEventListener(e,o,r);for(var i=arguments.length,d=new Array(i),s=0;s<i;s++)d[s]=arguments[s];n.apply(t,d)},a[e]||(a[e]={}),a[e][n]&&t.removeEventListener(e,a[e][n],r),a[e][n]=o,t.listeners=a}t.addEventListener(e,o,r)}))}function St(t,e,n){var r;return dt(Event)&&dt(CustomEvent)?r=new CustomEvent(e,{detail:n,bubbles:!0,cancelable:!0}):(r=document.createEvent("CustomEvent")).initCustomEvent(e,!0,!0,n),t.dispatchEvent(r)}function Pt(t){var e=t.getBoundingClientRect();return{left:e.left+(window.pageXOffset-document.documentElement.clientLeft),top:e.top+(window.pageYOffset-document.documentElement.clientTop)}}var Lt=s.location,jt=/^(\w+:)\/\/([^:/?#]*):?(\d*)/i;function It(t){var e=t.match(jt);return null!==e&&(e[1]!==Lt.protocol||e[2]!==Lt.hostname||e[3]!==Lt.port)}function _t(t){var e="timestamp=".concat((new Date).getTime());return t+(-1===t.indexOf("?")?"?":"&")+e}function kt(t){var e=t.rotate,n=t.scaleX,r=t.scaleY,o=t.translateX,i=t.translateY,a=[];et(o)&&0!==o&&a.push("translateX(".concat(o,"px)")),et(i)&&0!==i&&a.push("translateY(".concat(i,"px)")),et(e)&&0!==e&&a.push("rotate(".concat(e,"deg)")),et(n)&&1!==n&&a.push("scaleX(".concat(n,")")),et(r)&&1!==r&&a.push("scaleY(".concat(r,")"));var d=a.length?a.join(" "):"none";return{WebkitTransform:d,msTransform:d,transform:d}}function Bt(t,n){var r=t.pageX,o=t.pageY,i={endX:r,endY:o};return n?i:e({startX:r,startY:o},i)}function Nt(t){var e=t.aspectRatio,n=t.height,r=t.width,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"contain",i=nt(r),a=nt(n);if(i&&a){var d=n*e;"contain"===o&&d>r||"cover"===o&&d<r?n=r/e:r=n*e}else i?n=r/e:a&&(r=n*e);return{width:r,height:n}}var Dt=String.fromCharCode;var Tt=/^data:.*,/;function Mt(t){var e,n=new DataView(t);try{var r,o,i;if(255===n.getUint8(0)&&216===n.getUint8(1))for(var a=n.byteLength,d=2;d+1<a;){if(255===n.getUint8(d)&&225===n.getUint8(d+1)){o=d;break}d+=1}if(o){var s=o+10;if("Exif"===function(t,e,n){var r="";n+=e;for(var o=e;o<n;o+=1)r+=Dt(t.getUint8(o));return r}(n,o+4,4)){var c=n.getUint16(s);if(((r=18761===c)||19789===c)&&42===n.getUint16(s+2,r)){var l=n.getUint32(s+4,r);l>=8&&(i=s+l)}}}if(i){var u,p,f=n.getUint16(i,r);for(p=0;p<f;p+=1)if(u=i+12*p+2,274===n.getUint16(u,r)){u+=8,e=n.getUint16(u,r),n.setUint16(u,1,r);break}}}catch(t){e=1}return e}var Rt={render:function(){this.initContainer(),this.initCanvas(),this.initCropBox(),this.renderCanvas(),this.cropped&&this.renderCropBox()},initContainer:function(){var t=this.element,e=this.options,n=this.container,r=this.cropper,o=Number(e.minContainerWidth),i=Number(e.minContainerHeight);mt(r,O),yt(t,O);var a={width:Math.max(n.offsetWidth,o>=0?o:200),height:Math.max(n.offsetHeight,i>=0?i:100)};this.containerData=a,vt(r,{width:a.width,height:a.height}),mt(t,O),yt(r,O)},initCanvas:function(){var t=this.containerData,e=this.imageData,n=this.options.viewMode,r=Math.abs(e.rotate)%180==90,o=r?e.naturalHeight:e.naturalWidth,i=r?e.naturalWidth:e.naturalHeight,a=o/i,d=t.width,s=t.height;t.height*a>t.width?3===n?d=t.height*a:s=t.width/a:3===n?s=t.width/a:d=t.height*a;var c={aspectRatio:a,naturalWidth:o,naturalHeight:i,width:d,height:s};this.canvasData=c,this.limited=1===n||2===n,this.limitCanvas(!0,!0),c.width=Math.min(Math.max(c.width,c.minWidth),c.maxWidth),c.height=Math.min(Math.max(c.height,c.minHeight),c.maxHeight),c.left=(t.width-c.width)/2,c.top=(t.height-c.height)/2,c.oldLeft=c.left,c.oldTop=c.top,this.initialCanvasData=ut({},c)},limitCanvas:function(t,e){var n=this.options,r=this.containerData,o=this.canvasData,i=this.cropBoxData,a=n.viewMode,d=o.aspectRatio,s=this.cropped&&i;if(t){var c=Number(n.minCanvasWidth)||0,l=Number(n.minCanvasHeight)||0;a>1?(c=Math.max(c,r.width),l=Math.max(l,r.height),3===a&&(l*d>c?c=l*d:l=c/d)):a>0&&(c?c=Math.max(c,s?i.width:0):l?l=Math.max(l,s?i.height:0):s&&(c=i.width,(l=i.height)*d>c?c=l*d:l=c/d));var u=Nt({aspectRatio:d,width:c,height:l});c=u.width,l=u.height,o.minWidth=c,o.minHeight=l,o.maxWidth=1/0,o.maxHeight=1/0}if(e)if(a>(s?0:1)){var p=r.width-o.width,f=r.height-o.height;o.minLeft=Math.min(0,p),o.minTop=Math.min(0,f),o.maxLeft=Math.max(0,p),o.maxTop=Math.max(0,f),s&&this.limited&&(o.minLeft=Math.min(i.left,i.left+(i.width-o.width)),o.minTop=Math.min(i.top,i.top+(i.height-o.height)),o.maxLeft=i.left,o.maxTop=i.top,2===a&&(o.width>=r.width&&(o.minLeft=Math.min(0,p),o.maxLeft=Math.max(0,p)),o.height>=r.height&&(o.minTop=Math.min(0,f),o.maxTop=Math.max(0,f))))}else o.minLeft=-o.width,o.minTop=-o.height,o.maxLeft=r.width,o.maxTop=r.height},renderCanvas:function(t,e){var n=this.canvasData,r=this.imageData;if(e){var o=function(t){var e=t.width,n=t.height,r=t.degree;if(90==(r=Math.abs(r)%180))return{width:n,height:e};var o=r%90*Math.PI/180,i=Math.sin(o),a=Math.cos(o),d=e*a+n*i,s=e*i+n*a;return r>90?{width:s,height:d}:{width:d,height:s}}({width:r.naturalWidth*Math.abs(r.scaleX||1),height:r.naturalHeight*Math.abs(r.scaleY||1),degree:r.rotate||0}),i=o.width,a=o.height,d=n.width*(i/n.naturalWidth),s=n.height*(a/n.naturalHeight);n.left-=(d-n.width)/2,n.top-=(s-n.height)/2,n.width=d,n.height=s,n.aspectRatio=i/a,n.naturalWidth=i,n.naturalHeight=a,this.limitCanvas(!0,!1)}(n.width>n.maxWidth||n.width<n.minWidth)&&(n.left=n.oldLeft),(n.height>n.maxHeight||n.height<n.minHeight)&&(n.top=n.oldTop),n.width=Math.min(Math.max(n.width,n.minWidth),n.maxWidth),n.height=Math.min(Math.max(n.height,n.minHeight),n.maxHeight),this.limitCanvas(!1,!0),n.left=Math.min(Math.max(n.left,n.minLeft),n.maxLeft),n.top=Math.min(Math.max(n.top,n.minTop),n.maxTop),n.oldLeft=n.left,n.oldTop=n.top,vt(this.canvas,ut({width:n.width,height:n.height},kt({translateX:n.left,translateY:n.top}))),this.renderImage(t),this.cropped&&this.limited&&this.limitCropBox(!0,!0)},renderImage:function(t){var e=this.canvasData,n=this.imageData,r=n.naturalWidth*(e.width/e.naturalWidth),o=n.naturalHeight*(e.height/e.naturalHeight);ut(n,{width:r,height:o,left:(e.width-r)/2,top:(e.height-o)/2}),vt(this.image,ut({width:n.width,height:n.height},kt(ut({translateX:n.left,translateY:n.top},n)))),t&&this.output()},initCropBox:function(){var t=this.options,e=this.canvasData,n=t.aspectRatio||t.initialAspectRatio,r=Number(t.autoCropArea)||.8,o={width:e.width,height:e.height};n&&(e.height*n>e.width?o.height=o.width/n:o.width=o.height*n),this.cropBoxData=o,this.limitCropBox(!0,!0),o.width=Math.min(Math.max(o.width,o.minWidth),o.maxWidth),o.height=Math.min(Math.max(o.height,o.minHeight),o.maxHeight),o.width=Math.max(o.minWidth,o.width*r),o.height=Math.max(o.minHeight,o.height*r),o.left=e.left+(e.width-o.width)/2,o.top=e.top+(e.height-o.height)/2,o.oldLeft=o.left,o.oldTop=o.top,this.initialCropBoxData=ut({},o)},limitCropBox:function(t,e){var n=this.options,r=this.containerData,o=this.canvasData,i=this.cropBoxData,a=this.limited,d=n.aspectRatio;if(t){var s=Number(n.minCropBoxWidth)||0,c=Number(n.minCropBoxHeight)||0,l=a?Math.min(r.width,o.width,o.width+o.left,r.width-o.left):r.width,u=a?Math.min(r.height,o.height,o.height+o.top,r.height-o.top):r.height;s=Math.min(s,r.width),c=Math.min(c,r.height),d&&(s&&c?c*d>s?c=s/d:s=c*d:s?c=s/d:c&&(s=c*d),u*d>l?u=l/d:l=u*d),i.minWidth=Math.min(s,l),i.minHeight=Math.min(c,u),i.maxWidth=l,i.maxHeight=u}e&&(a?(i.minLeft=Math.max(0,o.left),i.minTop=Math.max(0,o.top),i.maxLeft=Math.min(r.width,o.left+o.width)-i.width,i.maxTop=Math.min(r.height,o.top+o.height)-i.height):(i.minLeft=0,i.minTop=0,i.maxLeft=r.width-i.width,i.maxTop=r.height-i.height))},renderCropBox:function(){var t=this.options,e=this.containerData,n=this.cropBoxData;(n.width>n.maxWidth||n.width<n.minWidth)&&(n.left=n.oldLeft),(n.height>n.maxHeight||n.height<n.minHeight)&&(n.top=n.oldTop),n.width=Math.min(Math.max(n.width,n.minWidth),n.maxWidth),n.height=Math.min(Math.max(n.height,n.minHeight),n.maxHeight),this.limitCropBox(!1,!0),n.left=Math.min(Math.max(n.left,n.minLeft),n.maxLeft),n.top=Math.min(Math.max(n.top,n.minTop),n.maxTop),n.oldLeft=n.left,n.oldTop=n.top,t.movable&&t.cropBoxMovable&&wt(this.face,I,n.width>=e.width&&n.height>=e.height?h:p),vt(this.cropBox,ut({width:n.width,height:n.height},kt({translateX:n.left,translateY:n.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),St(this.element,D,this.getData())}},Ft={initPreview:function(){var t=this.element,e=this.crossOrigin,n=this.options.preview,r=e?this.crossOriginUrl:this.url,o=t.alt||"The image to preview",i=document.createElement("img");if(e&&(i.crossOrigin=e),i.src=r,i.alt=o,this.viewBox.appendChild(i),this.viewBoxImage=i,n){var a=n;"string"==typeof n?a=t.ownerDocument.querySelectorAll(n):n.querySelector&&(a=[n]),this.previews=a,lt(a,(function(t){var n=document.createElement("img");wt(t,_,{width:t.offsetWidth,height:t.offsetHeight,html:t.innerHTML}),e&&(n.crossOrigin=e),n.src=r,n.alt=o,n.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',t.innerHTML="",t.appendChild(n)}))}},resetPreview:function(){lt(this.previews,(function(t){var e=bt(t,_);vt(t,{width:e.width,height:e.height}),t.innerHTML=e.html,function(t,e){if(ot(t[e]))try{delete t[e]}catch(n){t[e]=void 0}else if(t.dataset)try{delete t.dataset[e]}catch(n){t.dataset[e]=void 0}else t.removeAttribute("data-".concat($t(e)))}(t,_)}))},preview:function(){var t=this.imageData,e=this.canvasData,n=this.cropBoxData,r=n.width,o=n.height,i=t.width,a=t.height,d=n.left-e.left-t.left,s=n.top-e.top-t.top;this.cropped&&!this.disabled&&(vt(this.viewBoxImage,ut({width:i,height:a},kt(ut({translateX:-d,translateY:-s},t)))),lt(this.previews,(function(e){var n=bt(e,_),c=n.width,l=n.height,u=c,p=l,f=1;r&&(p=o*(f=c/r)),o&&p>l&&(u=r*(f=l/o),p=l),vt(e,{width:u,height:p}),vt(e.getElementsByTagName("img")[0],ut({width:i*f,height:a*f},kt(ut({translateX:-d*f,translateY:-s*f},t))))})))}},Gt={bind:function(){var t=this.element,e=this.options,n=this.cropper;dt(e.cropstart)&&Ot(t,R,e.cropstart),dt(e.cropmove)&&Ot(t,M,e.cropmove),dt(e.cropend)&&Ot(t,T,e.cropend),dt(e.crop)&&Ot(t,D,e.crop),dt(e.zoom)&&Ot(t,W,e.zoom),Ot(n,G,this.onCropStart=this.cropStart.bind(this)),e.zoomable&&e.zoomOnWheel&&Ot(n,H,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),e.toggleDragModeOnDblclick&&Ot(n,F,this.onDblclick=this.dblclick.bind(this)),Ot(t.ownerDocument,Z,this.onCropMove=this.cropMove.bind(this)),Ot(t.ownerDocument,U,this.onCropEnd=this.cropEnd.bind(this)),e.responsive&&Ot(window,z,this.onResize=this.resize.bind(this))},unbind:function(){var t=this.element,e=this.options,n=this.cropper;dt(e.cropstart)&&Et(t,R,e.cropstart),dt(e.cropmove)&&Et(t,M,e.cropmove),dt(e.cropend)&&Et(t,T,e.cropend),dt(e.crop)&&Et(t,D,e.crop),dt(e.zoom)&&Et(t,W,e.zoom),Et(n,G,this.onCropStart),e.zoomable&&e.zoomOnWheel&&Et(n,H,this.onWheel,{passive:!1,capture:!0}),e.toggleDragModeOnDblclick&&Et(n,F,this.onDblclick),Et(t.ownerDocument,Z,this.onCropMove),Et(t.ownerDocument,U,this.onCropEnd),e.responsive&&Et(window,z,this.onResize)}},Zt={resize:function(){if(!this.disabled){var t,e,n=this.options,r=this.container,o=this.containerData,i=r.offsetWidth/o.width,a=r.offsetHeight/o.height,d=Math.abs(i-1)>Math.abs(a-1)?i:a;1!==d&&(n.restore&&(t=this.getCanvasData(),e=this.getCropBoxData()),this.render(),n.restore&&(this.setCanvasData(lt(t,(function(e,n){t[n]=e*d}))),this.setCropBoxData(lt(e,(function(t,n){e[n]=t*d})))))}},dblclick:function(){var t,e;this.disabled||this.options.dragMode===N||this.setDragMode((t=this.dragBox,e=x,(t.classList?t.classList.contains(e):t.className.indexOf(e)>-1)?B:k))},wheel:function(t){var e=this,n=Number(this.options.wheelZoomRatio)||.1,r=1;this.disabled||(t.preventDefault(),this.wheeling||(this.wheeling=!0,setTimeout((function(){e.wheeling=!1}),50),t.deltaY?r=t.deltaY>0?1:-1:t.wheelDelta?r=-t.wheelDelta/120:t.detail&&(r=t.detail>0?1:-1),this.zoom(-r*n,t)))},cropStart:function(t){var e=t.buttons,n=t.button;if(!(this.disabled||("mousedown"===t.type||"pointerdown"===t.type&&"mouse"===t.pointerType)&&(et(e)&&1!==e||et(n)&&0!==n||t.ctrlKey))){var r,o=this.options,i=this.pointers;t.changedTouches?lt(t.changedTouches,(function(t){i[t.identifier]=Bt(t)})):i[t.pointerId||0]=Bt(t),r=Object.keys(i).length>1&&o.zoomable&&o.zoomOnTouch?v:bt(t.target,I),X.test(r)&&!1!==St(this.element,R,{originalEvent:t,action:r})&&(t.preventDefault(),this.action=r,this.cropping=!1,r===f&&(this.cropping=!0,mt(this.dragBox,L)))}},cropMove:function(t){var e=this.action;if(!this.disabled&&e){var n=this.pointers;t.preventDefault(),!1!==St(this.element,M,{originalEvent:t,action:e})&&(t.changedTouches?lt(t.changedTouches,(function(t){ut(n[t.identifier]||{},Bt(t,!0))})):ut(n[t.pointerId||0]||{},Bt(t,!0)),this.change(t))}},cropEnd:function(t){if(!this.disabled){var e=this.action,n=this.pointers;t.changedTouches?lt(t.changedTouches,(function(t){delete n[t.identifier]})):delete n[t.pointerId||0],e&&(t.preventDefault(),Object.keys(n).length||(this.action=""),this.cropping&&(this.cropping=!1,gt(this.dragBox,L,this.cropped&&this.options.modal)),St(this.element,T,{originalEvent:t,action:e}))}}},Ut={change:function(t){var n,r=this.options,o=this.canvasData,i=this.containerData,a=this.cropBoxData,d=this.pointers,s=this.action,c=r.aspectRatio,l=a.left,u=a.top,x=a.width,E=a.height,S=l+x,P=u+E,L=0,j=0,I=i.width,_=i.height,k=!0;!c&&t.shiftKey&&(c=x&&E?x/E:1),this.limited&&(L=a.minLeft,j=a.minTop,I=L+Math.min(i.width,o.width,o.left+o.width),_=j+Math.min(i.height,o.height,o.top+o.height));var B=d[Object.keys(d)[0]],N={x:B.endX-B.startX,y:B.endY-B.startY},D=function(t){switch(t){case m:S+N.x>I&&(N.x=I-S);break;case y:l+N.x<L&&(N.x=L-l);break;case A:u+N.y<j&&(N.y=j-u);break;case g:P+N.y>_&&(N.y=_-P)}};switch(s){case p:l+=N.x,u+=N.y;break;case m:if(N.x>=0&&(S>=I||c&&(u<=j||P>=_))){k=!1;break}D(m),(x+=N.x)<0&&(s=y,l-=x=-x),c&&(E=x/c,u+=(a.height-E)/2);break;case A:if(N.y<=0&&(u<=j||c&&(l<=L||S>=I))){k=!1;break}D(A),E-=N.y,u+=N.y,E<0&&(s=g,u-=E=-E),c&&(x=E*c,l+=(a.width-x)/2);break;case y:if(N.x<=0&&(l<=L||c&&(u<=j||P>=_))){k=!1;break}D(y),x-=N.x,l+=N.x,x<0&&(s=m,l-=x=-x),c&&(E=x/c,u+=(a.height-E)/2);break;case g:if(N.y>=0&&(P>=_||c&&(l<=L||S>=I))){k=!1;break}D(g),(E+=N.y)<0&&(s=A,u-=E=-E),c&&(x=E*c,l+=(a.width-x)/2);break;case $:if(c){if(N.y<=0&&(u<=j||S>=I)){k=!1;break}D(A),E-=N.y,u+=N.y,x=E*c}else D(A),D(m),N.x>=0?S<I?x+=N.x:N.y<=0&&u<=j&&(k=!1):x+=N.x,N.y<=0?u>j&&(E-=N.y,u+=N.y):(E-=N.y,u+=N.y);x<0&&E<0?(s=C,u-=E=-E,l-=x=-x):x<0?(s=b,l-=x=-x):E<0&&(s=w,u-=E=-E);break;case b:if(c){if(N.y<=0&&(u<=j||l<=L)){k=!1;break}D(A),E-=N.y,u+=N.y,x=E*c,l+=a.width-x}else D(A),D(y),N.x<=0?l>L?(x-=N.x,l+=N.x):N.y<=0&&u<=j&&(k=!1):(x-=N.x,l+=N.x),N.y<=0?u>j&&(E-=N.y,u+=N.y):(E-=N.y,u+=N.y);x<0&&E<0?(s=w,u-=E=-E,l-=x=-x):x<0?(s=$,l-=x=-x):E<0&&(s=C,u-=E=-E);break;case C:if(c){if(N.x<=0&&(l<=L||P>=_)){k=!1;break}D(y),x-=N.x,l+=N.x,E=x/c}else D(g),D(y),N.x<=0?l>L?(x-=N.x,l+=N.x):N.y>=0&&P>=_&&(k=!1):(x-=N.x,l+=N.x),N.y>=0?P<_&&(E+=N.y):E+=N.y;x<0&&E<0?(s=$,u-=E=-E,l-=x=-x):x<0?(s=w,l-=x=-x):E<0&&(s=b,u-=E=-E);break;case w:if(c){if(N.x>=0&&(S>=I||P>=_)){k=!1;break}D(m),E=(x+=N.x)/c}else D(g),D(m),N.x>=0?S<I?x+=N.x:N.y>=0&&P>=_&&(k=!1):x+=N.x,N.y>=0?P<_&&(E+=N.y):E+=N.y;x<0&&E<0?(s=b,u-=E=-E,l-=x=-x):x<0?(s=C,l-=x=-x):E<0&&(s=$,u-=E=-E);break;case h:this.move(N.x,N.y),k=!1;break;case v:this.zoom(function(t){var n=e({},t),r=0;return lt(t,(function(t,e){delete n[e],lt(n,(function(e){var n=Math.abs(t.startX-e.startX),o=Math.abs(t.startY-e.startY),i=Math.abs(t.endX-e.endX),a=Math.abs(t.endY-e.endY),d=Math.sqrt(n*n+o*o),s=(Math.sqrt(i*i+a*a)-d)/d;Math.abs(s)>Math.abs(r)&&(r=s)}))})),r}(d),t),k=!1;break;case f:if(!N.x||!N.y){k=!1;break}n=Pt(this.cropper),l=B.startX-n.left,u=B.startY-n.top,x=a.minWidth,E=a.minHeight,N.x>0?s=N.y>0?w:$:N.x<0&&(l-=x,s=N.y>0?C:b),N.y<0&&(u-=E),this.cropped||(yt(this.cropBox,O),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0))}k&&(a.width=x,a.height=E,a.left=l,a.top=u,this.action=s,this.renderCropBox()),lt(d,(function(t){t.startX=t.endX,t.startY=t.endY}))}},Yt={crop:function(){return!this.ready||this.cropped||this.disabled||(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&mt(this.dragBox,L),yt(this.cropBox,O),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=ut({},this.initialImageData),this.canvasData=ut({},this.initialCanvasData),this.cropBoxData=ut({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(ut(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),yt(this.dragBox,L),mt(this.cropBox,O)),this},replace:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return!this.disabled&&t&&(this.isImg&&(this.element.src=t),e?(this.url=t,this.image.src=t,this.ready&&(this.viewBoxImage.src=t,lt(this.previews,(function(e){e.getElementsByTagName("img")[0].src=t})))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(t))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,yt(this.cropper,E)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,mt(this.cropper,E)),this},destroy:function(){var t=this.element;return t[u]?(t[u]=void 0,this.isImg&&this.replaced&&(t.src=this.originalUrl),this.uncreate(),this):this},move:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,n=this.canvasData,r=n.left,o=n.top;return this.moveTo(rt(t)?t:r+Number(t),rt(e)?e:o+Number(e))},moveTo:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,n=this.canvasData,r=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.movable&&(et(t)&&(n.left=t,r=!0),et(e)&&(n.top=e,r=!0),r&&this.renderCanvas(!0)),this},zoom:function(t,e){var n=this.canvasData;return t=(t=Number(t))<0?1/(1-t):1+t,this.zoomTo(n.width*t/n.naturalWidth,null,e)},zoomTo:function(t,e,n){var r=this.options,o=this.canvasData,i=o.width,a=o.height,d=o.naturalWidth,s=o.naturalHeight;if((t=Number(t))>=0&&this.ready&&!this.disabled&&r.zoomable){var c=d*t,l=s*t;if(!1===St(this.element,W,{ratio:t,oldRatio:i/d,originalEvent:n}))return this;if(n){var u=this.pointers,p=Pt(this.cropper),f=u&&Object.keys(u).length?function(t){var e=0,n=0,r=0;return lt(t,(function(t){var o=t.startX,i=t.startY;e+=o,n+=i,r+=1})),{pageX:e/=r,pageY:n/=r}}(u):{pageX:n.pageX,pageY:n.pageY};o.left-=(c-i)*((f.pageX-p.left-o.left)/i),o.top-=(l-a)*((f.pageY-p.top-o.top)/a)}else at(e)&&et(e.x)&&et(e.y)?(o.left-=(c-i)*((e.x-o.left)/i),o.top-=(l-a)*((e.y-o.top)/a)):(o.left-=(c-i)/2,o.top-=(l-a)/2);o.width=c,o.height=l,this.renderCanvas(!0)}return this},rotate:function(t){return this.rotateTo((this.imageData.rotate||0)+Number(t))},rotateTo:function(t){return et(t=Number(t))&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=t%360,this.renderCanvas(!0,!0)),this},scaleX:function(t){var e=this.imageData.scaleY;return this.scale(t,et(e)?e:1)},scaleY:function(t){var e=this.imageData.scaleX;return this.scale(et(e)?e:1,t)},scale:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,n=this.imageData,r=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.scalable&&(et(t)&&(n.scaleX=t,r=!0),et(e)&&(n.scaleY=e,r=!0),r&&this.renderCanvas(!0,!0)),this},getData:function(){var t,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=this.options,r=this.imageData,o=this.canvasData,i=this.cropBoxData;if(this.ready&&this.cropped){t={x:i.left-o.left,y:i.top-o.top,width:i.width,height:i.height};var a=r.width/r.naturalWidth;if(lt(t,(function(e,n){t[n]=e/a})),e){var d=Math.round(t.y+t.height),s=Math.round(t.x+t.width);t.x=Math.round(t.x),t.y=Math.round(t.y),t.width=s-t.x,t.height=d-t.y}}else t={x:0,y:0,width:0,height:0};return n.rotatable&&(t.rotate=r.rotate||0),n.scalable&&(t.scaleX=r.scaleX||1,t.scaleY=r.scaleY||1),t},setData:function(t){var e=this.options,n=this.imageData,r=this.canvasData,o={};if(this.ready&&!this.disabled&&at(t)){var i=!1;e.rotatable&&et(t.rotate)&&t.rotate!==n.rotate&&(n.rotate=t.rotate,i=!0),e.scalable&&(et(t.scaleX)&&t.scaleX!==n.scaleX&&(n.scaleX=t.scaleX,i=!0),et(t.scaleY)&&t.scaleY!==n.scaleY&&(n.scaleY=t.scaleY,i=!0)),i&&this.renderCanvas(!0,!0);var a=n.width/n.naturalWidth;et(t.x)&&(o.left=t.x*a+r.left),et(t.y)&&(o.top=t.y*a+r.top),et(t.width)&&(o.width=t.width*a),et(t.height)&&(o.height=t.height*a),this.setCropBoxData(o)}return this},getContainerData:function(){return this.ready?ut({},this.containerData):{}},getImageData:function(){return this.sized?ut({},this.imageData):{}},getCanvasData:function(){var t=this.canvasData,e={};return this.ready&<(["left","top","width","height","naturalWidth","naturalHeight"],(function(n){e[n]=t[n]})),e},setCanvasData:function(t){var e=this.canvasData,n=e.aspectRatio;return this.ready&&!this.disabled&&at(t)&&(et(t.left)&&(e.left=t.left),et(t.top)&&(e.top=t.top),et(t.width)?(e.width=t.width,e.height=t.width/n):et(t.height)&&(e.height=t.height,e.width=t.height*n),this.renderCanvas(!0)),this},getCropBoxData:function(){var t,e=this.cropBoxData;return this.ready&&this.cropped&&(t={left:e.left,top:e.top,width:e.width,height:e.height}),t||{}},setCropBoxData:function(t){var e,n,r=this.cropBoxData,o=this.options.aspectRatio;return this.ready&&this.cropped&&!this.disabled&&at(t)&&(et(t.left)&&(r.left=t.left),et(t.top)&&(r.top=t.top),et(t.width)&&t.width!==r.width&&(e=!0,r.width=t.width),et(t.height)&&t.height!==r.height&&(n=!0,r.height=t.height),o&&(e?r.height=r.width/o:n&&(r.width=r.height*o)),this.renderCropBox()),this},getCroppedCanvas:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var e=this.canvasData,n=function(t,e,n,r){var o=e.aspectRatio,a=e.naturalWidth,d=e.naturalHeight,s=e.rotate,c=void 0===s?0:s,l=e.scaleX,u=void 0===l?1:l,p=e.scaleY,f=void 0===p?1:p,h=n.aspectRatio,v=n.naturalWidth,m=n.naturalHeight,y=r.fillColor,g=void 0===y?"transparent":y,A=r.imageSmoothingEnabled,$=void 0===A||A,b=r.imageSmoothingQuality,w=void 0===b?"low":b,C=r.maxWidth,x=void 0===C?1/0:C,E=r.maxHeight,O=void 0===E?1/0:E,S=r.minWidth,P=void 0===S?0:S,L=r.minHeight,j=void 0===L?0:L,I=document.createElement("canvas"),_=I.getContext("2d"),k=Nt({aspectRatio:h,width:x,height:O}),B=Nt({aspectRatio:h,width:P,height:j},"cover"),N=Math.min(k.width,Math.max(B.width,v)),D=Math.min(k.height,Math.max(B.height,m)),T=Nt({aspectRatio:o,width:x,height:O}),M=Nt({aspectRatio:o,width:P,height:j},"cover"),R=Math.min(T.width,Math.max(M.width,a)),F=Math.min(T.height,Math.max(M.height,d)),G=[-R/2,-F/2,R,F];return I.width=ft(N),I.height=ft(D),_.fillStyle=g,_.fillRect(0,0,N,D),_.save(),_.translate(N/2,D/2),_.rotate(c*Math.PI/180),_.scale(u,f),_.imageSmoothingEnabled=$,_.imageSmoothingQuality=w,_.drawImage.apply(_,[t].concat(i(G.map((function(t){return Math.floor(ft(t))}))))),_.restore(),I}(this.image,this.imageData,e,t);if(!this.cropped)return n;var r=this.getData(),o=r.x,a=r.y,d=r.width,s=r.height,c=n.width/Math.floor(e.naturalWidth);1!==c&&(o*=c,a*=c,d*=c,s*=c);var l=d/s,u=Nt({aspectRatio:l,width:t.maxWidth||1/0,height:t.maxHeight||1/0}),p=Nt({aspectRatio:l,width:t.minWidth||0,height:t.minHeight||0},"cover"),f=Nt({aspectRatio:l,width:t.width||(1!==c?n.width:d),height:t.height||(1!==c?n.height:s)}),h=f.width,v=f.height;h=Math.min(u.width,Math.max(p.width,h)),v=Math.min(u.height,Math.max(p.height,v));var m=document.createElement("canvas"),y=m.getContext("2d");m.width=ft(h),m.height=ft(v),y.fillStyle=t.fillColor||"transparent",y.fillRect(0,0,h,v);var g=t.imageSmoothingEnabled,A=void 0===g||g,$=t.imageSmoothingQuality;y.imageSmoothingEnabled=A,$&&(y.imageSmoothingQuality=$);var b,w,C,x,E,O,S=n.width,P=n.height,L=o,j=a;L<=-d||L>S?(L=0,b=0,C=0,E=0):L<=0?(C=-L,L=0,E=b=Math.min(S,d+L)):L<=S&&(C=0,E=b=Math.min(d,S-L)),b<=0||j<=-s||j>P?(j=0,w=0,x=0,O=0):j<=0?(x=-j,j=0,O=w=Math.min(P,s+j)):j<=P&&(x=0,O=w=Math.min(s,P-j));var I=[L,j,b,w];if(E>0&&O>0){var _=h/d;I.push(C*_,x*_,E*_,O*_)}return y.drawImage.apply(y,[n].concat(i(I.map((function(t){return Math.floor(ft(t))}))))),m},setAspectRatio:function(t){var e=this.options;return this.disabled||rt(t)||(e.aspectRatio=Math.max(0,t)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(t){var e=this.options,n=this.dragBox,r=this.face;if(this.ready&&!this.disabled){var o=t===k,i=e.movable&&t===B;t=o||i?t:N,e.dragMode=t,wt(n,I,t),gt(n,x,o),gt(n,j,i),e.cropBoxMovable||(wt(r,I,t),gt(r,x,o),gt(r,j,i))}return this}},zt=s.Cropper,Ht=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),!e||!Q.test(e.tagName))throw new Error("The first argument is required and must be an <img> or <canvas> element.");this.element=e,this.options=ut({},J,at(n)&&n),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}return e=t,o=[{key:"noConflict",value:function(){return window.Cropper=zt,t}},{key:"setDefaults",value:function(t){ut(J,at(t)&&t)}}],(n=[{key:"init",value:function(){var t,e=this.element,n=e.tagName.toLowerCase();if(!e[u]){if(e[u]=this,"img"===n){if(this.isImg=!0,t=e.getAttribute("src")||"",this.originalUrl=t,!t)return;t=e.src}else"canvas"===n&&window.HTMLCanvasElement&&(t=e.toDataURL());this.load(t)}}},{key:"load",value:function(t){var e,n,r,o,i=this;if(t){this.url=t,this.imageData={};var a=this.element,d=this.options;if(d.rotatable||d.scalable||(d.checkOrientation=!1),d.checkOrientation&&window.ArrayBuffer)if(q.test(t))K.test(t)?this.read((e=t.replace(Tt,""),n=atob(e),r=new ArrayBuffer(n.length),lt(o=new Uint8Array(r),(function(t,e){o[e]=n.charCodeAt(e)})),r)):this.clone();else{var s=new XMLHttpRequest,c=this.clone.bind(this);this.reloading=!0,this.xhr=s,s.onabort=c,s.onerror=c,s.ontimeout=c,s.onprogress=function(){s.getResponseHeader("content-type")!==V&&s.abort()},s.onload=function(){i.read(s.response)},s.onloadend=function(){i.reloading=!1,i.xhr=null},d.checkCrossOrigin&&It(t)&&a.crossOrigin&&(t=_t(t)),s.open("GET",t,!0),s.responseType="arraybuffer",s.withCredentials="use-credentials"===a.crossOrigin,s.send()}else this.clone()}}},{key:"read",value:function(t){var e=this.options,n=this.imageData,r=Mt(t),o=0,i=1,a=1;if(r>1){this.url=function(t,e){for(var n=[],r=new Uint8Array(t);r.length>0;)n.push(Dt.apply(null,ct(r.subarray(0,8192)))),r=r.subarray(8192);return"data:".concat(e,";base64,").concat(btoa(n.join("")))}(t,V);var d=function(t){var e=0,n=1,r=1;switch(t){case 2:n=-1;break;case 3:e=-180;break;case 4:r=-1;break;case 5:e=90,r=-1;break;case 6:e=90;break;case 7:e=90,n=-1;break;case 8:e=-90}return{rotate:e,scaleX:n,scaleY:r}}(r);o=d.rotate,i=d.scaleX,a=d.scaleY}e.rotatable&&(n.rotate=o),e.scalable&&(n.scaleX=i,n.scaleY=a),this.clone()}},{key:"clone",value:function(){var t=this.element,e=this.url,n=t.crossOrigin,r=e;this.options.checkCrossOrigin&&It(e)&&(n||(n="anonymous"),r=_t(e)),this.crossOrigin=n,this.crossOriginUrl=r;var o=document.createElement("img");n&&(o.crossOrigin=n),o.src=r||e,o.alt=t.alt||"The image to crop",this.image=o,o.onload=this.start.bind(this),o.onerror=this.stop.bind(this),mt(o,S),t.parentNode.insertBefore(o,t.nextSibling)}},{key:"start",value:function(){var t=this,e=this.image;e.onload=null,e.onerror=null,this.sizing=!0;var n=s.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(s.navigator.userAgent),r=function(e,n){ut(t.imageData,{naturalWidth:e,naturalHeight:n,aspectRatio:e/n}),t.initialImageData=ut({},t.imageData),t.sizing=!1,t.sized=!0,t.build()};if(!e.naturalWidth||n){var o=document.createElement("img"),i=document.body||document.documentElement;this.sizingImage=o,o.onload=function(){r(o.width,o.height),n||i.removeChild(o)},o.src=e.src,n||(o.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",i.appendChild(o))}else r(e.naturalWidth,e.naturalHeight)}},{key:"stop",value:function(){var t=this.image;t.onload=null,t.onerror=null,t.parentNode.removeChild(t),this.image=null}},{key:"build",value:function(){if(this.sized&&!this.ready){var t=this.element,e=this.options,n=this.image,r=t.parentNode,o=document.createElement("div");o.innerHTML='<div class="cropper-container" touch-action="none"><div class="cropper-wrap-box"><div class="cropper-canvas"></div></div><div class="cropper-drag-box"></div><div class="cropper-crop-box"><span class="cropper-view-box"></span><span class="cropper-dashed dashed-h"></span><span class="cropper-dashed dashed-v"></span><span class="cropper-center"></span><span class="cropper-face"></span><span class="cropper-line line-e" data-cropper-action="e"></span><span class="cropper-line line-n" data-cropper-action="n"></span><span class="cropper-line line-w" data-cropper-action="w"></span><span class="cropper-line line-s" data-cropper-action="s"></span><span class="cropper-point point-e" data-cropper-action="e"></span><span class="cropper-point point-n" data-cropper-action="n"></span><span class="cropper-point point-w" data-cropper-action="w"></span><span class="cropper-point point-s" data-cropper-action="s"></span><span class="cropper-point point-ne" data-cropper-action="ne"></span><span class="cropper-point point-nw" data-cropper-action="nw"></span><span class="cropper-point point-sw" data-cropper-action="sw"></span><span class="cropper-point point-se" data-cropper-action="se"></span></div></div>';var i=o.querySelector(".".concat(u,"-container")),a=i.querySelector(".".concat(u,"-canvas")),d=i.querySelector(".".concat(u,"-drag-box")),s=i.querySelector(".".concat(u,"-crop-box")),c=s.querySelector(".".concat(u,"-face"));this.container=r,this.cropper=i,this.canvas=a,this.dragBox=d,this.cropBox=s,this.viewBox=i.querySelector(".".concat(u,"-view-box")),this.face=c,a.appendChild(n),mt(t,O),r.insertBefore(i,t.nextSibling),yt(n,S),this.initPreview(),this.bind(),e.initialAspectRatio=Math.max(0,e.initialAspectRatio)||NaN,e.aspectRatio=Math.max(0,e.aspectRatio)||NaN,e.viewMode=Math.max(0,Math.min(3,Math.round(e.viewMode)))||0,mt(s,O),e.guides||mt(s.getElementsByClassName("".concat(u,"-dashed")),O),e.center||mt(s.getElementsByClassName("".concat(u,"-center")),O),e.background&&mt(i,"".concat(u,"-bg")),e.highlight||mt(c,P),e.cropBoxMovable&&(mt(c,j),wt(c,I,p)),e.cropBoxResizable||(mt(s.getElementsByClassName("".concat(u,"-line")),O),mt(s.getElementsByClassName("".concat(u,"-point")),O)),this.render(),this.ready=!0,this.setDragMode(e.dragMode),e.autoCrop&&this.crop(),this.setData(e.data),dt(e.ready)&&Ot(t,Y,e.ready,{once:!0}),St(t,Y)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var t=this.cropper.parentNode;t&&t.removeChild(this.cropper),yt(this.element,O)}}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}])&&r(e.prototype,n),o&&r(e,o),Object.defineProperty(e,"prototype",{writable:!1}),t;var e,n,o}();return ut(Ht.prototype,Rt,Ft,Gt,Zt,Ut,Yt),Ht}()},95073:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i),d=n(61667),s=n.n(d),c=new URL(n(8738),n.b),l=a()(o()),u=s()(c);l.push([t.id,'/*!\n * Cropper.js v1.5.13\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2022-11-20T05:30:43.444Z\n */\n\n.cropper-container {\n direction: ltr;\n font-size: 0;\n line-height: 0;\n position: relative;\n -ms-touch-action: none;\n touch-action: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.cropper-container img {\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n display: block;\n height: 100%;\n image-orientation: 0deg;\n max-height: none !important;\n max-width: none !important;\n min-height: 0 !important;\n min-width: 0 !important;\n width: 100%;\n }\n\n.cropper-wrap-box,\n.cropper-canvas,\n.cropper-drag-box,\n.cropper-crop-box,\n.cropper-modal {\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.cropper-wrap-box,\n.cropper-canvas {\n overflow: hidden;\n}\n\n.cropper-drag-box {\n background-color: #fff;\n opacity: 0;\n}\n\n.cropper-modal {\n background-color: #000;\n opacity: 0.5;\n}\n\n.cropper-view-box {\n display: block;\n height: 100%;\n outline: 1px solid #39f;\n outline-color: rgba(51, 153, 255, 75%);\n overflow: hidden;\n width: 100%;\n}\n\n.cropper-dashed {\n border: 0 dashed #eee;\n display: block;\n opacity: 0.5;\n position: absolute;\n}\n\n.cropper-dashed.dashed-h {\n border-bottom-width: 1px;\n border-top-width: 1px;\n height: calc(100% / 3);\n left: 0;\n top: calc(100% / 3);\n width: 100%;\n }\n\n.cropper-dashed.dashed-v {\n border-left-width: 1px;\n border-right-width: 1px;\n height: 100%;\n left: calc(100% / 3);\n top: 0;\n width: calc(100% / 3);\n }\n\n.cropper-center {\n display: block;\n height: 0;\n left: 50%;\n opacity: 0.75;\n position: absolute;\n top: 50%;\n width: 0;\n}\n\n.cropper-center::before,\n .cropper-center::after {\n background-color: #eee;\n content: " ";\n display: block;\n position: absolute;\n }\n\n.cropper-center::before {\n height: 1px;\n left: -3px;\n top: 0;\n width: 7px;\n }\n\n.cropper-center::after {\n height: 7px;\n left: 0;\n top: -3px;\n width: 1px;\n }\n\n.cropper-face,\n.cropper-line,\n.cropper-point {\n display: block;\n height: 100%;\n opacity: 0.1;\n position: absolute;\n width: 100%;\n}\n\n.cropper-face {\n background-color: #fff;\n left: 0;\n top: 0;\n}\n\n.cropper-line {\n background-color: #39f;\n}\n\n.cropper-line.line-e {\n cursor: ew-resize;\n right: -3px;\n top: 0;\n width: 5px;\n }\n\n.cropper-line.line-n {\n cursor: ns-resize;\n height: 5px;\n left: 0;\n top: -3px;\n }\n\n.cropper-line.line-w {\n cursor: ew-resize;\n left: -3px;\n top: 0;\n width: 5px;\n }\n\n.cropper-line.line-s {\n bottom: -3px;\n cursor: ns-resize;\n height: 5px;\n left: 0;\n }\n\n.cropper-point {\n background-color: #39f;\n height: 5px;\n opacity: 0.75;\n width: 5px;\n}\n\n.cropper-point.point-e {\n cursor: ew-resize;\n margin-top: -3px;\n right: -3px;\n top: 50%;\n }\n\n.cropper-point.point-n {\n cursor: ns-resize;\n left: 50%;\n margin-left: -3px;\n top: -3px;\n }\n\n.cropper-point.point-w {\n cursor: ew-resize;\n left: -3px;\n margin-top: -3px;\n top: 50%;\n }\n\n.cropper-point.point-s {\n bottom: -3px;\n cursor: s-resize;\n left: 50%;\n margin-left: -3px;\n }\n\n.cropper-point.point-ne {\n cursor: nesw-resize;\n right: -3px;\n top: -3px;\n }\n\n.cropper-point.point-nw {\n cursor: nwse-resize;\n left: -3px;\n top: -3px;\n }\n\n.cropper-point.point-sw {\n bottom: -3px;\n cursor: nesw-resize;\n left: -3px;\n }\n\n.cropper-point.point-se {\n bottom: -3px;\n cursor: nwse-resize;\n height: 20px;\n opacity: 1;\n right: -3px;\n width: 20px;\n }\n\n@media (min-width: 768px) {\n\n.cropper-point.point-se {\n height: 15px;\n width: 15px;\n }\n }\n\n@media (min-width: 992px) {\n\n.cropper-point.point-se {\n height: 10px;\n width: 10px;\n }\n }\n\n@media (min-width: 1200px) {\n\n.cropper-point.point-se {\n height: 5px;\n opacity: 0.75;\n width: 5px;\n }\n }\n\n.cropper-point.point-se::before {\n background-color: #39f;\n bottom: -50%;\n content: " ";\n display: block;\n height: 200%;\n opacity: 0;\n position: absolute;\n right: -50%;\n width: 200%;\n }\n\n.cropper-invisible {\n opacity: 0;\n}\n\n.cropper-bg {\n background-image: url('+u+");\n}\n\n.cropper-hide {\n display: block;\n height: 0;\n position: absolute;\n width: 0;\n}\n\n.cropper-hidden {\n display: none !important;\n}\n\n.cropper-move {\n cursor: move;\n}\n\n.cropper-crop {\n cursor: crosshair;\n}\n\n.cropper-disabled .cropper-drag-box,\n.cropper-disabled .cropper-face,\n.cropper-disabled .cropper-line,\n.cropper-disabled .cropper-point {\n cursor: not-allowed;\n}\n","",{version:3,sources:["webpack://./node_modules/cropperjs/dist/cropper.css"],names:[],mappings:"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",sourcesContent:['/*!\n * Cropper.js v1.5.13\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2022-11-20T05:30:43.444Z\n */\n\n.cropper-container {\n direction: ltr;\n font-size: 0;\n line-height: 0;\n position: relative;\n -ms-touch-action: none;\n touch-action: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.cropper-container img {\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n display: block;\n height: 100%;\n image-orientation: 0deg;\n max-height: none !important;\n max-width: none !important;\n min-height: 0 !important;\n min-width: 0 !important;\n width: 100%;\n }\n\n.cropper-wrap-box,\n.cropper-canvas,\n.cropper-drag-box,\n.cropper-crop-box,\n.cropper-modal {\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.cropper-wrap-box,\n.cropper-canvas {\n overflow: hidden;\n}\n\n.cropper-drag-box {\n background-color: #fff;\n opacity: 0;\n}\n\n.cropper-modal {\n background-color: #000;\n opacity: 0.5;\n}\n\n.cropper-view-box {\n display: block;\n height: 100%;\n outline: 1px solid #39f;\n outline-color: rgba(51, 153, 255, 75%);\n overflow: hidden;\n width: 100%;\n}\n\n.cropper-dashed {\n border: 0 dashed #eee;\n display: block;\n opacity: 0.5;\n position: absolute;\n}\n\n.cropper-dashed.dashed-h {\n border-bottom-width: 1px;\n border-top-width: 1px;\n height: calc(100% / 3);\n left: 0;\n top: calc(100% / 3);\n width: 100%;\n }\n\n.cropper-dashed.dashed-v {\n border-left-width: 1px;\n border-right-width: 1px;\n height: 100%;\n left: calc(100% / 3);\n top: 0;\n width: calc(100% / 3);\n }\n\n.cropper-center {\n display: block;\n height: 0;\n left: 50%;\n opacity: 0.75;\n position: absolute;\n top: 50%;\n width: 0;\n}\n\n.cropper-center::before,\n .cropper-center::after {\n background-color: #eee;\n content: " ";\n display: block;\n position: absolute;\n }\n\n.cropper-center::before {\n height: 1px;\n left: -3px;\n top: 0;\n width: 7px;\n }\n\n.cropper-center::after {\n height: 7px;\n left: 0;\n top: -3px;\n width: 1px;\n }\n\n.cropper-face,\n.cropper-line,\n.cropper-point {\n display: block;\n height: 100%;\n opacity: 0.1;\n position: absolute;\n width: 100%;\n}\n\n.cropper-face {\n background-color: #fff;\n left: 0;\n top: 0;\n}\n\n.cropper-line {\n background-color: #39f;\n}\n\n.cropper-line.line-e {\n cursor: ew-resize;\n right: -3px;\n top: 0;\n width: 5px;\n }\n\n.cropper-line.line-n {\n cursor: ns-resize;\n height: 5px;\n left: 0;\n top: -3px;\n }\n\n.cropper-line.line-w {\n cursor: ew-resize;\n left: -3px;\n top: 0;\n width: 5px;\n }\n\n.cropper-line.line-s {\n bottom: -3px;\n cursor: ns-resize;\n height: 5px;\n left: 0;\n }\n\n.cropper-point {\n background-color: #39f;\n height: 5px;\n opacity: 0.75;\n width: 5px;\n}\n\n.cropper-point.point-e {\n cursor: ew-resize;\n margin-top: -3px;\n right: -3px;\n top: 50%;\n }\n\n.cropper-point.point-n {\n cursor: ns-resize;\n left: 50%;\n margin-left: -3px;\n top: -3px;\n }\n\n.cropper-point.point-w {\n cursor: ew-resize;\n left: -3px;\n margin-top: -3px;\n top: 50%;\n }\n\n.cropper-point.point-s {\n bottom: -3px;\n cursor: s-resize;\n left: 50%;\n margin-left: -3px;\n }\n\n.cropper-point.point-ne {\n cursor: nesw-resize;\n right: -3px;\n top: -3px;\n }\n\n.cropper-point.point-nw {\n cursor: nwse-resize;\n left: -3px;\n top: -3px;\n }\n\n.cropper-point.point-sw {\n bottom: -3px;\n cursor: nesw-resize;\n left: -3px;\n }\n\n.cropper-point.point-se {\n bottom: -3px;\n cursor: nwse-resize;\n height: 20px;\n opacity: 1;\n right: -3px;\n width: 20px;\n }\n\n@media (min-width: 768px) {\n\n.cropper-point.point-se {\n height: 15px;\n width: 15px;\n }\n }\n\n@media (min-width: 992px) {\n\n.cropper-point.point-se {\n height: 10px;\n width: 10px;\n }\n }\n\n@media (min-width: 1200px) {\n\n.cropper-point.point-se {\n height: 5px;\n opacity: 0.75;\n width: 5px;\n }\n }\n\n.cropper-point.point-se::before {\n background-color: #39f;\n bottom: -50%;\n content: " ";\n display: block;\n height: 200%;\n opacity: 0;\n position: absolute;\n right: -50%;\n width: 200%;\n }\n\n.cropper-invisible {\n opacity: 0;\n}\n\n.cropper-bg {\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC");\n}\n\n.cropper-hide {\n display: block;\n height: 0;\n position: absolute;\n width: 0;\n}\n\n.cropper-hidden {\n display: none !important;\n}\n\n.cropper-move {\n cursor: move;\n}\n\n.cropper-crop {\n cursor: crosshair;\n}\n\n.cropper-disabled .cropper-drag-box,\n.cropper-disabled .cropper-face,\n.cropper-disabled .cropper-line,\n.cropper-disabled .cropper-point {\n cursor: not-allowed;\n}\n'],sourceRoot:""}]),e.Z=l},32248:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,"section[data-v-cd78cbb2]{grid-row:1/3}.avatar__container[data-v-cd78cbb2]{margin:0 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px 0;width:min(100%,300px)}.avatar__container span[data-v-cd78cbb2]{color:var(--color-text-lighter)}.avatar__preview[data-v-cd78cbb2]{display:flex;justify-content:center;align-items:center;width:180px;height:180px}.avatar__buttons[data-v-cd78cbb2]{display:flex;gap:0 10px}.avatar__cropper[data-v-cd78cbb2]{width:300px;height:300px;overflow:hidden}.avatar__cropper-buttons[data-v-cd78cbb2]{width:100%;display:flex;justify-content:space-between}.avatar__cropper[data-v-cd78cbb2] .cropper-view-box{border-radius:50%}input[type=file][data-v-cd78cbb2]{display:none}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/AvatarSection.vue"],names:[],mappings:"AACA,yBACC,YAAA,CAGA,oCACC,aAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,kBAAA,CACA,UAAA,CACA,qBAAA,CAEA,yCACC,+BAAA,CAIF,kCACC,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,WAAA,CACA,YAAA,CAGD,kCACC,YAAA,CACA,UAAA,CAGD,kCACC,WAAA,CACA,YAAA,CACA,eAAA,CAEA,0CACC,UAAA,CACA,YAAA,CACA,6BAAA,CAGD,oDACC,iBAAA,CAKH,kCACC,YAAA",sourcesContent:['\nsection {\n\tgrid-row: 1/3;\n}\n.avatar {\n\t&__container {\n\t\tmargin: 0 auto;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\tgap: 16px 0;\n\t\twidth: min(100%, 300px);\n\n\t\tspan {\n\t\t\tcolor: var(--color-text-lighter);\n\t\t}\n\t}\n\n\t&__preview {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\twidth: 180px;\n\t\theight: 180px;\n\t}\n\n\t&__buttons {\n\t\tdisplay: flex;\n\t\tgap: 0 10px;\n\t}\n\n\t&__cropper {\n\t\twidth: 300px;\n\t\theight: 300px;\n\t\toverflow: hidden;\n\n\t\t&-buttons {\n\t\t\twidth: 100%;\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t}\n\n\t\t&::v-deep .cropper-view-box {\n\t\t\tborder-radius: 50%;\n\t\t}\n\t}\n}\n\ninput[type="file"] {\n\tdisplay: none;\n}\n'],sourceRoot:""}]),e.Z=a},14260:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,".details[data-v-f432848e]{display:flex;flex-direction:column;margin:10px 32px 10px 0;gap:16px 0;color:var(--color-text-lighter)}.details__groups[data-v-f432848e],.details__quota[data-v-f432848e]{display:flex;gap:0 10px}.details__groups-info[data-v-f432848e],.details__quota-info[data-v-f432848e]{display:flex;flex-direction:column;width:100%;gap:4px 0}.details__groups-list[data-v-f432848e],.details__quota-list[data-v-f432848e]{font-weight:bold}.details__groups[data-v-f432848e] .material-design-icon,.details__quota[data-v-f432848e] .material-design-icon{align-self:flex-start;margin-top:2px}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/DetailsSection.vue"],names:[],mappings:"AACA,0BACC,YAAA,CACA,qBAAA,CACA,uBAAA,CACA,UAAA,CACA,+BAAA,CAEA,mEAEC,YAAA,CACA,UAAA,CAEA,6EACC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,SAAA,CAGD,6EACC,gBAAA,CAGD,+GACC,qBAAA,CACA,cAAA",sourcesContent:["\n.details {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin: 10px 32px 10px 0;\n\tgap: 16px 0;\n\tcolor: var(--color-text-lighter);\n\n\t&__groups,\n\t&__quota {\n\t\tdisplay: flex;\n\t\tgap: 0 10px;\n\n\t\t&-info {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\twidth: 100%;\n\t\t\tgap: 4px 0;\n\t\t}\n\n\t\t&-list {\n\t\t\tfont-weight: bold;\n\t\t}\n\n\t\t&::v-deep .material-design-icon {\n\t\t\talign-self: flex-start;\n\t\t\tmargin-top: 2px;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},58630:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,".email[data-v-01402aef]{display:grid;align-items:center}.email input[data-v-01402aef]{grid-area:1/1;width:100%}.email .email__actions-container[data-v-01402aef]{grid-area:1/1;justify-self:flex-end;height:30px;display:flex;gap:0 2px;margin-right:5px}.email .email__actions-container .email__actions[data-v-01402aef]:hover,.email .email__actions-container .email__actions[data-v-01402aef]:focus,.email .email__actions-container .email__actions[data-v-01402aef]:active{opacity:.8 !important}.email .email__actions-container .email__actions[data-v-01402aef] button{height:30px !important;min-height:30px !important;width:30px !important;min-width:30px !important}.email__helper-text-message[data-v-01402aef]{padding:4px 0;display:flex;align-items:center}.email__helper-text-message__icon[data-v-01402aef]{margin-right:8px;align-self:start;margin-top:4px}.email__helper-text-message--error[data-v-01402aef]{color:var(--color-error)}.fade-enter[data-v-01402aef],.fade-leave-to[data-v-01402aef]{opacity:0}.fade-enter-active[data-v-01402aef]{transition:opacity 200ms ease-out}.fade-leave-active[data-v-01402aef]{transition:opacity 300ms ease-out}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/EmailSection/Email.vue"],names:[],mappings:"AACA,wBACC,YAAA,CACA,kBAAA,CAEA,8BACC,aAAA,CACA,UAAA,CAGD,kDACC,aAAA,CACA,qBAAA,CACA,WAAA,CAEA,YAAA,CACA,SAAA,CACA,gBAAA,CAGC,yNAGC,qBAAA,CAGD,yEACC,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA,CAKH,6CACC,aAAA,CACA,YAAA,CACA,kBAAA,CAEA,mDACC,gBAAA,CACA,gBAAA,CACA,cAAA,CAGD,oDACC,wBAAA,CAKH,6DAEC,SAAA,CAGD,oCACC,iCAAA,CAGD,oCACC,iCAAA",sourcesContent:["\n.email {\n\tdisplay: grid;\n\talign-items: center;\n\n\tinput {\n\t\tgrid-area: 1 / 1;\n\t\twidth: 100%;\n\t}\n\n\t.email__actions-container {\n\t\tgrid-area: 1 / 1;\n\t\tjustify-self: flex-end;\n\t\theight: 30px;\n\n\t\tdisplay: flex;\n\t\tgap: 0 2px;\n\t\tmargin-right: 5px;\n\n\t\t.email__actions {\n\t\t\t&:hover,\n\t\t\t&:focus,\n\t\t\t&:active {\n\t\t\t\topacity: 0.8 !important;\n\t\t\t}\n\n\t\t\t&::v-deep button {\n\t\t\t\theight: 30px !important;\n\t\t\t\tmin-height: 30px !important;\n\t\t\t\twidth: 30px !important;\n\t\t\t\tmin-width: 30px !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__helper-text-message {\n\t\tpadding: 4px 0;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\n\t\t&__icon {\n\t\t\tmargin-right: 8px;\n\t\t\talign-self: start;\n\t\t\tmargin-top: 4px;\n\t\t}\n\n\t\t&--error {\n\t\t\tcolor: var(--color-error);\n\t\t}\n\t}\n}\n\n.fade-enter,\n.fade-leave-to {\n\topacity: 0;\n}\n\n.fade-enter-active {\n\ttransition: opacity 200ms ease-out;\n}\n\n.fade-leave-active {\n\ttransition: opacity 300ms ease-out;\n}\n"],sourceRoot:""}]),e.Z=a},47791:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,"section[data-v-b17ef20e]{padding:10px 10px}section[data-v-b17ef20e] button:disabled{cursor:default}section .additional-emails-label[data-v-b17ef20e]{display:block;margin-top:16px}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue"],names:[],mappings:"AACA,yBACC,iBAAA,CAEA,yCACC,cAAA,CAGD,kDACC,aAAA,CACA,eAAA",sourcesContent:["\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n\n\t.additional-emails-label {\n\t\tdisplay: block;\n\t\tmargin-top: 16px;\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},58531:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,".language[data-v-f4e20d10]{display:grid}.language select[data-v-f4e20d10]{width:100%}.language a[data-v-f4e20d10]{color:var(--color-main-text);text-decoration:none;width:max-content}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue"],names:[],mappings:"AACA,2BACC,YAAA,CAEA,kCACC,UAAA,CAGD,6BACC,4BAAA,CACA,oBAAA,CACA,iBAAA",sourcesContent:["\n.language {\n\tdisplay: grid;\n\n\tselect {\n\t\twidth: 100%;\n\t}\n\n\ta {\n\t\tcolor: var(--color-main-text);\n\t\ttext-decoration: none;\n\t\twidth: max-content;\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},12531:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,"section[data-v-92685b76]{padding:10px 10px}section[data-v-92685b76] button:disabled{cursor:default}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue"],names:[],mappings:"AACA,yBACC,iBAAA,CAEA,yCACC,cAAA",sourcesContent:["\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},93615:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,".locale[data-v-9c4afa34]{display:grid}.locale select[data-v-9c4afa34]{width:100%}.example[data-v-9c4afa34]{margin:10px 0;display:flex;gap:0 10px;color:var(--color-text-lighter)}.example[data-v-9c4afa34] .material-design-icon{align-self:flex-start;margin-top:2px}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue"],names:[],mappings:"AACA,yBACC,YAAA,CAEA,gCACC,UAAA,CAIF,0BACC,aAAA,CACA,YAAA,CACA,UAAA,CACA,+BAAA,CAEA,gDACC,qBAAA,CACA,cAAA",sourcesContent:["\n.locale {\n\tdisplay: grid;\n\n\tselect {\n\t\twidth: 100%;\n\t}\n}\n\n.example {\n\tmargin: 10px 0;\n\tdisplay: flex;\n\tgap: 0 10px;\n\tcolor: var(--color-text-lighter);\n\n\t&::v-deep .material-design-icon {\n\t\talign-self: flex-start;\n\t\tmargin-top: 2px;\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},682:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,"section[data-v-84fca724]{padding:10px 10px}section[data-v-84fca724] button:disabled{cursor:default}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue"],names:[],mappings:"AACA,yBACC,iBAAA,CAEA,yCACC,cAAA",sourcesContent:["\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},38139:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,"html{scroll-behavior:smooth}@media screen and (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue"],names:[],mappings:"AACA,KACC,sBAAA,CAEA,mDAHD,KAIE,oBAAA,CAAA",sourcesContent:["\nhtml {\n\tscroll-behavior: smooth;\n\n\t@media screen and (prefers-reduced-motion: reduce) {\n\t\tscroll-behavior: auto;\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},28168:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,"a[data-v-23992b06]{display:block;height:44px;width:min(100%,290px);overflow:hidden;text-overflow:ellipsis;line-height:44px;padding:0 16px;margin:14px auto;border-radius:var(--border-radius-pill);color:var(--color-text-maxcontrast);background-color:rgba(0,0,0,0)}a .anchor-icon[data-v-23992b06]{display:inline-block;vertical-align:middle;margin-top:6px;margin-right:8px}a[data-v-23992b06]:hover,a[data-v-23992b06]:focus,a[data-v-23992b06]:active{color:var(--color-main-text);background-color:var(--color-background-dark)}a.disabled[data-v-23992b06]{pointer-events:none}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue"],names:[],mappings:"AACA,mBACC,aAAA,CACA,WAAA,CACA,qBAAA,CACA,eAAA,CACA,sBAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CACA,uCAAA,CACA,mCAAA,CACA,8BAAA,CAEA,gCACC,oBAAA,CACA,qBAAA,CACA,cAAA,CACA,gBAAA,CAGD,4EAGC,4BAAA,CACA,6CAAA,CAGD,4BACC,mBAAA",sourcesContent:["\na {\n\tdisplay: block;\n\theight: 44px;\n\twidth: min(100%, 290px);\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\tline-height: 44px;\n\tpadding: 0 16px;\n\tmargin: 14px auto;\n\tborder-radius: var(--border-radius-pill);\n\tcolor: var(--color-text-maxcontrast);\n\tbackground-color: transparent;\n\n\t.anchor-icon {\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\tmargin-top: 6px;\n\t\tmargin-right: 8px;\n\t}\n\n\t&:hover,\n\t&:focus,\n\t&:active {\n\t\tcolor: var(--color-main-text);\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t&.disabled {\n\t\tpointer-events: none;\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},7714:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,".preview-card[data-v-3375e082]{display:flex;flex-direction:column;position:relative;width:min(100%,290px);height:116px;margin:14px auto;border-radius:var(--border-radius-large);background-color:var(--color-main-background);font-weight:bold;box-shadow:0 2px 9px var(--color-box-shadow)}.preview-card[data-v-3375e082]:hover,.preview-card[data-v-3375e082]:focus,.preview-card[data-v-3375e082]:active{box-shadow:0 2px 12px var(--color-box-shadow)}.preview-card[data-v-3375e082]:focus-visible{outline:var(--color-main-text) solid 1px;outline-offset:3px}.preview-card.disabled[data-v-3375e082]{filter:grayscale(1);opacity:.5;cursor:default;box-shadow:0 0 3px var(--color-box-shadow)}.preview-card.disabled *[data-v-3375e082],.preview-card.disabled[data-v-3375e082] *{cursor:default}.preview-card__avatar[data-v-3375e082]{position:absolute !important;top:40px;left:18px;z-index:1}.preview-card__avatar[data-v-3375e082]:not(.avatardiv--unknown){box-shadow:0 0 0 3px var(--color-main-background) !important}.preview-card__header[data-v-3375e082],.preview-card__footer[data-v-3375e082]{position:relative;width:auto}.preview-card__header span[data-v-3375e082],.preview-card__footer span[data-v-3375e082]{position:absolute;left:78px;overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere}@supports(-webkit-line-clamp: 2){.preview-card__header span[data-v-3375e082],.preview-card__footer span[data-v-3375e082]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.preview-card__header[data-v-3375e082]{height:70px;border-radius:var(--border-radius-large) var(--border-radius-large) 0 0;background-color:var(--color-primary-element);background-image:var(--gradient-primary-background)}.preview-card__header span[data-v-3375e082]{bottom:0;color:var(--color-primary-element-text);font-size:18px;font-weight:bold;margin:0 4px 8px 0}.preview-card__footer[data-v-3375e082]{height:46px}.preview-card__footer span[data-v-3375e082]{top:0;color:var(--color-text-maxcontrast);font-size:14px;font-weight:normal;margin:4px 4px 0 0;line-height:1.3}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue"],names:[],mappings:"AACA,+BACC,YAAA,CACA,qBAAA,CACA,iBAAA,CACA,qBAAA,CACA,YAAA,CACA,gBAAA,CACA,wCAAA,CACA,6CAAA,CACA,gBAAA,CACA,4CAAA,CAEA,gHAGC,6CAAA,CAGD,6CACC,wCAAA,CACA,kBAAA,CAGD,wCACC,mBAAA,CACA,UAAA,CACA,cAAA,CACA,0CAAA,CAEA,oFAEC,cAAA,CAIF,uCAEC,4BAAA,CACA,QAAA,CACA,SAAA,CACA,SAAA,CAEA,gEACC,4DAAA,CAIF,8EAEC,iBAAA,CACA,UAAA,CAEA,wFACC,iBAAA,CACA,SAAA,CACA,eAAA,CACA,sBAAA,CACA,sBAAA,CAEA,iCAPD,wFAQE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,uCACC,WAAA,CACA,uEAAA,CACA,6CAAA,CACA,mDAAA,CAEA,4CACC,QAAA,CACA,uCAAA,CACA,cAAA,CACA,gBAAA,CACA,kBAAA,CAIF,uCACC,WAAA,CAEA,4CACC,KAAA,CACA,mCAAA,CACA,cAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA",sourcesContent:["\n.preview-card {\n\tdisplay: flex;\n\tflex-direction: column;\n\tposition: relative;\n\twidth: min(100%, 290px);\n\theight: 116px;\n\tmargin: 14px auto;\n\tborder-radius: var(--border-radius-large);\n\tbackground-color: var(--color-main-background);\n\tfont-weight: bold;\n\tbox-shadow: 0 2px 9px var(--color-box-shadow);\n\n\t&:hover,\n\t&:focus,\n\t&:active {\n\t\tbox-shadow: 0 2px 12px var(--color-box-shadow);\n\t}\n\n\t&:focus-visible {\n\t\toutline: var(--color-main-text) solid 1px;\n\t\toutline-offset: 3px;\n\t}\n\n\t&.disabled {\n\t\tfilter: grayscale(1);\n\t\topacity: 0.5;\n\t\tcursor: default;\n\t\tbox-shadow: 0 0 3px var(--color-box-shadow);\n\n\t\t& *,\n\t\t&::v-deep * {\n\t\t\tcursor: default;\n\t\t}\n\t}\n\n\t&__avatar {\n\t\t// Override Avatar component position to fix positioning on rerender\n\t\tposition: absolute !important;\n\t\ttop: 40px;\n\t\tleft: 18px;\n\t\tz-index: 1;\n\n\t\t&:not(.avatardiv--unknown) {\n\t\t\tbox-shadow: 0 0 0 3px var(--color-main-background) !important;\n\t\t}\n\t}\n\n\t&__header,\n\t&__footer {\n\t\tposition: relative;\n\t\twidth: auto;\n\n\t\tspan {\n\t\t\tposition: absolute;\n\t\t\tleft: 78px;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow-wrap: anywhere;\n\n\t\t\t@supports (-webkit-line-clamp: 2) {\n\t\t\t\tdisplay: -webkit-box;\n\t\t\t\t-webkit-line-clamp: 2;\n\t\t\t\t-webkit-box-orient: vertical;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__header {\n\t\theight: 70px;\n\t\tborder-radius: var(--border-radius-large) var(--border-radius-large) 0 0;\n\t\tbackground-color: var(--color-primary-element);\n\t\tbackground-image: var(--gradient-primary-background);\n\n\t\tspan {\n\t\t\tbottom: 0;\n\t\t\tcolor: var(--color-primary-element-text);\n\t\t\tfont-size: 18px;\n\t\t\tfont-weight: bold;\n\t\t\tmargin: 0 4px 8px 0;\n\t\t}\n\t}\n\n\t&__footer {\n\t\theight: 46px;\n\n\t\tspan {\n\t\t\ttop: 0;\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\tfont-size: 14px;\n\t\t\tfont-weight: normal;\n\t\t\tmargin: 4px 4px 0 0;\n\t\t\tline-height: 1.3;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},90552:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,"section[data-v-cf64d964]{padding:10px 10px}section[data-v-cf64d964] button:disabled{cursor:default}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue"],names:[],mappings:"AACA,yBACC,iBAAA,CAEA,yCACC,cAAA",sourcesContent:["\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},19549:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,"section[data-v-199109a6]{padding:30px;max-width:900px;width:100%}section em[data-v-199109a6]{display:block;margin:16px 0}section em.disabled[data-v-199109a6]{filter:grayscale(1);opacity:.5;cursor:default;pointer-events:none}section em.disabled *[data-v-199109a6],section em.disabled[data-v-199109a6] *{cursor:default;pointer-events:none}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue"],names:[],mappings:"AACA,yBACC,YAAA,CACA,eAAA,CACA,UAAA,CAEA,4BACC,aAAA,CACA,aAAA,CAEA,qCACC,mBAAA,CACA,UAAA,CACA,cAAA,CACA,mBAAA,CAEA,8EAEC,cAAA,CACA,mBAAA",sourcesContent:["\nsection {\n\tpadding: 30px;\n\tmax-width: 900px;\n\twidth: 100%;\n\n\tem {\n\t\tdisplay: block;\n\t\tmargin: 16px 0;\n\n\t\t&.disabled {\n\t\t\tfilter: grayscale(1);\n\t\t\topacity: 0.5;\n\t\t\tcursor: default;\n\t\t\tpointer-events: none;\n\n\t\t\t& *,\n\t\t\t&::v-deep * {\n\t\t\t\tcursor: default;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},31161:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,".visibility-container[data-v-c7ec7e16]{display:flex;flex-wrap:wrap}.visibility-container.disabled[data-v-c7ec7e16]{filter:grayscale(1);opacity:.5;cursor:default;pointer-events:none}.visibility-container.disabled *[data-v-c7ec7e16],.visibility-container.disabled[data-v-c7ec7e16] *{cursor:default;pointer-events:none}.visibility-container label[data-v-c7ec7e16]{color:var(--color-text-lighter);width:150px;line-height:50px}.visibility-container__select[data-v-c7ec7e16]{width:270px;max-width:40vw}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue"],names:[],mappings:"AACA,uCACC,YAAA,CACA,cAAA,CAEA,gDACC,mBAAA,CACA,UAAA,CACA,cAAA,CACA,mBAAA,CAEA,oGAEC,cAAA,CACA,mBAAA,CAIF,6CACC,+BAAA,CACA,WAAA,CACA,gBAAA,CAGD,+CACC,WAAA,CACA,cAAA",sourcesContent:["\n.visibility-container {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\n\t&.disabled {\n\t\tfilter: grayscale(1);\n\t\topacity: 0.5;\n\t\tcursor: default;\n\t\tpointer-events: none;\n\n\t\t& *,\n\t\t&::v-deep * {\n\t\t\tcursor: default;\n\t\t\tpointer-events: none;\n\t\t}\n\t}\n\n\tlabel {\n\t\tcolor: var(--color-text-lighter);\n\t\twidth: 150px;\n\t\tline-height: 50px;\n\t}\n\n\t&__select {\n\t\twidth: 270px;\n\t\tmax-width: 40vw;\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},29452:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,"section[data-v-45da213c]{padding:10px 10px}section[data-v-45da213c] button:disabled{cursor:default}section .property[data-v-45da213c]{display:grid;align-items:center}section .property textarea[data-v-45da213c]{resize:vertical;grid-area:1/1;width:100%}section .property input[data-v-45da213c]{grid-area:1/1;width:100%}section .property .property__actions-container[data-v-45da213c]{grid-area:1/1;justify-self:flex-end;align-self:flex-end;height:30px;display:flex;gap:0 2px;margin-right:5px;margin-bottom:5px}section .property__helper-text-message[data-v-45da213c]{padding:4px 0;display:flex;align-items:center}section .property__helper-text-message__icon[data-v-45da213c]{margin-right:8px;align-self:start;margin-top:4px}section .property__helper-text-message--error[data-v-45da213c]{color:var(--color-error)}section .fade-enter[data-v-45da213c],section .fade-leave-to[data-v-45da213c]{opacity:0}section .fade-enter-active[data-v-45da213c]{transition:opacity 200ms ease-out}section .fade-leave-active[data-v-45da213c]{transition:opacity 300ms ease-out}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue"],names:[],mappings:"AACA,yBACC,iBAAA,CAEA,yCACC,cAAA,CAGD,mCACC,YAAA,CACA,kBAAA,CAEA,4CACC,eAAA,CACA,aAAA,CACA,UAAA,CAGD,yCACC,aAAA,CACA,UAAA,CAGD,gEACC,aAAA,CACA,qBAAA,CACA,mBAAA,CACA,WAAA,CAEA,YAAA,CACA,SAAA,CACA,gBAAA,CACA,iBAAA,CAIF,wDACC,aAAA,CACA,YAAA,CACA,kBAAA,CAEA,8DACC,gBAAA,CACA,gBAAA,CACA,cAAA,CAGD,+DACC,wBAAA,CAIF,6EAEC,SAAA,CAGD,4CACC,iCAAA,CAGD,4CACC,iCAAA",sourcesContent:["\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n\n\t.property {\n\t\tdisplay: grid;\n\t\talign-items: center;\n\n\t\ttextarea {\n\t\t\tresize: vertical;\n\t\t\tgrid-area: 1 / 1;\n\t\t\twidth: 100%;\n\t\t}\n\n\t\tinput {\n\t\t\tgrid-area: 1 / 1;\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t.property__actions-container {\n\t\t\tgrid-area: 1 / 1;\n\t\t\tjustify-self: flex-end;\n\t\t\talign-self: flex-end;\n\t\t\theight: 30px;\n\n\t\t\tdisplay: flex;\n\t\t\tgap: 0 2px;\n\t\t\tmargin-right: 5px;\n\t\t\tmargin-bottom: 5px;\n\t\t}\n\t}\n\n\t.property__helper-text-message {\n\t\tpadding: 4px 0;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\n\t\t&__icon {\n\t\t\tmargin-right: 8px;\n\t\t\talign-self: start;\n\t\t\tmargin-top: 4px;\n\t\t}\n\n\t\t&--error {\n\t\t\tcolor: var(--color-error);\n\t\t}\n\t}\n\n\t.fade-enter,\n\t.fade-leave-to {\n\t\topacity: 0;\n\t}\n\n\t.fade-enter-active {\n\t\ttransition: opacity 200ms ease-out;\n\t}\n\n\t.fade-leave-active {\n\t\ttransition: opacity 300ms ease-out;\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},79872:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,".federation-actions--additional[data-v-bce2fdec] button{padding-bottom:7px;height:30px !important;min-height:30px !important;width:30px !important;min-width:30px !important}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/shared/FederationControl.vue"],names:[],mappings:"AAEC,wDAEC,kBAAA,CACA,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA",sourcesContent:["\n.federation-actions--additional {\n\t&::v-deep button {\n\t\t// TODO remove this hack\n\t\tpadding-bottom: 7px;\n\t\theight: 30px !important;\n\t\tmin-height: 30px !important;\n\t\twidth: 30px !important;\n\t\tmin-width: 30px !important;\n\t}\n}\n"],sourceRoot:""}]),e.Z=a},80918:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,".federation-actions__btn[data-v-4fc9bff1] p{width:150px !important;padding:8px 0 !important;color:var(--color-main-text) !important;font-size:12.8px !important;line-height:1.5em !important}.federation-actions__btn--active[data-v-4fc9bff1]{background-color:var(--color-primary-element-light) !important;box-shadow:inset 2px 0 var(--color-primary-element) !important}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue"],names:[],mappings:"AAEC,4CACC,sBAAA,CACA,wBAAA,CACA,uCAAA,CACA,2BAAA,CACA,4BAAA,CAIF,kDACC,8DAAA,CACA,8DAAA",sourcesContent:["\n.federation-actions__btn {\n\t&::v-deep p {\n\t\twidth: 150px !important;\n\t\tpadding: 8px 0 !important;\n\t\tcolor: var(--color-main-text) !important;\n\t\tfont-size: 12.8px !important;\n\t\tline-height: 1.5em !important;\n\t}\n}\n\n.federation-actions__btn--active {\n\tbackground-color: var(--color-primary-element-light) !important;\n\tbox-shadow: inset 2px 0 var(--color-primary-element) !important;\n}\n"],sourceRoot:""}]),e.Z=a},47922:function(t,e,n){"use strict";var r=n(87537),o=n.n(r),i=n(23645),a=n.n(i)()(o());a.push([t.id,".headerbar-label[data-v-117e8ad0]{font-weight:normal;display:inline-flex;width:100%;margin:12px 0 0 0;gap:8px;align-items:center;font-size:16px;color:var(--color-text-light)}.headerbar-label.profile-property[data-v-117e8ad0]{height:38px}.headerbar-label.setting-property[data-v-117e8ad0]{height:44px}.headerbar-label label[data-v-117e8ad0]{cursor:pointer}.federation-control[data-v-117e8ad0]{margin:0}.button-vue[data-v-117e8ad0]{margin:0 0 0 auto !important}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue"],names:[],mappings:"AACA,kCACC,kBAAA,CACA,mBAAA,CACA,UAAA,CACA,iBAAA,CACA,OAAA,CACA,kBAAA,CACA,cAAA,CACA,6BAAA,CAEA,mDACC,WAAA,CAGD,mDACC,WAAA,CAGD,wCACC,cAAA,CAIF,qCACC,QAAA,CAGD,6BACC,4BAAA",sourcesContent:["\n.headerbar-label {\n\tfont-weight: normal;\n\tdisplay: inline-flex;\n\twidth: 100%;\n\tmargin: 12px 0 0 0;\n\tgap: 8px;\n\talign-items: center;\n\tfont-size: 16px;\n\tcolor: var(--color-text-light);\n\n\t&.profile-property {\n\t\theight: 38px;\n\t}\n\n\t&.setting-property {\n\t\theight: 44px;\n\t}\n\n\tlabel {\n\t\tcursor: pointer;\n\t}\n}\n\n.federation-control {\n\tmargin: 0;\n}\n\n.button-vue {\n\tmargin: 0 0 0 auto !important;\n}\n"],sourceRoot:""}]),e.Z=a},46700:function(t,e,n){var r={"./af":42786,"./af.js":42786,"./ar":30867,"./ar-dz":14130,"./ar-dz.js":14130,"./ar-kw":96135,"./ar-kw.js":96135,"./ar-ly":56440,"./ar-ly.js":56440,"./ar-ma":47702,"./ar-ma.js":47702,"./ar-sa":16040,"./ar-sa.js":16040,"./ar-tn":37100,"./ar-tn.js":37100,"./ar.js":30867,"./az":31083,"./az.js":31083,"./be":9808,"./be.js":9808,"./bg":68338,"./bg.js":68338,"./bm":67438,"./bm.js":67438,"./bn":8905,"./bn-bd":76225,"./bn-bd.js":76225,"./bn.js":8905,"./bo":11560,"./bo.js":11560,"./br":1278,"./br.js":1278,"./bs":80622,"./bs.js":80622,"./ca":2468,"./ca.js":2468,"./cs":5822,"./cs.js":5822,"./cv":50877,"./cv.js":50877,"./cy":47373,"./cy.js":47373,"./da":24780,"./da.js":24780,"./de":59740,"./de-at":60217,"./de-at.js":60217,"./de-ch":60894,"./de-ch.js":60894,"./de.js":59740,"./dv":5300,"./dv.js":5300,"./el":50837,"./el.js":50837,"./en-au":78348,"./en-au.js":78348,"./en-ca":77925,"./en-ca.js":77925,"./en-gb":22243,"./en-gb.js":22243,"./en-ie":46436,"./en-ie.js":46436,"./en-il":47207,"./en-il.js":47207,"./en-in":44175,"./en-in.js":44175,"./en-nz":76319,"./en-nz.js":76319,"./en-sg":31662,"./en-sg.js":31662,"./eo":92915,"./eo.js":92915,"./es":55655,"./es-do":55251,"./es-do.js":55251,"./es-mx":96112,"./es-mx.js":96112,"./es-us":71146,"./es-us.js":71146,"./es.js":55655,"./et":5603,"./et.js":5603,"./eu":77763,"./eu.js":77763,"./fa":76959,"./fa.js":76959,"./fi":11897,"./fi.js":11897,"./fil":42549,"./fil.js":42549,"./fo":94694,"./fo.js":94694,"./fr":94470,"./fr-ca":63049,"./fr-ca.js":63049,"./fr-ch":52330,"./fr-ch.js":52330,"./fr.js":94470,"./fy":5044,"./fy.js":5044,"./ga":29295,"./ga.js":29295,"./gd":2101,"./gd.js":2101,"./gl":38794,"./gl.js":38794,"./gom-deva":27884,"./gom-deva.js":27884,"./gom-latn":23168,"./gom-latn.js":23168,"./gu":95349,"./gu.js":95349,"./he":24206,"./he.js":24206,"./hi":30094,"./hi.js":30094,"./hr":30316,"./hr.js":30316,"./hu":22138,"./hu.js":22138,"./hy-am":11423,"./hy-am.js":11423,"./id":29218,"./id.js":29218,"./is":90135,"./is.js":90135,"./it":90626,"./it-ch":10150,"./it-ch.js":10150,"./it.js":90626,"./ja":39183,"./ja.js":39183,"./jv":24286,"./jv.js":24286,"./ka":12105,"./ka.js":12105,"./kk":47772,"./kk.js":47772,"./km":18758,"./km.js":18758,"./kn":79282,"./kn.js":79282,"./ko":33730,"./ko.js":33730,"./ku":1408,"./ku.js":1408,"./ky":33291,"./ky.js":33291,"./lb":36841,"./lb.js":36841,"./lo":55466,"./lo.js":55466,"./lt":57010,"./lt.js":57010,"./lv":37595,"./lv.js":37595,"./me":39861,"./me.js":39861,"./mi":35493,"./mi.js":35493,"./mk":95966,"./mk.js":95966,"./ml":87341,"./ml.js":87341,"./mn":5115,"./mn.js":5115,"./mr":10370,"./mr.js":10370,"./ms":9847,"./ms-my":41237,"./ms-my.js":41237,"./ms.js":9847,"./mt":72126,"./mt.js":72126,"./my":56165,"./my.js":56165,"./nb":64924,"./nb.js":64924,"./ne":16744,"./ne.js":16744,"./nl":93901,"./nl-be":59814,"./nl-be.js":59814,"./nl.js":93901,"./nn":83877,"./nn.js":83877,"./oc-lnc":92135,"./oc-lnc.js":92135,"./pa-in":15858,"./pa-in.js":15858,"./pl":64495,"./pl.js":64495,"./pt":89520,"./pt-br":57971,"./pt-br.js":57971,"./pt.js":89520,"./ro":96459,"./ro.js":96459,"./ru":21793,"./ru.js":21793,"./sd":40950,"./sd.js":40950,"./se":10490,"./se.js":10490,"./si":90124,"./si.js":90124,"./sk":64249,"./sk.js":64249,"./sl":14985,"./sl.js":14985,"./sq":51104,"./sq.js":51104,"./sr":49131,"./sr-cyrl":79915,"./sr-cyrl.js":79915,"./sr.js":49131,"./ss":85893,"./ss.js":85893,"./sv":98760,"./sv.js":98760,"./sw":91172,"./sw.js":91172,"./ta":27333,"./ta.js":27333,"./te":23110,"./te.js":23110,"./tet":52095,"./tet.js":52095,"./tg":27321,"./tg.js":27321,"./th":9041,"./th.js":9041,"./tk":19005,"./tk.js":19005,"./tl-ph":75768,"./tl-ph.js":75768,"./tlh":89444,"./tlh.js":89444,"./tr":72397,"./tr.js":72397,"./tzl":28254,"./tzl.js":28254,"./tzm":51106,"./tzm-latn":30699,"./tzm-latn.js":30699,"./tzm.js":51106,"./ug-cn":9288,"./ug-cn.js":9288,"./uk":67691,"./uk.js":67691,"./ur":13795,"./ur.js":13795,"./uz":6791,"./uz-latn":60588,"./uz-latn.js":60588,"./uz.js":6791,"./vi":65666,"./vi.js":65666,"./x-pseudo":14378,"./x-pseudo.js":14378,"./yo":75805,"./yo.js":75805,"./zh-cn":83839,"./zh-cn.js":83839,"./zh-hk":55726,"./zh-hk.js":55726,"./zh-mo":99807,"./zh-mo.js":99807,"./zh-tw":74152,"./zh-tw.js":74152};function o(t){var e=i(t);return n(e)}function i(t){if(!n.o(r,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return r[t]}o.keys=function(){return Object.keys(r)},o.resolve=i,t.exports=o,o.id=46700},17652:function(t,e,n){"use strict";var r,o=(r=n(33129))&&r.__esModule?r:{default:r},i="undefined"==typeof window?[String,Array]:[String,Array,Element,NodeList];e.Z={render:function(t){var e=this.crossorigin||void 0;return t("div",{style:this.containerStyle},[t("img",{ref:"img",attrs:{src:this.src,alt:this.alt||"image",style:"max-width: 100%",crossorigin:e},on:this.$listeners,style:this.imgStyle})])},props:{containerStyle:Object,src:{type:String,default:""},alt:String,imgStyle:Object,viewMode:Number,dragMode:String,initialAspectRatio:Number,aspectRatio:Number,data:Object,preview:i,responsive:{type:Boolean,default:!0},restore:{type:Boolean,default:!0},checkCrossOrigin:{type:Boolean,default:!0},checkOrientation:{type:Boolean,default:!0},crossorigin:{type:String},modal:{type:Boolean,default:!0},guides:{type:Boolean,default:!0},center:{type:Boolean,default:!0},highlight:{type:Boolean,default:!0},background:{type:Boolean,default:!0},autoCrop:{type:Boolean,default:!0},autoCropArea:Number,movable:{type:Boolean,default:!0},rotatable:{type:Boolean,default:!0},scalable:{type:Boolean,default:!0},zoomable:{type:Boolean,default:!0},zoomOnTouch:{type:Boolean,default:!0},zoomOnWheel:{type:Boolean,default:!0},wheelZoomRatio:Number,cropBoxMovable:{type:Boolean,default:!0},cropBoxResizable:{type:Boolean,default:!0},toggleDragModeOnDblclick:{type:Boolean,default:!0},minCanvasWidth:Number,minCanvasHeight:Number,minCropBoxWidth:Number,minCropBoxHeight:Number,minContainerWidth:Number,minContainerHeight:Number,ready:Function,cropstart:Function,cropmove:Function,cropend:Function,crop:Function,zoom:Function},mounted:function(){var t=this.$options.props,e=(t.containerStyle,t.src,t.alt,t.imgStyle,function(t,e){var n={};for(var r in t)e.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n}(t,["containerStyle","src","alt","imgStyle"])),n={};for(var r in e)void 0!==this[r]&&(n[r]=this[r]);this.cropper=new o.default(this.$refs.img,n)},methods:{reset:function(){return this.cropper.reset()},clear:function(){return this.cropper.clear()},initCrop:function(){return this.cropper.crop()},replace:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this.cropper.replace(t,e)},enable:function(){return this.cropper.enable()},disable:function(){return this.cropper.disable()},destroy:function(){return this.cropper.destroy()},move:function(t,e){return this.cropper.move(t,e)},moveTo:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;return this.cropper.moveTo(t,e)},relativeZoom:function(t,e){return this.cropper.zoom(t,e)},zoomTo:function(t,e){return this.cropper.zoomTo(t,e)},rotate:function(t){return this.cropper.rotate(t)},rotateTo:function(t){return this.cropper.rotateTo(t)},scaleX:function(t){return this.cropper.scaleX(t)},scaleY:function(t){return this.cropper.scaleY(t)},scale:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;return this.cropper.scale(t,e)},getData:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.cropper.getData(t)},setData:function(t){return this.cropper.setData(t)},getContainerData:function(){return this.cropper.getContainerData()},getImageData:function(){return this.cropper.getImageData()},getCanvasData:function(){return this.cropper.getCanvasData()},setCanvasData:function(t){return this.cropper.setCanvasData(t)},getCropBoxData:function(){return this.cropper.getCropBoxData()},setCropBoxData:function(t){return this.cropper.setCropBoxData(t)},getCroppedCanvas:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.cropper.getCroppedCanvas(t)},setAspectRatio:function(t){return this.cropper.setAspectRatio(t)},setDragMode:function(t){return this.cropper.setDragMode(t)}}}},8738:function(t){"use strict";t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC"},42761:function(t){"use strict";t.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg=="},87210:function(t){"use strict";t.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K"},94659:function(t){"use strict";t.exports="data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg=="}},i={};function a(t){var e=i[t];if(void 0!==e)return e.exports;var n=i[t]={id:t,loaded:!1,exports:{}};return o[t].call(n.exports,n,n.exports,a),n.loaded=!0,n.exports}a.m=o,e=[],a.O=function(t,n,r,o){if(!n){var i=1/0;for(l=0;l<e.length;l++){n=e[l][0],r=e[l][1],o=e[l][2];for(var d=!0,s=0;s<n.length;s++)(!1&o||i>=o)&&Object.keys(a.O).every((function(t){return a.O[t](n[s])}))?n.splice(s--,1):(d=!1,o<i&&(i=o));if(d){e.splice(l--,1);var c=r();void 0!==c&&(t=c)}}return t}o=o||0;for(var l=e.length;l>0&&e[l-1][2]>o;l--)e[l]=e[l-1];e[l]=[n,r,o]},a.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return a.d(e,{a:e}),e},a.d=function(t,e){for(var n in e)a.o(e,n)&&!a.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},a.f={},a.e=function(t){return Promise.all(Object.keys(a.f).reduce((function(e,n){return a.f[n](t,e),e}),[]))},a.u=function(t){return t+"-"+t+".js?v="+{2250:"9c98ca37abd9ee1927b3",7996:"39e55a09e2da8534cf16"}[t]},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n={},r="nextcloud:",a.l=function(t,e,o,i){if(n[t])n[t].push(e);else{var d,s;if(void 0!==o)for(var c=document.getElementsByTagName("script"),l=0;l<c.length;l++){var u=c[l];if(u.getAttribute("src")==t||u.getAttribute("data-webpack")==r+o){d=u;break}}d||(s=!0,(d=document.createElement("script")).charset="utf-8",d.timeout=120,a.nc&&d.setAttribute("nonce",a.nc),d.setAttribute("data-webpack",r+o),d.src=t),n[t]=[e];var p=function(e,r){d.onerror=d.onload=null,clearTimeout(f);var o=n[t];if(delete n[t],d.parentNode&&d.parentNode.removeChild(d),o&&o.forEach((function(t){return t(r)})),e)return e(r)},f=setTimeout(p.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=p.bind(null,d.onerror),d.onload=p.bind(null,d.onload),s&&document.head.appendChild(d)}},a.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t},a.j=4418,function(){var t;a.g.importScripts&&(t=a.g.location+"");var e=a.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");if(n.length)for(var r=n.length-1;r>-1&&!t;)t=n[r--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=t}(),function(){a.b=document.baseURI||self.location.href;var t={4418:0};a.f.j=function(e,n){var r=a.o(t,e)?t[e]:void 0;if(0!==r)if(r)n.push(r[2]);else{var o=new Promise((function(n,o){r=t[e]=[n,o]}));n.push(r[2]=o);var i=a.p+a.u(e),d=new Error;a.l(i,(function(n){if(a.o(t,e)&&(0!==(r=t[e])&&(t[e]=void 0),r)){var o=n&&("load"===n.type?"missing":n.type),i=n&&n.target&&n.target.src;d.message="Loading chunk "+e+" failed.\n("+o+": "+i+")",d.name="ChunkLoadError",d.type=o,d.request=i,r[1](d)}}),"chunk-"+e,e)}},a.O.j=function(e){return 0===t[e]};var e=function(e,n){var r,o,i=n[0],d=n[1],s=n[2],c=0;if(i.some((function(e){return 0!==t[e]}))){for(r in d)a.o(d,r)&&(a.m[r]=d[r]);if(s)var l=s(a)}for(e&&e(n);c<i.length;c++)o=i[c],a.o(t,o)&&t[o]&&t[o][0](),t[o]=0;return a.O(l)},n=self.webpackChunknextcloud=self.webpackChunknextcloud||[];n.forEach(e.bind(null,0)),n.push=e.bind(null,n.push.bind(n))}(),a.nc=void 0;var d=a.O(void 0,[7874],(function(){return a(85874)}));d=a.O(d)}(); +//# sourceMappingURL=settings-vue-settings-personal-info.js.map?v=34845027f4e42f2d59f3
\ No newline at end of file diff --git a/dist/settings-vue-settings-personal-info.js.map b/dist/settings-vue-settings-personal-info.js.map index 33f97abc1a3..c4becc4633b 100644 --- a/dist/settings-vue-settings-personal-info.js.map +++ b/dist/settings-vue-settings-personal-info.js.map @@ -1 +1 @@ -{"version":3,"file":"settings-vue-settings-personal-info.js?v=0656a7e4c62362d28911","mappings":"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K,CAAC,MAAM,GAAK,CAAC,KAAK,KAAK,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAA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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack://nextcloud/./node_modules/cropperjs/dist/cropper.css?9e96","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue?69dc","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue?90b5","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue?02db","webpack:///nextcloud/apps/settings/src/constants/AccountPropertyConstants.js","webpack:///nextcloud/apps/settings/src/service/PersonalInfo/PersonalInfoService.js","webpack:///nextcloud/apps/settings/src/logger.js","webpack:///nextcloud/apps/settings/src/utils/handlers.js","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControl.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControl.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/FederationControl.vue?0c36","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/FederationControl.vue?e342","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/FederationControl.vue?d068","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue?5316","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue?feed","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue?e65f","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/AvatarSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/AvatarSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/AvatarSection.vue?fa68","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/AvatarSection.vue?5014","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/AvatarSection.vue?5282","webpack:///nextcloud/node_modules/vue-material-design-icons/Account.vue?vue&type=script&lang=js&","webpack:///nextcloud/node_modules/vue-material-design-icons/Account.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Account.vue?d3d9","webpack:///nextcloud/node_modules/vue-material-design-icons/Account.vue?vue&type=template&id=36de906a&","webpack:///nextcloud/node_modules/vue-material-design-icons/CircleSlice3.vue?vue&type=script&lang=js&","webpack:///nextcloud/node_modules/vue-material-design-icons/CircleSlice3.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/CircleSlice3.vue?093b","webpack:///nextcloud/node_modules/vue-material-design-icons/CircleSlice3.vue?vue&type=template&id=1fce5ff4&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/DetailsSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/DetailsSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/DetailsSection.vue?61d4","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/DetailsSection.vue?295f","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/DetailsSection.vue?08e9","webpack:///nextcloud/node_modules/vue-material-design-icons/AlertOctagon.vue?vue&type=script&lang=js&","webpack:///nextcloud/node_modules/vue-material-design-icons/AlertOctagon.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/AlertOctagon.vue?61c5","webpack:///nextcloud/node_modules/vue-material-design-icons/AlertOctagon.vue?vue&type=template&id=77c3fb81&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue?8a5f","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue?ac46","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue?d38d","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/DisplayNameSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/DisplayNameSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/DisplayNameSection.vue?bde5","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/DisplayNameSection.vue?3162","webpack:///nextcloud/apps/settings/src/service/PersonalInfo/EmailService.js","webpack:///nextcloud/apps/settings/src/utils/validate.js","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/Email.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/Email.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/EmailSection/Email.vue?42bb","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/EmailSection/Email.vue?bd2c","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/EmailSection/Email.vue?04df","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue?a3f7","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue?1258","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue?3dd6","webpack:///nextcloud/node_modules/libphonenumber-js/metadata.min.json.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/normalizeArguments.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/constants.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/ParseError.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/tools/semver-compare.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/metadata.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/parseDigits.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/mergeArrays.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/isPossible.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/getNumberType.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/getIddPrefix.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/format.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/PhoneNumber.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/isValid.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/RFC3966.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/parse.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/parsePhoneNumber_.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/isValidPhoneNumber.js","webpack:///nextcloud/node_modules/libphonenumber-js/min/exports/isValidPhoneNumber.js","webpack:///nextcloud/node_modules/libphonenumber-js/min/exports/withMetadataArgument.js","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/PhoneSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/PhoneSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/PhoneSection.vue?d5e3","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/PhoneSection.vue?8b50","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocationSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocationSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LocationSection.vue?fdc7","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LocationSection.vue?414f","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/WebsiteSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/WebsiteSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/WebsiteSection.vue?897b","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/WebsiteSection.vue?4b20","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/TwitterSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/TwitterSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/TwitterSection.vue?7e82","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/TwitterSection.vue?8ae2","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/FediverseSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/FediverseSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/FediverseSection.vue?e202","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/FediverseSection.vue?4a92","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue?f98d","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue?6358","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue?94ab","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue?6762","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue?a350","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue?41aa","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue?faf0","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue?9b6c","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue?8511","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue?1e8d","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue?fafb","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue?6463","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?afc1","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?5a28","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?7d4b","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?253f","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileCheckbox.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileCheckbox.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/ProfileCheckbox.vue?7612","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/ProfileCheckbox.vue?9b34","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue?534a","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue?240c","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue?564e","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue?accf","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue?c85f","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue?3f25","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/OrganisationSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/OrganisationSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/OrganisationSection.vue?5684","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/OrganisationSection.vue?adaf","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/RoleSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/RoleSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/RoleSection.vue?a7b4","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/RoleSection.vue?49db","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/HeadlineSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/HeadlineSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/HeadlineSection.vue?9d73","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/HeadlineSection.vue?d565","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/BiographySection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/BiographySection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/BiographySection.vue?a6b2","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/BiographySection.vue?7384","webpack:///nextcloud/apps/settings/src/service/ProfileService.js","webpack:///nextcloud/apps/settings/src/constants/ProfileConstants.js","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue?7103","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue?c222","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue?5e5d","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue?25bd","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue?7729","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue?d7f0","webpack:///nextcloud/apps/settings/src/main-personal-info.js","webpack:///nextcloud/node_modules/cropperjs/dist/cropper.js","webpack:///nextcloud/node_modules/cropperjs/dist/cropper.css","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/AvatarSection.vue?vue&type=style&index=0&id=cd78cbb2&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/DetailsSection.vue?vue&type=style&index=0&id=f432848e&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/Email.vue?vue&type=style&index=0&id=0e3855d2&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue?vue&type=style&index=0&id=b17ef20e&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue?vue&type=style&index=0&id=f4e20d10&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue?vue&type=style&index=0&id=92685b76&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue?vue&type=style&index=0&id=9c4afa34&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue?vue&type=style&index=0&id=84fca724&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?vue&type=style&index=0&id=23992b06&prod&lang=scss&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?vue&type=style&index=1&id=23992b06&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue?vue&type=style&index=0&id=3375e082&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue?vue&type=style&index=0&id=cf64d964&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue?vue&type=style&index=0&id=199109a6&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue?vue&type=style&index=0&id=c7ec7e16&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue?vue&type=style&index=0&id=a47b60dc&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControl.vue?vue&type=style&index=0&id=bce2fdec&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue?vue&type=style&index=0&id=4fc9bff1&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue?vue&type=style&index=0&id=117e8ad0&prod&lang=scss&scoped=true&","webpack:///nextcloud/node_modules/moment/locale|sync|/^\\.\\/.*$","webpack:///nextcloud/node_modules/vue-cropperjs/dist/VueCropper.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 = function(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(function(key) { return __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 = function(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 = function(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(function(fn) { return 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 import API from \"!../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../css-loader/dist/cjs.js!./cropper.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../css-loader/dist/cjs.js!./cropper.css\";\n export default content && content.locals ? content.locals : undefined;\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FederationControlAction.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!./FederationControlAction.vue?vue&type=script&lang=js&\"","<!--\n\t- @copyright 2021 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<NcActionButton :aria-label=\"isSupportedScope ? tooltip : tooltipDisabled\"\n\t\tclass=\"federation-actions__btn\"\n\t\t:class=\"{ 'federation-actions__btn--active': activeScope === name }\"\n\t\t:close-after-click=\"true\"\n\t\t:disabled=\"!isSupportedScope\"\n\t\t:icon=\"iconClass\"\n\t\t:title=\"displayName\"\n\t\t@click.stop.prevent=\"updateScope\">\n\t\t{{ isSupportedScope ? tooltip : tooltipDisabled }}\n\t</NcActionButton>\n</template>\n\n<script>\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\n\nexport default {\n\tname: 'FederationControlAction',\n\n\tcomponents: {\n\t\tNcActionButton,\n\t},\n\n\tprops: {\n\t\tactiveScope: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\thandleScopeChange: {\n\t\t\ttype: Function,\n\t\t\tdefault: () => {},\n\t\t},\n\t\ticonClass: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tisSupportedScope: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\ttooltipDisabled: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\ttooltip: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tmethods: {\n\t\tupdateScope() {\n\t\t\tthis.handleScopeChange(this.name)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.federation-actions__btn {\n\t&::v-deep p {\n\t\twidth: 150px !important;\n\t\tpadding: 8px 0 !important;\n\t\tcolor: var(--color-main-text) !important;\n\t\tfont-size: 12.8px !important;\n\t\tline-height: 1.5em !important;\n\t}\n}\n\n.federation-actions__btn--active {\n\tbackground-color: var(--color-primary-element-light) !important;\n\tbox-shadow: inset 2px 0 var(--color-primary-element) !important;\n}\n</style>\n","\n import API from \"!../../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FederationControlAction.vue?vue&type=style&index=0&id=4fc9bff1&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!./FederationControlAction.vue?vue&type=style&index=0&id=4fc9bff1&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FederationControlAction.vue?vue&type=template&id=4fc9bff1&scoped=true&\"\nimport script from \"./FederationControlAction.vue?vue&type=script&lang=js&\"\nexport * from \"./FederationControlAction.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FederationControlAction.vue?vue&type=style&index=0&id=4fc9bff1&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 \"4fc9bff1\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcActionButton',{staticClass:\"federation-actions__btn\",class:{ 'federation-actions__btn--active': _vm.activeScope === _vm.name },attrs:{\"aria-label\":_vm.isSupportedScope ? _vm.tooltip : _vm.tooltipDisabled,\"close-after-click\":true,\"disabled\":!_vm.isSupportedScope,\"icon\":_vm.iconClass,\"title\":_vm.displayName},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.updateScope.apply(null, arguments)}}},[_vm._v(\"\\n\\t\"+_vm._s(_vm.isSupportedScope ? _vm.tooltip : _vm.tooltipDisabled)+\"\\n\")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2021, Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/*\n * SYNC to be kept in sync with `lib/public/Accounts/IAccountManager.php`\n */\n\nimport { translate as t } from '@nextcloud/l10n'\n\n/** Enum of account properties */\nexport const ACCOUNT_PROPERTY_ENUM = Object.freeze({\n\tADDRESS: 'address',\n\tAVATAR: 'avatar',\n\tBIOGRAPHY: 'biography',\n\tDISPLAYNAME: 'displayname',\n\tEMAIL_COLLECTION: 'additional_mail',\n\tEMAIL: 'email',\n\tHEADLINE: 'headline',\n\tNOTIFICATION_EMAIL: 'notify_email',\n\tFEDIVERSE: 'fediverse',\n\tORGANISATION: 'organisation',\n\tPHONE: 'phone',\n\tPROFILE_ENABLED: 'profile_enabled',\n\tROLE: 'role',\n\tTWITTER: 'twitter',\n\tWEBSITE: 'website',\n})\n\n/** Enum of account properties to human readable account property names */\nexport const ACCOUNT_PROPERTY_READABLE_ENUM = Object.freeze({\n\tADDRESS: t('settings', 'Location'),\n\tAVATAR: t('settings', 'Profile picture'),\n\tBIOGRAPHY: t('settings', 'About'),\n\tDISPLAYNAME: t('settings', 'Full name'),\n\tEMAIL_COLLECTION: t('settings', 'Additional email'),\n\tEMAIL: t('settings', 'Email'),\n\tHEADLINE: t('settings', 'Headline'),\n\tORGANISATION: t('settings', 'Organisation'),\n\tPHONE: t('settings', 'Phone number'),\n\tPROFILE_ENABLED: t('settings', 'Profile'),\n\tROLE: t('settings', 'Role'),\n\tTWITTER: t('settings', 'Twitter'),\n\tFEDIVERSE: t('settings', 'Fediverse (e.g. Mastodon)'),\n\tWEBSITE: t('settings', 'Website'),\n})\n\nexport const NAME_READABLE_ENUM = Object.freeze({\n\t[ACCOUNT_PROPERTY_ENUM.ADDRESS]: ACCOUNT_PROPERTY_READABLE_ENUM.ADDRESS,\n\t[ACCOUNT_PROPERTY_ENUM.AVATAR]: ACCOUNT_PROPERTY_READABLE_ENUM.AVATAR,\n\t[ACCOUNT_PROPERTY_ENUM.BIOGRAPHY]: ACCOUNT_PROPERTY_READABLE_ENUM.BIOGRAPHY,\n\t[ACCOUNT_PROPERTY_ENUM.DISPLAYNAME]: ACCOUNT_PROPERTY_READABLE_ENUM.DISPLAYNAME,\n\t[ACCOUNT_PROPERTY_ENUM.EMAIL_COLLECTION]: ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL_COLLECTION,\n\t[ACCOUNT_PROPERTY_ENUM.EMAIL]: ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL,\n\t[ACCOUNT_PROPERTY_ENUM.HEADLINE]: ACCOUNT_PROPERTY_READABLE_ENUM.HEADLINE,\n\t[ACCOUNT_PROPERTY_ENUM.ORGANISATION]: ACCOUNT_PROPERTY_READABLE_ENUM.ORGANISATION,\n\t[ACCOUNT_PROPERTY_ENUM.PHONE]: ACCOUNT_PROPERTY_READABLE_ENUM.PHONE,\n\t[ACCOUNT_PROPERTY_ENUM.PROFILE_ENABLED]: ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED,\n\t[ACCOUNT_PROPERTY_ENUM.ROLE]: ACCOUNT_PROPERTY_READABLE_ENUM.ROLE,\n\t[ACCOUNT_PROPERTY_ENUM.TWITTER]: ACCOUNT_PROPERTY_READABLE_ENUM.TWITTER,\n\t[ACCOUNT_PROPERTY_ENUM.FEDIVERSE]: ACCOUNT_PROPERTY_READABLE_ENUM.FEDIVERSE,\n\t[ACCOUNT_PROPERTY_ENUM.WEBSITE]: ACCOUNT_PROPERTY_READABLE_ENUM.WEBSITE,\n})\n\n/** Enum of profile specific sections to human readable names */\nexport const PROFILE_READABLE_ENUM = Object.freeze({\n\tPROFILE_VISIBILITY: t('settings', 'Profile visibility'),\n})\n\n/** Enum of readable account properties to account property keys used by the server */\nexport const PROPERTY_READABLE_KEYS_ENUM = Object.freeze({\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.ADDRESS]: ACCOUNT_PROPERTY_ENUM.ADDRESS,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.AVATAR]: ACCOUNT_PROPERTY_ENUM.AVATAR,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.BIOGRAPHY]: ACCOUNT_PROPERTY_ENUM.BIOGRAPHY,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.DISPLAYNAME]: ACCOUNT_PROPERTY_ENUM.DISPLAYNAME,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL_COLLECTION]: ACCOUNT_PROPERTY_ENUM.EMAIL_COLLECTION,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL]: ACCOUNT_PROPERTY_ENUM.EMAIL,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.HEADLINE]: ACCOUNT_PROPERTY_ENUM.HEADLINE,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.ORGANISATION]: ACCOUNT_PROPERTY_ENUM.ORGANISATION,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.PHONE]: ACCOUNT_PROPERTY_ENUM.PHONE,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED]: ACCOUNT_PROPERTY_ENUM.PROFILE_ENABLED,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.ROLE]: ACCOUNT_PROPERTY_ENUM.ROLE,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.TWITTER]: ACCOUNT_PROPERTY_ENUM.TWITTER,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.FEDIVERSE]: ACCOUNT_PROPERTY_ENUM.FEDIVERSE,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.WEBSITE]: ACCOUNT_PROPERTY_ENUM.WEBSITE,\n})\n\n/**\n * Enum of account setting properties\n *\n * Account setting properties unlike account properties do not support scopes*\n */\nexport const ACCOUNT_SETTING_PROPERTY_ENUM = Object.freeze({\n\tLANGUAGE: 'language',\n\tLOCALE: 'locale',\n})\n\n/** Enum of account setting properties to human readable setting properties */\nexport const ACCOUNT_SETTING_PROPERTY_READABLE_ENUM = Object.freeze({\n\tLANGUAGE: t('settings', 'Language'),\n\tLOCALE: t('settings', 'Locale'),\n})\n\n/** Enum of scopes */\nexport const SCOPE_ENUM = Object.freeze({\n\tPRIVATE: 'v2-private',\n\tLOCAL: 'v2-local',\n\tFEDERATED: 'v2-federated',\n\tPUBLISHED: 'v2-published',\n})\n\n/** Enum of readable account properties to supported scopes */\nexport const PROPERTY_READABLE_SUPPORTED_SCOPES_ENUM = Object.freeze({\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.ADDRESS]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.AVATAR]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.BIOGRAPHY]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.DISPLAYNAME]: [SCOPE_ENUM.LOCAL],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL_COLLECTION]: [SCOPE_ENUM.LOCAL],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL]: [SCOPE_ENUM.LOCAL],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.HEADLINE]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.ORGANISATION]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.PHONE]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.ROLE]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.TWITTER]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.FEDIVERSE]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.WEBSITE]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n})\n\n/** List of readable account properties which aren't published to the lookup server */\nexport const UNPUBLISHED_READABLE_PROPERTIES = Object.freeze([\n\tACCOUNT_PROPERTY_READABLE_ENUM.BIOGRAPHY,\n\tACCOUNT_PROPERTY_READABLE_ENUM.HEADLINE,\n\tACCOUNT_PROPERTY_READABLE_ENUM.ORGANISATION,\n\tACCOUNT_PROPERTY_READABLE_ENUM.ROLE,\n])\n\n/** Scope suffix */\nexport const SCOPE_SUFFIX = 'Scope'\n\n/**\n * Enum of scope names to properties\n *\n * Used for federation control*\n */\nexport const SCOPE_PROPERTY_ENUM = Object.freeze({\n\t[SCOPE_ENUM.PRIVATE]: {\n\t\tname: SCOPE_ENUM.PRIVATE,\n\t\tdisplayName: t('settings', 'Private'),\n\t\ttooltip: t('settings', 'Only visible to people matched via phone number integration through Talk on mobile'),\n\t\ttooltipDisabled: t('settings', 'Not available as this property is required for core functionality including file sharing and calendar invitations'),\n\t\ticonClass: 'icon-phone',\n\t},\n\t[SCOPE_ENUM.LOCAL]: {\n\t\tname: SCOPE_ENUM.LOCAL,\n\t\tdisplayName: t('settings', 'Local'),\n\t\ttooltip: t('settings', 'Only visible to people on this instance and guests'),\n\t\t// tooltipDisabled is not required here as this scope is supported by all account properties\n\t\ticonClass: 'icon-password',\n\t},\n\t[SCOPE_ENUM.FEDERATED]: {\n\t\tname: SCOPE_ENUM.FEDERATED,\n\t\tdisplayName: t('settings', 'Federated'),\n\t\ttooltip: t('settings', 'Only synchronize to trusted servers'),\n\t\ttooltipDisabled: t('settings', 'Not available as federation has been disabled for your account, contact your system administrator if you have any questions'),\n\t\ticonClass: 'icon-contacts-dark',\n\t},\n\t[SCOPE_ENUM.PUBLISHED]: {\n\t\tname: SCOPE_ENUM.PUBLISHED,\n\t\tdisplayName: t('settings', 'Published'),\n\t\ttooltip: t('settings', 'Synchronize to trusted servers and the global and public address book'),\n\t\ttooltipDisabled: t('settings', 'Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions'),\n\t\ticonClass: 'icon-link',\n\t},\n})\n\n/** Default additional email scope */\nexport const DEFAULT_ADDITIONAL_EMAIL_SCOPE = SCOPE_ENUM.LOCAL\n\n/** Enum of verification constants, according to IAccountManager */\nexport const VERIFICATION_ENUM = Object.freeze({\n\tNOT_VERIFIED: 0,\n\tVERIFICATION_IN_PROGRESS: 1,\n\tVERIFIED: 2,\n})\n\n/**\n * Email validation regex\n *\n * Sourced from https://github.com/mpyw/FILTER_VALIDATE_EMAIL.js/blob/71e62ca48841d2246a1b531e7e84f5a01f15e615/src/regexp/ascii.ts*\n */\n// eslint-disable-next-line no-control-regex\nexport const VALIDATE_EMAIL_REGEX = /^(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){255,})(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){65,}@)(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22))(?:\\.(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-+[a-z0-9]+)*\\.){1,126}){1,}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-+[a-z0-9]+)*)|(?:\\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\\]))$/i\n","/**\n * @copyright 2021, Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\n\nimport { SCOPE_SUFFIX } from '../../constants/AccountPropertyConstants.js'\n\n/**\n * Save the primary account property value for the user\n *\n * @param {string} accountProperty the account property\n * @param {string|boolean} value the primary value\n * @return {object}\n */\nexport const savePrimaryAccountProperty = async (accountProperty, value) => {\n\t// TODO allow boolean values on backend route handler\n\t// Convert boolean to string for compatibility\n\tif (typeof value === 'boolean') {\n\t\tvalue = value ? '1' : '0'\n\t}\n\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: accountProperty,\n\t\tvalue,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Save the federation scope of the primary account property for the user\n *\n * @param {string} accountProperty the account property\n * @param {string} scope the federation scope\n * @return {object}\n */\nexport const savePrimaryAccountPropertyScope = async (accountProperty, scope) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: `${accountProperty}${SCOPE_SUFFIX}`,\n\t\tvalue: scope,\n\t})\n\n\treturn res.data\n}\n","/**\n * @copyright 2020 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('settings')\n\t.detectUser()\n\t.build()\n","/**\n * @copyright 2023 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { showError } from '@nextcloud/dialogs'\nimport { translate as t } from '@nextcloud/l10n'\n\nimport logger from '../logger.js'\n\n/**\n * @param {import('axios').AxiosError} error the error\n * @param {string?} message the message to display\n */\nexport const handleError = (error, message) => {\n\tlet fullMessage = ''\n\n\tif (message) {\n\t\tfullMessage += message\n\t}\n\n\tif (error.response?.status === 429) {\n\t\tif (fullMessage) {\n\t\t\tfullMessage += '\\n'\n\t\t}\n\t\tfullMessage += t('settings', 'There were too many requests from your network. Retry later or contact your administrator if this is an error.')\n\t}\n\n\tshowError(fullMessage)\n\tlogger.error(fullMessage || t('Error'), error)\n}\n","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<NcActions :class=\"{ 'federation-actions': !additional, 'federation-actions--additional': additional }\"\n\t\t:aria-label=\"ariaLabel\"\n\t\t:default-icon=\"scopeIcon\"\n\t\t:disabled=\"disabled\">\n\t\t<FederationControlAction v-for=\"federationScope in federationScopes\"\n\t\t\t:key=\"federationScope.name\"\n\t\t\t:active-scope=\"scope\"\n\t\t\t:display-name=\"federationScope.displayName\"\n\t\t\t:handle-scope-change=\"changeScope\"\n\t\t\t:icon-class=\"federationScope.iconClass\"\n\t\t\t:is-supported-scope=\"supportedScopes.includes(federationScope.name)\"\n\t\t\t:name=\"federationScope.name\"\n\t\t\t:tooltip-disabled=\"federationScope.tooltipDisabled\"\n\t\t\t:tooltip=\"federationScope.tooltip\"\n\t\t\t:aria-label=\"federationScope.tooltip\" />\n\t</NcActions>\n</template>\n\n<script>\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions.js'\nimport { loadState } from '@nextcloud/initial-state'\n\nimport FederationControlAction from './FederationControlAction.vue'\n\nimport {\n\tACCOUNT_PROPERTY_READABLE_ENUM,\n\tACCOUNT_SETTING_PROPERTY_READABLE_ENUM,\n\tPROFILE_READABLE_ENUM,\n\tPROPERTY_READABLE_KEYS_ENUM,\n\tPROPERTY_READABLE_SUPPORTED_SCOPES_ENUM,\n\tSCOPE_ENUM, SCOPE_PROPERTY_ENUM,\n\tUNPUBLISHED_READABLE_PROPERTIES,\n} from '../../../constants/AccountPropertyConstants.js'\nimport { savePrimaryAccountPropertyScope } from '../../../service/PersonalInfo/PersonalInfoService.js'\nimport { handleError } from '../../../utils/handlers.js'\n\nconst {\n\tfederationEnabled,\n\tlookupServerUploadEnabled,\n} = loadState('settings', 'accountParameters', {})\n\nexport default {\n\tname: 'FederationControl',\n\n\tcomponents: {\n\t\tNcActions,\n\t\tFederationControlAction,\n\t},\n\n\tprops: {\n\t\treadable: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t\tvalidator: (value) => Object.values(ACCOUNT_PROPERTY_READABLE_ENUM).includes(value) || Object.values(ACCOUNT_SETTING_PROPERTY_READABLE_ENUM).includes(value) || value === PROFILE_READABLE_ENUM.PROFILE_VISIBILITY,\n\t\t},\n\t\tadditional: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tadditionalValue: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\thandleAdditionalScopeChange: {\n\t\t\ttype: Function,\n\t\t\tdefault: null,\n\t\t},\n\t\tscope: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\treadableLowerCase: this.readable.toLocaleLowerCase(),\n\t\t\tinitialScope: this.scope,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tariaLabel() {\n\t\t\treturn t('settings', 'Change scope level of {property}, current scope is {scope}', { property: this.readableLowerCase, scope: this.scopeDisplayNameLowerCase })\n\t\t},\n\n\t\tscopeDisplayNameLowerCase() {\n\t\t\treturn SCOPE_PROPERTY_ENUM[this.scope].displayName.toLocaleLowerCase()\n\t\t},\n\n\t\tscopeIcon() {\n\t\t\treturn SCOPE_PROPERTY_ENUM[this.scope].iconClass\n\t\t},\n\n\t\tfederationScopes() {\n\t\t\treturn Object.values(SCOPE_PROPERTY_ENUM)\n\t\t},\n\n\t\tsupportedScopes() {\n\t\t\tconst scopes = PROPERTY_READABLE_SUPPORTED_SCOPES_ENUM[this.readable]\n\n\t\t\tif (UNPUBLISHED_READABLE_PROPERTIES.includes(this.readable)) {\n\t\t\t\treturn scopes\n\t\t\t}\n\n\t\t\tif (federationEnabled) {\n\t\t\t\tscopes.push(SCOPE_ENUM.FEDERATED)\n\t\t\t}\n\n\t\t\tif (lookupServerUploadEnabled) {\n\t\t\t\tscopes.push(SCOPE_ENUM.PUBLISHED)\n\t\t\t}\n\n\t\t\treturn scopes\n\t\t},\n\t},\n\n\tmethods: {\n\t\tasync changeScope(scope) {\n\t\t\tthis.$emit('update:scope', scope)\n\n\t\t\tif (!this.additional) {\n\t\t\t\tawait this.updatePrimaryScope(scope)\n\t\t\t} else {\n\t\t\t\tawait this.updateAdditionalScope(scope)\n\t\t\t}\n\t\t},\n\n\t\tasync updatePrimaryScope(scope) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryAccountPropertyScope(PROPERTY_READABLE_KEYS_ENUM[this.readable], scope)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tscope,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update federation scope of the primary {property}', { property: this.readableLowerCase }),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\tasync updateAdditionalScope(scope) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await this.handleAdditionalScopeChange(this.additionalValue, scope)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tscope,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update federation scope of additional {property}', { property: this.readableLowerCase }),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ scope, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\tthis.initialScope = scope\n\t\t\t} else {\n\t\t\t\tthis.$emit('update:scope', this.initialScope)\n\t\t\t\thandleError(error, errorMessage)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\t.federation-actions--additional {\n\t\t&::v-deep button {\n\t\t\t// TODO remove this hack\n\t\t\tpadding-bottom: 7px;\n\t\t\theight: 30px !important;\n\t\t\tmin-height: 30px !important;\n\t\t\twidth: 30px !important;\n\t\t\tmin-width: 30px !important;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FederationControl.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!./FederationControl.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!./FederationControl.vue?vue&type=style&index=0&id=bce2fdec&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!./FederationControl.vue?vue&type=style&index=0&id=bce2fdec&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FederationControl.vue?vue&type=template&id=bce2fdec&scoped=true&\"\nimport script from \"./FederationControl.vue?vue&type=script&lang=js&\"\nexport * from \"./FederationControl.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FederationControl.vue?vue&type=style&index=0&id=bce2fdec&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 \"bce2fdec\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcActions',{class:{ 'federation-actions': !_vm.additional, 'federation-actions--additional': _vm.additional },attrs:{\"aria-label\":_vm.ariaLabel,\"default-icon\":_vm.scopeIcon,\"disabled\":_vm.disabled}},_vm._l((_vm.federationScopes),function(federationScope){return _c('FederationControlAction',{key:federationScope.name,attrs:{\"active-scope\":_vm.scope,\"display-name\":federationScope.displayName,\"handle-scope-change\":_vm.changeScope,\"icon-class\":federationScope.iconClass,\"is-supported-scope\":_vm.supportedScopes.includes(federationScope.name),\"name\":federationScope.name,\"tooltip-disabled\":federationScope.tooltipDisabled,\"tooltip\":federationScope.tooltip,\"aria-label\":federationScope.tooltip}})}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderBar.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!./HeaderBar.vue?vue&type=script&lang=js&\"","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<component :is=\"isHeading ? `h3` : `div`\" class=\"headerbar-label\" :class=\"{ 'setting-property': isSettingProperty, 'profile-property': isProfileProperty }\">\n\t\t<span v-if=\"isHeading\">\n\t\t\t<!-- Already translated as required by prop validator -->\n\t\t\t{{ readable }}\n\t\t</span>\n\t\t<label v-else :for=\"inputId\">\n\t\t\t<!-- Already translated as required by prop validator -->\n\t\t\t{{ readable }}\n\t\t</label>\n\n\t\t<template v-if=\"scope\">\n\t\t\t<FederationControl class=\"federation-control\"\n\t\t\t\t:readable=\"readable\"\n\t\t\t\t:scope.sync=\"localScope\"\n\t\t\t\t@update:scope=\"onScopeChange\" />\n\t\t</template>\n\n\t\t<template v-if=\"isEditable && isMultiValueSupported\">\n\t\t\t<NcButton type=\"tertiary\"\n\t\t\t\t:disabled=\"!isValidSection\"\n\t\t\t\t:aria-label=\"t('settings', 'Add additional email')\"\n\t\t\t\t@click.stop.prevent=\"onAddAdditional\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Plus :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t{{ t('settings', 'Add') }}\n\t\t\t</NcButton>\n\t\t</template>\n\t</component>\n</template>\n\n<script>\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport Plus from 'vue-material-design-icons/Plus.vue'\n\nimport FederationControl from './FederationControl.vue'\n\nimport {\n\tACCOUNT_PROPERTY_READABLE_ENUM,\n\tPROFILE_READABLE_ENUM,\n} from '../../../constants/AccountPropertyConstants.js'\n\nexport default {\n\tname: 'HeaderBar',\n\n\tcomponents: {\n\t\tFederationControl,\n\t\tNcButton,\n\t\tPlus,\n\t},\n\n\tprops: {\n\t\tscope: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\treadable: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tinputId: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\tisEditable: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tisMultiValueSupported: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tisValidSection: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tisHeading: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tlocalScope: this.scope,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tisProfileProperty() {\n\t\t\treturn this.readable === ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED\n\t\t},\n\n\t\tisSettingProperty() {\n\t\t\treturn !Object.values(ACCOUNT_PROPERTY_READABLE_ENUM).includes(this.readable) && !Object.values(PROFILE_READABLE_ENUM).includes(this.readable)\n\t\t},\n\t},\n\n\tmethods: {\n\t\tonAddAdditional() {\n\t\t\tthis.$emit('add-additional')\n\t\t},\n\n\t\tonScopeChange(scope) {\n\t\t\tthis.$emit('update:scope', scope)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\t.headerbar-label {\n\t\tfont-weight: normal;\n\t\tdisplay: inline-flex;\n\t\twidth: 100%;\n\t\tmargin: 12px 0 0 0;\n\t\tgap: 8px;\n\t\talign-items: center;\n\t\tfont-size: 16px;\n\t\tcolor: var(--color-text-light);\n\n\t\t&.profile-property {\n\t\t\theight: 38px;\n\t\t}\n\n\t\t&.setting-property {\n\t\t\theight: 44px;\n\t\t}\n\n\t\tlabel {\n\t\t\tcursor: pointer;\n\t\t}\n\t}\n\n\t.federation-control {\n\t\tmargin: 0;\n\t}\n\n\t.button-vue {\n\t\tmargin: 0 0 0 auto !important;\n\t}\n</style>\n","\n import API from \"!../../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderBar.vue?vue&type=style&index=0&id=117e8ad0&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!./HeaderBar.vue?vue&type=style&index=0&id=117e8ad0&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./HeaderBar.vue?vue&type=template&id=117e8ad0&scoped=true&\"\nimport script from \"./HeaderBar.vue?vue&type=script&lang=js&\"\nexport * from \"./HeaderBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HeaderBar.vue?vue&type=style&index=0&id=117e8ad0&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 \"117e8ad0\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.isHeading ? `h3` : `div`,{tag:\"component\",staticClass:\"headerbar-label\",class:{ 'setting-property': _vm.isSettingProperty, 'profile-property': _vm.isProfileProperty }},[(_vm.isHeading)?_c('span',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.readable)+\"\\n\\t\")]):_c('label',{attrs:{\"for\":_vm.inputId}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.readable)+\"\\n\\t\")]),_vm._v(\" \"),(_vm.scope)?[_c('FederationControl',{staticClass:\"federation-control\",attrs:{\"readable\":_vm.readable,\"scope\":_vm.localScope},on:{\"update:scope\":[function($event){_vm.localScope=$event},_vm.onScopeChange]}})]:_vm._e(),_vm._v(\" \"),(_vm.isEditable && _vm.isMultiValueSupported)?[_c('NcButton',{attrs:{\"type\":\"tertiary\",\"disabled\":!_vm.isValidSection,\"aria-label\":_vm.t('settings', 'Add additional email')},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.onAddAdditional.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Plus',{attrs:{\"size\":20}})]},proxy:true}],null,false,32235154)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Add'))+\"\\n\\t\\t\")])]:_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section id=\"vue-avatar-section\">\n\t\t<h3 class=\"hidden-visually\">\n\t\t\t{{ t('settings', 'Your profile information') }}\n\t\t</h3>\n\t\t<HeaderBar :input-id=\"avatarChangeSupported ? inputId : null\"\n\t\t\t:readable=\"avatar.readable\"\n\t\t\t:scope.sync=\"avatar.scope\" />\n\n\t\t<div v-if=\"!showCropper\" class=\"avatar__container\">\n\t\t\t<div class=\"avatar__preview\">\n\t\t\t\t<NcAvatar v-if=\"!loading\"\n\t\t\t\t\t:key=\"version\"\n\t\t\t\t\t:user=\"userId\"\n\t\t\t\t\t:aria-label=\"t('settings', 'Your profile picture')\"\n\t\t\t\t\t:disabled-menu=\"true\"\n\t\t\t\t\t:disabled-tooltip=\"true\"\n\t\t\t\t\t:show-user-status=\"false\"\n\t\t\t\t\t:size=\"180\" />\n\t\t\t\t<div v-else class=\"icon-loading\" />\n\t\t\t</div>\n\t\t\t<template v-if=\"avatarChangeSupported\">\n\t\t\t\t<div class=\"avatar__buttons\">\n\t\t\t\t\t<NcButton :aria-label=\"t('settings', 'Upload profile picture')\"\n\t\t\t\t\t\t@click=\"activateLocalFilePicker\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Upload :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcButton>\n\t\t\t\t\t<NcButton :aria-label=\"t('settings', 'Choose profile picture from Files')\"\n\t\t\t\t\t\t@click=\"openFilePicker\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Folder :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcButton>\n\t\t\t\t\t<NcButton v-if=\"!isGenerated\"\n\t\t\t\t\t\t:aria-label=\"t('settings', 'Remove profile picture')\"\n\t\t\t\t\t\t@click=\"removeAvatar\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Delete :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcButton>\n\t\t\t\t</div>\n\t\t\t\t<span>{{ t('settings', 'The file must be a PNG or JPG') }}</span>\n\t\t\t\t<input :id=\"inputId\"\n\t\t\t\t\tref=\"input\"\n\t\t\t\t\ttype=\"file\"\n\t\t\t\t\t:accept=\"validMimeTypes.join(',')\"\n\t\t\t\t\t@change=\"onChange\">\n\t\t\t</template>\n\t\t\t<span v-else>\n\t\t\t\t{{ t('settings', 'Picture provided by original account') }}\n\t\t\t</span>\n\t\t</div>\n\n\t\t<!-- Use v-show to ensure early cropper ref availability -->\n\t\t<div v-show=\"showCropper\" class=\"avatar__container\">\n\t\t\t<VueCropper ref=\"cropper\"\n\t\t\t\tclass=\"avatar__cropper\"\n\t\t\t\tv-bind=\"cropperOptions\" />\n\t\t\t<div class=\"avatar__cropper-buttons\">\n\t\t\t\t<NcButton @click=\"cancel\">\n\t\t\t\t\t{{ t('settings', 'Cancel') }}\n\t\t\t\t</NcButton>\n\t\t\t\t<NcButton type=\"primary\"\n\t\t\t\t\t@click=\"saveAvatar\">\n\t\t\t\t\t{{ t('settings', 'Set as profile picture') }}\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t\t<span>{{ t('settings', 'Please note that it can take up to 24 hours for your profile picture to be updated everywhere.') }}</span>\n\t\t</div>\n\t</section>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { loadState } from '@nextcloud/initial-state'\nimport { generateUrl } from '@nextcloud/router'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getFilePickerBuilder, showError } from '@nextcloud/dialogs'\nimport { emit, subscribe, unsubscribe } from '@nextcloud/event-bus'\n\nimport NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar.js'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport VueCropper from 'vue-cropperjs'\n// eslint-disable-next-line n/no-extraneous-import\nimport 'cropperjs/dist/cropper.css'\n\nimport Upload from 'vue-material-design-icons/Upload.vue'\nimport Folder from 'vue-material-design-icons/Folder.vue'\nimport Delete from 'vue-material-design-icons/Delete.vue'\n\nimport HeaderBar from './shared/HeaderBar.vue'\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { avatar } = loadState('settings', 'personalInfoParameters', {})\nconst { avatarChangeSupported } = loadState('settings', 'accountParameters', {})\n\nconst VALID_MIME_TYPES = ['image/png', 'image/jpeg']\n\nconst picker = getFilePickerBuilder(t('settings', 'Choose your profile picture'))\n\t.setMultiSelect(false)\n\t.setMimeTypeFilter(VALID_MIME_TYPES)\n\t.setType(1)\n\t.allowDirectories(false)\n\t.build()\n\nexport default {\n\tname: 'AvatarSection',\n\n\tcomponents: {\n\t\tDelete,\n\t\tFolder,\n\t\tHeaderBar,\n\t\tNcAvatar,\n\t\tNcButton,\n\t\tUpload,\n\t\tVueCropper,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tavatar: { ...avatar, readable: NAME_READABLE_ENUM[avatar.name] },\n\t\t\tavatarChangeSupported,\n\t\t\tshowCropper: false,\n\t\t\tloading: false,\n\t\t\tuserId: getCurrentUser().uid,\n\t\t\tdisplayName: getCurrentUser().displayName,\n\t\t\tversion: oc_userconfig.avatar.version,\n\t\t\tisGenerated: oc_userconfig.avatar.generated,\n\t\t\tvalidMimeTypes: VALID_MIME_TYPES,\n\t\t\tcropperOptions: {\n\t\t\t\taspectRatio: 1 / 1,\n\t\t\t\tviewMode: 1,\n\t\t\t\tguides: false,\n\t\t\t\tcenter: false,\n\t\t\t\thighlight: false,\n\t\t\t\tautoCropArea: 1,\n\t\t\t\tminContainerWidth: 300,\n\t\t\t\tminContainerHeight: 300,\n\t\t\t},\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tinputId() {\n\t\t\treturn `account-property-${this.avatar.name}`\n\t\t},\n\t},\n\n\tcreated() {\n\t\tsubscribe('settings:display-name:updated', this.handleDisplayNameUpdate)\n\t},\n\n\tbeforeDestroy() {\n\t\tunsubscribe('settings:display-name:updated', this.handleDisplayNameUpdate)\n\t},\n\n\tmethods: {\n\t\tactivateLocalFilePicker() {\n\t\t\t// Set to null so that selecting the same file will trigger the change event\n\t\t\tthis.$refs.input.value = null\n\t\t\tthis.$refs.input.click()\n\t\t},\n\n\t\tonChange(e) {\n\t\t\tthis.loading = true\n\t\t\tconst file = e.target.files[0]\n\t\t\tif (!this.validMimeTypes.includes(file.type)) {\n\t\t\t\tshowError(t('settings', 'Please select a valid png or jpg file'))\n\t\t\t\tthis.cancel()\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst reader = new FileReader()\n\t\t\treader.onload = (e) => {\n\t\t\t\tthis.$refs.cropper.replace(e.target.result)\n\t\t\t\tthis.showCropper = true\n\t\t\t}\n\t\t\treader.readAsDataURL(file)\n\t\t},\n\n\t\tasync openFilePicker() {\n\t\t\tconst path = await picker.pick()\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst { data } = await axios.post(generateUrl('/avatar'), { path })\n\t\t\t\tif (data.status === 'success') {\n\t\t\t\t\tthis.handleAvatarUpdate(false)\n\t\t\t\t} else if (data.data === 'notsquare') {\n\t\t\t\t\tconst tempAvatar = generateUrl('/avatar/tmp') + '?requesttoken=' + encodeURIComponent(OC.requestToken) + '#' + Math.floor(Math.random() * 1000)\n\t\t\t\t\tthis.$refs.cropper.replace(tempAvatar)\n\t\t\t\t\tthis.showCropper = true\n\t\t\t\t} else {\n\t\t\t\t\tshowError(data.data.message)\n\t\t\t\t\tthis.cancel()\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tshowError(t('settings', 'Error setting profile picture'))\n\t\t\t\tthis.cancel()\n\t\t\t}\n\t\t},\n\n\t\tsaveAvatar() {\n\t\t\tthis.showCropper = false\n\t\t\tthis.loading = true\n\n\t\t\tconst canvasData = this.$refs.cropper.getCroppedCanvas()\n\t\t\tconst scaleFactor = canvasData.width > 512 ? 512 / canvasData.width : 1\n\n\t\t\tthis.$refs.cropper.scale(scaleFactor, scaleFactor).getCroppedCanvas().toBlob(async (blob) => {\n\t\t\t\tif (blob === null) {\n\t\t\t\t\tshowError(t('settings', 'Error cropping profile picture'))\n\t\t\t\t\tthis.cancel()\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tconst formData = new FormData()\n\t\t\t\tformData.append('files[]', blob)\n\t\t\t\ttry {\n\t\t\t\t\tawait axios.post(generateUrl('/avatar'), formData)\n\t\t\t\t\tthis.handleAvatarUpdate(false)\n\t\t\t\t} catch (e) {\n\t\t\t\t\tshowError(t('settings', 'Error saving profile picture'))\n\t\t\t\t\tthis.handleAvatarUpdate(this.isGenerated)\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t\tasync removeAvatar() {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tawait axios.delete(generateUrl('/avatar'))\n\t\t\t\tthis.handleAvatarUpdate(true)\n\t\t\t} catch (e) {\n\t\t\t\tshowError(t('settings', 'Error removing profile picture'))\n\t\t\t\tthis.handleAvatarUpdate(this.isGenerated)\n\t\t\t}\n\t\t},\n\n\t\tcancel() {\n\t\t\tthis.showCropper = false\n\t\t\tthis.loading = false\n\t\t},\n\n\t\thandleAvatarUpdate(isGenerated) {\n\t\t\t// Update the avatar version so that avatar update handlers refresh correctly\n\t\t\tthis.version = oc_userconfig.avatar.version = Date.now()\n\t\t\tthis.isGenerated = oc_userconfig.avatar.generated = isGenerated\n\t\t\tthis.loading = false\n\t\t\temit('settings:avatar:updated', oc_userconfig.avatar.version)\n\t\t},\n\n\t\thandleDisplayNameUpdate() {\n\t\t\tthis.version = oc_userconfig.avatar.version\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsection {\n\tgrid-row: 1/3;\n}\n.avatar {\n\t&__container {\n\t\tmargin: 0 auto;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\tgap: 16px 0;\n\t\twidth: min(100%, 300px);\n\n\t\tspan {\n\t\t\tcolor: var(--color-text-lighter);\n\t\t}\n\t}\n\n\t&__preview {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\twidth: 180px;\n\t\theight: 180px;\n\t}\n\n\t&__buttons {\n\t\tdisplay: flex;\n\t\tgap: 0 10px;\n\t}\n\n\t&__cropper {\n\t\twidth: 300px;\n\t\theight: 300px;\n\t\toverflow: hidden;\n\n\t\t&-buttons {\n\t\t\twidth: 100%;\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t}\n\n\t\t&::v-deep .cropper-view-box {\n\t\t\tborder-radius: 50%;\n\t\t}\n\t}\n}\n\ninput[type=\"file\"] {\n\tdisplay: none;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvatarSection.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!./AvatarSection.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!./AvatarSection.vue?vue&type=style&index=0&id=cd78cbb2&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!./AvatarSection.vue?vue&type=style&index=0&id=cd78cbb2&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AvatarSection.vue?vue&type=template&id=cd78cbb2&scoped=true&\"\nimport script from \"./AvatarSection.vue?vue&type=script&lang=js&\"\nexport * from \"./AvatarSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AvatarSection.vue?vue&type=style&index=0&id=cd78cbb2&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 \"cd78cbb2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',{attrs:{\"id\":\"vue-avatar-section\"}},[_c('h3',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'Your profile information'))+\"\\n\\t\")]),_vm._v(\" \"),_c('HeaderBar',{attrs:{\"input-id\":_vm.avatarChangeSupported ? _vm.inputId : null,\"readable\":_vm.avatar.readable,\"scope\":_vm.avatar.scope},on:{\"update:scope\":function($event){return _vm.$set(_vm.avatar, \"scope\", $event)}}}),_vm._v(\" \"),(!_vm.showCropper)?_c('div',{staticClass:\"avatar__container\"},[_c('div',{staticClass:\"avatar__preview\"},[(!_vm.loading)?_c('NcAvatar',{key:_vm.version,attrs:{\"user\":_vm.userId,\"aria-label\":_vm.t('settings', 'Your profile picture'),\"disabled-menu\":true,\"disabled-tooltip\":true,\"show-user-status\":false,\"size\":180}}):_c('div',{staticClass:\"icon-loading\"})],1),_vm._v(\" \"),(_vm.avatarChangeSupported)?[_c('div',{staticClass:\"avatar__buttons\"},[_c('NcButton',{attrs:{\"aria-label\":_vm.t('settings', 'Upload profile picture')},on:{\"click\":_vm.activateLocalFilePicker},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Upload',{attrs:{\"size\":20}})]},proxy:true}],null,false,1329850251)}),_vm._v(\" \"),_c('NcButton',{attrs:{\"aria-label\":_vm.t('settings', 'Choose profile picture from Files')},on:{\"click\":_vm.openFilePicker},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Folder',{attrs:{\"size\":20}})]},proxy:true}],null,false,4270628382)}),_vm._v(\" \"),(!_vm.isGenerated)?_c('NcButton',{attrs:{\"aria-label\":_vm.t('settings', 'Remove profile picture')},on:{\"click\":_vm.removeAvatar},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Delete',{attrs:{\"size\":20}})]},proxy:true}],null,false,2705356561)}):_vm._e()],1),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.t('settings', 'The file must be a PNG or JPG')))]),_vm._v(\" \"),_c('input',{ref:\"input\",attrs:{\"id\":_vm.inputId,\"type\":\"file\",\"accept\":_vm.validMimeTypes.join(',')},on:{\"change\":_vm.onChange}})]:_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Picture provided by original account'))+\"\\n\\t\\t\")])],2):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showCropper),expression:\"showCropper\"}],staticClass:\"avatar__container\"},[_c('VueCropper',_vm._b({ref:\"cropper\",staticClass:\"avatar__cropper\"},'VueCropper',_vm.cropperOptions,false)),_vm._v(\" \"),_c('div',{staticClass:\"avatar__cropper-buttons\"},[_c('NcButton',{on:{\"click\":_vm.cancel}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Cancel'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.saveAvatar}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Set as profile picture'))+\"\\n\\t\\t\\t\")])],1),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Please note that it can take up to 24 hours for your profile picture to be updated everywhere.')))])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Account.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Account.vue?vue&type=script&lang=js&\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon account-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"AccountIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./Account.vue?vue&type=template&id=36de906a&\"\nimport script from \"./Account.vue?vue&type=script&lang=js&\"\nexport * from \"./Account.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon account-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14Z\"}},[(_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!./CircleSlice3.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CircleSlice3.vue?vue&type=script&lang=js&\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon circle-slice3-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M12 5C15.87 5 19 8.13 19 12C19 13.93 18.22 15.68 16.95 16.95L12 12V5Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"CircleSlice3Icon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./CircleSlice3.vue?vue&type=template&id=1fce5ff4&\"\nimport script from \"./CircleSlice3.vue?vue&type=script&lang=js&\"\nexport * from \"./CircleSlice3.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 circle-slice3-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M12 5C15.87 5 19 8.13 19 12C19 13.93 18.22 15.68 16.95 16.95L12 12V5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section>\n\t\t<HeaderBar :is-heading=\"true\" :readable=\"t('settings', 'Details')\" />\n\n\t\t<div class=\"details\">\n\t\t\t<div class=\"details__groups\">\n\t\t\t\t<Account :size=\"20\" />\n\t\t\t\t<div class=\"details__groups-info\">\n\t\t\t\t\t<p>{{ t('settings', 'You are a member of the following groups:') }}</p>\n\t\t\t\t\t<p class=\"details__groups-list\">\n\t\t\t\t\t\t{{ groups.join(', ') }}\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"details__quota\">\n\t\t\t\t<CircleSlice :size=\"20\" />\n\t\t\t\t<div class=\"details__quota-info\">\n\t\t\t\t\t<p class=\"details__quota-text\" v-html=\"quotaText\" />\n\t\t\t\t\t<NcProgressBar size=\"medium\"\n\t\t\t\t\t\t:value=\"usageRelative\"\n\t\t\t\t\t\t:error=\"usageRelative > 80\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</section>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\nimport NcProgressBar from '@nextcloud/vue/dist/Components/NcProgressBar.js'\n\nimport Account from 'vue-material-design-icons/Account.vue'\nimport CircleSlice from 'vue-material-design-icons/CircleSlice3.vue'\n\nimport HeaderBar from './shared/HeaderBar.vue'\n\n/** SYNC to be kept in sync with `lib/public/Files/FileInfo.php` */\nconst SPACE_UNLIMITED = -3\n\nconst { groups, quota, totalSpace, usage, usageRelative } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'DetailsSection',\n\n\tcomponents: {\n\t\tAccount,\n\t\tCircleSlice,\n\t\tHeaderBar,\n\t\tNcProgressBar,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tgroups,\n\t\t\tusageRelative,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tquotaText() {\n\t\t\tif (quota === SPACE_UNLIMITED) {\n\t\t\t\treturn t('settings', 'You are using <strong>{usage}</strong>', { usage })\n\t\t\t}\n\t\t\treturn t(\n\t\t\t\t'settings',\n\t\t\t\t'You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)',\n\t\t\t\t{ usage, totalSpace, usageRelative },\n\t\t\t)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.details {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin: 10px 32px 10px 0;\n\tgap: 16px 0;\n\tcolor: var(--color-text-lighter);\n\n\t&__groups,\n\t&__quota {\n\t\tdisplay: flex;\n\t\tgap: 0 10px;\n\n\t\t&-info {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\twidth: 100%;\n\t\t\tgap: 4px 0;\n\t\t}\n\n\t\t&-list {\n\t\t\tfont-weight: bold;\n\t\t}\n\n\t\t&::v-deep .material-design-icon {\n\t\t\talign-self: flex-start;\n\t\t\tmargin-top: 2px;\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsSection.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!./DetailsSection.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!./DetailsSection.vue?vue&type=style&index=0&id=f432848e&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!./DetailsSection.vue?vue&type=style&index=0&id=f432848e&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./DetailsSection.vue?vue&type=template&id=f432848e&scoped=true&\"\nimport script from \"./DetailsSection.vue?vue&type=script&lang=js&\"\nexport * from \"./DetailsSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DetailsSection.vue?vue&type=style&index=0&id=f432848e&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 \"f432848e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',[_c('HeaderBar',{attrs:{\"is-heading\":true,\"readable\":_vm.t('settings', 'Details')}}),_vm._v(\" \"),_c('div',{staticClass:\"details\"},[_c('div',{staticClass:\"details__groups\"},[_c('Account',{attrs:{\"size\":20}}),_vm._v(\" \"),_c('div',{staticClass:\"details__groups-info\"},[_c('p',[_vm._v(_vm._s(_vm.t('settings', 'You are a member of the following groups:')))]),_vm._v(\" \"),_c('p',{staticClass:\"details__groups-list\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.groups.join(', '))+\"\\n\\t\\t\\t\\t\")])])],1),_vm._v(\" \"),_c('div',{staticClass:\"details__quota\"},[_c('CircleSlice',{attrs:{\"size\":20}}),_vm._v(\" \"),_c('div',{staticClass:\"details__quota-info\"},[_c('p',{staticClass:\"details__quota-text\",domProps:{\"innerHTML\":_vm._s(_vm.quotaText)}}),_vm._v(\" \"),_c('NcProgressBar',{attrs:{\"size\":\"medium\",\"value\":_vm.usageRelative,\"error\":_vm.usageRelative > 80}})],1)],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AlertOctagon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AlertOctagon.vue?vue&type=script&lang=js&\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon alert-octagon-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M13 13H11V7H13M11 15H13V17H11M15.73 3H8.27L3 8.27V15.73L8.27 21H15.73L21 15.73V8.27L15.73 3Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"AlertOctagonIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./AlertOctagon.vue?vue&type=template&id=77c3fb81&\"\nimport script from \"./AlertOctagon.vue?vue&type=script&lang=js&\"\nexport * from \"./AlertOctagon.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 alert-octagon-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M13 13H11V7H13M11 15H13V17H11M15.73 3H8.27L3 8.27V15.73L8.27 21H15.73L21 15.73V8.27L15.73 3Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section>\n\t\t<HeaderBar :scope.sync=\"scope\"\n\t\t\t:readable.sync=\"readable\"\n\t\t\t:input-id=\"inputId\"\n\t\t\t:is-editable=\"isEditable\" />\n\n\t\t<div v-if=\"isEditable\" class=\"property\">\n\t\t\t<textarea v-if=\"multiLine\"\n\t\t\t\t:id=\"inputId\"\n\t\t\t\t:placeholder=\"placeholder\"\n\t\t\t\t:value=\"value\"\n\t\t\t\trows=\"8\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\tautocorrect=\"off\"\n\t\t\t\t@input=\"onPropertyChange\" />\n\t\t\t<input v-else\n\t\t\t\t:id=\"inputId\"\n\t\t\t\tref=\"input\"\n\t\t\t\t:placeholder=\"placeholder\"\n\t\t\t\t:type=\"type\"\n\t\t\t\t:value=\"value\"\n\t\t\t\t:aria-describedby=\"helperText ? `${name}-helper-text` : ''\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocorrect=\"off\"\n\t\t\t\t:autocomplete=\"autocomplete\"\n\t\t\t\t@input=\"onPropertyChange\">\n\n\t\t\t<div class=\"property__actions-container\">\n\t\t\t\t<transition name=\"fade\">\n\t\t\t\t\t<Check v-if=\"showCheckmarkIcon\" :size=\"20\" />\n\t\t\t\t\t<AlertOctagon v-else-if=\"showErrorIcon\" :size=\"20\" />\n\t\t\t\t</transition>\n\t\t\t</div>\n\t\t</div>\n\t\t<span v-else>\n\t\t\t{{ value || t('settings', 'No {property} set', { property: readable.toLocaleLowerCase() }) }}\n\t\t</span>\n\n\t\t<p v-if=\"helperText\"\n\t\t\t:id=\"`${name}-helper-text`\"\n\t\t\tclass=\"property__helper-text-message property__helper-text-message--error\">\n\t\t\t<AlertCircle class=\"property__helper-text-message__icon\" :size=\"18\" />\n\t\t\t{{ helperText }}\n\t\t</p>\n\t</section>\n</template>\n\n<script>\nimport debounce from 'debounce'\n\nimport AlertCircle from 'vue-material-design-icons/AlertCircleOutline.vue'\nimport AlertOctagon from 'vue-material-design-icons/AlertOctagon.vue'\nimport Check from 'vue-material-design-icons/Check.vue'\n\nimport HeaderBar from '../shared/HeaderBar.vue'\n\nimport { savePrimaryAccountProperty } from '../../../service/PersonalInfo/PersonalInfoService.js'\nimport { handleError } from '../../../utils/handlers.js'\n\nexport default {\n\tname: 'AccountPropertySection',\n\n\tcomponents: {\n\t\tAlertCircle,\n\t\tAlertOctagon,\n\t\tCheck,\n\t\tHeaderBar,\n\t},\n\n\tprops: {\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tscope: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\treadable: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'text',\n\t\t},\n\t\tisEditable: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tmultiLine: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tonValidate: {\n\t\t\ttype: Function,\n\t\t\tdefault: null,\n\t\t},\n\t\tonSave: {\n\t\t\ttype: Function,\n\t\t\tdefault: null,\n\t\t},\n\t\tautocomplete: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tinitialValue: this.value,\n\t\t\thelperText: null,\n\t\t\tshowCheckmarkIcon: false,\n\t\t\tshowErrorIcon: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tinputId() {\n\t\t\treturn `account-property-${this.name}`\n\t\t},\n\t},\n\n\tmethods: {\n\t\tonPropertyChange(e) {\n\t\t\tthis.$emit('update:value', e.target.value)\n\t\t\tthis.debouncePropertyChange(e.target.value.trim())\n\t\t},\n\n\t\tdebouncePropertyChange: debounce(async function(value) {\n\t\t\tthis.helperText = null\n\t\t\tif (this.$refs.input && this.$refs.input.validationMessage) {\n\t\t\t\tthis.helperText = this.$refs.input.validationMessage\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (this.onValidate && !this.onValidate(value)) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tawait this.updateProperty(value)\n\t\t}, 500),\n\n\t\tasync updateProperty(value) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryAccountProperty(\n\t\t\t\t\tthis.name,\n\t\t\t\t\tvalue,\n\t\t\t\t)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tvalue,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update {property}', { property: this.readable.toLocaleLowerCase() }),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ value, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\tthis.initialValue = value\n\t\t\t\tif (this.onSave) {\n\t\t\t\t\tthis.onSave(value)\n\t\t\t\t}\n\t\t\t\tthis.showCheckmarkIcon = true\n\t\t\t\tsetTimeout(() => { this.showCheckmarkIcon = false }, 2000)\n\t\t\t} else {\n\t\t\t\tthis.$emit('update:value', this.initialValue)\n\t\t\t\thandleError(error, errorMessage)\n\t\t\t\tthis.showErrorIcon = true\n\t\t\t\tsetTimeout(() => { this.showErrorIcon = false }, 2000)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n\n\t.property {\n\t\tdisplay: grid;\n\t\talign-items: center;\n\n\t\ttextarea {\n\t\t\tresize: vertical;\n\t\t\tgrid-area: 1 / 1;\n\t\t\twidth: 100%;\n\t\t}\n\n\t\tinput {\n\t\t\tgrid-area: 1 / 1;\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t.property__actions-container {\n\t\t\tgrid-area: 1 / 1;\n\t\t\tjustify-self: flex-end;\n\t\t\talign-self: flex-end;\n\t\t\theight: 30px;\n\n\t\t\tdisplay: flex;\n\t\t\tgap: 0 2px;\n\t\t\tmargin-right: 5px;\n\t\t\tmargin-bottom: 5px;\n\t\t}\n\t}\n\n\t.property__helper-text-message {\n\t\tpadding: 4px 0;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\n\t\t&__icon {\n\t\t\tmargin-right: 8px;\n\t\t\talign-self: start;\n\t\t\tmargin-top: 4px;\n\t\t}\n\n\t\t&--error {\n\t\t\tcolor: var(--color-error);\n\t\t}\n\t}\n\n\t.fade-enter,\n\t.fade-leave-to {\n\t\topacity: 0;\n\t}\n\n\t.fade-enter-active {\n\t\ttransition: opacity 200ms ease-out;\n\t}\n\n\t.fade-leave-active {\n\t\ttransition: opacity 300ms ease-out;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountPropertySection.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!./AccountPropertySection.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!./AccountPropertySection.vue?vue&type=style&index=0&id=a47b60dc&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!./AccountPropertySection.vue?vue&type=style&index=0&id=a47b60dc&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AccountPropertySection.vue?vue&type=template&id=a47b60dc&scoped=true&\"\nimport script from \"./AccountPropertySection.vue?vue&type=script&lang=js&\"\nexport * from \"./AccountPropertySection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AccountPropertySection.vue?vue&type=style&index=0&id=a47b60dc&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 \"a47b60dc\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',[_c('HeaderBar',{attrs:{\"scope\":_vm.scope,\"readable\":_vm.readable,\"input-id\":_vm.inputId,\"is-editable\":_vm.isEditable},on:{\"update:scope\":function($event){_vm.scope=$event},\"update:readable\":function($event){_vm.readable=$event}}}),_vm._v(\" \"),(_vm.isEditable)?_c('div',{staticClass:\"property\"},[(_vm.multiLine)?_c('textarea',{attrs:{\"id\":_vm.inputId,\"placeholder\":_vm.placeholder,\"rows\":\"8\",\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"autocorrect\":\"off\"},domProps:{\"value\":_vm.value},on:{\"input\":_vm.onPropertyChange}}):_c('input',{ref:\"input\",attrs:{\"id\":_vm.inputId,\"placeholder\":_vm.placeholder,\"type\":_vm.type,\"aria-describedby\":_vm.helperText ? `${_vm.name}-helper-text` : '',\"autocapitalize\":\"none\",\"autocorrect\":\"off\",\"autocomplete\":_vm.autocomplete},domProps:{\"value\":_vm.value},on:{\"input\":_vm.onPropertyChange}}),_vm._v(\" \"),_c('div',{staticClass:\"property__actions-container\"},[_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.showCheckmarkIcon)?_c('Check',{attrs:{\"size\":20}}):(_vm.showErrorIcon)?_c('AlertOctagon',{attrs:{\"size\":20}}):_vm._e()],1)],1)]):_c('span',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.value || _vm.t('settings', 'No {property} set', { property: _vm.readable.toLocaleLowerCase() }))+\"\\n\\t\")]),_vm._v(\" \"),(_vm.helperText)?_c('p',{staticClass:\"property__helper-text-message property__helper-text-message--error\",attrs:{\"id\":`${_vm.name}-helper-text`}},[_c('AlertCircle',{staticClass:\"property__helper-text-message__icon\",attrs:{\"size\":18}}),_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.helperText)+\"\\n\\t\")],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"displayName\"\n\t\t:placeholder=\"t('settings', 'Your full name')\"\n\t\tautocomplete=\"username\"\n\t\t:is-editable=\"displayNameChangeSupported\"\n\t\t:on-validate=\"onValidate\"\n\t\t:on-save=\"onSave\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\nimport { emit } from '@nextcloud/event-bus'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { displayName } = loadState('settings', 'personalInfoParameters', {})\nconst { displayNameChangeSupported } = loadState('settings', 'accountParameters', {})\n\nexport default {\n\tname: 'DisplayNameSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tdisplayName: { ...displayName, readable: NAME_READABLE_ENUM[displayName.name] },\n\t\t\tdisplayNameChangeSupported,\n\t\t}\n\t},\n\n\tmethods: {\n\t\tonValidate(value) {\n\t\t\treturn value !== ''\n\t\t},\n\n\t\tonSave(value) {\n\t\t\tif (oc_userconfig.avatar.generated) {\n\t\t\t\t// Update the avatar version so that avatar update handlers refresh correctly\n\t\t\t\toc_userconfig.avatar.version = Date.now()\n\t\t\t}\n\t\t\temit('settings:display-name:updated', value)\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DisplayNameSection.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!./DisplayNameSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DisplayNameSection.vue?vue&type=template&id=5a039493&\"\nimport script from \"./DisplayNameSection.vue?vue&type=script&lang=js&\"\nexport * from \"./DisplayNameSection.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('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your full name'),\"autocomplete\":\"username\",\"is-editable\":_vm.displayNameChangeSupported,\"on-validate\":_vm.onValidate,\"on-save\":_vm.onSave}},'AccountPropertySection',_vm.displayName,false,true))\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2021, Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\n\nimport { ACCOUNT_PROPERTY_ENUM, SCOPE_SUFFIX } from '../../constants/AccountPropertyConstants.js'\n\n/**\n * Save the primary email of the user\n *\n * @param {string} email the primary email\n * @return {object}\n */\nexport const savePrimaryEmail = async (email) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: ACCOUNT_PROPERTY_ENUM.EMAIL,\n\t\tvalue: email,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Save an additional email of the user\n *\n * Will be appended to the user's additional emails*\n *\n * @param {string} email the additional email\n * @return {object}\n */\nexport const saveAdditionalEmail = async (email) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: ACCOUNT_PROPERTY_ENUM.EMAIL_COLLECTION,\n\t\tvalue: email,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Save the notification email of the user\n *\n * @param {string} email the notification email\n * @return {object}\n */\nexport const saveNotificationEmail = async (email) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: ACCOUNT_PROPERTY_ENUM.NOTIFICATION_EMAIL,\n\t\tvalue: email,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Remove an additional email of the user\n *\n * @param {string} email the additional email\n * @return {object}\n */\nexport const removeAdditionalEmail = async (email) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}/{collection}', { userId, collection: ACCOUNT_PROPERTY_ENUM.EMAIL_COLLECTION })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: email,\n\t\tvalue: '',\n\t})\n\n\treturn res.data\n}\n\n/**\n * Update an additional email of the user\n *\n * @param {string} prevEmail the additional email to be updated\n * @param {string} newEmail the new additional email\n * @return {object}\n */\nexport const updateAdditionalEmail = async (prevEmail, newEmail) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}/{collection}', { userId, collection: ACCOUNT_PROPERTY_ENUM.EMAIL_COLLECTION })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: prevEmail,\n\t\tvalue: newEmail,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Save the federation scope for the primary email of the user\n *\n * @param {string} scope the federation scope\n * @return {object}\n */\nexport const savePrimaryEmailScope = async (scope) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: `${ACCOUNT_PROPERTY_ENUM.EMAIL}${SCOPE_SUFFIX}`,\n\t\tvalue: scope,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Save the federation scope for the additional email of the user\n *\n * @param {string} email the additional email\n * @param {string} scope the federation scope\n * @return {object}\n */\nexport const saveAdditionalEmailScope = async (email, scope) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}/{collectionScope}', { userId, collectionScope: `${ACCOUNT_PROPERTY_ENUM.EMAIL_COLLECTION}${SCOPE_SUFFIX}` })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: email,\n\t\tvalue: scope,\n\t})\n\n\treturn res.data\n}\n","/**\n * @copyright 2021, Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/*\n * Frontend validators, less strict than backend validators\n *\n * TODO add nice validation errors for Profile page settings modal\n */\n\nimport { VALIDATE_EMAIL_REGEX } from '../constants/AccountPropertyConstants.js'\n\n/**\n * Validate the email input\n *\n * Compliant with PHP core FILTER_VALIDATE_EMAIL validator*\n *\n * Reference implementation https://github.com/mpyw/FILTER_VALIDATE_EMAIL.js/blob/71e62ca48841d2246a1b531e7e84f5a01f15e615/src/index.ts*\n *\n * @param {string} input the input\n * @return {boolean}\n */\nexport function validateEmail(input) {\n\treturn typeof input === 'string'\n\t\t&& VALIDATE_EMAIL_REGEX.test(input)\n\t\t&& input.slice(-1) !== '\\n'\n\t\t&& input.length <= 320\n\t\t&& encodeURIComponent(input).replace(/%../g, 'x').length <= 320\n}\n\n/**\n * Validate the URL input\n *\n * @param {string} input the input\n * @return {boolean}\n */\nexport function validateUrl(input) {\n\ttry {\n\t\t// eslint-disable-next-line no-new\n\t\tnew URL(input)\n\t\treturn true\n\t} catch (e) {\n\t\treturn false\n\t}\n}\n\n/**\n * Validate the language input\n *\n * @param {object} input the input\n * @return {boolean}\n */\nexport function validateLanguage(input) {\n\treturn input.code !== ''\n\t\t&& input.name !== ''\n\t\t&& input.name !== undefined\n}\n\n/**\n * Validate the locale input\n *\n * @param {object} input the input\n * @return {boolean}\n */\nexport function validateLocale(input) {\n\treturn input.code !== ''\n\t\t&& input.name !== ''\n\t\t&& input.name !== undefined\n}\n\n/**\n * Validate boolean input\n *\n * @param {boolean} input the input\n * @return {boolean}\n */\nexport function validateBoolean(input) {\n\treturn typeof input === 'boolean'\n}\n","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<div>\n\t\t<div class=\"email\">\n\t\t\t<input :id=\"inputId\"\n\t\t\t\tref=\"email\"\n\t\t\t\ttype=\"email\"\n\t\t\t\tautocomplete=\"email\"\n\t\t\t\t:placeholder=\"inputPlaceholder\"\n\t\t\t\t:value=\"email\"\n\t\t\t\t:aria-describedby=\"helperText ? `${inputId}-helper-text` : ''\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocorrect=\"off\"\n\t\t\t\t@input=\"onEmailChange\">\n\n\t\t\t<div class=\"email__actions-container\">\n\t\t\t\t<transition name=\"fade\">\n\t\t\t\t\t<Check v-if=\"showCheckmarkIcon\" :size=\"20\" />\n\t\t\t\t\t<AlertOctagon v-else-if=\"showErrorIcon\" :size=\"20\" />\n\t\t\t\t</transition>\n\n\t\t\t\t<template v-if=\"!primary\">\n\t\t\t\t\t<FederationControl :readable=\"propertyReadable\"\n\t\t\t\t\t\t:additional=\"true\"\n\t\t\t\t\t\t:additional-value=\"email\"\n\t\t\t\t\t\t:disabled=\"federationDisabled\"\n\t\t\t\t\t\t:handle-additional-scope-change=\"saveAdditionalEmailScope\"\n\t\t\t\t\t\t:scope.sync=\"localScope\"\n\t\t\t\t\t\t@update:scope=\"onScopeChange\" />\n\t\t\t\t</template>\n\n\t\t\t\t<NcActions class=\"email__actions\"\n\t\t\t\t\t:aria-label=\"t('settings', 'Email options')\"\n\t\t\t\t\t:force-menu=\"true\">\n\t\t\t\t\t<NcActionButton :aria-label=\"deleteEmailLabel\"\n\t\t\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t\t\t:disabled=\"deleteDisabled\"\n\t\t\t\t\t\ticon=\"icon-delete\"\n\t\t\t\t\t\t@click.stop.prevent=\"deleteEmail\">\n\t\t\t\t\t\t{{ deleteEmailLabel }}\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t<NcActionButton v-if=\"!primary || !isNotificationEmail\"\n\t\t\t\t\t\t:aria-label=\"setNotificationMailLabel\"\n\t\t\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t\t\t:disabled=\"setNotificationMailDisabled\"\n\t\t\t\t\t\ticon=\"icon-favorite\"\n\t\t\t\t\t\t@click.stop.prevent=\"setNotificationMail\">\n\t\t\t\t\t\t{{ setNotificationMailLabel }}\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t</NcActions>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<p v-if=\"helperText\"\n\t\t\t:id=\"`${inputId}-helper-text`\"\n\t\t\tclass=\"email__helper-text-message email__helper-text-message--error\">\n\t\t\t<AlertCircle class=\"email__helper-text-message__icon\" :size=\"18\" />\n\t\t\t{{ helperText }}\n\t\t</p>\n\n\t\t<em v-if=\"isNotificationEmail\">\n\t\t\t{{ t('settings', 'Primary email for password reset and notifications') }}\n\t\t</em>\n\t</div>\n</template>\n\n<script>\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions.js'\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\nimport AlertCircle from 'vue-material-design-icons/AlertCircleOutline.vue'\nimport AlertOctagon from 'vue-material-design-icons/AlertOctagon.vue'\nimport Check from 'vue-material-design-icons/Check.vue'\nimport debounce from 'debounce'\n\nimport FederationControl from '../shared/FederationControl.vue'\nimport { handleError } from '../../../utils/handlers.js'\n\nimport { ACCOUNT_PROPERTY_READABLE_ENUM, VERIFICATION_ENUM } from '../../../constants/AccountPropertyConstants.js'\nimport {\n\tremoveAdditionalEmail,\n\tsaveAdditionalEmail,\n\tsaveAdditionalEmailScope,\n\tsaveNotificationEmail,\n\tsavePrimaryEmail,\n\tupdateAdditionalEmail,\n} from '../../../service/PersonalInfo/EmailService.js'\nimport { validateEmail } from '../../../utils/validate.js'\n\nexport default {\n\tname: 'Email',\n\n\tcomponents: {\n\t\tNcActions,\n\t\tNcActionButton,\n\t\tAlertCircle,\n\t\tAlertOctagon,\n\t\tCheck,\n\t\tFederationControl,\n\t},\n\n\tprops: {\n\t\temail: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tindex: {\n\t\t\ttype: Number,\n\t\t\tdefault: 0,\n\t\t},\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tscope: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tactiveNotificationEmail: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tlocalVerificationState: {\n\t\t\ttype: Number,\n\t\t\tdefault: VERIFICATION_ENUM.NOT_VERIFIED,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tpropertyReadable: ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL,\n\t\t\tinitialEmail: this.email,\n\t\t\tlocalScope: this.scope,\n\t\t\tsaveAdditionalEmailScope,\n\t\t\thelperText: null,\n\t\t\tshowCheckmarkIcon: false,\n\t\t\tshowErrorIcon: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tdeleteDisabled() {\n\t\t\tif (this.primary) {\n\t\t\t\t// Disable for empty primary email as there is nothing to delete\n\t\t\t\t// OR when initialEmail (reflects server state) and email (current input) are not the same\n\t\t\t\treturn this.email === '' || this.initialEmail !== this.email\n\t\t\t} else if (this.initialEmail !== '') {\n\t\t\t\treturn this.initialEmail !== this.email\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\n\t\tdeleteEmailLabel() {\n\t\t\tif (this.primary) {\n\t\t\t\treturn t('settings', 'Remove primary email')\n\t\t\t}\n\t\t\treturn t('settings', 'Delete email')\n\t\t},\n\n\t setNotificationMailDisabled() {\n\t\t\treturn !this.primary && this.localVerificationState !== VERIFICATION_ENUM.VERIFIED\n\t\t},\n\n\t setNotificationMailLabel() {\n\t\t\tif (this.isNotificationEmail) {\n\t\t\t\treturn t('settings', 'Unset as primary email')\n\t\t\t} else if (!this.primary && this.localVerificationState !== VERIFICATION_ENUM.VERIFIED) {\n\t\t\t\treturn t('settings', 'This address is not confirmed')\n\t\t\t}\n\t\t\treturn t('settings', 'Set as primary email')\n\t\t},\n\n\t\tfederationDisabled() {\n\t\t\treturn !this.initialEmail\n\t\t},\n\n\t\tinputId() {\n\t\t\tif (this.primary) {\n\t\t\t\treturn 'email'\n\t\t\t}\n\t\t\treturn `email-${this.index}`\n\t\t},\n\n\t\tinputPlaceholder() {\n\t\t\tif (this.primary) {\n\t\t\t\treturn t('settings', 'Your email address')\n\t\t\t}\n\t\t\treturn t('settings', 'Additional email address {index}', { index: this.index + 1 })\n\t\t},\n\n\t\tisNotificationEmail() {\n\t\t\treturn (this.email && this.email === this.activeNotificationEmail)\n\t\t\t\t|| (this.primary && this.activeNotificationEmail === '')\n\t\t},\n\t},\n\n\tmounted() {\n\t\tif (!this.primary && this.initialEmail === '') {\n\t\t\t// $nextTick is needed here, otherwise it may not always work https://stackoverflow.com/questions/51922767/autofocus-input-on-mount-vue-ios/63485725#63485725\n\t\t\tthis.$nextTick(() => this.$refs.email?.focus())\n\t\t}\n\t},\n\n\tmethods: {\n\t\tonEmailChange(e) {\n\t\t\tthis.$emit('update:email', e.target.value)\n\t\t\tthis.debounceEmailChange(e.target.value.trim())\n\t\t},\n\n\t\tdebounceEmailChange: debounce(async function(email) {\n\t\t\tthis.helperText = null\n\t\t\tif (this.$refs.email?.validationMessage) {\n\t\t\t\tthis.helperText = this.$refs.email.validationMessage\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (validateEmail(email) || email === '') {\n\t\t\t\tif (this.primary) {\n\t\t\t\t\tawait this.updatePrimaryEmail(email)\n\t\t\t\t} else {\n\t\t\t\t\tif (email) {\n\t\t\t\t\t\tif (this.initialEmail === '') {\n\t\t\t\t\t\t\tawait this.addAdditionalEmail(email)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tawait this.updateAdditionalEmail(email)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}, 500),\n\n\t\tasync deleteEmail() {\n\t\t\tif (this.primary) {\n\t\t\t\tthis.$emit('update:email', '')\n\t\t\t\tawait this.updatePrimaryEmail('')\n\t\t\t} else {\n\t\t\t\tawait this.deleteAdditionalEmail()\n\t\t\t}\n\t\t},\n\n\t\tasync updatePrimaryEmail(email) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryEmail(email)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\temail,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tif (email === '') {\n\t\t\t\t\tthis.handleResponse({\n\t\t\t\t\t\terrorMessage: t('settings', 'Unable to delete primary email address'),\n\t\t\t\t\t\terror: e,\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\tthis.handleResponse({\n\t\t\t\t\t\terrorMessage: t('settings', 'Unable to update primary email address'),\n\t\t\t\t\t\terror: e,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tasync addAdditionalEmail(email) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await saveAdditionalEmail(email)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\temail,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to add additional email address'),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\tasync setNotificationMail() {\n\t\t try {\n\t\t\t const newNotificationMailValue = (this.primary || this.isNotificationEmail) ? '' : this.initialEmail\n\t\t\t const responseData = await saveNotificationEmail(newNotificationMailValue)\n\t\t\t this.handleResponse({\n\t\t\t\t notificationEmail: newNotificationMailValue,\n\t\t\t\t status: responseData.ocs?.meta?.status,\n\t\t\t })\n\t\t } catch (e) {\n\t\t\t this.handleResponse({\n\t\t\t\t errorMessage: 'Unable to choose this email for notifications',\n\t\t\t\t error: e,\n\t\t\t })\n\t\t }\n\t\t},\n\n\t\tasync updateAdditionalEmail(email) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await updateAdditionalEmail(this.initialEmail, email)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\temail,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update additional email address'),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\tasync deleteAdditionalEmail() {\n\t\t\ttry {\n\t\t\t\tconst responseData = await removeAdditionalEmail(this.initialEmail)\n\t\t\t\tthis.handleDeleteAdditionalEmail(responseData.ocs?.meta?.status)\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to delete additional email address'),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\thandleDeleteAdditionalEmail(status) {\n\t\t\tif (status === 'ok') {\n\t\t\t\tthis.$emit('delete-additional-email')\n\t\t\t} else {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to delete additional email address'),\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ email, notificationEmail, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\t// Ensure that local state reflects server state\n\t\t\t\tif (email) {\n\t\t\t\t\tthis.initialEmail = email\n\t\t\t\t} else if (notificationEmail !== undefined) {\n\t\t\t\t\tthis.$emit('update:notification-email', notificationEmail)\n\t\t\t\t}\n\t\t\t\tthis.showCheckmarkIcon = true\n\t\t\t\tsetTimeout(() => { this.showCheckmarkIcon = false }, 2000)\n\t\t\t} else {\n\t\t\t\thandleError(error, errorMessage)\n\t\t\t\tthis.showErrorIcon = true\n\t\t\t\tsetTimeout(() => { this.showErrorIcon = false }, 2000)\n\t\t\t}\n\t\t},\n\n\t\tonScopeChange(scope) {\n\t\t\tthis.$emit('update:scope', scope)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.email {\n\tdisplay: grid;\n\talign-items: center;\n\n\tinput {\n\t\tgrid-area: 1 / 1;\n\t\twidth: 100%;\n\t}\n\n\t.email__actions-container {\n\t\tgrid-area: 1 / 1;\n\t\tjustify-self: flex-end;\n\t\theight: 30px;\n\n\t\tdisplay: flex;\n\t\tgap: 0 2px;\n\t\tmargin-right: 5px;\n\n\t\t.email__actions {\n\t\t\t&:hover,\n\t\t\t&:focus,\n\t\t\t&:active {\n\t\t\t\topacity: 0.8 !important;\n\t\t\t}\n\n\t\t\t&::v-deep button {\n\t\t\t\theight: 30px !important;\n\t\t\t\tmin-height: 30px !important;\n\t\t\t\twidth: 30px !important;\n\t\t\t\tmin-width: 30px !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__helper-text-message {\n\t\tpadding: 4px 0;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\n\t\t&__icon {\n\t\t\tmargin-right: 8px;\n\t\t\talign-self: start;\n\t\t\tmargin-top: 4px;\n\t\t}\n\n\t\t&--error {\n\t\t\tcolor: var(--color-error);\n\t\t}\n\t}\n}\n\n.fade-enter,\n.fade-leave-to {\n\topacity: 0;\n}\n\n.fade-enter-active {\n\ttransition: opacity 200ms ease-out;\n}\n\n.fade-leave-active {\n\ttransition: opacity 300ms ease-out;\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Email.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!./Email.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!./Email.vue?vue&type=style&index=0&id=0e3855d2&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!./Email.vue?vue&type=style&index=0&id=0e3855d2&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Email.vue?vue&type=template&id=0e3855d2&scoped=true&\"\nimport script from \"./Email.vue?vue&type=script&lang=js&\"\nexport * from \"./Email.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Email.vue?vue&type=style&index=0&id=0e3855d2&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 \"0e3855d2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"email\"},[_c('input',{ref:\"email\",attrs:{\"id\":_vm.inputId,\"type\":\"email\",\"autocomplete\":\"email\",\"placeholder\":_vm.inputPlaceholder,\"aria-describedby\":_vm.helperText ? `${_vm.inputId}-helper-text` : '',\"autocapitalize\":\"none\",\"autocorrect\":\"off\"},domProps:{\"value\":_vm.email},on:{\"input\":_vm.onEmailChange}}),_vm._v(\" \"),_c('div',{staticClass:\"email__actions-container\"},[_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.showCheckmarkIcon)?_c('Check',{attrs:{\"size\":20}}):(_vm.showErrorIcon)?_c('AlertOctagon',{attrs:{\"size\":20}}):_vm._e()],1),_vm._v(\" \"),(!_vm.primary)?[_c('FederationControl',{attrs:{\"readable\":_vm.propertyReadable,\"additional\":true,\"additional-value\":_vm.email,\"disabled\":_vm.federationDisabled,\"handle-additional-scope-change\":_vm.saveAdditionalEmailScope,\"scope\":_vm.localScope},on:{\"update:scope\":[function($event){_vm.localScope=$event},_vm.onScopeChange]}})]:_vm._e(),_vm._v(\" \"),_c('NcActions',{staticClass:\"email__actions\",attrs:{\"aria-label\":_vm.t('settings', 'Email options'),\"force-menu\":true}},[_c('NcActionButton',{attrs:{\"aria-label\":_vm.deleteEmailLabel,\"close-after-click\":true,\"disabled\":_vm.deleteDisabled,\"icon\":\"icon-delete\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.deleteEmail.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.deleteEmailLabel)+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(!_vm.primary || !_vm.isNotificationEmail)?_c('NcActionButton',{attrs:{\"aria-label\":_vm.setNotificationMailLabel,\"close-after-click\":true,\"disabled\":_vm.setNotificationMailDisabled,\"icon\":\"icon-favorite\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.setNotificationMail.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.setNotificationMailLabel)+\"\\n\\t\\t\\t\\t\")]):_vm._e()],1)],2)]),_vm._v(\" \"),(_vm.helperText)?_c('p',{staticClass:\"email__helper-text-message email__helper-text-message--error\",attrs:{\"id\":`${_vm.inputId}-helper-text`}},[_c('AlertCircle',{staticClass:\"email__helper-text-message__icon\",attrs:{\"size\":18}}),_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.helperText)+\"\\n\\t\")],1):_vm._e(),_vm._v(\" \"),(_vm.isNotificationEmail)?_c('em',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'Primary email for password reset and notifications'))+\"\\n\\t\")]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section>\n\t\t<HeaderBar :input-id=\"inputId\"\n\t\t\t:readable=\"primaryEmail.readable\"\n\t\t\t:handle-scope-change=\"savePrimaryEmailScope\"\n\t\t\t:is-editable=\"true\"\n\t\t\t:is-multi-value-supported=\"true\"\n\t\t\t:is-valid-section=\"isValidSection\"\n\t\t\t:scope.sync=\"primaryEmail.scope\"\n\t\t\t@add-additional=\"onAddAdditionalEmail\" />\n\n\t\t<template v-if=\"displayNameChangeSupported\">\n\t\t\t<Email :primary=\"true\"\n\t\t\t\t:scope.sync=\"primaryEmail.scope\"\n\t\t\t\t:email.sync=\"primaryEmail.value\"\n\t\t\t\t:active-notification-email.sync=\"notificationEmail\"\n\t\t\t\t@update:email=\"onUpdateEmail\"\n\t\t\t\t@update:notification-email=\"onUpdateNotificationEmail\" />\n\t\t</template>\n\n\t\t<span v-else>\n\t\t\t{{ primaryEmail.value || t('settings', 'No email address set') }}\n\t\t</span>\n\n\t\t<template v-if=\"additionalEmails.length\">\n\t\t\t<em class=\"additional-emails-label\">{{ t('settings', 'Additional emails') }}</em>\n\t\t\t<!-- TODO use unique key for additional email when uniqueness can be guaranteed, see https://github.com/nextcloud/server/issues/26866 -->\n\t\t\t<Email v-for=\"(additionalEmail, index) in additionalEmails\"\n\t\t\t\t:key=\"additionalEmail.key\"\n\t\t\t\t:index=\"index\"\n\t\t\t\t:scope.sync=\"additionalEmail.scope\"\n\t\t\t\t:email.sync=\"additionalEmail.value\"\n\t\t\t\t:local-verification-state=\"parseInt(additionalEmail.locallyVerified, 10)\"\n\t\t\t\t:active-notification-email.sync=\"notificationEmail\"\n\t\t\t\t@update:email=\"onUpdateEmail\"\n\t\t\t\t@update:notification-email=\"onUpdateNotificationEmail\"\n\t\t\t\t@delete-additional-email=\"onDeleteAdditionalEmail(index)\" />\n\t\t</template>\n\t</section>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport Email from './Email.vue'\nimport HeaderBar from '../shared/HeaderBar.vue'\n\nimport { ACCOUNT_PROPERTY_READABLE_ENUM, DEFAULT_ADDITIONAL_EMAIL_SCOPE, NAME_READABLE_ENUM } from '../../../constants/AccountPropertyConstants.js'\nimport { savePrimaryEmail, savePrimaryEmailScope, removeAdditionalEmail } from '../../../service/PersonalInfo/EmailService.js'\nimport { validateEmail } from '../../../utils/validate.js'\nimport { handleError } from '../../../utils/handlers.js'\n\nconst { emailMap: { additionalEmails, primaryEmail, notificationEmail } } = loadState('settings', 'personalInfoParameters', {})\nconst { displayNameChangeSupported } = loadState('settings', 'accountParameters', {})\n\nexport default {\n\tname: 'EmailSection',\n\n\tcomponents: {\n\t\tHeaderBar,\n\t\tEmail,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\taccountProperty: ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL,\n\t\t\tadditionalEmails: additionalEmails.map(properties => ({ ...properties, key: this.generateUniqueKey() })),\n\t\t\tdisplayNameChangeSupported,\n\t\t\tprimaryEmail: { ...primaryEmail, readable: NAME_READABLE_ENUM[primaryEmail.name] },\n\t\t\tsavePrimaryEmailScope,\n\t\t\tnotificationEmail,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tfirstAdditionalEmail() {\n\t\t\tif (this.additionalEmails.length) {\n\t\t\t\treturn this.additionalEmails[0].value\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\n\t\tinputId() {\n\t\t\treturn `account-property-${this.primaryEmail.name}`\n\t\t},\n\n\t\tisValidSection() {\n\t\t\treturn validateEmail(this.primaryEmail.value)\n\t\t\t\t&& this.additionalEmails.map(({ value }) => value).every(validateEmail)\n\t\t},\n\n\t\tprimaryEmailValue: {\n\t\t\tget() {\n\t\t\t\treturn this.primaryEmail.value\n\t\t\t},\n\t\t\tset(value) {\n\t\t\t\tthis.primaryEmail.value = value\n\t\t\t},\n\t\t},\n\t},\n\n\tmethods: {\n\t\tonAddAdditionalEmail() {\n\t\t\tif (this.isValidSection) {\n\t\t\t\tthis.additionalEmails.push({ value: '', scope: DEFAULT_ADDITIONAL_EMAIL_SCOPE, key: this.generateUniqueKey() })\n\t\t\t}\n\t\t},\n\n\t\tonDeleteAdditionalEmail(index) {\n\t\t\tthis.$delete(this.additionalEmails, index)\n\t\t},\n\n\t\tasync onUpdateEmail() {\n\t\t\tif (this.primaryEmailValue === '' && this.firstAdditionalEmail) {\n\t\t\t\tconst deletedEmail = this.firstAdditionalEmail\n\t\t\t\tawait this.deleteFirstAdditionalEmail()\n\t\t\t\tthis.primaryEmailValue = deletedEmail\n\t\t\t\tawait this.updatePrimaryEmail()\n\t\t\t}\n\t\t},\n\n\t\tasync onUpdateNotificationEmail(email) {\n\t\t\tthis.notificationEmail = email\n\t\t},\n\n\t\tasync updatePrimaryEmail() {\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryEmail(this.primaryEmailValue)\n\t\t\t\tthis.handleResponse(responseData.ocs?.meta?.status)\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse(\n\t\t\t\t\t'error',\n\t\t\t\t\tt('settings', 'Unable to update primary email address'),\n\t\t\t\t\te,\n\t\t\t\t)\n\t\t\t}\n\t\t},\n\n\t\tasync deleteFirstAdditionalEmail() {\n\t\t\ttry {\n\t\t\t\tconst responseData = await removeAdditionalEmail(this.firstAdditionalEmail)\n\t\t\t\tthis.handleDeleteFirstAdditionalEmail(responseData.ocs?.meta?.status)\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse(\n\t\t\t\t\t'error',\n\t\t\t\t\tt('settings', 'Unable to delete additional email address'),\n\t\t\t\t\te,\n\t\t\t\t)\n\t\t\t}\n\t\t},\n\n\t\thandleDeleteFirstAdditionalEmail(status) {\n\t\t\tif (status === 'ok') {\n\t\t\t\tthis.$delete(this.additionalEmails, 0)\n\t\t\t} else {\n\t\t\t\tthis.handleResponse(\n\t\t\t\t\t'error',\n\t\t\t\t\tt('settings', 'Unable to delete additional email address'),\n\t\t\t\t\t{},\n\t\t\t\t)\n\t\t\t}\n\t\t},\n\n\t\thandleResponse(status, errorMessage, error) {\n\t\t\tif (status !== 'ok') {\n\t\t\t\thandleError(error, errorMessage)\n\t\t\t}\n\t\t},\n\n\t\tgenerateUniqueKey() {\n\t\t\treturn Math.random().toString(36).substring(2)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n\n\t.additional-emails-label {\n\t\tdisplay: block;\n\t\tmargin-top: 16px;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailSection.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!./EmailSection.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!./EmailSection.vue?vue&type=style&index=0&id=b17ef20e&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!./EmailSection.vue?vue&type=style&index=0&id=b17ef20e&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./EmailSection.vue?vue&type=template&id=b17ef20e&scoped=true&\"\nimport script from \"./EmailSection.vue?vue&type=script&lang=js&\"\nexport * from \"./EmailSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EmailSection.vue?vue&type=style&index=0&id=b17ef20e&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 \"b17ef20e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',[_c('HeaderBar',{attrs:{\"input-id\":_vm.inputId,\"readable\":_vm.primaryEmail.readable,\"handle-scope-change\":_vm.savePrimaryEmailScope,\"is-editable\":true,\"is-multi-value-supported\":true,\"is-valid-section\":_vm.isValidSection,\"scope\":_vm.primaryEmail.scope},on:{\"update:scope\":function($event){return _vm.$set(_vm.primaryEmail, \"scope\", $event)},\"add-additional\":_vm.onAddAdditionalEmail}}),_vm._v(\" \"),(_vm.displayNameChangeSupported)?[_c('Email',{attrs:{\"primary\":true,\"scope\":_vm.primaryEmail.scope,\"email\":_vm.primaryEmail.value,\"active-notification-email\":_vm.notificationEmail},on:{\"update:scope\":function($event){return _vm.$set(_vm.primaryEmail, \"scope\", $event)},\"update:email\":[function($event){return _vm.$set(_vm.primaryEmail, \"value\", $event)},_vm.onUpdateEmail],\"update:activeNotificationEmail\":function($event){_vm.notificationEmail=$event},\"update:active-notification-email\":function($event){_vm.notificationEmail=$event},\"update:notification-email\":_vm.onUpdateNotificationEmail}})]:_c('span',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.primaryEmail.value || _vm.t('settings', 'No email address set'))+\"\\n\\t\")]),_vm._v(\" \"),(_vm.additionalEmails.length)?[_c('em',{staticClass:\"additional-emails-label\"},[_vm._v(_vm._s(_vm.t('settings', 'Additional emails')))]),_vm._v(\" \"),_vm._l((_vm.additionalEmails),function(additionalEmail,index){return _c('Email',{key:additionalEmail.key,attrs:{\"index\":index,\"scope\":additionalEmail.scope,\"email\":additionalEmail.value,\"local-verification-state\":parseInt(additionalEmail.locallyVerified, 10),\"active-notification-email\":_vm.notificationEmail},on:{\"update:scope\":function($event){return _vm.$set(additionalEmail, \"scope\", $event)},\"update:email\":[function($event){return _vm.$set(additionalEmail, \"value\", $event)},_vm.onUpdateEmail],\"update:activeNotificationEmail\":function($event){_vm.notificationEmail=$event},\"update:active-notification-email\":function($event){_vm.notificationEmail=$event},\"update:notification-email\":_vm.onUpdateNotificationEmail,\"delete-additional-email\":function($event){return _vm.onDeleteAdditionalEmail(index)}}})})]:_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// This file is a workaround for a bug in web browsers' \"native\"\n// ES6 importing system which is uncapable of importing \"*.json\" files.\n// https://github.com/catamphetamine/libphonenumber-js/issues/239\nexport default {\"version\":4,\"country_calling_codes\":{\"1\":[\"US\",\"AG\",\"AI\",\"AS\",\"BB\",\"BM\",\"BS\",\"CA\",\"DM\",\"DO\",\"GD\",\"GU\",\"JM\",\"KN\",\"KY\",\"LC\",\"MP\",\"MS\",\"PR\",\"SX\",\"TC\",\"TT\",\"VC\",\"VG\",\"VI\"],\"7\":[\"RU\",\"KZ\"],\"20\":[\"EG\"],\"27\":[\"ZA\"],\"30\":[\"GR\"],\"31\":[\"NL\"],\"32\":[\"BE\"],\"33\":[\"FR\"],\"34\":[\"ES\"],\"36\":[\"HU\"],\"39\":[\"IT\",\"VA\"],\"40\":[\"RO\"],\"41\":[\"CH\"],\"43\":[\"AT\"],\"44\":[\"GB\",\"GG\",\"IM\",\"JE\"],\"45\":[\"DK\"],\"46\":[\"SE\"],\"47\":[\"NO\",\"SJ\"],\"48\":[\"PL\"],\"49\":[\"DE\"],\"51\":[\"PE\"],\"52\":[\"MX\"],\"53\":[\"CU\"],\"54\":[\"AR\"],\"55\":[\"BR\"],\"56\":[\"CL\"],\"57\":[\"CO\"],\"58\":[\"VE\"],\"60\":[\"MY\"],\"61\":[\"AU\",\"CC\",\"CX\"],\"62\":[\"ID\"],\"63\":[\"PH\"],\"64\":[\"NZ\"],\"65\":[\"SG\"],\"66\":[\"TH\"],\"81\":[\"JP\"],\"82\":[\"KR\"],\"84\":[\"VN\"],\"86\":[\"CN\"],\"90\":[\"TR\"],\"91\":[\"IN\"],\"92\":[\"PK\"],\"93\":[\"AF\"],\"94\":[\"LK\"],\"95\":[\"MM\"],\"98\":[\"IR\"],\"211\":[\"SS\"],\"212\":[\"MA\",\"EH\"],\"213\":[\"DZ\"],\"216\":[\"TN\"],\"218\":[\"LY\"],\"220\":[\"GM\"],\"221\":[\"SN\"],\"222\":[\"MR\"],\"223\":[\"ML\"],\"224\":[\"GN\"],\"225\":[\"CI\"],\"226\":[\"BF\"],\"227\":[\"NE\"],\"228\":[\"TG\"],\"229\":[\"BJ\"],\"230\":[\"MU\"],\"231\":[\"LR\"],\"232\":[\"SL\"],\"233\":[\"GH\"],\"234\":[\"NG\"],\"235\":[\"TD\"],\"236\":[\"CF\"],\"237\":[\"CM\"],\"238\":[\"CV\"],\"239\":[\"ST\"],\"240\":[\"GQ\"],\"241\":[\"GA\"],\"242\":[\"CG\"],\"243\":[\"CD\"],\"244\":[\"AO\"],\"245\":[\"GW\"],\"246\":[\"IO\"],\"247\":[\"AC\"],\"248\":[\"SC\"],\"249\":[\"SD\"],\"250\":[\"RW\"],\"251\":[\"ET\"],\"252\":[\"SO\"],\"253\":[\"DJ\"],\"254\":[\"KE\"],\"255\":[\"TZ\"],\"256\":[\"UG\"],\"257\":[\"BI\"],\"258\":[\"MZ\"],\"260\":[\"ZM\"],\"261\":[\"MG\"],\"262\":[\"RE\",\"YT\"],\"263\":[\"ZW\"],\"264\":[\"NA\"],\"265\":[\"MW\"],\"266\":[\"LS\"],\"267\":[\"BW\"],\"268\":[\"SZ\"],\"269\":[\"KM\"],\"290\":[\"SH\",\"TA\"],\"291\":[\"ER\"],\"297\":[\"AW\"],\"298\":[\"FO\"],\"299\":[\"GL\"],\"350\":[\"GI\"],\"351\":[\"PT\"],\"352\":[\"LU\"],\"353\":[\"IE\"],\"354\":[\"IS\"],\"355\":[\"AL\"],\"356\":[\"MT\"],\"357\":[\"CY\"],\"358\":[\"FI\",\"AX\"],\"359\":[\"BG\"],\"370\":[\"LT\"],\"371\":[\"LV\"],\"372\":[\"EE\"],\"373\":[\"MD\"],\"374\":[\"AM\"],\"375\":[\"BY\"],\"376\":[\"AD\"],\"377\":[\"MC\"],\"378\":[\"SM\"],\"380\":[\"UA\"],\"381\":[\"RS\"],\"382\":[\"ME\"],\"383\":[\"XK\"],\"385\":[\"HR\"],\"386\":[\"SI\"],\"387\":[\"BA\"],\"389\":[\"MK\"],\"420\":[\"CZ\"],\"421\":[\"SK\"],\"423\":[\"LI\"],\"500\":[\"FK\"],\"501\":[\"BZ\"],\"502\":[\"GT\"],\"503\":[\"SV\"],\"504\":[\"HN\"],\"505\":[\"NI\"],\"506\":[\"CR\"],\"507\":[\"PA\"],\"508\":[\"PM\"],\"509\":[\"HT\"],\"590\":[\"GP\",\"BL\",\"MF\"],\"591\":[\"BO\"],\"592\":[\"GY\"],\"593\":[\"EC\"],\"594\":[\"GF\"],\"595\":[\"PY\"],\"596\":[\"MQ\"],\"597\":[\"SR\"],\"598\":[\"UY\"],\"599\":[\"CW\",\"BQ\"],\"670\":[\"TL\"],\"672\":[\"NF\"],\"673\":[\"BN\"],\"674\":[\"NR\"],\"675\":[\"PG\"],\"676\":[\"TO\"],\"677\":[\"SB\"],\"678\":[\"VU\"],\"679\":[\"FJ\"],\"680\":[\"PW\"],\"681\":[\"WF\"],\"682\":[\"CK\"],\"683\":[\"NU\"],\"685\":[\"WS\"],\"686\":[\"KI\"],\"687\":[\"NC\"],\"688\":[\"TV\"],\"689\":[\"PF\"],\"690\":[\"TK\"],\"691\":[\"FM\"],\"692\":[\"MH\"],\"850\":[\"KP\"],\"852\":[\"HK\"],\"853\":[\"MO\"],\"855\":[\"KH\"],\"856\":[\"LA\"],\"880\":[\"BD\"],\"886\":[\"TW\"],\"960\":[\"MV\"],\"961\":[\"LB\"],\"962\":[\"JO\"],\"963\":[\"SY\"],\"964\":[\"IQ\"],\"965\":[\"KW\"],\"966\":[\"SA\"],\"967\":[\"YE\"],\"968\":[\"OM\"],\"970\":[\"PS\"],\"971\":[\"AE\"],\"972\":[\"IL\"],\"973\":[\"BH\"],\"974\":[\"QA\"],\"975\":[\"BT\"],\"976\":[\"MN\"],\"977\":[\"NP\"],\"992\":[\"TJ\"],\"993\":[\"TM\"],\"994\":[\"AZ\"],\"995\":[\"GE\"],\"996\":[\"KG\"],\"998\":[\"UZ\"]},\"countries\":{\"AC\":[\"247\",\"00\",\"(?:[01589]\\\\d|[46])\\\\d{4}\",[5,6]],\"AD\":[\"376\",\"00\",\"(?:1|6\\\\d)\\\\d{7}|[135-9]\\\\d{5}\",[6,8,9],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"[135-9]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"1\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]]]],\"AE\":[\"971\",\"00\",\"(?:[4-7]\\\\d|9[0-689])\\\\d{7}|800\\\\d{2,9}|[2-4679]\\\\d{7}\",[5,6,7,8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{2,9})\",\"$1 $2\",[\"60|8\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[236]|[479][2-8]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{5})\",\"$1 $2 $3\",[\"[479]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"]],\"0\"],\"AF\":[\"93\",\"00\",\"[2-7]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"]],\"0\"],\"AG\":[\"1\",\"011\",\"(?:268|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([457]\\\\d{6})$|1\",\"268$1\",0,\"268\"],\"AI\":[\"1\",\"011\",\"(?:264|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2457]\\\\d{6})$|1\",\"264$1\",0,\"264\"],\"AL\":[\"355\",\"00\",\"(?:700\\\\d\\\\d|900)\\\\d{3}|8\\\\d{5,7}|(?:[2-5]|6\\\\d)\\\\d{7}\",[6,7,8,9],[[\"(\\\\d{3})(\\\\d{3,4})\",\"$1 $2\",[\"80|9\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"4[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2358][2-5]|4\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[23578]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"6\"],\"0$1\"]],\"0\"],\"AM\":[\"374\",\"00\",\"(?:[1-489]\\\\d|55|60|77)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]0\"],\"0 $1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2|3[12]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"1|47\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[3-9]\"],\"0$1\"]],\"0\"],\"AO\":[\"244\",\"00\",\"[29]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[29]\"]]]],\"AR\":[\"54\",\"00\",\"(?:11|[89]\\\\d\\\\d)\\\\d{8}|[2368]\\\\d{9}\",[10,11],[[\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$1 $2-$3\",[\"2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])\",\"2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)\",\"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\",\"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"],\"0$1\",1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2-$3\",[\"1\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[68]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2-$3\",[\"[23]\"],\"0$1\",1],[\"(\\\\d)(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$2 15-$3-$4\",[\"9(?:2[2-469]|3[3-578])\",\"9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))\",\"9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)\",\"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\",\"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"],\"0$1\",0,\"$1 $2 $3-$4\"],[\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$2 15-$3-$4\",[\"91\"],\"0$1\",0,\"$1 $2 $3-$4\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1-$2-$3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$2 15-$3-$4\",[\"9\"],\"0$1\",0,\"$1 $2 $3-$4\"]],\"0\",0,\"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?\",\"9$1\"],\"AS\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|684|900)\\\\d{7}\",[10],0,\"1\",0,\"([267]\\\\d{6})$|1\",\"684$1\",0,\"684\"],\"AT\":[\"43\",\"00\",\"1\\\\d{3,12}|2\\\\d{6,12}|43(?:(?:0\\\\d|5[02-9])\\\\d{3,9}|2\\\\d{4,5}|[3467]\\\\d{4}|8\\\\d{4,6}|9\\\\d{4,7})|5\\\\d{4,12}|8\\\\d{7,12}|9\\\\d{8,12}|(?:[367]\\\\d|4[0-24-9])\\\\d{4,11}\",[4,5,6,7,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{3,12})\",\"$1 $2\",[\"1(?:11|[2-9])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})\",\"$1 $2\",[\"517\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,5})\",\"$1 $2\",[\"5[079]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,10})\",\"$1 $2\",[\"(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,9})\",\"$1 $2\",[\"[2-467]|5[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4,7})\",\"$1 $2 $3\",[\"5\"],\"0$1\"]],\"0\"],\"AU\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{7}(?:\\\\d(?:\\\\d{2})?)?|8[0-24-9]\\\\d{7})|[2-478]\\\\d{8}|1\\\\d{4,7}\",[5,6,7,8,9,10,12],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"16\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"16\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"14|4\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[2378]\"],\"(0$1)\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:30|[89])\"]]],\"0\",0,\"(183[12])|0\",0,0,0,[[\"(?:(?:2(?:[0-26-9]\\\\d|3[0-8]|4[02-9]|5[0135-9])|3(?:[0-3589]\\\\d|4[0-578]|6[1-9]|7[0-35-9])|7(?:[013-57-9]\\\\d|2[0-8]))\\\\d{3}|8(?:51(?:0(?:0[03-9]|[12479]\\\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\\\d|7[89]|9[0-4]))|(?:6[0-8]|[78]\\\\d)\\\\d{3}|9(?:[02-9]\\\\d{3}|1(?:(?:[0-58]\\\\d|6[0135-9])\\\\d|7(?:0[0-24-9]|[1-9]\\\\d)|9(?:[0-46-9]\\\\d|5[0-79])))))\\\\d{3}\",[9]],[\"4(?:(?:79|94)[01]|83[0-389])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[016-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,[\"163\\\\d{2,6}\",[5,6,7,8,9]],[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"AW\":[\"297\",\"00\",\"(?:[25-79]\\\\d\\\\d|800)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[25-9]\"]]]],\"AX\":[\"358\",\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"2\\\\d{4,9}|35\\\\d{4,5}|(?:60\\\\d\\\\d|800)\\\\d{4,6}|7\\\\d{5,11}|(?:[14]\\\\d|3[0-46-9]|50)\\\\d{4,8}\",[5,6,7,8,9,10,11,12],0,\"0\",0,0,0,0,\"18\",0,\"00\"],\"AZ\":[\"994\",\"00\",\"365\\\\d{6}|(?:[124579]\\\\d|60|88)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[28]|2|365|46\",\"1[28]|2|365[45]|46\",\"1[28]|2|365(?:4|5[02])|46\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[13-9]\"],\"0$1\"]],\"0\"],\"BA\":[\"387\",\"00\",\"6\\\\d{8}|(?:[35689]\\\\d|49|70)\\\\d{6}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6[1-3]|[7-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2-$3\",[\"[3-5]|6[56]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"6\"],\"0$1\"]],\"0\"],\"BB\":[\"1\",\"011\",\"(?:246|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"246$1\",0,\"246\"],\"BD\":[\"880\",\"00\",\"[1-469]\\\\d{9}|8[0-79]\\\\d{7,8}|[2-79]\\\\d{8}|[2-9]\\\\d{7}|[3-9]\\\\d{6}|[57-9]\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1-$2\",[\"31[5-8]|[459]1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1-$2\",[\"3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,6})\",\"$1-$2\",[\"[13-9]|22\"],\"0$1\"],[\"(\\\\d)(\\\\d{7,8})\",\"$1-$2\",[\"2\"],\"0$1\"]],\"0\"],\"BE\":[\"32\",\"00\",\"4\\\\d{8}|[1-9]\\\\d{7}\",[8,9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:80|9)0\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[239]|4[23]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[15-8]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"4\"],\"0$1\"]],\"0\"],\"BF\":[\"226\",\"00\",\"[025-7]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[025-7]\"]]]],\"BG\":[\"359\",\"00\",\"00800\\\\d{7}|[2-7]\\\\d{6,7}|[89]\\\\d{6,8}|2\\\\d{5}\",[6,7,8,9,12],[[\"(\\\\d)(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"43[1-6]|70[1-9]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:70|8)0\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3\",[\"43[1-7]|7\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[48]|9[08]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"BH\":[\"973\",\"00\",\"[136-9]\\\\d{7}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[13679]|8[02-4679]\"]]]],\"BI\":[\"257\",\"00\",\"(?:[267]\\\\d|31)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2367]\"]]]],\"BJ\":[\"229\",\"00\",\"[24-689]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-689]\"]]]],\"BL\":[\"590\",\"00\",\"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:2[7-9]|3[3-7]|5[12]|87)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5]))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:395|76[018])\\\\d|475[0-5])\\\\d{4}\"]]],\"BM\":[\"1\",\"011\",\"(?:441|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"441$1\",0,\"441\"],\"BN\":[\"673\",\"00\",\"[2-578]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-578]\"]]]],\"BO\":[\"591\",\"00(?:1\\\\d)?\",\"(?:[2-467]\\\\d\\\\d|8001)\\\\d{5}\",[8,9],[[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"[23]|4[46]\"]],[\"(\\\\d{8})\",\"$1\",[\"[67]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],\"0\",0,\"0(1\\\\d)?\"],\"BQ\":[\"599\",\"00\",\"(?:[34]1|7\\\\d)\\\\d{5}\",[7],0,0,0,0,0,0,\"[347]\"],\"BR\":[\"55\",\"00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)\",\"(?:[1-46-9]\\\\d\\\\d|5(?:[0-46-9]\\\\d|5[0-46-9]))\\\\d{8}|[1-9]\\\\d{9}|[3589]\\\\d{8}|[34]\\\\d{7}\",[8,9,10,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"300|4(?:0[02]|37)\",\"4(?:02|37)0|[34]00\"]],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{4})\",\"$1 $2 $3\",[\"(?:[358]|90)0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2-$3\",[\"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]\"],\"($1)\"],[\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1 $2-$3\",[\"[16][1-9]|[2-57-9]\"],\"($1)\"]],\"0\",0,\"(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\\\d{10,11}))?\",\"$2\"],\"BS\":[\"1\",\"011\",\"(?:242|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([3-8]\\\\d{6})$|1\",\"242$1\",0,\"242\"],\"BT\":[\"975\",\"00\",\"[17]\\\\d{7}|[2-8]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-68]|7[246]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[67]|7\"]]]],\"BW\":[\"267\",\"00\",\"(?:0800|(?:[37]|800)\\\\d)\\\\d{6}|(?:[2-6]\\\\d|90)\\\\d{5}\",[7,8,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"90\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[24-6]|3[15-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[37]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"BY\":[\"375\",\"810\",\"(?:[12]\\\\d|33|44|902)\\\\d{7}|8(?:0[0-79]\\\\d{5,7}|[1-7]\\\\d{9})|8(?:1[0-489]|[5-79]\\\\d)\\\\d{7}|8[1-79]\\\\d{6,7}|8[0-79]\\\\d{5}|8\\\\d{5}\",[6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"800\"],\"8 $1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,4})\",\"$1 $2 $3\",[\"800\"],\"8 $1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{3})\",\"$1 $2-$3\",[\"1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])\",\"1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])\"],\"8 0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"1(?:[56]|7[467])|2[1-3]\"],\"8 0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[1-4]\"],\"8 0$1\"],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"8 $1\"]],\"8\",0,\"0|80?\",0,0,0,0,\"8~10\"],\"BZ\":[\"501\",\"00\",\"(?:0800\\\\d|[2-8])\\\\d{6}\",[7,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-8]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1-$2-$3-$4\",[\"0\"]]]],\"CA\":[\"1\",\"011\",\"(?:[2-8]\\\\d|90)\\\\d{8}|3\\\\d{6}\",[7,10],0,\"1\",0,0,0,0,0,[[\"(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\\\d{6}\",[10]],[\"\",[10]],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",[10]],[\"900[2-9]\\\\d{6}\",[10]],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|(?:5(?:00|2[125-9]|33|44|66|77|88)|622)[2-9]\\\\d{6}\",[10]],0,[\"310\\\\d{4}\",[7]],0,[\"600[2-9]\\\\d{6}\",[10]]]],\"CC\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\",[6,7,8,9,10,12],0,\"0\",0,\"([59]\\\\d{7})$|0\",\"8$1\",0,0,[[\"8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\\\d|70[23]|959))\\\\d{3}\",[9]],[\"4(?:(?:79|94)[01]|83[0-389])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[016-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,0,[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"CD\":[\"243\",\"00\",\"[189]\\\\d{8}|[1-68]\\\\d{6}\",[7,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"88\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"[1-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\"],\"CF\":[\"236\",\"00\",\"(?:[27]\\\\d{3}|8776)\\\\d{4}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[278]\"]]]],\"CG\":[\"242\",\"00\",\"222\\\\d{6}|(?:0\\\\d|80)\\\\d{7}\",[9],[[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[02]\"]]]],\"CH\":[\"41\",\"00\",\"8\\\\d{11}|[2-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8[047]|90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-79]|81\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"8\"],\"0$1\"]],\"0\"],\"CI\":[\"225\",\"00\",\"[02]\\\\d{9}\",[10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d)(\\\\d{5})\",\"$1 $2 $3 $4\",[\"2\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"0\"]]]],\"CK\":[\"682\",\"00\",\"[2-578]\\\\d{4}\",[5],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"[2-578]\"]]]],\"CL\":[\"56\",\"(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0\",\"12300\\\\d{6}|6\\\\d{9,10}|[2-9]\\\\d{8}\",[9,10,11],[[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"219\",\"2196\"],\"($1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"44\"]],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[1-36]\"],\"($1)\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"9[2-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])\"],\"($1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"60|8\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"60\"]]]],\"CM\":[\"237\",\"00\",\"[26]\\\\d{8}|88\\\\d{6,7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"88\"]],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[26]|88\"]]]],\"CN\":[\"86\",\"00|1(?:[12]\\\\d|79)\\\\d\\\\d00\",\"1[127]\\\\d{8,9}|2\\\\d{9}(?:\\\\d{2})?|[12]\\\\d{6,7}|86\\\\d{6}|(?:1[03-689]\\\\d|6)\\\\d{7,9}|(?:[3-579]\\\\d|8[0-57-9])\\\\d{6,9}\",[7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{5,6})\",\"$1 $2\",[\"(?:10|2[0-57-9])[19]\",\"(?:10|2[0-57-9])(?:10|9[56])\",\"10(?:10|9[56])|2[0-57-9](?:100|9[56])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]\",\"(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))[19]\",\"85[23](?:10|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:10|9[56])\",\"85[23](?:100|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:100|9[56])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"(?:4|80)0\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"10|2(?:[02-57-9]|1[1-9])\",\"10|2(?:[02-57-9]|1[1-9])\",\"10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{7,8})\",\"$1 $2\",[\"9\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"80\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-578]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"1[3-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"[12]\"],\"0$1\",1]],\"0\",0,\"(1(?:[12]\\\\d|79)\\\\d\\\\d)|0\",0,0,0,0,\"00\"],\"CO\":[\"57\",\"00(?:4(?:[14]4|56)|[579])\",\"(?:60\\\\d\\\\d|9101)\\\\d{6}|(?:1\\\\d|3)\\\\d{9}\",[10,11],[[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"6\"],\"($1)\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3[0-357]|91\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{7})\",\"$1-$2-$3\",[\"1\"],\"0$1\",0,\"$1 $2 $3\"]],\"0\",0,\"0(4(?:[14]4|56)|[579])?\"],\"CR\":[\"506\",\"00\",\"(?:8\\\\d|90)\\\\d{8}|(?:[24-8]\\\\d{3}|3005)\\\\d{4}\",[8,10],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]|8[3-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[89]\"]]],0,0,\"(19(?:0[0-2468]|1[09]|20|66|77|99))\"],\"CU\":[\"53\",\"119\",\"[27]\\\\d{6,7}|[34]\\\\d{5,7}|63\\\\d{6}|(?:5|8\\\\d\\\\d)\\\\d{7}\",[6,7,8,10],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1 $2\",[\"2[1-4]|[34]\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{6,7})\",\"$1 $2\",[\"7\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"[56]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"8\"],\"0$1\"]],\"0\"],\"CV\":[\"238\",\"0\",\"(?:[2-59]\\\\d\\\\d|800)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[2-589]\"]]]],\"CW\":[\"599\",\"00\",\"(?:[34]1|60|(?:7|9\\\\d)\\\\d)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[3467]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9[4-8]\"]]],0,0,0,0,0,\"[69]\"],\"CX\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\",[6,7,8,9,10,12],0,\"0\",0,\"([59]\\\\d{7})$|0\",\"8$1\",0,0,[[\"8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\\\d|7(?:0[01]|1[0-2])|958))\\\\d{3}\",[9]],[\"4(?:(?:79|94)[01]|83[0-389])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[016-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,0,[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"CY\":[\"357\",\"00\",\"(?:[279]\\\\d|[58]0)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[257-9]\"]]]],\"CZ\":[\"420\",\"00\",\"(?:[2-578]\\\\d|60)\\\\d{7}|9\\\\d{8,11}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-8]|9[015-7]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"96\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]]]],\"DE\":[\"49\",\"00\",\"[2579]\\\\d{5,14}|49(?:[34]0|69|8\\\\d)\\\\d\\\\d?|49(?:37|49|60|7[089]|9\\\\d)\\\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\\\d{1,8}|(?:1|[368]\\\\d|4[0-8])\\\\d{3,13}|49(?:[015]\\\\d|2[13]|31|[46][1-8])\\\\d{1,9}\",[4,5,6,7,8,9,10,11,12,13,14,15],[[\"(\\\\d{2})(\\\\d{3,13})\",\"$1 $2\",[\"3[02]|40|[68]9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,12})\",\"$1 $2\",[\"2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\",\"2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2,11})\",\"$1 $2\",[\"[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]\",\"[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"138\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{2,10})\",\"$1 $2\",[\"3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,11})\",\"$1 $2\",[\"181\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{4,10})\",\"$1 $2 $3\",[\"1(?:3|80)|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7,8})\",\"$1 $2\",[\"1[67]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7,12})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{6})\",\"$1 $2\",[\"185\",\"1850\",\"18500\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{7})\",\"$1 $2\",[\"18[68]\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{6})\",\"$1 $2\",[\"15[0568]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{7})\",\"$1 $2\",[\"15[1279]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{8})\",\"$1 $2\",[\"18\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{7,8})\",\"$1 $2 $3\",[\"1(?:6[023]|7)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{7})\",\"$1 $2 $3\",[\"15[279]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{8})\",\"$1 $2 $3\",[\"15\"],\"0$1\"]],\"0\"],\"DJ\":[\"253\",\"00\",\"(?:2\\\\d|77)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[27]\"]]]],\"DK\":[\"45\",\"00\",\"[2-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-9]\"]]]],\"DM\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|767|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"767$1\",0,\"767\"],\"DO\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"8001|8[024]9\"],\"DZ\":[\"213\",\"00\",\"(?:[1-4]|[5-79]\\\\d|80)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[1-4]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-8]\"],\"0$1\"]],\"0\"],\"EC\":[\"593\",\"00\",\"1\\\\d{9,10}|(?:[2-7]|9\\\\d)\\\\d{7}\",[8,9,10,11],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2-$3\",[\"[2-7]\"],\"(0$1)\",0,\"$1-$2-$3\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"EE\":[\"372\",\"00\",\"8\\\\d{9}|[4578]\\\\d{7}|(?:[3-8]\\\\d|90)\\\\d{5}\",[7,8,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88\",\"[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88\"]],[\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[45]|8(?:00|[1-49])\",\"[45]|8(?:00[1-9]|[1-49])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"EG\":[\"20\",\"00\",\"[189]\\\\d{8,9}|[24-6]\\\\d{8}|[135]\\\\d{7}\",[8,9,10],[[\"(\\\\d)(\\\\d{7,8})\",\"$1 $2\",[\"[23]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6,7})\",\"$1 $2\",[\"1[35]|[4-6]|8[2468]|9[235-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{8})\",\"$1 $2\",[\"1\"],\"0$1\"]],\"0\"],\"EH\":[\"212\",\"00\",\"[5-8]\\\\d{8}\",[9],0,\"0\",0,0,0,0,\"528[89]\"],\"ER\":[\"291\",\"00\",\"[178]\\\\d{6}\",[7],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[178]\"],\"0$1\"]],\"0\"],\"ES\":[\"34\",\"00\",\"[5-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]00\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-9]\"]]]],\"ET\":[\"251\",\"00\",\"(?:11|[2-579]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-579]\"],\"0$1\"]],\"0\"],\"FI\":[\"358\",\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"[1-35689]\\\\d{4}|7\\\\d{10,11}|(?:[124-7]\\\\d|3[0-46-9])\\\\d{8}|[1-9]\\\\d{5,8}\",[5,6,7,8,9,10,11,12],[[\"(\\\\d)(\\\\d{4,9})\",\"$1 $2\",[\"[2568][1-8]|3(?:0[1-9]|[1-9])|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"[12]00|[368]|70[07-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4,8})\",\"$1 $2\",[\"[1245]|7[135]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6,10})\",\"$1 $2\",[\"7\"],\"0$1\"]],\"0\",0,0,0,0,\"1[03-79]|[2-9]\",0,\"00\"],\"FJ\":[\"679\",\"0(?:0|52)\",\"45\\\\d{5}|(?:0800\\\\d|[235-9])\\\\d{6}\",[7,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[235-9]|45\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]]],0,0,0,0,0,0,0,\"00\"],\"FK\":[\"500\",\"00\",\"[2-7]\\\\d{4}\",[5]],\"FM\":[\"691\",\"00\",\"(?:[39]\\\\d\\\\d|820)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[389]\"]]]],\"FO\":[\"298\",\"00\",\"[2-9]\\\\d{5}\",[6],[[\"(\\\\d{6})\",\"$1\",[\"[2-9]\"]]],0,0,\"(10(?:01|[12]0|88))\"],\"FR\":[\"33\",\"00\",\"[1-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0 $1\"],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[1-79]\"],\"0$1\"]],\"0\"],\"GA\":[\"241\",\"00\",\"(?:[067]\\\\d|11)\\\\d{6}|[2-7]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-7]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"0\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"11|[67]\"],\"0$1\"]],0,0,\"0(11\\\\d{6}|60\\\\d{6}|61\\\\d{6}|6[256]\\\\d{6}|7[467]\\\\d{6})\",\"$1\"],\"GB\":[\"44\",\"00\",\"[1-357-9]\\\\d{9}|[18]\\\\d{8}|8\\\\d{6}\",[7,9,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"800\",\"8001\",\"80011\",\"800111\",\"8001111\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"845\",\"8454\",\"84546\",\"845464\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"800\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{4,5})\",\"$1 $2\",[\"1(?:38|5[23]|69|76|94)\",\"1(?:(?:38|69)7|5(?:24|39)|768|946)\",\"1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5,6})\",\"$1 $2\",[\"1(?:[2-69][02-9]|[78])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[25]|7(?:0|6[02-9])\",\"[25]|7(?:0|6(?:[03-9]|2[356]))\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1389]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:1(?:1(?:3(?:[0-58]\\\\d\\\\d|73[0235])|4(?:[0-5]\\\\d\\\\d|69[7-9]|70[0-579])|(?:(?:5[0-26-9]|[78][0-49])\\\\d|6(?:[0-4]\\\\d|50))\\\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\\\d)\\\\d|1(?:[0-7]\\\\d|8[0-2]))|(?:3(?:0\\\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\\\d)\\\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\\\d{3})\\\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\\\d)|76\\\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\\\d|7[4-79])|295[5-7]|35[34]\\\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\\\d{3}\",[9,10]],[\"7(?:457[0-57-9]|700[01]|911[028])\\\\d{5}|7(?:[1-3]\\\\d\\\\d|4(?:[0-46-9]\\\\d|5[0-689])|5(?:0[0-8]|[13-9]\\\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\\\d|8[02-9]|9[0-689])|8(?:[014-9]\\\\d|[23][0-8])|9(?:[024-9]\\\\d|1[02-9]|3[0-689]))\\\\d{6}\",[10]],[\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"],[\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[2-49]))\\\\d{7}|845464\\\\d\",[7,10]],[\"70\\\\d{8}\",[10]],0,[\"(?:3[0347]|55)\\\\d{8}\",[10]],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\",[10]],[\"56\\\\d{8}\",[10]]],0,\" x\"],\"GD\":[\"1\",\"011\",\"(?:473|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"473$1\",0,\"473\"],\"GE\":[\"995\",\"00\",\"(?:[3-57]\\\\d\\\\d|800)\\\\d{6}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"70\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"32\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[57]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[348]\"],\"0$1\"]],\"0\"],\"GF\":[\"594\",\"00\",\"[56]94\\\\d{6}|(?:80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[56]|9[47]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[89]\"],\"0$1\"]],\"0\"],\"GG\":[\"44\",\"00\",\"(?:1481|[357-9]\\\\d{3})\\\\d{6}|8\\\\d{6}(?:\\\\d{2})?\",[7,9,10],0,\"0\",0,\"([25-9]\\\\d{5})$|0\",\"1481$1\",0,0,[[\"1481[25-9]\\\\d{5}\",[10]],[\"7(?:(?:781|839)\\\\d|911[17])\\\\d{5}\",[10]],[\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"],[\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[0-3]))\\\\d{7}|845464\\\\d\",[7,10]],[\"70\\\\d{8}\",[10]],0,[\"(?:3[0347]|55)\\\\d{8}\",[10]],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\",[10]],[\"56\\\\d{8}\",[10]]]],\"GH\":[\"233\",\"00\",\"(?:[235]\\\\d{3}|800)\\\\d{5}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[235]\"],\"0$1\"]],\"0\"],\"GI\":[\"350\",\"00\",\"(?:[25]\\\\d|60)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2\"]]]],\"GL\":[\"299\",\"00\",\"(?:19|[2-689]\\\\d|70)\\\\d{4}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"19|[2-9]\"]]]],\"GM\":[\"220\",\"00\",\"[2-9]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"GN\":[\"224\",\"00\",\"722\\\\d{6}|(?:3|6\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"3\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[67]\"]]]],\"GP\":[\"590\",\"00\",\"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[569]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\\\d)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5]))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:395|76[018])\\\\d|475[0-5])\\\\d{4}\"]]],\"GQ\":[\"240\",\"00\",\"222\\\\d{6}|(?:3\\\\d|55|[89]0)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[235]\"]],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[89]\"]]]],\"GR\":[\"30\",\"00\",\"5005000\\\\d{3}|8\\\\d{9,11}|(?:[269]\\\\d|70)\\\\d{8}\",[10,11,12],[[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"21|7\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2689]\"]],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{5})\",\"$1 $2 $3\",[\"8\"]]]],\"GT\":[\"502\",\"00\",\"(?:1\\\\d{3}|[2-7])\\\\d{7}\",[8,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]]],\"GU\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|671|900)\\\\d{7}\",[10],0,\"1\",0,\"([3-9]\\\\d{6})$|1\",\"671$1\",0,\"671\"],\"GW\":[\"245\",\"00\",\"[49]\\\\d{8}|4\\\\d{6}\",[7,9],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"40\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[49]\"]]]],\"GY\":[\"592\",\"001\",\"9008\\\\d{3}|(?:[2-467]\\\\d\\\\d|862)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-46-9]\"]]]],\"HK\":[\"852\",\"00(?:30|5[09]|[126-9]?)\",\"8[0-46-9]\\\\d{6,7}|9\\\\d{4,7}|(?:[2-7]|9\\\\d{3})\\\\d{7}\",[5,6,7,8,9,11],[[\"(\\\\d{3})(\\\\d{2,5})\",\"$1 $2\",[\"900\",\"9003\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]|8[1-4]|9(?:0[1-9]|[1-8])\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]]],0,0,0,0,0,0,0,\"00\"],\"HN\":[\"504\",\"00\",\"8\\\\d{10}|[237-9]\\\\d{7}\",[8,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[237-9]\"]]]],\"HR\":[\"385\",\"00\",\"(?:[24-69]\\\\d|3[0-79])\\\\d{7}|80\\\\d{5,7}|[1-79]\\\\d{7}|6\\\\d{5,6}\",[6,7,8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"6[01]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[67]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-5]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"HT\":[\"509\",\"00\",\"(?:[2-489]\\\\d|55)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-589]\"]]]],\"HU\":[\"36\",\"00\",\"[235-7]\\\\d{8}|[1-9]\\\\d{7}\",[8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"(06 $1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]\"],\"(06 $1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-9]\"],\"06 $1\"]],\"06\"],\"ID\":[\"62\",\"00[89]\",\"(?:(?:00[1-9]|8\\\\d)\\\\d{4}|[1-36])\\\\d{6}|00\\\\d{10}|[1-9]\\\\d{8,10}|[2-9]\\\\d{7}\",[7,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"15\"]],[\"(\\\\d{2})(\\\\d{5,9})\",\"$1 $2\",[\"2[124]|[36]1\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5,7})\",\"$1 $2\",[\"800\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,8})\",\"$1 $2\",[\"[2-79]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{3})\",\"$1-$2-$3\",[\"8[1-35-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6,8})\",\"$1 $2\",[\"1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"804\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"80\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1-$2-$3\",[\"8\"],\"0$1\"]],\"0\"],\"IE\":[\"353\",\"00\",\"(?:1\\\\d|[2569])\\\\d{6,8}|4\\\\d{6,9}|7\\\\d{8}|8\\\\d{8,9}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"2[24-9]|47|58|6[237-9]|9[35-9]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[45]0\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2569]|4[1-69]|7[14]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"70\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"81\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"4\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"IL\":[\"972\",\"0(?:0|1[2-9])\",\"1\\\\d{6}(?:\\\\d{3,5})?|[57]\\\\d{8}|[1-489]\\\\d{7}\",[7,8,9,10,11,12],[[\"(\\\\d{4})(\\\\d{3})\",\"$1-$2\",[\"125\"]],[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\",[\"121\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[2-489]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3\",[\"12\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1-$2\",[\"159\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3-$4\",[\"1[7-9]\"]],[\"(\\\\d{3})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3-$4\",[\"15\"]]],\"0\"],\"IM\":[\"44\",\"00\",\"1624\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\",[10],0,\"0\",0,\"([25-8]\\\\d{5})$|0\",\"1624$1\",0,\"74576|(?:16|7[56])24\"],\"IN\":[\"91\",\"00\",\"(?:000800|[2-9]\\\\d\\\\d)\\\\d{7}|1\\\\d{7,12}\",[8,9,10,11,12,13],[[\"(\\\\d{8})\",\"$1\",[\"5(?:0|2[23]|3[03]|[67]1|88)\",\"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)\",\"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)\"],0,1],[\"(\\\\d{4})(\\\\d{4,5})\",\"$1 $2\",[\"180\",\"1800\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"140\"],0,1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"11|2[02]|33|4[04]|79[1-7]|80[2-46]\",\"11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])\",\"11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]\",\"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]\",\"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807\",\"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]\",\"1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\\\d|7(?:1(?:[013-8]\\\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\\\d|5[0-367])|70[13-7]))[2-7]\"],\"0$1\",1],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"[6-9]\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{2,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:6|8[06])\",\"1(?:6|8[06]0)\"],0,1],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"18\"],0,1]],\"0\"],\"IO\":[\"246\",\"00\",\"3\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"3\"]]]],\"IQ\":[\"964\",\"00\",\"(?:1|7\\\\d\\\\d)\\\\d{7}|[2-6]\\\\d{7,8}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-6]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"IR\":[\"98\",\"00\",\"[1-9]\\\\d{9}|(?:[1-8]\\\\d\\\\d|9)\\\\d{3,4}\",[4,5,6,7,10],[[\"(\\\\d{4,5})\",\"$1\",[\"96\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4,5})\",\"$1 $2\",[\"(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-8]\"],\"0$1\"]],\"0\"],\"IS\":[\"354\",\"00|1(?:0(?:01|[12]0)|100)\",\"(?:38\\\\d|[4-9])\\\\d{6}\",[7,9],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[4-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"3\"]]],0,0,0,0,0,0,0,\"00\"],\"IT\":[\"39\",\"00\",\"0\\\\d{5,10}|1\\\\d{8,10}|3(?:[0-8]\\\\d{7,10}|9\\\\d{7,8})|(?:55|70)\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?\",[6,7,8,9,10,11],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1 $2\",[\"0[26]\"]],[\"(\\\\d{3})(\\\\d{3,6})\",\"$1 $2\",[\"0[13-57-9][0159]|8(?:03|4[17]|9[2-5])\",\"0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))\"]],[\"(\\\\d{4})(\\\\d{2,6})\",\"$1 $2\",[\"0(?:[13-579][2-46-8]|8[236-8])\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"894\"]],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[26]|5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1(?:44|[679])|[378]\"]],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[13-57-9][0159]|14\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{5})\",\"$1 $2 $3\",[\"0[26]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"3\"]]],0,0,0,0,0,0,[[\"0669[0-79]\\\\d{1,6}|0(?:1(?:[0159]\\\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\\\d\\\\d|3(?:[0159]\\\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\\\d|6[0-8])|7(?:[0159]\\\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\\\d{2,7}\"],[\"3[1-9]\\\\d{8}|3[2-9]\\\\d{7}\",[9,10]],[\"80(?:0\\\\d{3}|3)\\\\d{3}\",[6,9]],[\"(?:0878\\\\d{3}|89(?:2\\\\d|3[04]|4(?:[0-4]|[5-9]\\\\d\\\\d)|5[0-4]))\\\\d\\\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\\\d{6}\",[6,8,9,10]],[\"1(?:78\\\\d|99)\\\\d{6}\",[9,10]],0,0,0,[\"55\\\\d{8}\",[10]],[\"84(?:[08]\\\\d{3}|[17])\\\\d{3}\",[6,9]]]],\"JE\":[\"44\",\"00\",\"1534\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\",[10],0,\"0\",0,\"([0-24-8]\\\\d{5})$|0\",\"1534$1\",0,0,[[\"1534[0-24-8]\\\\d{5}\"],[\"7(?:(?:(?:50|82)9|937)\\\\d|7(?:00[378]|97[7-9]))\\\\d{5}\"],[\"80(?:07(?:35|81)|8901)\\\\d{4}\"],[\"(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\\\d{4}\"],[\"701511\\\\d{4}\"],0,[\"(?:3(?:0(?:07(?:35|81)|8901)|3\\\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\\\d{4})\\\\d{4}\"],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\"],[\"56\\\\d{8}\"]]],\"JM\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|658|900)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"658|876\"],\"JO\":[\"962\",\"00\",\"(?:(?:[2689]|7\\\\d)\\\\d|32|53)\\\\d{6}\",[8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2356]|87\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"70\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"JP\":[\"81\",\"010\",\"00[1-9]\\\\d{6,14}|[257-9]\\\\d{9}|(?:00|[1-9]\\\\d\\\\d)\\\\d{6}\",[8,9,10,11,12,13,14,15,16,17],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3\",[\"(?:12|57|99)0\"],\"0$1\"],[\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1-$2-$3\",[\"1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51|63)|9(?:80|9[16])\",\"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9]|636)|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\",\"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9]|636[457-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"60\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[36]|4(?:2[09]|7[01])\",\"[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])\",\"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]\",\"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[23]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3\",[\"[14]|[289][2-9]|5[3-9]|7[2-4679]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"800\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[257-9]\"],\"0$1\"]],\"0\",0,\"(000[259]\\\\d{6})$|(?:(?:003768)0?)|0\",\"$1\"],\"KE\":[\"254\",\"000\",\"(?:[17]\\\\d\\\\d|900)\\\\d{6}|(?:2|80)0\\\\d{6,7}|[4-6]\\\\d{6,8}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"[24-6]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[17]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\"],\"KG\":[\"996\",\"00\",\"8\\\\d{9}|[235-9]\\\\d{8}\",[9,10],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"3(?:1[346]|[24-79])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[235-79]|88\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d)(\\\\d{2,3})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"KH\":[\"855\",\"00[14-9]\",\"1\\\\d{9}|[1-9]\\\\d{7,8}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"KI\":[\"686\",\"00\",\"(?:[37]\\\\d|6[0-79])\\\\d{6}|(?:[2-48]\\\\d|50)\\\\d{3}\",[5,8],0,\"0\"],\"KM\":[\"269\",\"00\",\"[3478]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[3478]\"]]]],\"KN\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"869$1\",0,\"869\"],\"KP\":[\"850\",\"00|99\",\"85\\\\d{6}|(?:19\\\\d|[2-7])\\\\d{7}\",[8,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"]],\"0\"],\"KR\":[\"82\",\"00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))\",\"00[1-9]\\\\d{8,11}|(?:[12]|5\\\\d{3})\\\\d{7}|[13-6]\\\\d{9}|(?:[1-6]\\\\d|80)\\\\d{7}|[3-6]\\\\d{4,5}|(?:00|7)0\\\\d{8}\",[5,6,8,9,10,11,12,13,14],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1-$2\",[\"(?:3[1-3]|[46][1-4]|5[1-5])1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"1\"]],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"60|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"[1346]|5[1-5]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1-$2-$3\",[\"5\"],\"0$1\"]],\"0\",0,\"0(8(?:[1-46-8]|5\\\\d\\\\d))?\"],\"KW\":[\"965\",\"00\",\"18\\\\d{5}|(?:[2569]\\\\d|41)\\\\d{6}\",[7,8],[[\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[169]|2(?:[235]|4[1-35-9])|52\"]],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[245]\"]]]],\"KY\":[\"1\",\"011\",\"(?:345|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"345$1\",0,\"345\"],\"KZ\":[\"7\",\"810\",\"(?:33622|8\\\\d{8})\\\\d{5}|[78]\\\\d{9}\",[10,14],0,\"8\",0,0,0,0,\"33|7\",0,\"8~10\"],\"LA\":[\"856\",\"00\",\"[23]\\\\d{9}|3\\\\d{8}|(?:[235-8]\\\\d|41)\\\\d{6}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2[13]|3[14]|[4-8]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"30[013-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[23]\"],\"0$1\"]],\"0\"],\"LB\":[\"961\",\"00\",\"[27-9]\\\\d{7}|[13-9]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[27-9]\"]]],\"0\"],\"LC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|758|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-8]\\\\d{6})$|1\",\"758$1\",0,\"758\"],\"LI\":[\"423\",\"00\",\"[68]\\\\d{8}|(?:[2378]\\\\d|90)\\\\d{5}\",[7,9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[2379]|8(?:0[09]|7)\",\"[2379]|8(?:0(?:02|9)|7)\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"69\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]]],\"0\",0,\"(1001)|0\"],\"LK\":[\"94\",\"00\",\"[1-9]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[1-689]\"],\"0$1\"]],\"0\"],\"LR\":[\"231\",\"00\",\"(?:[25]\\\\d|33|77|88)\\\\d{7}|(?:2\\\\d|[4-6])\\\\d{6}\",[7,8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[4-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[23578]\"],\"0$1\"]],\"0\"],\"LS\":[\"266\",\"00\",\"(?:[256]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2568]\"]]]],\"LT\":[\"370\",\"00\",\"(?:[3469]\\\\d|52|[78]0)\\\\d{6}\",[8],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"52[0-7]\"],\"(8-$1)\",1],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"8 $1\",1],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"37|4(?:[15]|6[1-8])\"],\"(8-$1)\",1],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[3-6]\"],\"(8-$1)\",1]],\"8\",0,\"[08]\"],\"LU\":[\"352\",\"00\",\"35[013-9]\\\\d{4,8}|6\\\\d{8}|35\\\\d{2,4}|(?:[2457-9]\\\\d|3[0-46-9])\\\\d{2,9}\",[4,5,6,7,8,9,10,11],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"20[2-689]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4\",[\"2(?:[0367]|4[3-8])\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"80[01]|90[015]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"20\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4 $5\",[\"2(?:[0367]|4[3-8])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,5})\",\"$1 $2 $3 $4\",[\"[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]\"]]],0,0,\"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\\\d)\"],\"LV\":[\"371\",\"00\",\"(?:[268]\\\\d|90)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[269]|8[01]\"]]]],\"LY\":[\"218\",\"00\",\"[2-9]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"[2-9]\"],\"0$1\"]],\"0\"],\"MA\":[\"212\",\"00\",\"[5-8]\\\\d{8}\",[9],[[\"(\\\\d{5})(\\\\d{4})\",\"$1-$2\",[\"5(?:29|38)\",\"5(?:29[1289]|389)\",\"529(?:1[1-46-9]|2[013-8]|90)|5(?:298|389)[0-46-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"5[45]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1-$2\",[\"5(?:2[2-489]|3[5-9]|9)|892\",\"5(?:2(?:[2-49]|8[235-9])|3[5-9]|9)|892\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"8\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1-$2\",[\"[5-7]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"5293[01]\\\\d{4}|5(?:2(?:[0-25-7]\\\\d|3[1-578]|4[02-46-8]|8[0235-7]|9[0-289])|3(?:[0-47]\\\\d|5[02-9]|6[02-8]|8[0189]|9[3-9])|(?:4[067]|5[03])\\\\d)\\\\d{5}\"],[\"(?:6(?:[0-79]\\\\d|8[0-247-9])|7(?:[017]\\\\d|2[0-2]|6[0-8]|8[0-3]))\\\\d{6}\"],[\"80\\\\d{7}\"],[\"89\\\\d{7}\"],0,0,0,0,[\"592(?:4[0-2]|93)\\\\d{4}\"]]],\"MC\":[\"377\",\"00\",\"(?:[3489]|6\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"4\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[389]\"]],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"6\"],\"0$1\"]],\"0\"],\"MD\":[\"373\",\"00\",\"(?:[235-7]\\\\d|[89]0)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"22|3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[25-7]\"],\"0$1\"]],\"0\"],\"ME\":[\"382\",\"00\",\"(?:20|[3-79]\\\\d)\\\\d{6}|80\\\\d{6,7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-9]\"],\"0$1\"]],\"0\"],\"MF\":[\"590\",\"00\",\"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5]))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:395|76[018])\\\\d|475[0-5])\\\\d{4}\"]]],\"MG\":[\"261\",\"00\",\"[23]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[23]\"],\"0$1\"]],\"0\",0,\"([24-9]\\\\d{6})$|0\",\"20$1\"],\"MH\":[\"692\",\"011\",\"329\\\\d{4}|(?:[256]\\\\d|45)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-6]\"]]],\"1\"],\"MK\":[\"389\",\"00\",\"[2-578]\\\\d{7}\",[8],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2|34[47]|4(?:[37]7|5[47]|64)\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[347]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[58]\"],\"0$1\"]],\"0\"],\"ML\":[\"223\",\"00\",\"[24-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-9]\"]]]],\"MM\":[\"95\",\"00\",\"1\\\\d{5,7}|95\\\\d{6}|(?:[4-7]|9[0-46-9])\\\\d{6,8}|(?:2|8\\\\d)\\\\d{5,8}\",[6,7,8,9,10],[[\"(\\\\d)(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"16|2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[12]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[4-7]|8[1-35]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4,6})\",\"$1 $2 $3\",[\"9(?:2[0-4]|[35-9]|4[137-9])\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"92\"],\"0$1\"],[\"(\\\\d)(\\\\d{5})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"MN\":[\"976\",\"001\",\"[12]\\\\d{7,9}|[5-9]\\\\d{7}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[12]1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[5-9]\"]],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"[12]2[1-3]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5,6})\",\"$1 $2\",[\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])\",\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{4,5})\",\"$1 $2\",[\"[12]\"],\"0$1\"]],\"0\"],\"MO\":[\"853\",\"00\",\"0800\\\\d{3}|(?:28|[68]\\\\d)\\\\d{6}\",[7,8],[[\"(\\\\d{4})(\\\\d{3})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[268]\"]]]],\"MP\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:67|90)0\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"670$1\",0,\"670\"],\"MQ\":[\"596\",\"00\",\"596\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[569]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"MR\":[\"222\",\"00\",\"(?:[2-4]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-48]\"]]]],\"MS\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|664|900)\\\\d{7}\",[10],0,\"1\",0,\"([34]\\\\d{6})$|1\",\"664$1\",0,\"664\"],\"MT\":[\"356\",\"00\",\"3550\\\\d{4}|(?:[2579]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2357-9]\"]]]],\"MU\":[\"230\",\"0(?:0|[24-7]0|3[03])\",\"(?:[57]|8\\\\d\\\\d)\\\\d{7}|[2-468]\\\\d{6}\",[7,8,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-46]|8[013]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[57]\"]],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"8\"]]],0,0,0,0,0,0,0,\"020\"],\"MV\":[\"960\",\"0(?:0|19)\",\"(?:800|9[0-57-9]\\\\d)\\\\d{7}|[34679]\\\\d{6}\",[7,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[34679]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]],0,0,0,0,0,0,0,\"00\"],\"MW\":[\"265\",\"00\",\"(?:[1289]\\\\d|31|77)\\\\d{7}|1\\\\d{6}\",[7,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[137-9]\"],\"0$1\"]],\"0\"],\"MX\":[\"52\",\"0[09]\",\"1(?:(?:[27]2|44|99)[1-9]|65[0-689])\\\\d{7}|(?:1(?:[01]\\\\d|2[13-9]|[35][1-9]|4[0-35-9]|6[0-46-9]|7[013-9]|8[1-79]|9[1-8])|[2-9]\\\\d)\\\\d{8}\",[10,11],[[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"33|5[56]|81\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-9]\"],0,1],[\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$2 $3 $4\",[\"1(?:33|5[56]|81)\"],0,1],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$2 $3 $4\",[\"1\"],0,1]],\"01\",0,\"0(?:[12]|4[45])|1\",0,0,0,0,\"00\"],\"MY\":[\"60\",\"00\",\"1\\\\d{8,9}|(?:3\\\\d|[4-9])\\\\d{7}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3\",[\"[4-79]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1-$2 $3\",[\"1(?:[02469]|[378][1-9]|53)|8\",\"1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1-$2 $3\",[\"3\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3-$4\",[\"1(?:[367]|80)\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3\",[\"15\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2 $3\",[\"1\"],\"0$1\"]],\"0\"],\"MZ\":[\"258\",\"00\",\"(?:2|8\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2|8[2-79]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"NA\":[\"264\",\"00\",\"[68]\\\\d{7,8}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"88\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"6\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"87\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"NC\":[\"687\",\"00\",\"(?:050|[2-57-9]\\\\d\\\\d)\\\\d{3}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1.$2.$3\",[\"[02-57-9]\"]]]],\"NE\":[\"227\",\"00\",\"[027-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"08\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[089]|2[013]|7[047]\"]]]],\"NF\":[\"672\",\"00\",\"[13]\\\\d{5}\",[6],[[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"1[0-3]\"]],[\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"[13]\"]]],0,0,\"([0-258]\\\\d{4})$\",\"3$1\"],\"NG\":[\"234\",\"009\",\"(?:[124-7]|9\\\\d{3})\\\\d{6}|[1-9]\\\\d{7}|[78]\\\\d{9,13}\",[7,8,10,11,12,13,14],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"78\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[12]|9(?:0[3-9]|[1-9])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[3-7]|8[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[7-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})(\\\\d{5,6})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"]],\"0\"],\"NI\":[\"505\",\"00\",\"(?:1800|[25-8]\\\\d{3})\\\\d{4}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[125-8]\"]]]],\"NL\":[\"31\",\"00\",\"(?:[124-7]\\\\d\\\\d|3(?:[02-9]\\\\d|1[0-8]))\\\\d{6}|8\\\\d{6,9}|9\\\\d{6,10}|1\\\\d{4,5}\",[5,6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{4,7})\",\"$1 $2\",[\"[89]0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"66\"],\"0$1\"],[\"(\\\\d)(\\\\d{8})\",\"$1 $2\",[\"6\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1[16-8]|2[259]|3[124]|4[17-9]|5[124679]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-578]|91\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"NO\":[\"47\",\"00\",\"(?:0|[2-9]\\\\d{3})\\\\d{4}\",[5,8],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-79]\"]]],0,0,0,0,0,\"[02-689]|7[0-8]\"],\"NP\":[\"977\",\"00\",\"(?:1\\\\d|9)\\\\d{9}|[1-9]\\\\d{7}\",[8,10,11],[[\"(\\\\d)(\\\\d{7})\",\"$1-$2\",[\"1[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1-$2\",[\"1[01]|[2-8]|9(?:[1-59]|[67][2-6])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"9\"]]],\"0\"],\"NR\":[\"674\",\"00\",\"(?:444|(?:55|8\\\\d)\\\\d|666)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[4-68]\"]]]],\"NU\":[\"683\",\"00\",\"(?:[47]|888\\\\d)\\\\d{3}\",[4,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"8\"]]]],\"NZ\":[\"64\",\"0(?:0|161)\",\"[29]\\\\d{7,9}|50\\\\d{5}(?:\\\\d{2,3})?|6[0-35-9]\\\\d{6}|7\\\\d{7,8}|8\\\\d{4,9}|(?:11\\\\d|[34])\\\\d{7}\",[5,6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{3,8})\",\"$1 $2\",[\"8[1-579]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"50[036-8]|[89]0\",\"50(?:[0367]|88)|[89]0\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"24|[346]|7[2-57-9]|9[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2(?:10|74)|[59]|80\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1|2[028]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,5})\",\"$1 $2 $3\",[\"2(?:[169]|7[0-35-9])|7|86\"],\"0$1\"]],\"0\",0,0,0,0,0,0,\"00\"],\"OM\":[\"968\",\"00\",\"(?:1505|[279]\\\\d{3}|500)\\\\d{4}|800\\\\d{5,6}\",[7,8,9],[[\"(\\\\d{3})(\\\\d{4,6})\",\"$1 $2\",[\"[58]\"]],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"2\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[179]\"]]]],\"PA\":[\"507\",\"00\",\"(?:00800|8\\\\d{3})\\\\d{6}|[68]\\\\d{7}|[1-57-9]\\\\d{6}\",[7,8,10,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[1-57-9]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[68]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]]],\"PE\":[\"51\",\"00|19(?:1[124]|77|90)00\",\"(?:[14-8]|9\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"1\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[4-8]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"]]],\"0\",0,0,0,0,0,0,\"00\",\" Anexo \"],\"PF\":[\"689\",\"00\",\"4\\\\d{5}(?:\\\\d{2})?|8\\\\d{7,8}\",[6,8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"44\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"4|8[7-9]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]]]],\"PG\":[\"675\",\"00|140[1-3]\",\"(?:180|[78]\\\\d{3})\\\\d{4}|(?:[2-589]\\\\d|64)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"18|[2-69]|85\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[78]\"]]],0,0,0,0,0,0,0,\"00\"],\"PH\":[\"63\",\"00\",\"(?:[2-7]|9\\\\d)\\\\d{8}|2\\\\d{5}|(?:1800|8)\\\\d{7,9}\",[6,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"2\"],\"(0$1)\"],[\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2\",\"3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))\"],\"(0$1)\"],[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"346|4(?:27|9[35])|883\",\"3469|4(?:279|9(?:30|56))|8834\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-7]|8[2-8]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{4})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"1\"]]],\"0\"],\"PK\":[\"92\",\"00\",\"122\\\\d{6}|[24-8]\\\\d{10,11}|9(?:[013-9]\\\\d{8,10}|2(?:[01]\\\\d\\\\d|2(?:[06-8]\\\\d|1[01]))\\\\d{7})|(?:[2-8]\\\\d{3}|92(?:[0-7]\\\\d|8[1-9]))\\\\d{6}|[24-9]\\\\d{8}|[89]\\\\d{7}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,7})\",\"$1 $2 $3\",[\"[89]0\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"1\"]],[\"(\\\\d{3})(\\\\d{6,7})\",\"$1 $2\",[\"2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])\",\"9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{7,8})\",\"$1 $2\",[\"(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\"],\"(0$1)\"],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"58\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[24-9]\"],\"(0$1)\"]],\"0\"],\"PL\":[\"48\",\"00\",\"(?:6|8\\\\d\\\\d)\\\\d{7}|[1-9]\\\\d{6}(?:\\\\d{2})?|[26]\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{5})\",\"$1\",[\"19\"]],[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"11|20|64\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1\",\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"64\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[2-8]|[2-7]|8[1-79]|9[145]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"8\"]]]],\"PM\":[\"508\",\"00\",\"[45]\\\\d{5}|(?:708|80\\\\d)\\\\d{6}\",[6,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[45]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"PR\":[\"1\",\"011\",\"(?:[589]\\\\d\\\\d|787)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"787|939\"],\"PS\":[\"970\",\"00\",\"[2489]2\\\\d{6}|(?:1\\\\d|5)\\\\d{8}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2489]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"PT\":[\"351\",\"00\",\"1693\\\\d{5}|(?:[26-9]\\\\d|30)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2[12]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"16|[236-9]\"]]]],\"PW\":[\"680\",\"01[12]\",\"(?:[24-8]\\\\d\\\\d|345|900)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"PY\":[\"595\",\"00\",\"59\\\\d{4,6}|9\\\\d{5,10}|(?:[2-46-8]\\\\d|5[0-8])\\\\d{4,7}\",[6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{3,6})\",\"$1 $2\",[\"[2-9]0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{4,5})\",\"$1 $2\",[\"2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"87\"]],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"9(?:[5-79]|8[1-6])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-8]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"]]],\"0\"],\"QA\":[\"974\",\"00\",\"800\\\\d{4}|(?:2|800)\\\\d{6}|(?:0080|[3-7])\\\\d{7}\",[7,8,9,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"2[16]|8\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[3-7]\"]]]],\"RE\":[\"262\",\"00\",\"(?:26|[689]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2689]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"26(?:2\\\\d\\\\d|3(?:0\\\\d|1[0-4]))\\\\d{4}\"],[\"69(?:2\\\\d\\\\d|3(?:0[0-46]|1[013]|2[0-2]|3[0-39]|4\\\\d|5[0-5]|6[0-6]|7[0-27]|8[0-8]|9[0-479]))\\\\d{4}\"],[\"80\\\\d{7}\"],[\"89[1-37-9]\\\\d{6}\"],0,0,0,0,[\"9(?:399[0-3]|479[0-5]|76(?:2[27]|3[0-37]))\\\\d{4}\"],[\"8(?:1[019]|2[0156]|84|90)\\\\d{6}\"]]],\"RO\":[\"40\",\"00\",\"(?:[2378]\\\\d|90)\\\\d{7}|[23]\\\\d{5}\",[6,9],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"2[3-6]\",\"2[3-6]\\\\d9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"219|31\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[23]1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[237-9]\"],\"0$1\"]],\"0\",0,0,0,0,0,0,0,\" int \"],\"RS\":[\"381\",\"00\",\"38[02-9]\\\\d{6,9}|6\\\\d{7,9}|90\\\\d{4,8}|38\\\\d{5,6}|(?:7\\\\d\\\\d|800)\\\\d{3,9}|(?:[12]\\\\d|3[0-79])\\\\d{5,10}\",[6,7,8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3,9})\",\"$1 $2\",[\"(?:2[389]|39)0|[7-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5,10})\",\"$1 $2\",[\"[1-36]\"],\"0$1\"]],\"0\"],\"RU\":[\"7\",\"810\",\"8\\\\d{13}|[347-9]\\\\d{9}\",[10,14],[[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"7(?:1[0-8]|2[1-9])\",\"7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))\",\"7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2\"],\"8 ($1)\",1],[\"(\\\\d{5})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"7(?:1[0-68]|2[1-9])\",\"7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))\",\"7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]\"],\"8 ($1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"8 ($1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[349]|8(?:[02-7]|1[1-8])\"],\"8 ($1)\",1],[\"(\\\\d{4})(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"8\"],\"8 ($1)\"]],\"8\",0,0,0,0,\"3[04-689]|[489]\",0,\"8~10\"],\"RW\":[\"250\",\"00\",\"(?:06|[27]\\\\d\\\\d|[89]00)\\\\d{6}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"0\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"]]],\"0\"],\"SA\":[\"966\",\"00\",\"92\\\\d{7}|(?:[15]|8\\\\d)\\\\d{8}\",[9,10],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"9\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"81\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],\"0\"],\"SB\":[\"677\",\"0[01]\",\"(?:[1-6]|[7-9]\\\\d\\\\d)\\\\d{4}\",[5,7],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7|8[4-9]|9(?:[1-8]|9[0-8])\"]]]],\"SC\":[\"248\",\"010|0[0-2]\",\"800\\\\d{4}|(?:[249]\\\\d|64)\\\\d{5}\",[7],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[246]|9[57]\"]]],0,0,0,0,0,0,0,\"00\"],\"SD\":[\"249\",\"00\",\"[19]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],\"0\"],\"SE\":[\"46\",\"00\",\"(?:[26]\\\\d\\\\d|9)\\\\d{9}|[1-9]\\\\d{8}|[1-689]\\\\d{7}|[1-4689]\\\\d{6}|2\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})\",\"$1-$2 $3\",[\"20\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"9(?:00|39|44|9)\"],\"0$1\",0,\"$1 $2\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1-$2 $3\",[\"[12][136]|3[356]|4[0246]|6[03]|90[1-9]\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d)(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"8\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{2})\",\"$1-$2 $3\",[\"1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{3})\",\"$1-$2 $3\",[\"9(?:00|39|44)\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"10|7\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"8\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1-$2 $3 $4\",[\"9\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4 $5\",[\"[26]\"],\"0$1\",0,\"$1 $2 $3 $4 $5\"]],\"0\"],\"SG\":[\"65\",\"0[0-3]\\\\d\",\"(?:(?:1\\\\d|8)\\\\d\\\\d|7000)\\\\d{7}|[3689]\\\\d{7}\",[8,10,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[369]|8(?:0[1-8]|[1-9])\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{4})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]]],\"SH\":[\"290\",\"00\",\"(?:[256]\\\\d|8)\\\\d{3}\",[4,5],0,0,0,0,0,0,\"[256]\"],\"SI\":[\"386\",\"00|10(?:22|66|88|99)\",\"[1-7]\\\\d{7}|8\\\\d{4,7}|90\\\\d{4,6}\",[5,6,7,8],[[\"(\\\\d{2})(\\\\d{3,6})\",\"$1 $2\",[\"8[09]|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"59|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[37][01]|4[0139]|51|6\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[1-57]\"],\"(0$1)\"]],\"0\",0,0,0,0,0,0,\"00\"],\"SJ\":[\"47\",\"00\",\"0\\\\d{4}|(?:[489]\\\\d|[57]9)\\\\d{6}\",[5,8],0,0,0,0,0,0,\"79\"],\"SK\":[\"421\",\"00\",\"[2-689]\\\\d{8}|[2-59]\\\\d{6}|[2-5]\\\\d{5}\",[6,7,9],[[\"(\\\\d)(\\\\d{2})(\\\\d{3,4})\",\"$1 $2 $3\",[\"21\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[3-5][1-8]1\",\"[3-5][1-8]1[67]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[689]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"[3-5]\"],\"0$1\"]],\"0\"],\"SL\":[\"232\",\"00\",\"(?:[237-9]\\\\d|66)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[236-9]\"],\"(0$1)\"]],\"0\"],\"SM\":[\"378\",\"00\",\"(?:0549|[5-7]\\\\d)\\\\d{6}\",[8,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-7]\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"0\"]]],0,0,\"([89]\\\\d{5})$\",\"0549$1\"],\"SN\":[\"221\",\"00\",\"(?:[378]\\\\d|93)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[379]\"]]]],\"SO\":[\"252\",\"00\",\"[346-9]\\\\d{8}|[12679]\\\\d{7}|[1-5]\\\\d{6}|[1348]\\\\d{5}\",[6,7,8,9],[[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"8[125]\"]],[\"(\\\\d{6})\",\"$1\",[\"[134]\"]],[\"(\\\\d)(\\\\d{6})\",\"$1 $2\",[\"[15]|2[0-79]|3[0-46-8]|4[0-7]\"]],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"(?:2|90)4|[67]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[348]|64|79|90\"]],[\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"1|28|6[0-35-9]|77|9[2-9]\"]]],\"0\"],\"SR\":[\"597\",\"00\",\"(?:[2-5]|68|[78]\\\\d)\\\\d{5}\",[6,7],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\",[\"56\"]],[\"(\\\\d{3})(\\\\d{3})\",\"$1-$2\",[\"[2-5]\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[6-8]\"]]]],\"SS\":[\"211\",\"00\",\"[19]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],\"0\"],\"ST\":[\"239\",\"00\",\"(?:22|9\\\\d)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[29]\"]]]],\"SV\":[\"503\",\"00\",\"[267]\\\\d{7}|[89]00\\\\d{4}(?:\\\\d{4})?\",[7,8,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[89]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[267]\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]]],\"SX\":[\"1\",\"011\",\"7215\\\\d{6}|(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"(5\\\\d{6})$|1\",\"721$1\",0,\"721\"],\"SY\":[\"963\",\"00\",\"[1-39]\\\\d{8}|[1-5]\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-5]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\",1]],\"0\"],\"SZ\":[\"268\",\"00\",\"0800\\\\d{4}|(?:[237]\\\\d|900)\\\\d{6}\",[8,9],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[0237]\"]],[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"9\"]]]],\"TA\":[\"290\",\"00\",\"8\\\\d{3}\",[4],0,0,0,0,0,0,\"8\"],\"TC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|649|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-479]\\\\d{6})$|1\",\"649$1\",0,\"649\"],\"TD\":[\"235\",\"00|16\",\"(?:22|[69]\\\\d|77)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2679]\"]]],0,0,0,0,0,0,0,\"00\"],\"TG\":[\"228\",\"00\",\"[279]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[279]\"]]]],\"TH\":[\"66\",\"00[1-9]\",\"(?:001800|[2-57]|[689]\\\\d)\\\\d{7}|1\\\\d{7,9}\",[8,9,10,13],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[13-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"TJ\":[\"992\",\"810\",\"[0-57-9]\\\\d{8}\",[9],[[\"(\\\\d{6})(\\\\d)(\\\\d{2})\",\"$1 $2 $3\",[\"331\",\"3317\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[34]7\"]],[\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"3[1-5]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[0-57-9]\"]]],0,0,0,0,0,0,0,\"8~10\"],\"TK\":[\"690\",\"00\",\"[2-47]\\\\d{3,6}\",[4,5,6,7]],\"TL\":[\"670\",\"00\",\"7\\\\d{7}|(?:[2-47]\\\\d|[89]0)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-489]|70\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"7\"]]]],\"TM\":[\"993\",\"810\",\"[1-6]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"12\"],\"(8 $1)\"],[\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[1-5]\"],\"(8 $1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"6\"],\"8 $1\"]],\"8\",0,0,0,0,0,0,\"8~10\"],\"TN\":[\"216\",\"00\",\"[2-57-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-57-9]\"]]]],\"TO\":[\"676\",\"00\",\"(?:0800|(?:[5-8]\\\\d\\\\d|999)\\\\d)\\\\d{3}|[2-8]\\\\d{4}\",[5,7],[[\"(\\\\d{2})(\\\\d{3})\",\"$1-$2\",[\"[2-4]|50|6[09]|7[0-24-69]|8[05]\"]],[\"(\\\\d{4})(\\\\d{3})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[5-9]\"]]]],\"TR\":[\"90\",\"00\",\"4\\\\d{6}|8\\\\d{11,12}|(?:[2-58]\\\\d\\\\d|900)\\\\d{7}\",[7,10,12,13],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"512|8[01589]|90\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"5(?:[0-59]|61)\",\"5(?:[0-59]|616)\",\"5(?:[0-59]|6161)\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24][1-8]|3[1-9]\"],\"(0$1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{6,7})\",\"$1 $2 $3\",[\"80\"],\"0$1\",1]],\"0\"],\"TT\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-46-8]\\\\d{6})$|1\",\"868$1\",0,\"868\"],\"TV\":[\"688\",\"00\",\"(?:2|7\\\\d\\\\d|90)\\\\d{4}\",[5,6,7],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"2\"]],[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"90\"]],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]]],\"TW\":[\"886\",\"0(?:0[25-79]|19)\",\"[2-689]\\\\d{8}|7\\\\d{9,10}|[2-8]\\\\d{7}|2\\\\d{6}\",[7,8,9,10,11],[[\"(\\\\d{2})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"202\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[258]0\"],\"0$1\"],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]\",\"[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[49]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\",0,0,0,0,0,0,0,\"#\"],\"TZ\":[\"255\",\"00[056]\",\"(?:[25-8]\\\\d|41|90)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[24]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[67]\"],\"0$1\"]],\"0\"],\"UA\":[\"380\",\"00\",\"[89]\\\\d{9}|[3-9]\\\\d{8}\",[9,10],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]\",\"6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])\",\"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-7]|89|9[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\",0,0,0,0,0,0,\"0~0\"],\"UG\":[\"256\",\"00[057]\",\"800\\\\d{6}|(?:[29]0|[347]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"202\",\"2024\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[27-9]|4(?:6[45]|[7-9])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[34]\"],\"0$1\"]],\"0\"],\"US\":[\"1\",\"011\",\"[2-9]\\\\d{9}|3\\\\d{6}\",[10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"310\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"($1) $2-$3\",[\"[2-9]\"],0,1,\"$1-$2-$3\"]],\"1\",0,0,0,0,0,[[\"5056(?:[0-35-9]\\\\d|4[46])\\\\d{4}|(?:4722|505[2-57-9])\\\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[01356]|3[0-24679]|4[167]|5[0-2]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\\\d{6}\"],[\"\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"UY\":[\"598\",\"0(?:0|1[3-9]\\\\d)\",\"(?:0004|4)\\\\d{9}|[1249]\\\\d{7}|(?:[49]\\\\d|80)\\\\d{5}\",[7,8,10,13],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"405|8|90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[124]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"4\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"0\"]]],\"0\",0,0,0,0,0,0,\"00\",\" int. \"],\"UZ\":[\"998\",\"810\",\"200\\\\d{6}|(?:33|[5-79]\\\\d|88)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[235-9]\"],\"8 $1\"]],\"8\",0,0,0,0,0,0,\"8~10\"],\"VA\":[\"39\",\"00\",\"0\\\\d{5,10}|3[0-8]\\\\d{7,10}|55\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?|(?:1\\\\d|39)\\\\d{7,8}\",[6,7,8,9,10,11],0,0,0,0,0,0,\"06698\"],\"VC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|784|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"784$1\",0,\"784\"],\"VE\":[\"58\",\"00\",\"[68]00\\\\d{7}|(?:[24]\\\\d|[59]0)\\\\d{8}\",[10],[[\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"[24-689]\"],\"0$1\"]],\"0\"],\"VG\":[\"1\",\"011\",\"(?:284|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-578]\\\\d{6})$|1\",\"284$1\",0,\"284\"],\"VI\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:34|90)0\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"340$1\",0,\"340\"],\"VN\":[\"84\",\"00\",\"[12]\\\\d{9}|[135-9]\\\\d{8}|[16]\\\\d{7}|[16-8]\\\\d{6}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"1\"],0,1],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"6\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[357-9]\"],\"0$1\",1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[48]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\",1]],\"0\"],\"VU\":[\"678\",\"00\",\"[57-9]\\\\d{6}|(?:[238]\\\\d|48)\\\\d{3}\",[5,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[57-9]\"]]]],\"WF\":[\"681\",\"00\",\"(?:40|72)\\\\d{4}|8\\\\d{5}(?:\\\\d{3})?\",[6,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[478]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]]]],\"WS\":[\"685\",\"0\",\"(?:[2-6]|8\\\\d{5})\\\\d{4}|[78]\\\\d{6}|[68]\\\\d{5}\",[5,6,7,10],[[\"(\\\\d{5})\",\"$1\",[\"[2-5]|6[1-9]\"]],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"[68]\"]],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]]],\"XK\":[\"383\",\"00\",\"[23]\\\\d{7,8}|(?:4\\\\d\\\\d|[89]00)\\\\d{5}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-4]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[23]\"],\"0$1\"]],\"0\"],\"YE\":[\"967\",\"00\",\"(?:1|7\\\\d)\\\\d{7}|[1-7]\\\\d{6}\",[7,8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-6]|7(?:[24-6]|8[0-7])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"YT\":[\"262\",\"00\",\"(?:80|9\\\\d)\\\\d{7}|(?:26|63)9\\\\d{6}\",[9],0,\"0\",0,0,0,0,0,[[\"269(?:0[0-467]|5[0-4]|6\\\\d|[78]0)\\\\d{4}\"],[\"639(?:0[0-79]|1[019]|[267]\\\\d|3[09]|40|5[05-9]|9[04-79])\\\\d{4}\"],[\"80\\\\d{7}\"],0,0,0,0,0,[\"9(?:(?:39|47)8[01]|769\\\\d)\\\\d{4}\"]]],\"ZA\":[\"27\",\"00\",\"[1-79]\\\\d{8}|8\\\\d{4,9}\",[5,6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"8[1-4]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"8[1-4]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"860\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"ZM\":[\"260\",\"00\",\"800\\\\d{6}|(?:21|63|[79]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[28]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[79]\"],\"0$1\"]],\"0\"],\"ZW\":[\"263\",\"00\",\"2(?:[0-57-9]\\\\d{6,8}|6[0-24-9]\\\\d{6,7})|[38]\\\\d{9}|[35-8]\\\\d{8}|[3-6]\\\\d{7}|[1-689]\\\\d{6}|[1-3569]\\\\d{5}|[1356]\\\\d{4}\",[5,6,7,8,9,10],[[\"(\\\\d{3})(\\\\d{3,5})\",\"$1 $2\",[\"2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"[49]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"80\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2\",\"2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)\",\"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,5})\",\"$1 $2\",[\"1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"29[013-9]|39|54\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,5})\",\"$1 $2\",[\"(?:25|54)8\",\"258|5483\"],\"0$1\"]],\"0\"]},\"nonGeographic\":{\"800\":[\"800\",0,\"(?:00|[1-9]\\\\d)\\\\d{6}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"\\\\d\"]]],0,0,0,0,0,0,[0,0,[\"(?:00|[1-9]\\\\d)\\\\d{6}\"]]],\"808\":[\"808\",0,\"[1-9]\\\\d{7}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[1-9]\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,0,[\"[1-9]\\\\d{7}\"]]],\"870\":[\"870\",0,\"7\\\\d{11}|[35-7]\\\\d{8}\",[9,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[35-7]\"]]],0,0,0,0,0,0,[0,[\"(?:[356]|774[45])\\\\d{8}|7[6-8]\\\\d{7}\"]]],\"878\":[\"878\",0,\"10\\\\d{10}\",[12],[[\"(\\\\d{2})(\\\\d{5})(\\\\d{5})\",\"$1 $2 $3\",[\"1\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[\"10\\\\d{10}\"]]],\"881\":[\"881\",0,\"[0-36-9]\\\\d{8}\",[9],[[\"(\\\\d)(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\",[\"[0-36-9]\"]]],0,0,0,0,0,0,[0,[\"[0-36-9]\\\\d{8}\"]]],\"882\":[\"882\",0,\"[13]\\\\d{6}(?:\\\\d{2,5})?|[19]\\\\d{7}|(?:[25]\\\\d\\\\d|4)\\\\d{7}(?:\\\\d{2})?\",[7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"16|342\"]],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"49\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"1[36]|9\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"3[23]\"]],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"16\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"10|23|3(?:[15]|4[57])|4|51\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"34\"]],[\"(\\\\d{2})(\\\\d{4,5})(\\\\d{5})\",\"$1 $2 $3\",[\"[1-35]\"]]],0,0,0,0,0,0,[0,[\"342\\\\d{4}|(?:337|49)\\\\d{6}|(?:3(?:2|47|7\\\\d{3})|50\\\\d{3})\\\\d{7}\",[7,8,9,10,12]],0,0,0,0,0,0,[\"1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\\\d{4}|6\\\\d{5,10})|(?:345\\\\d|9[89])\\\\d{6}|(?:10|2(?:3|85\\\\d)|3(?:[15]|[69]\\\\d\\\\d)|4[15-8]|51)\\\\d{8}\"]]],\"883\":[\"883\",0,\"(?:[1-4]\\\\d|51)\\\\d{6,10}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,8})\",\"$1 $2 $3\",[\"[14]|2[24-689]|3[02-689]|51[24-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"510\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"21\"]],[\"(\\\\d{4})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"51[13]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[235]\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[\"(?:2(?:00\\\\d\\\\d|10)|(?:370[1-9]|51\\\\d0)\\\\d)\\\\d{7}|51(?:00\\\\d{5}|[24-9]0\\\\d{4,7})|(?:1[013-79]|2[24-689]|3[02-689]|4[0-4])0\\\\d{5,9}\"]]],\"888\":[\"888\",0,\"\\\\d{11}\",[11],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\"]],0,0,0,0,0,0,[0,0,0,0,0,0,[\"\\\\d{11}\"]]],\"979\":[\"979\",0,\"[1359]\\\\d{8}\",[9],[[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[1359]\"]]],0,0,0,0,0,0,[0,0,0,[\"[1359]\\\\d{8}\"]]]}}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n// Extracts the following properties from function arguments:\n// * input `text`\n// * `options` object\n// * `metadata` JSON\nexport default function normalizeArguments(args) {\n var _Array$prototype$slic = Array.prototype.slice.call(args),\n _Array$prototype$slic2 = _slicedToArray(_Array$prototype$slic, 4),\n arg_1 = _Array$prototype$slic2[0],\n arg_2 = _Array$prototype$slic2[1],\n arg_3 = _Array$prototype$slic2[2],\n arg_4 = _Array$prototype$slic2[3];\n\n var text;\n var options;\n var metadata; // If the phone number is passed as a string.\n // `parsePhoneNumber('88005553535', ...)`.\n\n if (typeof arg_1 === 'string') {\n text = arg_1;\n } else throw new TypeError('A text for parsing must be a string.'); // If \"default country\" argument is being passed then move it to `options`.\n // `parsePhoneNumber('88005553535', 'RU', [options], metadata)`.\n\n\n if (!arg_2 || typeof arg_2 === 'string') {\n if (arg_4) {\n options = arg_3;\n metadata = arg_4;\n } else {\n options = undefined;\n metadata = arg_3;\n }\n\n if (arg_2) {\n options = _objectSpread({\n defaultCountry: arg_2\n }, options);\n }\n } // `defaultCountry` is not passed.\n // Example: `parsePhoneNumber('+78005553535', [options], metadata)`.\n else if (isObject(arg_2)) {\n if (arg_3) {\n options = arg_2;\n metadata = arg_3;\n } else {\n metadata = arg_2;\n }\n } else throw new Error(\"Invalid second argument: \".concat(arg_2));\n\n return {\n text: text,\n options: options,\n metadata: metadata\n };\n} // Otherwise istanbul would show this as \"branch not covered\".\n\n/* istanbul ignore next */\n\nvar isObject = function isObject(_) {\n return _typeof(_) === 'object';\n};\n//# sourceMappingURL=normalizeArguments.js.map","// The minimum length of the national significant number.\nexport var MIN_LENGTH_FOR_NSN = 2; // The ITU says the maximum length should be 15,\n// but one can find longer numbers in Germany.\n\nexport var MAX_LENGTH_FOR_NSN = 17; // The maximum length of the country calling code.\n\nexport var MAX_LENGTH_COUNTRY_CODE = 3; // Digits accepted in phone numbers\n// (ascii, fullwidth, arabic-indic, and eastern arabic digits).\n\nexport var VALID_DIGITS = \"0-9\\uFF10-\\uFF19\\u0660-\\u0669\\u06F0-\\u06F9\"; // `DASHES` will be right after the opening square bracket of the \"character class\"\n\nvar DASHES = \"-\\u2010-\\u2015\\u2212\\u30FC\\uFF0D\";\nvar SLASHES = \"\\uFF0F/\";\nvar DOTS = \"\\uFF0E.\";\nexport var WHITESPACE = \" \\xA0\\xAD\\u200B\\u2060\\u3000\";\nvar BRACKETS = \"()\\uFF08\\uFF09\\uFF3B\\uFF3D\\\\[\\\\]\"; // export const OPENING_BRACKETS = '(\\uFF08\\uFF3B\\\\\\['\n\nvar TILDES = \"~\\u2053\\u223C\\uFF5E\"; // Regular expression of acceptable punctuation found in phone numbers. This\n// excludes punctuation found as a leading character only. This consists of dash\n// characters, white space characters, full stops, slashes, square brackets,\n// parentheses and tildes. Full-width variants are also present.\n\nexport var VALID_PUNCTUATION = \"\".concat(DASHES).concat(SLASHES).concat(DOTS).concat(WHITESPACE).concat(BRACKETS).concat(TILDES);\nexport var PLUS_CHARS = \"+\\uFF0B\"; // const LEADING_PLUS_CHARS_PATTERN = new RegExp('^[' + PLUS_CHARS + ']+')\n//# sourceMappingURL=constants.js.map","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n// https://stackoverflow.com/a/46971044/970769\n// \"Breaking changes in Typescript 2.1\"\n// \"Extending built-ins like Error, Array, and Map may no longer work.\"\n// \"As a recommendation, you can manually adjust the prototype immediately after any super(...) calls.\"\n// https://github.com/Microsoft/TypeScript-wiki/blob/main/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\nvar ParseError = /*#__PURE__*/function (_Error) {\n _inherits(ParseError, _Error);\n\n var _super = _createSuper(ParseError);\n\n function ParseError(code) {\n var _this;\n\n _classCallCheck(this, ParseError);\n\n _this = _super.call(this, code); // Set the prototype explicitly.\n // Any subclass of FooError will have to manually set the prototype as well.\n\n Object.setPrototypeOf(_assertThisInitialized(_this), ParseError.prototype);\n _this.name = _this.constructor.name;\n return _this;\n }\n\n return _createClass(ParseError);\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nexport { ParseError as default };\n//# sourceMappingURL=ParseError.js.map","// Copy-pasted from:\n// https://github.com/substack/semver-compare/blob/master/index.js\n//\n// Inlining this function because some users reported issues with\n// importing from `semver-compare` in a browser with ES6 \"native\" modules.\n//\n// Fixes `semver-compare` not being able to compare versions with alpha/beta/etc \"tags\".\n// https://github.com/catamphetamine/libphonenumber-js/issues/381\nexport default function (a, b) {\n a = a.split('-');\n b = b.split('-');\n var pa = a[0].split('.');\n var pb = b[0].split('.');\n\n for (var i = 0; i < 3; i++) {\n var na = Number(pa[i]);\n var nb = Number(pb[i]);\n if (na > nb) return 1;\n if (nb > na) return -1;\n if (!isNaN(na) && isNaN(nb)) return 1;\n if (isNaN(na) && !isNaN(nb)) return -1;\n }\n\n if (a[1] && b[1]) {\n return a[1] > b[1] ? 1 : a[1] < b[1] ? -1 : 0;\n }\n\n return !a[1] && b[1] ? 1 : a[1] && !b[1] ? -1 : 0;\n}\n//# sourceMappingURL=semver-compare.js.map","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nimport compare from './tools/semver-compare.js'; // Added \"possibleLengths\" and renamed\n// \"country_phone_code_to_countries\" to \"country_calling_codes\".\n\nvar V2 = '1.0.18'; // Added \"idd_prefix\" and \"default_idd_prefix\".\n\nvar V3 = '1.2.0'; // Moved `001` country code to \"nonGeographic\" section of metadata.\n\nvar V4 = '1.7.35';\nvar DEFAULT_EXT_PREFIX = ' ext. ';\nvar CALLING_CODE_REG_EXP = /^\\d+$/;\n/**\r\n * See: https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md\r\n */\n\nvar Metadata = /*#__PURE__*/function () {\n function Metadata(metadata) {\n _classCallCheck(this, Metadata);\n\n validateMetadata(metadata);\n this.metadata = metadata;\n setVersion.call(this, metadata);\n }\n\n _createClass(Metadata, [{\n key: \"getCountries\",\n value: function getCountries() {\n return Object.keys(this.metadata.countries).filter(function (_) {\n return _ !== '001';\n });\n }\n }, {\n key: \"getCountryMetadata\",\n value: function getCountryMetadata(countryCode) {\n return this.metadata.countries[countryCode];\n }\n }, {\n key: \"nonGeographic\",\n value: function nonGeographic() {\n if (this.v1 || this.v2 || this.v3) return; // `nonGeographical` was a typo.\n // It's present in metadata generated from `1.7.35` to `1.7.37`.\n // The test case could be found by searching for \"nonGeographical\".\n\n return this.metadata.nonGeographic || this.metadata.nonGeographical;\n }\n }, {\n key: \"hasCountry\",\n value: function hasCountry(country) {\n return this.getCountryMetadata(country) !== undefined;\n }\n }, {\n key: \"hasCallingCode\",\n value: function hasCallingCode(callingCode) {\n if (this.getCountryCodesForCallingCode(callingCode)) {\n return true;\n }\n\n if (this.nonGeographic()) {\n if (this.nonGeographic()[callingCode]) {\n return true;\n }\n } else {\n // A hacky workaround for old custom metadata (generated before V4).\n var countryCodes = this.countryCallingCodes()[callingCode];\n\n if (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\n return true;\n }\n }\n }\n }, {\n key: \"isNonGeographicCallingCode\",\n value: function isNonGeographicCallingCode(callingCode) {\n if (this.nonGeographic()) {\n return this.nonGeographic()[callingCode] ? true : false;\n } else {\n return this.getCountryCodesForCallingCode(callingCode) ? false : true;\n }\n } // Deprecated.\n\n }, {\n key: \"country\",\n value: function country(countryCode) {\n return this.selectNumberingPlan(countryCode);\n }\n }, {\n key: \"selectNumberingPlan\",\n value: function selectNumberingPlan(countryCode, callingCode) {\n // Supports just passing `callingCode` as the first argument.\n if (countryCode && CALLING_CODE_REG_EXP.test(countryCode)) {\n callingCode = countryCode;\n countryCode = null;\n }\n\n if (countryCode && countryCode !== '001') {\n if (!this.hasCountry(countryCode)) {\n throw new Error(\"Unknown country: \".concat(countryCode));\n }\n\n this.numberingPlan = new NumberingPlan(this.getCountryMetadata(countryCode), this);\n } else if (callingCode) {\n if (!this.hasCallingCode(callingCode)) {\n throw new Error(\"Unknown calling code: \".concat(callingCode));\n }\n\n this.numberingPlan = new NumberingPlan(this.getNumberingPlanMetadata(callingCode), this);\n } else {\n this.numberingPlan = undefined;\n }\n\n return this;\n }\n }, {\n key: \"getCountryCodesForCallingCode\",\n value: function getCountryCodesForCallingCode(callingCode) {\n var countryCodes = this.countryCallingCodes()[callingCode];\n\n if (countryCodes) {\n // Metadata before V4 included \"non-geographic entity\" calling codes\n // inside `country_calling_codes` (for example, `\"881\":[\"001\"]`).\n // Now the semantics of `country_calling_codes` has changed:\n // it's specifically for \"countries\" now.\n // Older versions of custom metadata will simply skip parsing\n // \"non-geographic entity\" phone numbers with new versions\n // of this library: it's not considered a bug,\n // because such numbers are extremely rare,\n // and developers extremely rarely use custom metadata.\n if (countryCodes.length === 1 && countryCodes[0].length === 3) {\n return;\n }\n\n return countryCodes;\n }\n }\n }, {\n key: \"getCountryCodeForCallingCode\",\n value: function getCountryCodeForCallingCode(callingCode) {\n var countryCodes = this.getCountryCodesForCallingCode(callingCode);\n\n if (countryCodes) {\n return countryCodes[0];\n }\n }\n }, {\n key: \"getNumberingPlanMetadata\",\n value: function getNumberingPlanMetadata(callingCode) {\n var countryCode = this.getCountryCodeForCallingCode(callingCode);\n\n if (countryCode) {\n return this.getCountryMetadata(countryCode);\n }\n\n if (this.nonGeographic()) {\n var metadata = this.nonGeographic()[callingCode];\n\n if (metadata) {\n return metadata;\n }\n } else {\n // A hacky workaround for old custom metadata (generated before V4).\n // In that metadata, there was no concept of \"non-geographic\" metadata\n // so metadata for `001` country code was stored along with other countries.\n // The test case can be found by searching for:\n // \"should work around `nonGeographic` metadata not existing\".\n var countryCodes = this.countryCallingCodes()[callingCode];\n\n if (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\n return this.metadata.countries['001'];\n }\n }\n } // Deprecated.\n\n }, {\n key: \"countryCallingCode\",\n value: function countryCallingCode() {\n return this.numberingPlan.callingCode();\n } // Deprecated.\n\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n return this.numberingPlan.IDDPrefix();\n } // Deprecated.\n\n }, {\n key: \"defaultIDDPrefix\",\n value: function defaultIDDPrefix() {\n return this.numberingPlan.defaultIDDPrefix();\n } // Deprecated.\n\n }, {\n key: \"nationalNumberPattern\",\n value: function nationalNumberPattern() {\n return this.numberingPlan.nationalNumberPattern();\n } // Deprecated.\n\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n return this.numberingPlan.possibleLengths();\n } // Deprecated.\n\n }, {\n key: \"formats\",\n value: function formats() {\n return this.numberingPlan.formats();\n } // Deprecated.\n\n }, {\n key: \"nationalPrefixForParsing\",\n value: function nationalPrefixForParsing() {\n return this.numberingPlan.nationalPrefixForParsing();\n } // Deprecated.\n\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function nationalPrefixTransformRule() {\n return this.numberingPlan.nationalPrefixTransformRule();\n } // Deprecated.\n\n }, {\n key: \"leadingDigits\",\n value: function leadingDigits() {\n return this.numberingPlan.leadingDigits();\n } // Deprecated.\n\n }, {\n key: \"hasTypes\",\n value: function hasTypes() {\n return this.numberingPlan.hasTypes();\n } // Deprecated.\n\n }, {\n key: \"type\",\n value: function type(_type) {\n return this.numberingPlan.type(_type);\n } // Deprecated.\n\n }, {\n key: \"ext\",\n value: function ext() {\n return this.numberingPlan.ext();\n }\n }, {\n key: \"countryCallingCodes\",\n value: function countryCallingCodes() {\n if (this.v1) return this.metadata.country_phone_code_to_countries;\n return this.metadata.country_calling_codes;\n } // Deprecated.\n\n }, {\n key: \"chooseCountryByCountryCallingCode\",\n value: function chooseCountryByCountryCallingCode(callingCode) {\n return this.selectNumberingPlan(callingCode);\n }\n }, {\n key: \"hasSelectedNumberingPlan\",\n value: function hasSelectedNumberingPlan() {\n return this.numberingPlan !== undefined;\n }\n }]);\n\n return Metadata;\n}();\n\nexport { Metadata as default };\n\nvar NumberingPlan = /*#__PURE__*/function () {\n function NumberingPlan(metadata, globalMetadataObject) {\n _classCallCheck(this, NumberingPlan);\n\n this.globalMetadataObject = globalMetadataObject;\n this.metadata = metadata;\n setVersion.call(this, globalMetadataObject.metadata);\n }\n\n _createClass(NumberingPlan, [{\n key: \"callingCode\",\n value: function callingCode() {\n return this.metadata[0];\n } // Formatting information for regions which share\n // a country calling code is contained by only one region\n // for performance reasons. For example, for NANPA region\n // (\"North American Numbering Plan Administration\",\n // which includes USA, Canada, Cayman Islands, Bahamas, etc)\n // it will be contained in the metadata for `US`.\n\n }, {\n key: \"getDefaultCountryMetadataForRegion\",\n value: function getDefaultCountryMetadataForRegion() {\n return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode());\n } // Is always present.\n\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n if (this.v1 || this.v2) return;\n return this.metadata[1];\n } // Is only present when a country supports multiple IDD prefixes.\n\n }, {\n key: \"defaultIDDPrefix\",\n value: function defaultIDDPrefix() {\n if (this.v1 || this.v2) return;\n return this.metadata[12];\n }\n }, {\n key: \"nationalNumberPattern\",\n value: function nationalNumberPattern() {\n if (this.v1 || this.v2) return this.metadata[1];\n return this.metadata[2];\n } // \"possible length\" data is always present in Google's metadata.\n\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n if (this.v1) return;\n return this.metadata[this.v2 ? 2 : 3];\n }\n }, {\n key: \"_getFormats\",\n value: function _getFormats(metadata) {\n return metadata[this.v1 ? 2 : this.v2 ? 3 : 4];\n } // For countries of the same region (e.g. NANPA)\n // formats are all stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n }, {\n key: \"formats\",\n value: function formats() {\n var _this = this;\n\n var formats = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || [];\n return formats.map(function (_) {\n return new Format(_, _this);\n });\n }\n }, {\n key: \"nationalPrefix\",\n value: function nationalPrefix() {\n return this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5];\n }\n }, {\n key: \"_getNationalPrefixFormattingRule\",\n value: function _getNationalPrefixFormattingRule(metadata) {\n return metadata[this.v1 ? 4 : this.v2 ? 5 : 6];\n } // For countries of the same region (e.g. NANPA)\n // national prefix formatting rule is stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function nationalPrefixFormattingRule() {\n return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"_nationalPrefixForParsing\",\n value: function _nationalPrefixForParsing() {\n return this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7];\n }\n }, {\n key: \"nationalPrefixForParsing\",\n value: function nationalPrefixForParsing() {\n // If `national_prefix_for_parsing` is not set explicitly,\n // then infer it from `national_prefix` (if any)\n return this._nationalPrefixForParsing() || this.nationalPrefix();\n }\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function nationalPrefixTransformRule() {\n return this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8];\n }\n }, {\n key: \"_getNationalPrefixIsOptionalWhenFormatting\",\n value: function _getNationalPrefixIsOptionalWhenFormatting() {\n return !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9];\n } // For countries of the same region (e.g. NANPA)\n // \"national prefix is optional when formatting\" flag is\n // stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"leadingDigits\",\n value: function leadingDigits() {\n return this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10];\n }\n }, {\n key: \"types\",\n value: function types() {\n return this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11];\n }\n }, {\n key: \"hasTypes\",\n value: function hasTypes() {\n // Versions 1.2.0 - 1.2.4: can be `[]`.\n\n /* istanbul ignore next */\n if (this.types() && this.types().length === 0) {\n return false;\n } // Versions <= 1.2.4: can be `undefined`.\n // Version >= 1.2.5: can be `0`.\n\n\n return !!this.types();\n }\n }, {\n key: \"type\",\n value: function type(_type2) {\n if (this.hasTypes() && getType(this.types(), _type2)) {\n return new Type(getType(this.types(), _type2), this);\n }\n }\n }, {\n key: \"ext\",\n value: function ext() {\n if (this.v1 || this.v2) return DEFAULT_EXT_PREFIX;\n return this.metadata[13] || DEFAULT_EXT_PREFIX;\n }\n }]);\n\n return NumberingPlan;\n}();\n\nvar Format = /*#__PURE__*/function () {\n function Format(format, metadata) {\n _classCallCheck(this, Format);\n\n this._format = format;\n this.metadata = metadata;\n }\n\n _createClass(Format, [{\n key: \"pattern\",\n value: function pattern() {\n return this._format[0];\n }\n }, {\n key: \"format\",\n value: function format() {\n return this._format[1];\n }\n }, {\n key: \"leadingDigitsPatterns\",\n value: function leadingDigitsPatterns() {\n return this._format[2] || [];\n }\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function nationalPrefixFormattingRule() {\n return this._format[3] || this.metadata.nationalPrefixFormattingRule();\n }\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n return !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n }\n }, {\n key: \"nationalPrefixIsMandatoryWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsMandatoryWhenFormattingInNationalFormat() {\n // National prefix is omitted if there's no national prefix formatting rule\n // set for this country, or when the national prefix formatting rule\n // contains no national prefix itself, or when this rule is set but\n // national prefix is optional for this phone number format\n // (and it is not enforced explicitly)\n return this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n } // Checks whether national prefix formatting rule contains national prefix.\n\n }, {\n key: \"usesNationalPrefix\",\n value: function usesNationalPrefix() {\n return this.nationalPrefixFormattingRule() && // Check that national prefix formatting rule is not a \"dummy\" one.\n !FIRST_GROUP_ONLY_PREFIX_PATTERN.test(this.nationalPrefixFormattingRule()) // In compressed metadata, `this.nationalPrefixFormattingRule()` is `0`\n // when `national_prefix_formatting_rule` is not present.\n // So, `true` or `false` are returned explicitly here, so that\n // `0` number isn't returned.\n ? true : false;\n }\n }, {\n key: \"internationalFormat\",\n value: function internationalFormat() {\n return this._format[5] || this.format();\n }\n }]);\n\n return Format;\n}();\n/**\r\n * A pattern that is used to determine if the national prefix formatting rule\r\n * has the first group only, i.e., does not start with the national prefix.\r\n * Note that the pattern explicitly allows for unbalanced parentheses.\r\n */\n\n\nvar FIRST_GROUP_ONLY_PREFIX_PATTERN = /^\\(?\\$1\\)?$/;\n\nvar Type = /*#__PURE__*/function () {\n function Type(type, metadata) {\n _classCallCheck(this, Type);\n\n this.type = type;\n this.metadata = metadata;\n }\n\n _createClass(Type, [{\n key: \"pattern\",\n value: function pattern() {\n if (this.metadata.v1) return this.type;\n return this.type[0];\n }\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n if (this.metadata.v1) return;\n return this.type[1] || this.metadata.possibleLengths();\n }\n }]);\n\n return Type;\n}();\n\nfunction getType(types, type) {\n switch (type) {\n case 'FIXED_LINE':\n return types[0];\n\n case 'MOBILE':\n return types[1];\n\n case 'TOLL_FREE':\n return types[2];\n\n case 'PREMIUM_RATE':\n return types[3];\n\n case 'PERSONAL_NUMBER':\n return types[4];\n\n case 'VOICEMAIL':\n return types[5];\n\n case 'UAN':\n return types[6];\n\n case 'PAGER':\n return types[7];\n\n case 'VOIP':\n return types[8];\n\n case 'SHARED_COST':\n return types[9];\n }\n}\n\nexport function validateMetadata(metadata) {\n if (!metadata) {\n throw new Error('[libphonenumber-js] `metadata` argument not passed. Check your arguments.');\n } // `country_phone_code_to_countries` was renamed to\n // `country_calling_codes` in `1.0.18`.\n\n\n if (!is_object(metadata) || !is_object(metadata.countries)) {\n throw new Error(\"[libphonenumber-js] `metadata` argument was passed but it's not a valid metadata. Must be an object having `.countries` child object property. Got \".concat(is_object(metadata) ? 'an object of shape: { ' + Object.keys(metadata).join(', ') + ' }' : 'a ' + type_of(metadata) + ': ' + metadata, \".\"));\n }\n} // Babel transforms `typeof` into some \"branches\"\n// so istanbul will show this as \"branch not covered\".\n\n/* istanbul ignore next */\n\nvar is_object = function is_object(_) {\n return _typeof(_) === 'object';\n}; // Babel transforms `typeof` into some \"branches\"\n// so istanbul will show this as \"branch not covered\".\n\n/* istanbul ignore next */\n\n\nvar type_of = function type_of(_) {\n return _typeof(_);\n};\n/**\r\n * Returns extension prefix for a country.\r\n * @param {string} country\r\n * @param {object} metadata\r\n * @return {string?}\r\n * @example\r\n * // Returns \" ext. \"\r\n * getExtPrefix(\"US\")\r\n */\n\n\nexport function getExtPrefix(country, metadata) {\n metadata = new Metadata(metadata);\n\n if (metadata.hasCountry(country)) {\n return metadata.country(country).ext();\n }\n\n return DEFAULT_EXT_PREFIX;\n}\n/**\r\n * Returns \"country calling code\" for a country.\r\n * Throws an error if the country doesn't exist or isn't supported by this library.\r\n * @param {string} country\r\n * @param {object} metadata\r\n * @return {string}\r\n * @example\r\n * // Returns \"44\"\r\n * getCountryCallingCode(\"GB\")\r\n */\n\nexport function getCountryCallingCode(country, metadata) {\n metadata = new Metadata(metadata);\n\n if (metadata.hasCountry(country)) {\n return metadata.country(country).countryCallingCode();\n }\n\n throw new Error(\"Unknown country: \".concat(country));\n}\nexport function isSupportedCountry(country, metadata) {\n // metadata = new Metadata(metadata)\n // return metadata.hasCountry(country)\n return metadata.countries.hasOwnProperty(country);\n}\n\nfunction setVersion(metadata) {\n var version = metadata.version;\n\n if (typeof version === 'number') {\n this.v1 = version === 1;\n this.v2 = version === 2;\n this.v3 = version === 3;\n this.v4 = version === 4;\n } else {\n if (!version) {\n this.v1 = true;\n } else if (compare(version, V3) === -1) {\n this.v2 = true;\n } else if (compare(version, V4) === -1) {\n this.v3 = true;\n } else {\n this.v4 = true;\n }\n }\n} // const ISO_COUNTRY_CODE = /^[A-Z]{2}$/\n// function isCountryCode(countryCode) {\n// \treturn ISO_COUNTRY_CODE.test(countryCodeOrCountryCallingCode)\n// }\n//# sourceMappingURL=metadata.js.map","import { VALID_DIGITS } from '../../constants.js'; // The RFC 3966 format for extensions.\n\nvar RFC3966_EXTN_PREFIX = ';ext=';\n/**\r\n * Helper method for constructing regular expressions for parsing. Creates\r\n * an expression that captures up to max_length digits.\r\n * @return {string} RegEx pattern to capture extension digits.\r\n */\n\nvar getExtensionDigitsPattern = function getExtensionDigitsPattern(maxLength) {\n return \"([\".concat(VALID_DIGITS, \"]{1,\").concat(maxLength, \"})\");\n};\n/**\r\n * Helper initialiser method to create the regular-expression pattern to match\r\n * extensions.\r\n * Copy-pasted from Google's `libphonenumber`:\r\n * https://github.com/google/libphonenumber/blob/55b2646ec9393f4d3d6661b9c82ef9e258e8b829/javascript/i18n/phonenumbers/phonenumberutil.js#L759-L766\r\n * @return {string} RegEx pattern to capture extensions.\r\n */\n\n\nexport default function createExtensionPattern(purpose) {\n // We cap the maximum length of an extension based on the ambiguity of the way\n // the extension is prefixed. As per ITU, the officially allowed length for\n // extensions is actually 40, but we don't support this since we haven't seen real\n // examples and this introduces many false interpretations as the extension labels\n // are not standardized.\n\n /** @type {string} */\n var extLimitAfterExplicitLabel = '20';\n /** @type {string} */\n\n var extLimitAfterLikelyLabel = '15';\n /** @type {string} */\n\n var extLimitAfterAmbiguousChar = '9';\n /** @type {string} */\n\n var extLimitWhenNotSure = '6';\n /** @type {string} */\n\n var possibleSeparatorsBetweenNumberAndExtLabel = \"[ \\xA0\\\\t,]*\"; // Optional full stop (.) or colon, followed by zero or more spaces/tabs/commas.\n\n /** @type {string} */\n\n var possibleCharsAfterExtLabel = \"[:\\\\.\\uFF0E]?[ \\xA0\\\\t,-]*\";\n /** @type {string} */\n\n var optionalExtnSuffix = \"#?\"; // Here the extension is called out in more explicit way, i.e mentioning it obvious\n // patterns like \"ext.\".\n\n /** @type {string} */\n\n var explicitExtLabels = \"(?:e?xt(?:ensi(?:o\\u0301?|\\xF3))?n?|\\uFF45?\\uFF58\\uFF54\\uFF4E?|\\u0434\\u043E\\u0431|anexo)\"; // One-character symbols that can be used to indicate an extension, and less\n // commonly used or more ambiguous extension labels.\n\n /** @type {string} */\n\n var ambiguousExtLabels = \"(?:[x\\uFF58#\\uFF03~\\uFF5E]|int|\\uFF49\\uFF4E\\uFF54)\"; // When extension is not separated clearly.\n\n /** @type {string} */\n\n var ambiguousSeparator = \"[- ]+\"; // This is the same as possibleSeparatorsBetweenNumberAndExtLabel, but not matching\n // comma as extension label may have it.\n\n /** @type {string} */\n\n var possibleSeparatorsNumberExtLabelNoComma = \"[ \\xA0\\\\t]*\"; // \",,\" is commonly used for auto dialling the extension when connected. First\n // comma is matched through possibleSeparatorsBetweenNumberAndExtLabel, so we do\n // not repeat it here. Semi-colon works in Iphone and Android also to pop up a\n // button with the extension number following.\n\n /** @type {string} */\n\n var autoDiallingAndExtLabelsFound = \"(?:,{2}|;)\";\n /** @type {string} */\n\n var rfcExtn = RFC3966_EXTN_PREFIX + getExtensionDigitsPattern(extLimitAfterExplicitLabel);\n /** @type {string} */\n\n var explicitExtn = possibleSeparatorsBetweenNumberAndExtLabel + explicitExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterExplicitLabel) + optionalExtnSuffix;\n /** @type {string} */\n\n var ambiguousExtn = possibleSeparatorsBetweenNumberAndExtLabel + ambiguousExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix;\n /** @type {string} */\n\n var americanStyleExtnWithSuffix = ambiguousSeparator + getExtensionDigitsPattern(extLimitWhenNotSure) + \"#\";\n /** @type {string} */\n\n var autoDiallingExtn = possibleSeparatorsNumberExtLabelNoComma + autoDiallingAndExtLabelsFound + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterLikelyLabel) + optionalExtnSuffix;\n /** @type {string} */\n\n var onlyCommasExtn = possibleSeparatorsNumberExtLabelNoComma + \"(?:,)+\" + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix; // The first regular expression covers RFC 3966 format, where the extension is added\n // using \";ext=\". The second more generic where extension is mentioned with explicit\n // labels like \"ext:\". In both the above cases we allow more numbers in extension than\n // any other extension labels. The third one captures when single character extension\n // labels or less commonly used labels are used. In such cases we capture fewer\n // extension digits in order to reduce the chance of falsely interpreting two\n // numbers beside each other as a number + extension. The fourth one covers the\n // special case of American numbers where the extension is written with a hash\n // at the end, such as \"- 503#\". The fifth one is exclusively for extension\n // autodialling formats which are used when dialling and in this case we accept longer\n // extensions. The last one is more liberal on the number of commas that acts as\n // extension labels, so we have a strict cap on the number of digits in such extensions.\n\n return rfcExtn + \"|\" + explicitExtn + \"|\" + ambiguousExtn + \"|\" + americanStyleExtnWithSuffix + \"|\" + autoDiallingExtn + \"|\" + onlyCommasExtn;\n}\n//# sourceMappingURL=createExtensionPattern.js.map","import { MIN_LENGTH_FOR_NSN, VALID_DIGITS, VALID_PUNCTUATION, PLUS_CHARS } from '../constants.js';\nimport createExtensionPattern from './extension/createExtensionPattern.js'; // Regular expression of viable phone numbers. This is location independent.\n// Checks we have at least three leading digits, and only valid punctuation,\n// alpha characters and digits in the phone number. Does not include extension\n// data. The symbol 'x' is allowed here as valid punctuation since it is often\n// used as a placeholder for carrier codes, for example in Brazilian phone\n// numbers. We also allow multiple '+' characters at the start.\n//\n// Corresponds to the following:\n// [digits]{minLengthNsn}|\n// plus_sign*\n// (([punctuation]|[star])*[digits]){3,}([punctuation]|[star]|[digits]|[alpha])*\n//\n// The first reg-ex is to allow short numbers (two digits long) to be parsed if\n// they are entered as \"15\" etc, but only if there is no punctuation in them.\n// The second expression restricts the number of digits to three or more, but\n// then allows them to be in international form, and to have alpha-characters\n// and punctuation. We split up the two reg-exes here and combine them when\n// creating the reg-ex VALID_PHONE_NUMBER_PATTERN itself so we can prefix it\n// with ^ and append $ to each branch.\n//\n// \"Note VALID_PUNCTUATION starts with a -,\n// so must be the first in the range\" (c) Google devs.\n// (wtf did they mean by saying that; probably nothing)\n//\n\nvar MIN_LENGTH_PHONE_NUMBER_PATTERN = '[' + VALID_DIGITS + ']{' + MIN_LENGTH_FOR_NSN + '}'; //\n// And this is the second reg-exp:\n// (see MIN_LENGTH_PHONE_NUMBER_PATTERN for a full description of this reg-exp)\n//\n\nexport var VALID_PHONE_NUMBER = '[' + PLUS_CHARS + ']{0,1}' + '(?:' + '[' + VALID_PUNCTUATION + ']*' + '[' + VALID_DIGITS + ']' + '){3,}' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']*'; // This regular expression isn't present in Google's `libphonenumber`\n// and is only used to determine whether the phone number being input\n// is too short for it to even consider it a \"valid\" number.\n// This is just a way to differentiate between a really invalid phone\n// number like \"abcde\" and a valid phone number that a user has just\n// started inputting, like \"+1\" or \"1\": both these cases would be\n// considered `NOT_A_NUMBER` by Google's `libphonenumber`, but this\n// library can provide a more detailed error message — whether it's\n// really \"not a number\", or is it just a start of a valid phone number.\n\nvar VALID_PHONE_NUMBER_START_REG_EXP = new RegExp('^' + '[' + PLUS_CHARS + ']{0,1}' + '(?:' + '[' + VALID_PUNCTUATION + ']*' + '[' + VALID_DIGITS + ']' + '){1,2}' + '$', 'i');\nexport var VALID_PHONE_NUMBER_WITH_EXTENSION = VALID_PHONE_NUMBER + // Phone number extensions\n'(?:' + createExtensionPattern() + ')?'; // The combined regular expression for valid phone numbers:\n//\n\nvar VALID_PHONE_NUMBER_PATTERN = new RegExp( // Either a short two-digit-only phone number\n'^' + MIN_LENGTH_PHONE_NUMBER_PATTERN + '$' + '|' + // Or a longer fully parsed phone number (min 3 characters)\n'^' + VALID_PHONE_NUMBER_WITH_EXTENSION + '$', 'i'); // Checks to see if the string of characters could possibly be a phone number at\n// all. At the moment, checks to see that the string begins with at least 2\n// digits, ignoring any punctuation commonly found in phone numbers. This method\n// does not require the number to be normalized in advance - but does assume\n// that leading non-number symbols have been removed, such as by the method\n// `extract_possible_number`.\n//\n\nexport default function isViablePhoneNumber(number) {\n return number.length >= MIN_LENGTH_FOR_NSN && VALID_PHONE_NUMBER_PATTERN.test(number);\n} // This is just a way to differentiate between a really invalid phone\n// number like \"abcde\" and a valid phone number that a user has just\n// started inputting, like \"+1\" or \"1\": both these cases would be\n// considered `NOT_A_NUMBER` by Google's `libphonenumber`, but this\n// library can provide a more detailed error message — whether it's\n// really \"not a number\", or is it just a start of a valid phone number.\n\nexport function isViablePhoneNumberStart(number) {\n return VALID_PHONE_NUMBER_START_REG_EXP.test(number);\n}\n//# sourceMappingURL=isViablePhoneNumber.js.map","import createExtensionPattern from './createExtensionPattern.js'; // Regexp of all known extension prefixes used by different regions followed by\n// 1 or more valid digits, for use when parsing.\n\nvar EXTN_PATTERN = new RegExp('(?:' + createExtensionPattern() + ')$', 'i'); // Strips any extension (as in, the part of the number dialled after the call is\n// connected, usually indicated with extn, ext, x or similar) from the end of\n// the number, and returns it.\n\nexport default function extractExtension(number) {\n var start = number.search(EXTN_PATTERN);\n\n if (start < 0) {\n return {};\n } // If we find a potential extension, and the number preceding this is a viable\n // number, we assume it is an extension.\n\n\n var numberWithoutExtension = number.slice(0, start);\n var matches = number.match(EXTN_PATTERN);\n var i = 1;\n\n while (i < matches.length) {\n if (matches[i]) {\n return {\n number: numberWithoutExtension,\n ext: matches[i]\n };\n }\n\n i++;\n }\n}\n//# sourceMappingURL=extractExtension.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n// These mappings map a character (key) to a specific digit that should\n// replace it for normalization purposes. Non-European digits that\n// may be used in phone numbers are mapped to a European equivalent.\n//\n// E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\n//\nexport var DIGITS = {\n '0': '0',\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n \"\\uFF10\": '0',\n // Fullwidth digit 0\n \"\\uFF11\": '1',\n // Fullwidth digit 1\n \"\\uFF12\": '2',\n // Fullwidth digit 2\n \"\\uFF13\": '3',\n // Fullwidth digit 3\n \"\\uFF14\": '4',\n // Fullwidth digit 4\n \"\\uFF15\": '5',\n // Fullwidth digit 5\n \"\\uFF16\": '6',\n // Fullwidth digit 6\n \"\\uFF17\": '7',\n // Fullwidth digit 7\n \"\\uFF18\": '8',\n // Fullwidth digit 8\n \"\\uFF19\": '9',\n // Fullwidth digit 9\n \"\\u0660\": '0',\n // Arabic-indic digit 0\n \"\\u0661\": '1',\n // Arabic-indic digit 1\n \"\\u0662\": '2',\n // Arabic-indic digit 2\n \"\\u0663\": '3',\n // Arabic-indic digit 3\n \"\\u0664\": '4',\n // Arabic-indic digit 4\n \"\\u0665\": '5',\n // Arabic-indic digit 5\n \"\\u0666\": '6',\n // Arabic-indic digit 6\n \"\\u0667\": '7',\n // Arabic-indic digit 7\n \"\\u0668\": '8',\n // Arabic-indic digit 8\n \"\\u0669\": '9',\n // Arabic-indic digit 9\n \"\\u06F0\": '0',\n // Eastern-Arabic digit 0\n \"\\u06F1\": '1',\n // Eastern-Arabic digit 1\n \"\\u06F2\": '2',\n // Eastern-Arabic digit 2\n \"\\u06F3\": '3',\n // Eastern-Arabic digit 3\n \"\\u06F4\": '4',\n // Eastern-Arabic digit 4\n \"\\u06F5\": '5',\n // Eastern-Arabic digit 5\n \"\\u06F6\": '6',\n // Eastern-Arabic digit 6\n \"\\u06F7\": '7',\n // Eastern-Arabic digit 7\n \"\\u06F8\": '8',\n // Eastern-Arabic digit 8\n \"\\u06F9\": '9' // Eastern-Arabic digit 9\n\n};\nexport function parseDigit(character) {\n return DIGITS[character];\n}\n/**\r\n * Parses phone number digits from a string.\r\n * Drops all punctuation leaving only digits.\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * parseDigits('8 (800) 555')\r\n * // Outputs '8800555'.\r\n * ```\r\n */\n\nexport default function parseDigits(string) {\n var result = ''; // Using `.split('')` here instead of normal `for ... of`\n // because the importing application doesn't neccessarily include an ES6 polyfill.\n // The `.split('')` approach discards \"exotic\" UTF-8 characters\n // (the ones consisting of four bytes) but digits\n // (including non-European ones) don't fall into that range\n // so such \"exotic\" characters would be discarded anyway.\n\n for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {\n var character = _step.value;\n var digit = parseDigit(character);\n\n if (digit) {\n result += digit;\n }\n }\n\n return result;\n}\n//# sourceMappingURL=parseDigits.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { parseDigit } from './helpers/parseDigits.js';\n/**\r\n * Parses phone number characters from a string.\r\n * Drops all punctuation leaving only digits and the leading `+` sign (if any).\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * // Outputs '8800555'.\r\n * parseIncompletePhoneNumber('8 (800) 555')\r\n * // Outputs '+7800555'.\r\n * parseIncompletePhoneNumber('+7 800 555')\r\n * ```\r\n */\n\nexport default function parseIncompletePhoneNumber(string) {\n var result = ''; // Using `.split('')` here instead of normal `for ... of`\n // because the importing application doesn't neccessarily include an ES6 polyfill.\n // The `.split('')` approach discards \"exotic\" UTF-8 characters\n // (the ones consisting of four bytes) but digits\n // (including non-European ones) don't fall into that range\n // so such \"exotic\" characters would be discarded anyway.\n\n for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {\n var character = _step.value;\n result += parsePhoneNumberCharacter(character, result) || '';\n }\n\n return result;\n}\n/**\r\n * Parses next character while parsing phone number digits (including a `+`)\r\n * from text: discards everything except `+` and digits, and `+` is only allowed\r\n * at the start of a phone number.\r\n * For example, is used in `react-phone-number-input` where it uses\r\n * [`input-format`](https://gitlab.com/catamphetamine/input-format).\r\n * @param {string} character - Yet another character from raw input string.\r\n * @param {string?} prevParsedCharacters - Previous parsed characters.\r\n * @param {object} meta - Optional custom use-case-specific metadata.\r\n * @return {string?} The parsed character.\r\n */\n\nexport function parsePhoneNumberCharacter(character, prevParsedCharacters) {\n // Only allow a leading `+`.\n if (character === '+') {\n // If this `+` is not the first parsed character\n // then discard it.\n if (prevParsedCharacters) {\n return;\n }\n\n return '+';\n } // Allow digits.\n\n\n return parseDigit(character);\n}\n//# sourceMappingURL=parseIncompletePhoneNumber.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/**\r\n * Merges two arrays.\r\n * @param {*} a\r\n * @param {*} b\r\n * @return {*}\r\n */\nexport default function mergeArrays(a, b) {\n var merged = a.slice();\n\n for (var _iterator = _createForOfIteratorHelperLoose(b), _step; !(_step = _iterator()).done;) {\n var element = _step.value;\n\n if (a.indexOf(element) < 0) {\n merged.push(element);\n }\n }\n\n return merged.sort(function (a, b) {\n return a - b;\n }); // ES6 version, requires Set polyfill.\n // let merged = new Set(a)\n // for (const element of b) {\n // \tmerged.add(i)\n // }\n // return Array.from(merged).sort((a, b) => a - b)\n}\n//# sourceMappingURL=mergeArrays.js.map","import mergeArrays from './mergeArrays.js';\nexport default function checkNumberLength(nationalNumber, metadata) {\n return checkNumberLengthForType(nationalNumber, undefined, metadata);\n} // Checks whether a number is possible for the country based on its length.\n// Should only be called for the \"new\" metadata which has \"possible lengths\".\n\nexport function checkNumberLengthForType(nationalNumber, type, metadata) {\n var type_info = metadata.type(type); // There should always be \"<possiblePengths/>\" set for every type element.\n // This is declared in the XML schema.\n // For size efficiency, where a sub-description (e.g. fixed-line)\n // has the same \"<possiblePengths/>\" as the \"general description\", this is missing,\n // so we fall back to the \"general description\". Where no numbers of the type\n // exist at all, there is one possible length (-1) which is guaranteed\n // not to match the length of any real phone number.\n\n var possible_lengths = type_info && type_info.possibleLengths() || metadata.possibleLengths(); // let local_lengths = type_info && type.possibleLengthsLocal() || metadata.possibleLengthsLocal()\n // Metadata before version `1.0.18` didn't contain `possible_lengths`.\n\n if (!possible_lengths) {\n return 'IS_POSSIBLE';\n }\n\n if (type === 'FIXED_LINE_OR_MOBILE') {\n // No such country in metadata.\n\n /* istanbul ignore next */\n if (!metadata.type('FIXED_LINE')) {\n // The rare case has been encountered where no fixedLine data is available\n // (true for some non-geographic entities), so we just check mobile.\n return checkNumberLengthForType(nationalNumber, 'MOBILE', metadata);\n }\n\n var mobile_type = metadata.type('MOBILE');\n\n if (mobile_type) {\n // Merge the mobile data in if there was any. \"Concat\" creates a new\n // array, it doesn't edit possible_lengths in place, so we don't need a copy.\n // Note that when adding the possible lengths from mobile, we have\n // to again check they aren't empty since if they are this indicates\n // they are the same as the general desc and should be obtained from there.\n possible_lengths = mergeArrays(possible_lengths, mobile_type.possibleLengths()); // The current list is sorted; we need to merge in the new list and\n // re-sort (duplicates are okay). Sorting isn't so expensive because\n // the lists are very small.\n // if (local_lengths) {\n // \tlocal_lengths = mergeArrays(local_lengths, mobile_type.possibleLengthsLocal())\n // } else {\n // \tlocal_lengths = mobile_type.possibleLengthsLocal()\n // }\n }\n } // If the type doesn't exist then return 'INVALID_LENGTH'.\n else if (type && !type_info) {\n return 'INVALID_LENGTH';\n }\n\n var actual_length = nationalNumber.length; // In `libphonenumber-js` all \"local-only\" formats are dropped for simplicity.\n // // This is safe because there is never an overlap beween the possible lengths\n // // and the local-only lengths; this is checked at build time.\n // if (local_lengths && local_lengths.indexOf(nationalNumber.length) >= 0)\n // {\n // \treturn 'IS_POSSIBLE_LOCAL_ONLY'\n // }\n\n var minimum_length = possible_lengths[0];\n\n if (minimum_length === actual_length) {\n return 'IS_POSSIBLE';\n }\n\n if (minimum_length > actual_length) {\n return 'TOO_SHORT';\n }\n\n if (possible_lengths[possible_lengths.length - 1] < actual_length) {\n return 'TOO_LONG';\n } // We skip the first element since we've already checked it.\n\n\n return possible_lengths.indexOf(actual_length, 1) >= 0 ? 'IS_POSSIBLE' : 'INVALID_LENGTH';\n}\n//# sourceMappingURL=checkNumberLength.js.map","import Metadata from './metadata.js';\nimport checkNumberLength from './helpers/checkNumberLength.js';\n/**\r\n * Checks if a phone number is \"possible\" (basically just checks its length).\r\n *\r\n * isPossible(phoneNumberInstance, { ..., v2: true }, metadata)\r\n *\r\n * isPossible({ phone: '8005553535', country: 'RU' }, { ... }, metadata)\r\n * isPossible({ phone: '8005553535', country: 'RU' }, undefined, metadata)\r\n *\r\n * @param {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {string}\r\n */\n\nexport default function isPossiblePhoneNumber(input, options, metadata) {\n /* istanbul ignore if */\n if (options === undefined) {\n options = {};\n }\n\n metadata = new Metadata(metadata);\n\n if (options.v2) {\n if (!input.countryCallingCode) {\n throw new Error('Invalid phone number object passed');\n }\n\n metadata.selectNumberingPlan(input.countryCallingCode);\n } else {\n if (!input.phone) {\n return false;\n }\n\n if (input.country) {\n if (!metadata.hasCountry(input.country)) {\n throw new Error(\"Unknown country: \".concat(input.country));\n }\n\n metadata.country(input.country);\n } else {\n if (!input.countryCallingCode) {\n throw new Error('Invalid phone number object passed');\n }\n\n metadata.selectNumberingPlan(input.countryCallingCode);\n }\n } // Old metadata (< 1.0.18) had no \"possible length\" data.\n\n\n if (metadata.possibleLengths()) {\n return isPossibleNumber(input.phone || input.nationalNumber, metadata);\n } else {\n // There was a bug between `1.7.35` and `1.7.37` where \"possible_lengths\"\n // were missing for \"non-geographical\" numbering plans.\n // Just assume the number is possible in such cases:\n // it's unlikely that anyone generated their custom metadata\n // in that short period of time (one day).\n // This code can be removed in some future major version update.\n if (input.countryCallingCode && metadata.isNonGeographicCallingCode(input.countryCallingCode)) {\n // \"Non-geographic entities\" did't have `possibleLengths`\n // due to a bug in metadata generation process.\n return true;\n } else {\n throw new Error('Missing \"possibleLengths\" in metadata. Perhaps the metadata has been generated before v1.0.18.');\n }\n }\n}\nexport function isPossibleNumber(nationalNumber, metadata) {\n //, isInternational) {\n switch (checkNumberLength(nationalNumber, metadata)) {\n case 'IS_POSSIBLE':\n return true;\n // This library ignores \"local-only\" phone numbers (for simplicity).\n // See the readme for more info on what are \"local-only\" phone numbers.\n // case 'IS_POSSIBLE_LOCAL_ONLY':\n // \treturn !isInternational\n\n default:\n return false;\n }\n}\n//# sourceMappingURL=isPossible.js.map","/**\r\n * Checks whether the entire input sequence can be matched\r\n * against the regular expression.\r\n * @return {boolean}\r\n */\nexport default function matchesEntirely(text, regular_expression) {\n // If assigning the `''` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n text = text || '';\n return new RegExp('^(?:' + regular_expression + ')$').test(text);\n}\n//# sourceMappingURL=matchesEntirely.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport Metadata from '../metadata.js';\nimport matchesEntirely from './matchesEntirely.js';\nvar NON_FIXED_LINE_PHONE_TYPES = ['MOBILE', 'PREMIUM_RATE', 'TOLL_FREE', 'SHARED_COST', 'VOIP', 'PERSONAL_NUMBER', 'PAGER', 'UAN', 'VOICEMAIL']; // Finds out national phone number type (fixed line, mobile, etc)\n\nexport default function getNumberType(input, options, metadata) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {}; // When `parse()` returned `{}`\n // meaning that the phone number is not a valid one.\n\n if (!input.country) {\n return;\n }\n\n metadata = new Metadata(metadata);\n metadata.selectNumberingPlan(input.country, input.countryCallingCode);\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone; // The following is copy-pasted from the original function:\n // https://github.com/googlei18n/libphonenumber/blob/3ea547d4fbaa2d0b67588904dfa5d3f2557c27ff/javascript/i18n/phonenumbers/phonenumberutil.js#L2835\n // Is this national number even valid for this country\n\n if (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern())) {\n return;\n } // Is it fixed line number\n\n\n if (isNumberTypeEqualTo(nationalNumber, 'FIXED_LINE', metadata)) {\n // Because duplicate regular expressions are removed\n // to reduce metadata size, if \"mobile\" pattern is \"\"\n // then it means it was removed due to being a duplicate of the fixed-line pattern.\n //\n if (metadata.type('MOBILE') && metadata.type('MOBILE').pattern() === '') {\n return 'FIXED_LINE_OR_MOBILE';\n } // `MOBILE` type pattern isn't included if it matched `FIXED_LINE` one.\n // For example, for \"US\" country.\n // Old metadata (< `1.0.18`) had a specific \"types\" data structure\n // that happened to be `undefined` for `MOBILE` in that case.\n // Newer metadata (>= `1.0.18`) has another data structure that is\n // not `undefined` for `MOBILE` in that case (it's just an empty array).\n // So this `if` is just for backwards compatibility with old metadata.\n\n\n if (!metadata.type('MOBILE')) {\n return 'FIXED_LINE_OR_MOBILE';\n } // Check if the number happens to qualify as both fixed line and mobile.\n // (no such country in the minimal metadata set)\n\n /* istanbul ignore if */\n\n\n if (isNumberTypeEqualTo(nationalNumber, 'MOBILE', metadata)) {\n return 'FIXED_LINE_OR_MOBILE';\n }\n\n return 'FIXED_LINE';\n }\n\n for (var _iterator = _createForOfIteratorHelperLoose(NON_FIXED_LINE_PHONE_TYPES), _step; !(_step = _iterator()).done;) {\n var type = _step.value;\n\n if (isNumberTypeEqualTo(nationalNumber, type, metadata)) {\n return type;\n }\n }\n}\nexport function isNumberTypeEqualTo(nationalNumber, type, metadata) {\n type = metadata.type(type);\n\n if (!type || !type.pattern()) {\n return false;\n } // Check if any possible number lengths are present;\n // if so, we use them to avoid checking\n // the validation pattern if they don't match.\n // If they are absent, this means they match\n // the general description, which we have\n // already checked before a specific number type.\n\n\n if (type.possibleLengths() && type.possibleLengths().indexOf(nationalNumber.length) < 0) {\n return false;\n }\n\n return matchesEntirely(nationalNumber, type.pattern());\n}\n//# sourceMappingURL=getNumberType.js.map","import applyInternationalSeparatorStyle from './applyInternationalSeparatorStyle.js'; // This was originally set to $1 but there are some countries for which the\n// first group is not used in the national pattern (e.g. Argentina) so the $1\n// group does not match correctly. Therefore, we use `\\d`, so that the first\n// group actually used in the pattern will be matched.\n\nexport var FIRST_GROUP_PATTERN = /(\\$\\d)/;\nexport default function formatNationalNumberUsingFormat(number, format, _ref) {\n var useInternationalFormat = _ref.useInternationalFormat,\n withNationalPrefix = _ref.withNationalPrefix,\n carrierCode = _ref.carrierCode,\n metadata = _ref.metadata;\n var formattedNumber = number.replace(new RegExp(format.pattern()), useInternationalFormat ? format.internationalFormat() : // This library doesn't use `domestic_carrier_code_formatting_rule`,\n // because that one is only used when formatting phone numbers\n // for dialing from a mobile phone, and this is not a dialing library.\n // carrierCode && format.domesticCarrierCodeFormattingRule()\n // \t// First, replace the $CC in the formatting rule with the desired carrier code.\n // \t// Then, replace the $FG in the formatting rule with the first group\n // \t// and the carrier code combined in the appropriate way.\n // \t? format.format().replace(FIRST_GROUP_PATTERN, format.domesticCarrierCodeFormattingRule().replace('$CC', carrierCode))\n // \t: (\n // \t\twithNationalPrefix && format.nationalPrefixFormattingRule()\n // \t\t\t? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule())\n // \t\t\t: format.format()\n // \t)\n withNationalPrefix && format.nationalPrefixFormattingRule() ? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule()) : format.format());\n\n if (useInternationalFormat) {\n return applyInternationalSeparatorStyle(formattedNumber);\n }\n\n return formattedNumber;\n}\n//# sourceMappingURL=formatNationalNumberUsingFormat.js.map","import Metadata from '../metadata.js';\n/**\r\n * Pattern that makes it easy to distinguish whether a region has a single\r\n * international dialing prefix or not. If a region has a single international\r\n * prefix (e.g. 011 in USA), it will be represented as a string that contains\r\n * a sequence of ASCII digits, and possibly a tilde, which signals waiting for\r\n * the tone. If there are multiple available international prefixes in a\r\n * region, they will be represented as a regex string that always contains one\r\n * or more characters that are not ASCII digits or a tilde.\r\n */\n\nvar SINGLE_IDD_PREFIX_REG_EXP = /^[\\d]+(?:[~\\u2053\\u223C\\uFF5E][\\d]+)?$/; // For regions that have multiple IDD prefixes\n// a preferred IDD prefix is returned.\n\nexport default function getIddPrefix(country, callingCode, metadata) {\n var countryMetadata = new Metadata(metadata);\n countryMetadata.selectNumberingPlan(country, callingCode);\n\n if (countryMetadata.defaultIDDPrefix()) {\n return countryMetadata.defaultIDDPrefix();\n }\n\n if (SINGLE_IDD_PREFIX_REG_EXP.test(countryMetadata.IDDPrefix())) {\n return countryMetadata.IDDPrefix();\n }\n}\n//# sourceMappingURL=getIddPrefix.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// This is a port of Google Android `libphonenumber`'s\n// `phonenumberutil.js` of December 31th, 2018.\n//\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat.js';\nimport Metadata, { getCountryCallingCode } from './metadata.js';\nimport getIddPrefix from './helpers/getIddPrefix.js';\nimport { formatRFC3966 } from './helpers/RFC3966.js';\nvar DEFAULT_OPTIONS = {\n formatExtension: function formatExtension(formattedNumber, extension, metadata) {\n return \"\".concat(formattedNumber).concat(metadata.ext()).concat(extension);\n }\n};\n/**\r\n * Formats a phone number.\r\n *\r\n * format(phoneNumberInstance, 'INTERNATIONAL', { ..., v2: true }, metadata)\r\n * format(phoneNumberInstance, 'NATIONAL', { ..., v2: true }, metadata)\r\n *\r\n * format({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL', { ... }, metadata)\r\n * format({ phone: '8005553535', country: 'RU' }, 'NATIONAL', undefined, metadata)\r\n *\r\n * @param {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param {string} format\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {string}\r\n */\n\nexport default function formatNumber(input, format, options, metadata) {\n // Apply default options.\n if (options) {\n options = _objectSpread(_objectSpread({}, DEFAULT_OPTIONS), options);\n } else {\n options = DEFAULT_OPTIONS;\n }\n\n metadata = new Metadata(metadata);\n\n if (input.country && input.country !== '001') {\n // Validate `input.country`.\n if (!metadata.hasCountry(input.country)) {\n throw new Error(\"Unknown country: \".concat(input.country));\n }\n\n metadata.country(input.country);\n } else if (input.countryCallingCode) {\n metadata.selectNumberingPlan(input.countryCallingCode);\n } else return input.phone || '';\n\n var countryCallingCode = metadata.countryCallingCode();\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone; // This variable should have been declared inside `case`s\n // but Babel has a bug and it says \"duplicate variable declaration\".\n\n var number;\n\n switch (format) {\n case 'NATIONAL':\n // Legacy argument support.\n // (`{ country: ..., phone: '' }`)\n if (!nationalNumber) {\n return '';\n }\n\n number = formatNationalNumber(nationalNumber, input.carrierCode, 'NATIONAL', metadata, options);\n return addExtension(number, input.ext, metadata, options.formatExtension);\n\n case 'INTERNATIONAL':\n // Legacy argument support.\n // (`{ country: ..., phone: '' }`)\n if (!nationalNumber) {\n return \"+\".concat(countryCallingCode);\n }\n\n number = formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata, options);\n number = \"+\".concat(countryCallingCode, \" \").concat(number);\n return addExtension(number, input.ext, metadata, options.formatExtension);\n\n case 'E.164':\n // `E.164` doesn't define \"phone number extensions\".\n return \"+\".concat(countryCallingCode).concat(nationalNumber);\n\n case 'RFC3966':\n return formatRFC3966({\n number: \"+\".concat(countryCallingCode).concat(nationalNumber),\n ext: input.ext\n });\n // For reference, here's Google's IDD formatter:\n // https://github.com/google/libphonenumber/blob/32719cf74e68796788d1ca45abc85dcdc63ba5b9/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L1546\n // Not saying that this IDD formatter replicates it 1:1, but it seems to work.\n // Who would even need to format phone numbers in IDD format anyway?\n\n case 'IDD':\n if (!options.fromCountry) {\n return; // throw new Error('`fromCountry` option not passed for IDD-prefixed formatting.')\n }\n\n var formattedNumber = formatIDD(nationalNumber, input.carrierCode, countryCallingCode, options.fromCountry, metadata);\n return addExtension(formattedNumber, input.ext, metadata, options.formatExtension);\n\n default:\n throw new Error(\"Unknown \\\"format\\\" argument passed to \\\"formatNumber()\\\": \\\"\".concat(format, \"\\\"\"));\n }\n}\n\nfunction formatNationalNumber(number, carrierCode, formatAs, metadata, options) {\n var format = chooseFormatForNumber(metadata.formats(), number);\n\n if (!format) {\n return number;\n }\n\n return formatNationalNumberUsingFormat(number, format, {\n useInternationalFormat: formatAs === 'INTERNATIONAL',\n withNationalPrefix: format.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && options && options.nationalPrefix === false ? false : true,\n carrierCode: carrierCode,\n metadata: metadata\n });\n}\n\nexport function chooseFormatForNumber(availableFormats, nationalNnumber) {\n for (var _iterator = _createForOfIteratorHelperLoose(availableFormats), _step; !(_step = _iterator()).done;) {\n var format = _step.value;\n\n // Validate leading digits.\n // The test case for \"else path\" could be found by searching for\n // \"format.leadingDigitsPatterns().length === 0\".\n if (format.leadingDigitsPatterns().length > 0) {\n // The last leading_digits_pattern is used here, as it is the most detailed\n var lastLeadingDigitsPattern = format.leadingDigitsPatterns()[format.leadingDigitsPatterns().length - 1]; // If leading digits don't match then move on to the next phone number format\n\n if (nationalNnumber.search(lastLeadingDigitsPattern) !== 0) {\n continue;\n }\n } // Check that the national number matches the phone number format regular expression\n\n\n if (matchesEntirely(nationalNnumber, format.pattern())) {\n return format;\n }\n }\n}\n\nfunction addExtension(formattedNumber, ext, metadata, formatExtension) {\n return ext ? formatExtension(formattedNumber, ext, metadata) : formattedNumber;\n}\n\nfunction formatIDD(nationalNumber, carrierCode, countryCallingCode, fromCountry, metadata) {\n var fromCountryCallingCode = getCountryCallingCode(fromCountry, metadata.metadata); // When calling within the same country calling code.\n\n if (fromCountryCallingCode === countryCallingCode) {\n var formattedNumber = formatNationalNumber(nationalNumber, carrierCode, 'NATIONAL', metadata); // For NANPA regions, return the national format for these regions\n // but prefix it with the country calling code.\n\n if (countryCallingCode === '1') {\n return countryCallingCode + ' ' + formattedNumber;\n } // If regions share a country calling code, the country calling code need\n // not be dialled. This also applies when dialling within a region, so this\n // if clause covers both these cases. Technically this is the case for\n // dialling from La Reunion to other overseas departments of France (French\n // Guiana, Martinique, Guadeloupe), but not vice versa - so we don't cover\n // this edge case for now and for those cases return the version including\n // country calling code. Details here:\n // http://www.petitfute.com/voyage/225-info-pratiques-reunion\n //\n\n\n return formattedNumber;\n }\n\n var iddPrefix = getIddPrefix(fromCountry, undefined, metadata.metadata);\n\n if (iddPrefix) {\n return \"\".concat(iddPrefix, \" \").concat(countryCallingCode, \" \").concat(formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata));\n }\n}\n//# sourceMappingURL=format.js.map","import { VALID_PUNCTUATION } from '../constants.js'; // Removes brackets and replaces dashes with spaces.\n//\n// E.g. \"(999) 111-22-33\" -> \"999 111 22 33\"\n//\n// For some reason Google's metadata contains `<intlFormat/>`s with brackets and dashes.\n// Meanwhile, there's no single opinion about using punctuation in international phone numbers.\n//\n// For example, Google's `<intlFormat/>` for USA is `+1 213-373-4253`.\n// And here's a quote from WikiPedia's \"North American Numbering Plan\" page:\n// https://en.wikipedia.org/wiki/North_American_Numbering_Plan\n//\n// \"The country calling code for all countries participating in the NANP is 1.\n// In international format, an NANP number should be listed as +1 301 555 01 00,\n// where 301 is an area code (Maryland).\"\n//\n// I personally prefer the international format without any punctuation.\n// For example, brackets are remnants of the old age, meaning that the\n// phone number part in brackets (so called \"area code\") can be omitted\n// if dialing within the same \"area\".\n// And hyphens were clearly introduced for splitting local numbers into memorizable groups.\n// For example, remembering \"5553535\" is difficult but \"555-35-35\" is much simpler.\n// Imagine a man taking a bus from home to work and seeing an ad with a phone number.\n// He has a couple of seconds to memorize that number until it passes by.\n// If it were spaces instead of hyphens the man wouldn't necessarily get it,\n// but with hyphens instead of spaces the grouping is more explicit.\n// I personally think that hyphens introduce visual clutter,\n// so I prefer replacing them with spaces in international numbers.\n// In the modern age all output is done on displays where spaces are clearly distinguishable\n// so hyphens can be safely replaced with spaces without losing any legibility.\n//\n\nexport default function applyInternationalSeparatorStyle(formattedNumber) {\n return formattedNumber.replace(new RegExp(\"[\".concat(VALID_PUNCTUATION, \"]+\"), 'g'), ' ').trim();\n}\n//# sourceMappingURL=applyInternationalSeparatorStyle.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nimport Metadata from './metadata.js';\nimport isPossibleNumber from './isPossible.js';\nimport isValidNumber from './isValid.js'; // import checkNumberLength from './helpers/checkNumberLength.js'\n\nimport getNumberType from './helpers/getNumberType.js';\nimport getPossibleCountriesForNumber from './helpers/getPossibleCountriesForNumber.js';\nimport formatNumber from './format.js';\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\n\nvar PhoneNumber = /*#__PURE__*/function () {\n /**\r\n * @param {string} countryOrCountryCallingCode\r\n * @param {string} nationalNumber\r\n * @param {object} metadata — Metadata JSON\r\n * @return {PhoneNumber}\r\n */\n function PhoneNumber(countryOrCountryCallingCode, nationalNumber, metadata) {\n _classCallCheck(this, PhoneNumber);\n\n if (!countryOrCountryCallingCode) {\n throw new TypeError('`country` or `countryCallingCode` not passed');\n }\n\n if (!nationalNumber) {\n throw new TypeError('`nationalNumber` not passed');\n }\n\n if (!metadata) {\n throw new TypeError('`metadata` not passed');\n }\n\n var _getCountryAndCountry = getCountryAndCountryCallingCode(countryOrCountryCallingCode, metadata),\n country = _getCountryAndCountry.country,\n countryCallingCode = _getCountryAndCountry.countryCallingCode;\n\n this.country = country;\n this.countryCallingCode = countryCallingCode;\n this.nationalNumber = nationalNumber;\n this.number = '+' + this.countryCallingCode + this.nationalNumber; // Exclude `metadata` property output from `PhoneNumber.toString()`\n // so that it doesn't clutter the console output of Node.js.\n // Previously, when Node.js did `console.log(new PhoneNumber(...))`,\n // it would output the whole internal structure of the `metadata` object.\n\n this.getMetadata = function () {\n return metadata;\n };\n }\n\n _createClass(PhoneNumber, [{\n key: \"setExt\",\n value: function setExt(ext) {\n this.ext = ext;\n }\n }, {\n key: \"getPossibleCountries\",\n value: function getPossibleCountries() {\n if (this.country) {\n return [this.country];\n }\n\n return getPossibleCountriesForNumber(this.countryCallingCode, this.nationalNumber, this.getMetadata());\n }\n }, {\n key: \"isPossible\",\n value: function isPossible() {\n return isPossibleNumber(this, {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"isValid\",\n value: function isValid() {\n return isValidNumber(this, {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"isNonGeographic\",\n value: function isNonGeographic() {\n var metadata = new Metadata(this.getMetadata());\n return metadata.isNonGeographicCallingCode(this.countryCallingCode);\n }\n }, {\n key: \"isEqual\",\n value: function isEqual(phoneNumber) {\n return this.number === phoneNumber.number && this.ext === phoneNumber.ext;\n } // This function was originally meant to be an equivalent for `validatePhoneNumberLength()`,\n // but later it was found out that it doesn't include the possible `TOO_SHORT` result\n // returned from `parsePhoneNumberWithError()` in the original `validatePhoneNumberLength()`,\n // so eventually I simply commented out this method from the `PhoneNumber` class\n // and just left the `validatePhoneNumberLength()` function, even though that one would require\n // and additional step to also validate the actual country / calling code of the phone number.\n // validateLength() {\n // \tconst metadata = new Metadata(this.getMetadata())\n // \tmetadata.selectNumberingPlan(this.countryCallingCode)\n // \tconst result = checkNumberLength(this.nationalNumber, metadata)\n // \tif (result !== 'IS_POSSIBLE') {\n // \t\treturn result\n // \t}\n // }\n\n }, {\n key: \"getType\",\n value: function getType() {\n return getNumberType(this, {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"format\",\n value: function format(_format, options) {\n return formatNumber(this, _format, options ? _objectSpread(_objectSpread({}, options), {}, {\n v2: true\n }) : {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"formatNational\",\n value: function formatNational(options) {\n return this.format('NATIONAL', options);\n }\n }, {\n key: \"formatInternational\",\n value: function formatInternational(options) {\n return this.format('INTERNATIONAL', options);\n }\n }, {\n key: \"getURI\",\n value: function getURI(options) {\n return this.format('RFC3966', options);\n }\n }]);\n\n return PhoneNumber;\n}();\n\nexport { PhoneNumber as default };\n\nvar isCountryCode = function isCountryCode(value) {\n return /^[A-Z]{2}$/.test(value);\n};\n\nfunction getCountryAndCountryCallingCode(countryOrCountryCallingCode, metadataJson) {\n var country;\n var countryCallingCode;\n var metadata = new Metadata(metadataJson); // If country code is passed then derive `countryCallingCode` from it.\n // Also store the country code as `.country`.\n\n if (isCountryCode(countryOrCountryCallingCode)) {\n country = countryOrCountryCallingCode;\n metadata.selectNumberingPlan(country);\n countryCallingCode = metadata.countryCallingCode();\n } else {\n countryCallingCode = countryOrCountryCallingCode;\n /* istanbul ignore if */\n\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata.isNonGeographicCallingCode(countryCallingCode)) {\n country = '001';\n }\n }\n }\n\n return {\n country: country,\n countryCallingCode: countryCallingCode\n };\n}\n//# sourceMappingURL=PhoneNumber.js.map","import Metadata from '../metadata.js';\n/**\r\n * Returns a list of countries that the phone number could potentially belong to.\r\n * @param {string} callingCode — Calling code.\r\n * @param {string} nationalNumber — National (significant) number.\r\n * @param {object} metadata — Metadata.\r\n * @return {string[]} A list of possible countries.\r\n */\n\nexport default function getPossibleCountriesForNumber(callingCode, nationalNumber, metadata) {\n var _metadata = new Metadata(metadata);\n\n var possibleCountries = _metadata.getCountryCodesForCallingCode(callingCode);\n\n if (!possibleCountries) {\n return [];\n }\n\n return possibleCountries.filter(function (country) {\n return couldNationalNumberBelongToCountry(nationalNumber, country, metadata);\n });\n}\n\nfunction couldNationalNumberBelongToCountry(nationalNumber, country, metadata) {\n var _metadata = new Metadata(metadata);\n\n _metadata.selectNumberingPlan(country);\n\n if (_metadata.numberingPlan.possibleLengths().indexOf(nationalNumber.length) >= 0) {\n return true;\n }\n\n return false;\n}\n//# sourceMappingURL=getPossibleCountriesForNumber.js.map","import Metadata from './metadata.js';\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport getNumberType from './helpers/getNumberType.js';\n/**\r\n * Checks if a given phone number is valid.\r\n *\r\n * isValid(phoneNumberInstance, { ..., v2: true }, metadata)\r\n *\r\n * isPossible({ phone: '8005553535', country: 'RU' }, { ... }, metadata)\r\n * isPossible({ phone: '8005553535', country: 'RU' }, undefined, metadata)\r\n *\r\n * If the `number` is a string, it will be parsed to an object,\r\n * but only if it contains only valid phone number characters (including punctuation).\r\n * If the `number` is an object, it is used as is.\r\n *\r\n * The optional `defaultCountry` argument is the default country.\r\n * I.e. it does not restrict to just that country,\r\n * e.g. in those cases where several countries share\r\n * the same phone numbering rules (NANPA, Britain, etc).\r\n * For example, even though the number `07624 369230`\r\n * belongs to the Isle of Man (\"IM\" country code)\r\n * calling `isValidNumber('07624369230', 'GB', metadata)`\r\n * still returns `true` because the country is not restricted to `GB`,\r\n * it's just that `GB` is the default one for the phone numbering rules.\r\n * For restricting the country see `isValidNumberForRegion()`\r\n * though restricting a country might not be a good idea.\r\n * https://github.com/googlei18n/libphonenumber/blob/master/FAQ.md#when-should-i-use-isvalidnumberforregion\r\n *\r\n * Examples:\r\n *\r\n * ```js\r\n * isValidNumber('+78005553535', metadata)\r\n * isValidNumber('8005553535', 'RU', metadata)\r\n * isValidNumber('88005553535', 'RU', metadata)\r\n * isValidNumber({ phone: '8005553535', country: 'RU' }, metadata)\r\n * ```\r\n */\n\nexport default function isValidNumber(input, options, metadata) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {};\n metadata = new Metadata(metadata);\n /**\r\n * Checks if a phone number is \"possible\" (basically just checks its length).\r\n *\r\n * @param {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {string}\r\n */\n\n metadata.selectNumberingPlan(input.country, input.countryCallingCode); // By default, countries only have type regexps when it's required for\n // distinguishing different countries having the same `countryCallingCode`.\n\n if (metadata.hasTypes()) {\n return getNumberType(input, options, metadata.metadata) !== undefined;\n } // If there are no type regexps for this country in metadata then use\n // `nationalNumberPattern` as a \"better than nothing\" replacement.\n\n\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone;\n return matchesEntirely(nationalNumber, metadata.nationalNumberPattern());\n}\n//# sourceMappingURL=isValid.js.map","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport isViablePhoneNumber from './isViablePhoneNumber.js'; // https://www.ietf.org/rfc/rfc3966.txt\n\n/**\r\n * @param {string} text - Phone URI (RFC 3966).\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\n\nexport function parseRFC3966(text) {\n var number;\n var ext; // Replace \"tel:\" with \"tel=\" for parsing convenience.\n\n text = text.replace(/^tel:/, 'tel=');\n\n for (var _iterator = _createForOfIteratorHelperLoose(text.split(';')), _step; !(_step = _iterator()).done;) {\n var part = _step.value;\n\n var _part$split = part.split('='),\n _part$split2 = _slicedToArray(_part$split, 2),\n name = _part$split2[0],\n value = _part$split2[1];\n\n switch (name) {\n case 'tel':\n number = value;\n break;\n\n case 'ext':\n ext = value;\n break;\n\n case 'phone-context':\n // Only \"country contexts\" are supported.\n // \"Domain contexts\" are ignored.\n if (value[0] === '+') {\n number = value + number;\n }\n\n break;\n }\n } // If the phone number is not viable, then abort.\n\n\n if (!isViablePhoneNumber(number)) {\n return {};\n }\n\n var result = {\n number: number\n };\n\n if (ext) {\n result.ext = ext;\n }\n\n return result;\n}\n/**\r\n * @param {object} - `{ ?number, ?extension }`.\r\n * @return {string} Phone URI (RFC 3966).\r\n */\n\nexport function formatRFC3966(_ref) {\n var number = _ref.number,\n ext = _ref.ext;\n\n if (!number) {\n return '';\n }\n\n if (number[0] !== '+') {\n throw new Error(\"\\\"formatRFC3966()\\\" expects \\\"number\\\" to be in E.164 format.\");\n }\n\n return \"tel:\".concat(number).concat(ext ? ';ext=' + ext : '');\n}\n//# sourceMappingURL=RFC3966.js.map","import Metadata from '../metadata.js';\nimport { VALID_DIGITS } from '../constants.js';\nvar CAPTURING_DIGIT_PATTERN = new RegExp('([' + VALID_DIGITS + '])');\nexport default function stripIddPrefix(number, country, callingCode, metadata) {\n if (!country) {\n return;\n } // Check if the number is IDD-prefixed.\n\n\n var countryMetadata = new Metadata(metadata);\n countryMetadata.selectNumberingPlan(country, callingCode);\n var IDDPrefixPattern = new RegExp(countryMetadata.IDDPrefix());\n\n if (number.search(IDDPrefixPattern) !== 0) {\n return;\n } // Strip IDD prefix.\n\n\n number = number.slice(number.match(IDDPrefixPattern)[0].length); // If there're any digits after an IDD prefix,\n // then those digits are a country calling code.\n // Since no country code starts with a `0`,\n // the code below validates that the next digit (if present) is not `0`.\n\n var matchedGroups = number.match(CAPTURING_DIGIT_PATTERN);\n\n if (matchedGroups && matchedGroups[1] != null && matchedGroups[1].length > 0) {\n if (matchedGroups[1] === '0') {\n return;\n }\n }\n\n return number;\n}\n//# sourceMappingURL=stripIddPrefix.js.map","import extractNationalNumberFromPossiblyIncompleteNumber from './extractNationalNumberFromPossiblyIncompleteNumber.js';\nimport matchesEntirely from './matchesEntirely.js';\nimport checkNumberLength from './checkNumberLength.js';\n/**\r\n * Strips national prefix and carrier code from a complete phone number.\r\n * The difference from the non-\"FromCompleteNumber\" function is that\r\n * it won't extract national prefix if the resultant number is too short\r\n * to be a complete number for the selected phone numbering plan.\r\n * @param {string} number — Complete phone number digits.\r\n * @param {Metadata} metadata — Metadata with a phone numbering plan selected.\r\n * @return {object} `{ nationalNumber: string, carrierCode: string? }`.\r\n */\n\nexport default function extractNationalNumber(number, metadata) {\n // Parsing national prefixes and carrier codes\n // is only required for local phone numbers\n // but some people don't understand that\n // and sometimes write international phone numbers\n // with national prefixes (or maybe even carrier codes).\n // http://ucken.blogspot.ru/2016/03/trunk-prefixes-in-skype4b.html\n // Google's original library forgives such mistakes\n // and so does this library, because it has been requested:\n // https://github.com/catamphetamine/libphonenumber-js/issues/127\n var _extractNationalNumbe = extractNationalNumberFromPossiblyIncompleteNumber(number, metadata),\n carrierCode = _extractNationalNumbe.carrierCode,\n nationalNumber = _extractNationalNumbe.nationalNumber;\n\n if (nationalNumber !== number) {\n if (!shouldHaveExtractedNationalPrefix(number, nationalNumber, metadata)) {\n // Don't strip the national prefix.\n return {\n nationalNumber: number\n };\n } // Check the national (significant) number length after extracting national prefix and carrier code.\n // Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature.\n\n\n if (metadata.possibleLengths()) {\n // The number remaining after stripping the national prefix and carrier code\n // should be long enough to have a possible length for the country.\n // Otherwise, don't strip the national prefix and carrier code,\n // since the original number could be a valid number.\n // This check has been copy-pasted \"as is\" from Google's original library:\n // https://github.com/google/libphonenumber/blob/876268eb1ad6cdc1b7b5bef17fc5e43052702d57/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L3236-L3250\n // It doesn't check for the \"possibility\" of the original `number`.\n // I guess it's fine not checking that one. It works as is anyway.\n if (!isPossibleIncompleteNationalNumber(nationalNumber, metadata)) {\n // Don't strip the national prefix.\n return {\n nationalNumber: number\n };\n }\n }\n }\n\n return {\n nationalNumber: nationalNumber,\n carrierCode: carrierCode\n };\n} // In some countries, the same digit could be a national prefix\n// or a leading digit of a valid phone number.\n// For example, in Russia, national prefix is `8`,\n// and also `800 555 35 35` is a valid number\n// in which `8` is not a national prefix, but the first digit\n// of a national (significant) number.\n// Same's with Belarus:\n// `82004910060` is a valid national (significant) number,\n// but `2004910060` is not.\n// To support such cases (to prevent the code from always stripping\n// national prefix), a condition is imposed: a national prefix\n// is not extracted when the original number is \"viable\" and the\n// resultant number is not, a \"viable\" national number being the one\n// that matches `national_number_pattern`.\n\nfunction shouldHaveExtractedNationalPrefix(nationalNumberBefore, nationalNumberAfter, metadata) {\n // The equivalent in Google's code is:\n // https://github.com/google/libphonenumber/blob/e326fa1fc4283bb05eb35cb3c15c18f98a31af33/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L2969-L3004\n if (matchesEntirely(nationalNumberBefore, metadata.nationalNumberPattern()) && !matchesEntirely(nationalNumberAfter, metadata.nationalNumberPattern())) {\n return false;\n } // This \"is possible\" national number (length) check has been commented out\n // because it's superceded by the (effectively) same check done in the\n // `extractNationalNumber()` function after it calls `shouldHaveExtractedNationalPrefix()`.\n // In other words, why run the same check twice if it could only be run once.\n // // Check the national (significant) number length after extracting national prefix and carrier code.\n // // Fixes a minor \"weird behavior\" bug: https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/57\n // // (Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature).\n // if (metadata.possibleLengths()) {\n // \tif (isPossibleIncompleteNationalNumber(nationalNumberBefore, metadata) &&\n // \t\t!isPossibleIncompleteNationalNumber(nationalNumberAfter, metadata)) {\n // \t\treturn false\n // \t}\n // }\n\n\n return true;\n}\n\nfunction isPossibleIncompleteNationalNumber(nationalNumber, metadata) {\n switch (checkNumberLength(nationalNumber, metadata)) {\n case 'TOO_SHORT':\n case 'INVALID_LENGTH':\n // This library ignores \"local-only\" phone numbers (for simplicity).\n // See the readme for more info on what are \"local-only\" phone numbers.\n // case 'IS_POSSIBLE_LOCAL_ONLY':\n return false;\n\n default:\n return true;\n }\n}\n//# sourceMappingURL=extractNationalNumber.js.map","/**\r\n * Strips any national prefix (such as 0, 1) present in a\r\n * (possibly incomplete) number provided.\r\n * \"Carrier codes\" are only used in Colombia and Brazil,\r\n * and only when dialing within those countries from a mobile phone to a fixed line number.\r\n * Sometimes it won't actually strip national prefix\r\n * and will instead prepend some digits to the `number`:\r\n * for example, when number `2345678` is passed with `VI` country selected,\r\n * it will return `{ number: \"3402345678\" }`, because `340` area code is prepended.\r\n * @param {string} number — National number digits.\r\n * @param {object} metadata — Metadata with country selected.\r\n * @return {object} `{ nationalNumber: string, nationalPrefix: string? carrierCode: string? }`. Even if a national prefix was extracted, it's not necessarily present in the returned object, so don't rely on its presence in the returned object in order to find out whether a national prefix has been extracted or not.\r\n */\nexport default function extractNationalNumberFromPossiblyIncompleteNumber(number, metadata) {\n if (number && metadata.numberingPlan.nationalPrefixForParsing()) {\n // See METADATA.md for the description of\n // `national_prefix_for_parsing` and `national_prefix_transform_rule`.\n // Attempt to parse the first digits as a national prefix.\n var prefixPattern = new RegExp('^(?:' + metadata.numberingPlan.nationalPrefixForParsing() + ')');\n var prefixMatch = prefixPattern.exec(number);\n\n if (prefixMatch) {\n var nationalNumber;\n var carrierCode; // https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\n // If a `national_prefix_for_parsing` has any \"capturing groups\"\n // then it means that the national (significant) number is equal to\n // those \"capturing groups\" transformed via `national_prefix_transform_rule`,\n // and nothing could be said about the actual national prefix:\n // what is it and was it even there.\n // If a `national_prefix_for_parsing` doesn't have any \"capturing groups\",\n // then everything it matches is a national prefix.\n // To determine whether `national_prefix_for_parsing` matched any\n // \"capturing groups\", the value of the result of calling `.exec()`\n // is looked at, and if it has non-undefined values where there're\n // \"capturing groups\" in the regular expression, then it means\n // that \"capturing groups\" have been matched.\n // It's not possible to tell whether there'll be any \"capturing gropus\"\n // before the matching process, because a `national_prefix_for_parsing`\n // could exhibit both behaviors.\n\n var capturedGroupsCount = prefixMatch.length - 1;\n var hasCapturedGroups = capturedGroupsCount > 0 && prefixMatch[capturedGroupsCount];\n\n if (metadata.nationalPrefixTransformRule() && hasCapturedGroups) {\n nationalNumber = number.replace(prefixPattern, metadata.nationalPrefixTransformRule()); // If there's more than one captured group,\n // then carrier code is the second one.\n\n if (capturedGroupsCount > 1) {\n carrierCode = prefixMatch[1];\n }\n } // If there're no \"capturing groups\",\n // or if there're \"capturing groups\" but no\n // `national_prefix_transform_rule`,\n // then just strip the national prefix from the number,\n // and possibly a carrier code.\n // Seems like there could be more.\n else {\n // `prefixBeforeNationalNumber` is the whole substring matched by\n // the `national_prefix_for_parsing` regular expression.\n // There seem to be no guarantees that it's just a national prefix.\n // For example, if there's a carrier code, it's gonna be a\n // part of `prefixBeforeNationalNumber` too.\n var prefixBeforeNationalNumber = prefixMatch[0];\n nationalNumber = number.slice(prefixBeforeNationalNumber.length); // If there's at least one captured group,\n // then carrier code is the first one.\n\n if (hasCapturedGroups) {\n carrierCode = prefixMatch[1];\n }\n } // Tries to guess whether a national prefix was present in the input.\n // This is not something copy-pasted from Google's library:\n // they don't seem to have an equivalent for that.\n // So this isn't an \"officially approved\" way of doing something like that.\n // But since there seems no other existing method, this library uses it.\n\n\n var nationalPrefix;\n\n if (hasCapturedGroups) {\n var possiblePositionOfTheFirstCapturedGroup = number.indexOf(prefixMatch[1]);\n var possibleNationalPrefix = number.slice(0, possiblePositionOfTheFirstCapturedGroup); // Example: an Argentinian (AR) phone number `0111523456789`.\n // `prefixMatch[0]` is `01115`, and `$1` is `11`,\n // and the rest of the phone number is `23456789`.\n // The national number is transformed via `9$1` to `91123456789`.\n // National prefix `0` is detected being present at the start.\n // if (possibleNationalPrefix.indexOf(metadata.numberingPlan.nationalPrefix()) === 0) {\n\n if (possibleNationalPrefix === metadata.numberingPlan.nationalPrefix()) {\n nationalPrefix = metadata.numberingPlan.nationalPrefix();\n }\n } else {\n nationalPrefix = prefixMatch[0];\n }\n\n return {\n nationalNumber: nationalNumber,\n nationalPrefix: nationalPrefix,\n carrierCode: carrierCode\n };\n }\n }\n\n return {\n nationalNumber: number\n };\n}\n//# sourceMappingURL=extractNationalNumberFromPossiblyIncompleteNumber.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport Metadata from '../metadata.js';\nimport getNumberType from './getNumberType.js';\nexport default function getCountryByNationalNumber(nationalPhoneNumber, _ref) {\n var countries = _ref.countries,\n defaultCountry = _ref.defaultCountry,\n metadata = _ref.metadata;\n // Re-create `metadata` because it will be selecting a `country`.\n metadata = new Metadata(metadata);\n var matchingCountries = [];\n\n for (var _iterator = _createForOfIteratorHelperLoose(countries), _step; !(_step = _iterator()).done;) {\n var country = _step.value;\n metadata.country(country); // \"Leading digits\" patterns are only defined for about 20% of all countries.\n // By definition, matching \"leading digits\" is a sufficient but not a necessary\n // condition for a phone number to belong to a country.\n // The point of \"leading digits\" check is that it's the fastest one to get a match.\n // https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md#leading_digits\n // I'd suppose that \"leading digits\" patterns are mutually exclusive for different countries\n // because of the intended use of that feature.\n\n if (metadata.leadingDigits()) {\n if (nationalPhoneNumber && nationalPhoneNumber.search(metadata.leadingDigits()) === 0) {\n return country;\n }\n } // Else perform full validation with all of those\n // fixed-line/mobile/etc regular expressions.\n else if (getNumberType({\n phone: nationalPhoneNumber,\n country: country\n }, undefined, metadata.metadata)) {\n // If the `defaultCountry` is among the `matchingCountries` then return it.\n if (defaultCountry) {\n if (country === defaultCountry) {\n return country;\n }\n\n matchingCountries.push(country);\n } else {\n return country;\n }\n }\n } // Return the first (\"main\") one of the `matchingCountries`.\n\n\n if (matchingCountries.length > 0) {\n return matchingCountries[0];\n }\n}\n//# sourceMappingURL=getCountryByNationalNumber.js.map","import getCountryByNationalNumber from './getCountryByNationalNumber.js';\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\nexport default function getCountryByCallingCode(callingCode, _ref) {\n var nationalPhoneNumber = _ref.nationalNumber,\n defaultCountry = _ref.defaultCountry,\n metadata = _ref.metadata;\n\n /* istanbul ignore if */\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata.isNonGeographicCallingCode(callingCode)) {\n return '001';\n }\n }\n\n var possibleCountries = metadata.getCountryCodesForCallingCode(callingCode);\n\n if (!possibleCountries) {\n return;\n } // If there's just one country corresponding to the country code,\n // then just return it, without further phone number digits validation.\n\n\n if (possibleCountries.length === 1) {\n return possibleCountries[0];\n }\n\n return getCountryByNationalNumber(nationalPhoneNumber, {\n countries: possibleCountries,\n defaultCountry: defaultCountry,\n metadata: metadata.metadata\n });\n}\n//# sourceMappingURL=getCountryByCallingCode.js.map","// When phone numbers are written in `RFC3966` format — `\"tel:+12133734253\"` —\n// they can have their \"calling code\" part written separately in a `phone-context` parameter.\n// Example: `\"tel:12133734253;phone-context=+1\"`.\n// This function parses the full phone number from the local number and the `phone-context`\n// when the `phone-context` contains a `+` sign.\nimport { VALID_DIGITS // PLUS_CHARS\n} from '../constants.js';\nexport var PLUS_SIGN = '+';\nvar RFC3966_VISUAL_SEPARATOR_ = '[\\\\-\\\\.\\\\(\\\\)]?';\nvar RFC3966_PHONE_DIGIT_ = '(' + '[' + VALID_DIGITS + ']' + '|' + RFC3966_VISUAL_SEPARATOR_ + ')';\nvar RFC3966_GLOBAL_NUMBER_DIGITS_ = '^' + '\\\\' + PLUS_SIGN + RFC3966_PHONE_DIGIT_ + '*' + '[' + VALID_DIGITS + ']' + RFC3966_PHONE_DIGIT_ + '*' + '$';\n/**\r\n * Regular expression of valid global-number-digits for the phone-context\r\n * parameter, following the syntax defined in RFC3966.\r\n */\n\nvar RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_ = new RegExp(RFC3966_GLOBAL_NUMBER_DIGITS_, 'g'); // In this port of Google's library, we don't accept alpha characters in phone numbers.\n// const ALPHANUM_ = VALID_ALPHA_ + VALID_DIGITS\n\nvar ALPHANUM_ = VALID_DIGITS;\nvar RFC3966_DOMAINLABEL_ = '[' + ALPHANUM_ + ']+((\\\\-)*[' + ALPHANUM_ + '])*';\nvar VALID_ALPHA_ = 'a-zA-Z';\nvar RFC3966_TOPLABEL_ = '[' + VALID_ALPHA_ + ']+((\\\\-)*[' + ALPHANUM_ + '])*';\nvar RFC3966_DOMAINNAME_ = '^(' + RFC3966_DOMAINLABEL_ + '\\\\.)*' + RFC3966_TOPLABEL_ + '\\\\.?$';\n/**\r\n * Regular expression of valid domainname for the phone-context parameter,\r\n * following the syntax defined in RFC3966.\r\n */\n\nvar RFC3966_DOMAINNAME_PATTERN_ = new RegExp(RFC3966_DOMAINNAME_, 'g');\nexport var RFC3966_PREFIX_ = 'tel:';\nexport var RFC3966_PHONE_CONTEXT_ = ';phone-context=';\nexport var RFC3966_ISDN_SUBADDRESS_ = ';isub=';\n/**\r\n * Extracts the value of the phone-context parameter of `numberToExtractFrom`,\r\n * following the syntax defined in RFC3966.\r\n *\r\n * @param {string} numberToExtractFrom\r\n * @return {string|null} the extracted string (possibly empty), or `null` if no phone-context parameter is found.\r\n */\n\nexport default function extractPhoneContext(numberToExtractFrom) {\n var indexOfPhoneContext = numberToExtractFrom.indexOf(RFC3966_PHONE_CONTEXT_); // If no phone-context parameter is present\n\n if (indexOfPhoneContext < 0) {\n return null;\n }\n\n var phoneContextStart = indexOfPhoneContext + RFC3966_PHONE_CONTEXT_.length; // If phone-context parameter is empty\n\n if (phoneContextStart >= numberToExtractFrom.length) {\n return '';\n }\n\n var phoneContextEnd = numberToExtractFrom.indexOf(';', phoneContextStart); // If phone-context is not the last parameter\n\n if (phoneContextEnd >= 0) {\n return numberToExtractFrom.substring(phoneContextStart, phoneContextEnd);\n } else {\n return numberToExtractFrom.substring(phoneContextStart);\n }\n}\n/**\r\n * Returns whether the value of phoneContext follows the syntax defined in RFC3966.\r\n *\r\n * @param {string|null} phoneContext\r\n * @return {boolean}\r\n */\n\nexport function isPhoneContextValid(phoneContext) {\n if (phoneContext === null) {\n return true;\n }\n\n if (phoneContext.length === 0) {\n return false;\n } // Does phone-context value match pattern of global-number-digits or domainname.\n\n\n return RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_.test(phoneContext) || RFC3966_DOMAINNAME_PATTERN_.test(phoneContext);\n}\n//# sourceMappingURL=extractPhoneContext.js.map","// This is a port of Google Android `libphonenumber`'s\n// `phonenumberutil.js` of December 31th, 2018.\n//\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\nimport { VALID_DIGITS, PLUS_CHARS, MIN_LENGTH_FOR_NSN, MAX_LENGTH_FOR_NSN } from './constants.js';\nimport ParseError from './ParseError.js';\nimport Metadata from './metadata.js';\nimport isViablePhoneNumber, { isViablePhoneNumberStart } from './helpers/isViablePhoneNumber.js';\nimport extractExtension from './helpers/extension/extractExtension.js';\nimport parseIncompletePhoneNumber from './parseIncompletePhoneNumber.js';\nimport getCountryCallingCode from './getCountryCallingCode.js';\nimport { isPossibleNumber } from './isPossible.js'; // import { parseRFC3966 } from './helpers/RFC3966.js'\n\nimport PhoneNumber from './PhoneNumber.js';\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport extractCountryCallingCode from './helpers/extractCountryCallingCode.js';\nimport extractNationalNumber from './helpers/extractNationalNumber.js';\nimport stripIddPrefix from './helpers/stripIddPrefix.js';\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode.js';\nimport extractFormattedPhoneNumberFromPossibleRfc3966NumberUri from './helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js'; // We don't allow input strings for parsing to be longer than 250 chars.\n// This prevents malicious input from consuming CPU.\n\nvar MAX_INPUT_STRING_LENGTH = 250; // This consists of the plus symbol, digits, and arabic-indic digits.\n\nvar PHONE_NUMBER_START_PATTERN = new RegExp('[' + PLUS_CHARS + VALID_DIGITS + ']'); // Regular expression of trailing characters that we want to remove.\n// A trailing `#` is sometimes used when writing phone numbers with extensions in US.\n// Example: \"+1 (645) 123 1234-910#\" number has extension \"910\".\n\nvar AFTER_PHONE_NUMBER_END_PATTERN = new RegExp('[^' + VALID_DIGITS + '#' + ']+$');\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false; // Examples:\n//\n// ```js\n// parse('8 (800) 555-35-35', 'RU')\n// parse('8 (800) 555-35-35', 'RU', metadata)\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } })\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } }, metadata)\n// parse('+7 800 555 35 35')\n// parse('+7 800 555 35 35', metadata)\n// ```\n//\n\n/**\r\n * Parses a phone number.\r\n *\r\n * parse('123456789', { defaultCountry: 'RU', v2: true }, metadata)\r\n * parse('123456789', { defaultCountry: 'RU' }, metadata)\r\n * parse('123456789', undefined, metadata)\r\n *\r\n * @param {string} input\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {object|PhoneNumber?} If `options.v2: true` flag is passed, it returns a `PhoneNumber?` instance. Otherwise, returns an object of shape `{ phone: '...', country: '...' }` (or just `{}` if no phone number was parsed).\r\n */\n\nexport default function parse(text, options, metadata) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {};\n metadata = new Metadata(metadata); // Validate `defaultCountry`.\n\n if (options.defaultCountry && !metadata.hasCountry(options.defaultCountry)) {\n if (options.v2) {\n throw new ParseError('INVALID_COUNTRY');\n }\n\n throw new Error(\"Unknown country: \".concat(options.defaultCountry));\n } // Parse the phone number.\n\n\n var _parseInput = parseInput(text, options.v2, options.extract),\n formattedPhoneNumber = _parseInput.number,\n ext = _parseInput.ext,\n error = _parseInput.error; // If the phone number is not viable then return nothing.\n\n\n if (!formattedPhoneNumber) {\n if (options.v2) {\n if (error === 'TOO_SHORT') {\n throw new ParseError('TOO_SHORT');\n }\n\n throw new ParseError('NOT_A_NUMBER');\n }\n\n return {};\n }\n\n var _parsePhoneNumber = parsePhoneNumber(formattedPhoneNumber, options.defaultCountry, options.defaultCallingCode, metadata),\n country = _parsePhoneNumber.country,\n nationalNumber = _parsePhoneNumber.nationalNumber,\n countryCallingCode = _parsePhoneNumber.countryCallingCode,\n countryCallingCodeSource = _parsePhoneNumber.countryCallingCodeSource,\n carrierCode = _parsePhoneNumber.carrierCode;\n\n if (!metadata.hasSelectedNumberingPlan()) {\n if (options.v2) {\n throw new ParseError('INVALID_COUNTRY');\n }\n\n return {};\n } // Validate national (significant) number length.\n\n\n if (!nationalNumber || nationalNumber.length < MIN_LENGTH_FOR_NSN) {\n // Won't throw here because the regexp already demands length > 1.\n\n /* istanbul ignore if */\n if (options.v2) {\n throw new ParseError('TOO_SHORT');\n } // Google's demo just throws an error in this case.\n\n\n return {};\n } // Validate national (significant) number length.\n //\n // A sidenote:\n //\n // They say that sometimes national (significant) numbers\n // can be longer than `MAX_LENGTH_FOR_NSN` (e.g. in Germany).\n // https://github.com/googlei18n/libphonenumber/blob/7e1748645552da39c4e1ba731e47969d97bdb539/resources/phonenumber.proto#L36\n // Such numbers will just be discarded.\n //\n\n\n if (nationalNumber.length > MAX_LENGTH_FOR_NSN) {\n if (options.v2) {\n throw new ParseError('TOO_LONG');\n } // Google's demo just throws an error in this case.\n\n\n return {};\n }\n\n if (options.v2) {\n var phoneNumber = new PhoneNumber(countryCallingCode, nationalNumber, metadata.metadata);\n\n if (country) {\n phoneNumber.country = country;\n }\n\n if (carrierCode) {\n phoneNumber.carrierCode = carrierCode;\n }\n\n if (ext) {\n phoneNumber.ext = ext;\n }\n\n phoneNumber.__countryCallingCodeSource = countryCallingCodeSource;\n return phoneNumber;\n } // Check if national phone number pattern matches the number.\n // National number pattern is different for each country,\n // even for those ones which are part of the \"NANPA\" group.\n\n\n var valid = (options.extended ? metadata.hasSelectedNumberingPlan() : country) ? matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) : false;\n\n if (!options.extended) {\n return valid ? result(country, nationalNumber, ext) : {};\n } // isInternational: countryCallingCode !== undefined\n\n\n return {\n country: country,\n countryCallingCode: countryCallingCode,\n carrierCode: carrierCode,\n valid: valid,\n possible: valid ? true : options.extended === true && metadata.possibleLengths() && isPossibleNumber(nationalNumber, metadata) ? true : false,\n phone: nationalNumber,\n ext: ext\n };\n}\n/**\r\n * Extracts a formatted phone number from text.\r\n * Doesn't guarantee that the extracted phone number\r\n * is a valid phone number (for example, doesn't validate its length).\r\n * @param {string} text\r\n * @param {boolean} [extract] — If `false`, then will parse the entire `text` as a phone number.\r\n * @param {boolean} [throwOnError] — By default, it won't throw if the text is too long.\r\n * @return {string}\r\n * @example\r\n * // Returns \"(213) 373-4253\".\r\n * extractFormattedPhoneNumber(\"Call (213) 373-4253 for assistance.\")\r\n */\n\nfunction _extractFormattedPhoneNumber(text, extract, throwOnError) {\n if (!text) {\n return;\n }\n\n if (text.length > MAX_INPUT_STRING_LENGTH) {\n if (throwOnError) {\n throw new ParseError('TOO_LONG');\n }\n\n return;\n }\n\n if (extract === false) {\n return text;\n } // Attempt to extract a possible number from the string passed in\n\n\n var startsAt = text.search(PHONE_NUMBER_START_PATTERN);\n\n if (startsAt < 0) {\n return;\n }\n\n return text // Trim everything to the left of the phone number\n .slice(startsAt) // Remove trailing non-numerical characters\n .replace(AFTER_PHONE_NUMBER_END_PATTERN, '');\n}\n/**\r\n * @param {string} text - Input.\r\n * @param {boolean} v2 - Legacy API functions don't pass `v2: true` flag.\r\n * @param {boolean} [extract] - Whether to extract a phone number from `text`, or attempt to parse the entire text as a phone number.\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\n\n\nfunction parseInput(text, v2, extract) {\n // // Parse RFC 3966 phone number URI.\n // if (text && text.indexOf('tel:') === 0) {\n // \treturn parseRFC3966(text)\n // }\n // let number = extractFormattedPhoneNumber(text, extract, v2)\n var number = extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(text, {\n extractFormattedPhoneNumber: function extractFormattedPhoneNumber(text) {\n return _extractFormattedPhoneNumber(text, extract, v2);\n }\n }); // If the phone number is not viable, then abort.\n\n if (!number) {\n return {};\n }\n\n if (!isViablePhoneNumber(number)) {\n if (isViablePhoneNumberStart(number)) {\n return {\n error: 'TOO_SHORT'\n };\n }\n\n return {};\n } // Attempt to parse extension first, since it doesn't require region-specific\n // data and we want to have the non-normalised number here.\n\n\n var withExtensionStripped = extractExtension(number);\n\n if (withExtensionStripped.ext) {\n return withExtensionStripped;\n }\n\n return {\n number: number\n };\n}\n/**\r\n * Creates `parse()` result object.\r\n */\n\n\nfunction result(country, nationalNumber, ext) {\n var result = {\n country: country,\n phone: nationalNumber\n };\n\n if (ext) {\n result.ext = ext;\n }\n\n return result;\n}\n/**\r\n * Parses a viable phone number.\r\n * @param {string} formattedPhoneNumber — Example: \"(213) 373-4253\".\r\n * @param {string} [defaultCountry]\r\n * @param {string} [defaultCallingCode]\r\n * @param {Metadata} metadata\r\n * @return {object} Returns `{ country: string?, countryCallingCode: string?, nationalNumber: string? }`.\r\n */\n\n\nfunction parsePhoneNumber(formattedPhoneNumber, defaultCountry, defaultCallingCode, metadata) {\n // Extract calling code from phone number.\n var _extractCountryCallin = extractCountryCallingCode(parseIncompletePhoneNumber(formattedPhoneNumber), defaultCountry, defaultCallingCode, metadata.metadata),\n countryCallingCodeSource = _extractCountryCallin.countryCallingCodeSource,\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n number = _extractCountryCallin.number; // Choose a country by `countryCallingCode`.\n\n\n var country;\n\n if (countryCallingCode) {\n metadata.selectNumberingPlan(countryCallingCode);\n } // If `formattedPhoneNumber` is passed in \"national\" format\n // then `number` is defined and `countryCallingCode` is `undefined`.\n else if (number && (defaultCountry || defaultCallingCode)) {\n metadata.selectNumberingPlan(defaultCountry, defaultCallingCode);\n\n if (defaultCountry) {\n country = defaultCountry;\n } else {\n /* istanbul ignore if */\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata.isNonGeographicCallingCode(defaultCallingCode)) {\n country = '001';\n }\n }\n }\n\n countryCallingCode = defaultCallingCode || getCountryCallingCode(defaultCountry, metadata.metadata);\n } else return {};\n\n if (!number) {\n return {\n countryCallingCodeSource: countryCallingCodeSource,\n countryCallingCode: countryCallingCode\n };\n }\n\n var _extractNationalNumbe = extractNationalNumber(parseIncompletePhoneNumber(number), metadata),\n nationalNumber = _extractNationalNumbe.nationalNumber,\n carrierCode = _extractNationalNumbe.carrierCode; // Sometimes there are several countries\n // corresponding to the same country phone code\n // (e.g. NANPA countries all having `1` country phone code).\n // Therefore, to reliably determine the exact country,\n // national (significant) number should have been parsed first.\n //\n // When `metadata.json` is generated, all \"ambiguous\" country phone codes\n // get their countries populated with the full set of\n // \"phone number type\" regular expressions.\n //\n\n\n var exactCountry = getCountryByCallingCode(countryCallingCode, {\n nationalNumber: nationalNumber,\n defaultCountry: defaultCountry,\n metadata: metadata\n });\n\n if (exactCountry) {\n country = exactCountry;\n /* istanbul ignore if */\n\n if (exactCountry === '001') {// Can't happen with `USE_NON_GEOGRAPHIC_COUNTRY_CODE` being `false`.\n // If `USE_NON_GEOGRAPHIC_COUNTRY_CODE` is set to `true` for some reason,\n // then remove the \"istanbul ignore if\".\n } else {\n metadata.country(country);\n }\n }\n\n return {\n country: country,\n countryCallingCode: countryCallingCode,\n countryCallingCodeSource: countryCallingCodeSource,\n nationalNumber: nationalNumber,\n carrierCode: carrierCode\n };\n}\n//# sourceMappingURL=parse.js.map","import extractPhoneContext, { isPhoneContextValid, PLUS_SIGN, RFC3966_PREFIX_, RFC3966_PHONE_CONTEXT_, RFC3966_ISDN_SUBADDRESS_ } from './extractPhoneContext.js';\nimport ParseError from '../ParseError.js';\n/**\r\n * @param {string} numberToParse\r\n * @param {string} nationalNumber\r\n * @return {}\r\n */\n\nexport default function extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(numberToParse, _ref) {\n var extractFormattedPhoneNumber = _ref.extractFormattedPhoneNumber;\n var phoneContext = extractPhoneContext(numberToParse);\n\n if (!isPhoneContextValid(phoneContext)) {\n throw new ParseError('NOT_A_NUMBER');\n }\n\n var phoneNumberString;\n\n if (phoneContext === null) {\n // Extract a possible number from the string passed in.\n // (this strips leading characters that could not be the start of a phone number)\n phoneNumberString = extractFormattedPhoneNumber(numberToParse) || '';\n } else {\n phoneNumberString = ''; // If the phone context contains a phone number prefix, we need to capture\n // it, whereas domains will be ignored.\n\n if (phoneContext.charAt(0) === PLUS_SIGN) {\n phoneNumberString += phoneContext;\n } // Now append everything between the \"tel:\" prefix and the phone-context.\n // This should include the national number, an optional extension or\n // isdn-subaddress component. Note we also handle the case when \"tel:\" is\n // missing, as we have seen in some of the phone number inputs.\n // In that case, we append everything from the beginning.\n\n\n var indexOfRfc3966Prefix = numberToParse.indexOf(RFC3966_PREFIX_);\n var indexOfNationalNumber; // RFC 3966 \"tel:\" prefix is preset at this stage because\n // `isPhoneContextValid()` requires it to be present.\n\n /* istanbul ignore else */\n\n if (indexOfRfc3966Prefix >= 0) {\n indexOfNationalNumber = indexOfRfc3966Prefix + RFC3966_PREFIX_.length;\n } else {\n indexOfNationalNumber = 0;\n }\n\n var indexOfPhoneContext = numberToParse.indexOf(RFC3966_PHONE_CONTEXT_);\n phoneNumberString += numberToParse.substring(indexOfNationalNumber, indexOfPhoneContext);\n } // Delete the isdn-subaddress and everything after it if it is present.\n // Note extension won't appear at the same time with isdn-subaddress\n // according to paragraph 5.3 of the RFC3966 spec.\n\n\n var indexOfIsdn = phoneNumberString.indexOf(RFC3966_ISDN_SUBADDRESS_);\n\n if (indexOfIsdn > 0) {\n phoneNumberString = phoneNumberString.substring(0, indexOfIsdn);\n } // If both phone context and isdn-subaddress are absent but other\n // parameters are present, the parameters are left in nationalNumber.\n // This is because we are concerned about deleting content from a potential\n // number string when there is no strong evidence that the number is\n // actually written in RFC3966.\n\n\n if (phoneNumberString !== '') {\n return phoneNumberString;\n }\n}\n//# sourceMappingURL=extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js.map","import stripIddPrefix from './stripIddPrefix.js';\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js';\nimport Metadata from '../metadata.js';\nimport { MAX_LENGTH_COUNTRY_CODE } from '../constants.js';\n/**\r\n * Converts a phone number digits (possibly with a `+`)\r\n * into a calling code and the rest phone number digits.\r\n * The \"rest phone number digits\" could include\r\n * a national prefix, carrier code, and national\r\n * (significant) number.\r\n * @param {string} number — Phone number digits (possibly with a `+`).\r\n * @param {string} [country] — Default country.\r\n * @param {string} [callingCode] — Default calling code (some phone numbering plans are non-geographic).\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCodeSource: string?, countryCallingCode: string?, number: string }`\r\n * @example\r\n * // Returns `{ countryCallingCode: \"1\", number: \"2133734253\" }`.\r\n * extractCountryCallingCode('2133734253', 'US', null, metadata)\r\n * extractCountryCallingCode('2133734253', null, '1', metadata)\r\n * extractCountryCallingCode('+12133734253', null, null, metadata)\r\n * extractCountryCallingCode('+12133734253', 'RU', null, metadata)\r\n */\n\nexport default function extractCountryCallingCode(number, country, callingCode, metadata) {\n if (!number) {\n return {};\n }\n\n var isNumberWithIddPrefix; // If this is not an international phone number,\n // then either extract an \"IDD\" prefix, or extract a\n // country calling code from a number by autocorrecting it\n // by prepending a leading `+` in cases when it starts\n // with the country calling code.\n // https://wikitravel.org/en/International_dialling_prefix\n // https://github.com/catamphetamine/libphonenumber-js/issues/376\n\n if (number[0] !== '+') {\n // Convert an \"out-of-country\" dialing phone number\n // to a proper international phone number.\n var numberWithoutIDD = stripIddPrefix(number, country, callingCode, metadata); // If an IDD prefix was stripped then\n // convert the number to international one\n // for subsequent parsing.\n\n if (numberWithoutIDD && numberWithoutIDD !== number) {\n isNumberWithIddPrefix = true;\n number = '+' + numberWithoutIDD;\n } else {\n // Check to see if the number starts with the country calling code\n // for the default country. If so, we remove the country calling code,\n // and do some checks on the validity of the number before and after.\n // https://github.com/catamphetamine/libphonenumber-js/issues/376\n if (country || callingCode) {\n var _extractCountryCallin = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, callingCode, metadata),\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n shorterNumber = _extractCountryCallin.number;\n\n if (countryCallingCode) {\n return {\n countryCallingCodeSource: 'FROM_NUMBER_WITHOUT_PLUS_SIGN',\n countryCallingCode: countryCallingCode,\n number: shorterNumber\n };\n }\n }\n\n return {\n // No need to set it to `UNSPECIFIED`. It can be just `undefined`.\n // countryCallingCodeSource: 'UNSPECIFIED',\n number: number\n };\n }\n } // Fast abortion: country codes do not begin with a '0'\n\n\n if (number[1] === '0') {\n return {};\n }\n\n metadata = new Metadata(metadata); // The thing with country phone codes\n // is that they are orthogonal to each other\n // i.e. there's no such country phone code A\n // for which country phone code B exists\n // where B starts with A.\n // Therefore, while scanning digits,\n // if a valid country code is found,\n // that means that it is the country code.\n //\n\n var i = 2;\n\n while (i - 1 <= MAX_LENGTH_COUNTRY_CODE && i <= number.length) {\n var _countryCallingCode = number.slice(1, i);\n\n if (metadata.hasCallingCode(_countryCallingCode)) {\n metadata.selectNumberingPlan(_countryCallingCode);\n return {\n countryCallingCodeSource: isNumberWithIddPrefix ? 'FROM_NUMBER_WITH_IDD' : 'FROM_NUMBER_WITH_PLUS_SIGN',\n countryCallingCode: _countryCallingCode,\n number: number.slice(i)\n };\n }\n\n i++;\n }\n\n return {};\n} // The possible values for the returned `countryCallingCodeSource` are:\n//\n// Copy-pasted from:\n// https://github.com/google/libphonenumber/blob/master/resources/phonenumber.proto\n//\n// // The source from which the country_code is derived. This is not set in the\n// // general parsing method, but in the method that parses and keeps raw_input.\n// // New fields could be added upon request.\n// enum CountryCodeSource {\n// // Default value returned if this is not set, because the phone number was\n// // created using parse, not parseAndKeepRawInput. hasCountryCodeSource will\n// // return false if this is the case.\n// UNSPECIFIED = 0;\n//\n// // The country_code is derived based on a phone number with a leading \"+\",\n// // e.g. the French number \"+33 1 42 68 53 00\".\n// FROM_NUMBER_WITH_PLUS_SIGN = 1;\n//\n// // The country_code is derived based on a phone number with a leading IDD,\n// // e.g. the French number \"011 33 1 42 68 53 00\", as it is dialled from US.\n// FROM_NUMBER_WITH_IDD = 5;\n//\n// // The country_code is derived based on a phone number without a leading\n// // \"+\", e.g. the French number \"33 1 42 68 53 00\" when defaultCountry is\n// // supplied as France.\n// FROM_NUMBER_WITHOUT_PLUS_SIGN = 10;\n//\n// // The country_code is derived NOT based on the phone number itself, but\n// // from the defaultCountry parameter provided in the parsing function by the\n// // clients. This happens mostly for numbers written in the national format\n// // (without country code). For example, this would be set when parsing the\n// // French number \"01 42 68 53 00\", when defaultCountry is supplied as\n// // France.\n// FROM_DEFAULT_COUNTRY = 20;\n// }\n//# sourceMappingURL=extractCountryCallingCode.js.map","import Metadata from '../metadata.js';\nimport matchesEntirely from './matchesEntirely.js';\nimport extractNationalNumber from './extractNationalNumber.js';\nimport checkNumberLength from './checkNumberLength.js';\nimport getCountryCallingCode from '../getCountryCallingCode.js';\n/**\r\n * Sometimes some people incorrectly input international phone numbers\r\n * without the leading `+`. This function corrects such input.\r\n * @param {string} number — Phone number digits.\r\n * @param {string?} country\r\n * @param {string?} callingCode\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCode: string?, number: string }`.\r\n */\n\nexport default function extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, callingCode, metadata) {\n var countryCallingCode = country ? getCountryCallingCode(country, metadata) : callingCode;\n\n if (number.indexOf(countryCallingCode) === 0) {\n metadata = new Metadata(metadata);\n metadata.selectNumberingPlan(country, callingCode);\n var possibleShorterNumber = number.slice(countryCallingCode.length);\n\n var _extractNationalNumbe = extractNationalNumber(possibleShorterNumber, metadata),\n possibleShorterNationalNumber = _extractNationalNumbe.nationalNumber;\n\n var _extractNationalNumbe2 = extractNationalNumber(number, metadata),\n nationalNumber = _extractNationalNumbe2.nationalNumber; // If the number was not valid before but is valid now,\n // or if it was too long before, we consider the number\n // with the country calling code stripped to be a better result\n // and keep that instead.\n // For example, in Germany (+49), `49` is a valid area code,\n // so if a number starts with `49`, it could be both a valid\n // national German number or an international number without\n // a leading `+`.\n\n\n if (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) && matchesEntirely(possibleShorterNationalNumber, metadata.nationalNumberPattern()) || checkNumberLength(nationalNumber, metadata) === 'TOO_LONG') {\n return {\n countryCallingCode: countryCallingCode,\n number: possibleShorterNumber\n };\n }\n }\n\n return {\n number: number\n };\n}\n//# sourceMappingURL=extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport parse from './parse.js';\nexport default function parsePhoneNumberWithError(text, options, metadata) {\n return parse(text, _objectSpread(_objectSpread({}, options), {}, {\n v2: true\n }), metadata);\n}\n//# sourceMappingURL=parsePhoneNumberWithError_.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport parsePhoneNumberWithError from './parsePhoneNumberWithError_.js';\nimport ParseError from './ParseError.js';\nimport { isSupportedCountry } from './metadata.js';\nexport default function parsePhoneNumber(text, options, metadata) {\n // Validate `defaultCountry`.\n if (options && options.defaultCountry && !isSupportedCountry(options.defaultCountry, metadata)) {\n options = _objectSpread(_objectSpread({}, options), {}, {\n defaultCountry: undefined\n });\n } // Parse phone number.\n\n\n try {\n return parsePhoneNumberWithError(text, options, metadata);\n } catch (error) {\n /* istanbul ignore else */\n if (error instanceof ParseError) {//\n } else {\n throw error;\n }\n }\n}\n//# sourceMappingURL=parsePhoneNumber_.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport normalizeArguments from './normalizeArguments.js';\nimport parsePhoneNumber from './parsePhoneNumber_.js';\nexport default function isValidPhoneNumber() {\n var _normalizeArguments = normalizeArguments(arguments),\n text = _normalizeArguments.text,\n options = _normalizeArguments.options,\n metadata = _normalizeArguments.metadata;\n\n options = _objectSpread(_objectSpread({}, options), {}, {\n extract: false\n });\n var phoneNumber = parsePhoneNumber(text, options, metadata);\n return phoneNumber && phoneNumber.isValid() || false;\n}\n//# sourceMappingURL=isValidPhoneNumber.js.map","import withMetadataArgument from './withMetadataArgument.js'\r\nimport { isValidPhoneNumber as _isValidPhoneNumber } from '../../core/index.js'\r\n\r\nexport function isValidPhoneNumber() {\r\n\treturn withMetadataArgument(_isValidPhoneNumber, arguments)\r\n}","// Importing from a \".js\" file is a workaround for Node.js \"ES Modules\"\r\n// importing system which is even uncapable of importing \"*.json\" files.\r\nimport metadata from '../../metadata.min.json.js'\r\n\r\nexport default function withMetadataArgument(func, _arguments) {\r\n\tvar args = Array.prototype.slice.call(_arguments)\r\n\targs.push(metadata)\r\n\treturn func.apply(this, args)\r\n}","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"phone\"\n\t\t:placeholder=\"t('settings', 'Your phone number')\"\n\t\tautocomplete=\"tel\"\n\t\ttype=\"tel\"\n\t\t:on-validate=\"onValidate\" />\n</template>\n\n<script>\nimport { isValidPhoneNumber } from 'libphonenumber-js'\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst {\n\tdefaultPhoneRegion,\n\tphone,\n} = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'PhoneSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tphone: { ...phone, readable: NAME_READABLE_ENUM[phone.name] },\n\t\t}\n\t},\n\n\tmethods: {\n\t\tonValidate(value) {\n\t\t\tif (defaultPhoneRegion) {\n\t\t\t\treturn isValidPhoneNumber(value, defaultPhoneRegion)\n\t\t\t}\n\t\t\treturn isValidPhoneNumber(value)\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PhoneSection.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!./PhoneSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PhoneSection.vue?vue&type=template&id=6f2678bb&\"\nimport script from \"./PhoneSection.vue?vue&type=script&lang=js&\"\nexport * from \"./PhoneSection.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('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your phone number'),\"autocomplete\":\"tel\",\"type\":\"tel\",\"on-validate\":_vm.onValidate}},'AccountPropertySection',_vm.phone,false,true))\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"location\"\n\t\tautocomplete=\"address-level1\"\n\t\t:placeholder=\"t('settings', 'Your city')\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { location } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'LocationSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tlocation: { ...location, readable: NAME_READABLE_ENUM[location.name] },\n\t\t}\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocationSection.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!./LocationSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LocationSection.vue?vue&type=template&id=7f8e0736&\"\nimport script from \"./LocationSection.vue?vue&type=script&lang=js&\"\nexport * from \"./LocationSection.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('AccountPropertySection',_vm._b({attrs:{\"autocomplete\":\"address-level1\",\"placeholder\":_vm.t('settings', 'Your city')}},'AccountPropertySection',_vm.location,false,true))\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"website\"\n\t\t:placeholder=\"t('settings', 'Your website')\"\n\t\tautocomplete=\"url\"\n\t\ttype=\"url\"\n\t\t:on-validate=\"onValidate\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\nimport { validateUrl } from '../../utils/validate.js'\n\nconst { website } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'WebsiteSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\twebsite: { ...website, readable: NAME_READABLE_ENUM[website.name] },\n\t\t}\n\t},\n\n\tmethods: {\n\t\tonValidate(value) {\n\t\t\treturn validateUrl(value)\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WebsiteSection.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!./WebsiteSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WebsiteSection.vue?vue&type=template&id=271dd4ba&\"\nimport script from \"./WebsiteSection.vue?vue&type=script&lang=js&\"\nexport * from \"./WebsiteSection.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('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your website'),\"autocomplete\":\"url\",\"type\":\"url\",\"on-validate\":_vm.onValidate}},'AccountPropertySection',_vm.website,false,true))\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"twitter\"\n\t\t:placeholder=\"t('settings', 'Your Twitter handle')\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { twitter } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'TwitterSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\ttwitter: { ...twitter, readable: NAME_READABLE_ENUM[twitter.name] },\n\t\t}\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TwitterSection.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!./TwitterSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TwitterSection.vue?vue&type=template&id=203feaef&\"\nimport script from \"./TwitterSection.vue?vue&type=script&lang=js&\"\nexport * from \"./TwitterSection.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('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your Twitter handle')}},'AccountPropertySection',_vm.twitter,false,true))\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"fediverse\"\n\t\t:placeholder=\"t('settings', 'Your handle')\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { fediverse } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'FediverseSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tfediverse: { ...fediverse, readable: NAME_READABLE_ENUM[fediverse.name] },\n\t\t}\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FediverseSection.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!./FediverseSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FediverseSection.vue?vue&type=template&id=78433a38&\"\nimport script from \"./FediverseSection.vue?vue&type=script&lang=js&\"\nexport * from \"./FediverseSection.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('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your handle')}},'AccountPropertySection',_vm.fediverse,false,true))\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<div class=\"language\">\n\t\t<select :id=\"inputId\"\n\t\t\t:placeholder=\"t('settings', 'Language')\"\n\t\t\t@change=\"onLanguageChange\">\n\t\t\t<option v-for=\"commonLanguage in commonLanguages\"\n\t\t\t\t:key=\"commonLanguage.code\"\n\t\t\t\t:selected=\"language.code === commonLanguage.code\"\n\t\t\t\t:value=\"commonLanguage.code\">\n\t\t\t\t{{ commonLanguage.name }}\n\t\t\t</option>\n\t\t\t<option disabled>\n\t\t\t\t──────────\n\t\t\t</option>\n\t\t\t<option v-for=\"otherLanguage in otherLanguages\"\n\t\t\t\t:key=\"otherLanguage.code\"\n\t\t\t\t:selected=\"language.code === otherLanguage.code\"\n\t\t\t\t:value=\"otherLanguage.code\">\n\t\t\t\t{{ otherLanguage.name }}\n\t\t\t</option>\n\t\t</select>\n\n\t\t<a href=\"https://www.transifex.com/nextcloud/nextcloud/\"\n\t\t\ttarget=\"_blank\"\n\t\t\trel=\"noreferrer noopener\">\n\t\t\t<em>{{ t('settings', 'Help translate') }}</em>\n\t\t</a>\n\t</div>\n</template>\n\n<script>\nimport { ACCOUNT_SETTING_PROPERTY_ENUM } from '../../../constants/AccountPropertyConstants.js'\nimport { savePrimaryAccountProperty } from '../../../service/PersonalInfo/PersonalInfoService.js'\nimport { validateLanguage } from '../../../utils/validate.js'\nimport { handleError } from '../../../utils/handlers.js'\n\nexport default {\n\tname: 'Language',\n\n\tprops: {\n\t\tinputId: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\tcommonLanguages: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\totherLanguages: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\tlanguage: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tinitialLanguage: this.language,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tallLanguages() {\n\t\t\treturn Object.freeze(\n\t\t\t\t[...this.commonLanguages, ...this.otherLanguages]\n\t\t\t\t\t.reduce((acc, { code, name }) => ({ ...acc, [code]: name }), {}),\n\t\t\t)\n\t\t},\n\t},\n\n\tmethods: {\n\t\tasync onLanguageChange(e) {\n\t\t\tconst language = this.constructLanguage(e.target.value)\n\t\t\tthis.$emit('update:language', language)\n\n\t\t\tif (validateLanguage(language)) {\n\t\t\t\tawait this.updateLanguage(language)\n\t\t\t}\n\t\t},\n\n\t\tasync updateLanguage(language) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryAccountProperty(ACCOUNT_SETTING_PROPERTY_ENUM.LANGUAGE, language.code)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tlanguage,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t\tthis.reloadPage()\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update language'),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\tconstructLanguage(languageCode) {\n\t\t\treturn {\n\t\t\t\tcode: languageCode,\n\t\t\t\tname: this.allLanguages[languageCode],\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ language, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\t// Ensure that local state reflects server state\n\t\t\t\tthis.initialLanguage = language\n\t\t\t} else {\n\t\t\t\thandleError(error, errorMessage)\n\t\t\t}\n\t\t},\n\n\t\treloadPage() {\n\t\t\tlocation.reload()\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.language {\n\tdisplay: grid;\n\n\tselect {\n\t\twidth: 100%;\n\t}\n\n\ta {\n\t\tcolor: var(--color-main-text);\n\t\ttext-decoration: none;\n\t\twidth: max-content;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Language.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!./Language.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!./Language.vue?vue&type=style&index=0&id=f4e20d10&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!./Language.vue?vue&type=style&index=0&id=f4e20d10&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Language.vue?vue&type=template&id=f4e20d10&scoped=true&\"\nimport script from \"./Language.vue?vue&type=script&lang=js&\"\nexport * from \"./Language.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Language.vue?vue&type=style&index=0&id=f4e20d10&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 \"f4e20d10\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"language\"},[_c('select',{attrs:{\"id\":_vm.inputId,\"placeholder\":_vm.t('settings', 'Language')},on:{\"change\":_vm.onLanguageChange}},[_vm._l((_vm.commonLanguages),function(commonLanguage){return _c('option',{key:commonLanguage.code,domProps:{\"selected\":_vm.language.code === commonLanguage.code,\"value\":commonLanguage.code}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(commonLanguage.name)+\"\\n\\t\\t\")])}),_vm._v(\" \"),_c('option',{attrs:{\"disabled\":\"\"}},[_vm._v(\"\\n\\t\\t\\t──────────\\n\\t\\t\")]),_vm._v(\" \"),_vm._l((_vm.otherLanguages),function(otherLanguage){return _c('option',{key:otherLanguage.code,domProps:{\"selected\":_vm.language.code === otherLanguage.code,\"value\":otherLanguage.code}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(otherLanguage.name)+\"\\n\\t\\t\")])})],2),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"https://www.transifex.com/nextcloud/nextcloud/\",\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_c('em',[_vm._v(_vm._s(_vm.t('settings', 'Help translate')))])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section>\n\t\t<HeaderBar :input-id=\"inputId\"\n\t\t\t:readable=\"propertyReadable\" />\n\n\t\t<template v-if=\"isEditable\">\n\t\t\t<Language :input-id=\"inputId\"\n\t\t\t\t:common-languages=\"commonLanguages\"\n\t\t\t\t:other-languages=\"otherLanguages\"\n\t\t\t\t:language.sync=\"language\" />\n\t\t</template>\n\n\t\t<span v-else>\n\t\t\t{{ t('settings', 'No language set') }}\n\t\t</span>\n\t</section>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport Language from './Language.vue'\nimport HeaderBar from '../shared/HeaderBar.vue'\n\nimport { ACCOUNT_SETTING_PROPERTY_ENUM, ACCOUNT_SETTING_PROPERTY_READABLE_ENUM } from '../../../constants/AccountPropertyConstants.js'\n\nconst { languageMap: { activeLanguage, commonLanguages, otherLanguages } } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'LanguageSection',\n\n\tcomponents: {\n\t\tLanguage,\n\t\tHeaderBar,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tpropertyReadable: ACCOUNT_SETTING_PROPERTY_READABLE_ENUM.LANGUAGE,\n\t\t\tcommonLanguages,\n\t\t\totherLanguages,\n\t\t\tlanguage: activeLanguage,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tinputId() {\n\t\t\treturn `account-setting-${ACCOUNT_SETTING_PROPERTY_ENUM.LANGUAGE}`\n\t\t},\n\n\t\tisEditable() {\n\t\t\treturn Boolean(this.language)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageSection.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!./LanguageSection.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!./LanguageSection.vue?vue&type=style&index=0&id=92685b76&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!./LanguageSection.vue?vue&type=style&index=0&id=92685b76&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./LanguageSection.vue?vue&type=template&id=92685b76&scoped=true&\"\nimport script from \"./LanguageSection.vue?vue&type=script&lang=js&\"\nexport * from \"./LanguageSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LanguageSection.vue?vue&type=style&index=0&id=92685b76&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 \"92685b76\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',[_c('HeaderBar',{attrs:{\"input-id\":_vm.inputId,\"readable\":_vm.propertyReadable}}),_vm._v(\" \"),(_vm.isEditable)?[_c('Language',{attrs:{\"input-id\":_vm.inputId,\"common-languages\":_vm.commonLanguages,\"other-languages\":_vm.otherLanguages,\"language\":_vm.language},on:{\"update:language\":function($event){_vm.language=$event}}})]:_c('span',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'No language set'))+\"\\n\\t\")])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<div class=\"locale\">\n\t\t<select :id=\"inputId\"\n\t\t\t:placeholder=\"t('settings', 'Locale')\"\n\t\t\t@change=\"onLocaleChange\">\n\t\t\t<option v-for=\"currentLocale in localesForLanguage\"\n\t\t\t\t:key=\"currentLocale.code\"\n\t\t\t\t:selected=\"locale.code === currentLocale.code\"\n\t\t\t\t:value=\"currentLocale.code\">\n\t\t\t\t{{ currentLocale.name }}\n\t\t\t</option>\n\t\t\t<option disabled>\n\t\t\t\t──────────\n\t\t\t</option>\n\t\t\t<option v-for=\"currentLocale in otherLocales\"\n\t\t\t\t:key=\"currentLocale.code\"\n\t\t\t\t:selected=\"locale.code === currentLocale.code\"\n\t\t\t\t:value=\"currentLocale.code\">\n\t\t\t\t{{ currentLocale.name }}\n\t\t\t</option>\n\t\t</select>\n\n\t\t<div class=\"example\">\n\t\t\t<Web :size=\"20\" />\n\t\t\t<div class=\"example__text\">\n\t\t\t\t<p>\n\t\t\t\t\t<span>{{ example.date }}</span>\n\t\t\t\t\t<span>{{ example.time }}</span>\n\t\t\t\t</p>\n\t\t\t\t<p>\n\t\t\t\t\t{{ t('settings', 'Week starts on {firstDayOfWeek}', { firstDayOfWeek: example.firstDayOfWeek }) }}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport moment from '@nextcloud/moment'\nimport Web from 'vue-material-design-icons/Web.vue'\n\nimport { ACCOUNT_SETTING_PROPERTY_ENUM } from '../../../constants/AccountPropertyConstants.js'\nimport { savePrimaryAccountProperty } from '../../../service/PersonalInfo/PersonalInfoService.js'\nimport { validateLocale } from '../../../utils/validate.js'\nimport { handleError } from '../../../utils/handlers.js'\n\nexport default {\n\tname: 'Locale',\n\n\tcomponents: {\n\t\tWeb,\n\t},\n\n\tprops: {\n\t\tinputId: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\tlocale: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tlocalesForLanguage: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\totherLocales: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tinitialLocale: this.locale,\n\t\t\texample: {\n\t\t\t\tdate: moment().format('L'),\n\t\t\t\ttime: moment().format('LTS'),\n\t\t\t\tfirstDayOfWeek: window.dayNames[window.firstDay],\n\t\t\t},\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tallLocales() {\n\t\t\treturn Object.freeze(\n\t\t\t\t[...this.localesForLanguage, ...this.otherLocales]\n\t\t\t\t\t.reduce((acc, { code, name }) => ({ ...acc, [code]: name }), {}),\n\t\t\t)\n\t\t},\n\t},\n\n\tcreated() {\n\t\tsetInterval(this.refreshExample, 1000)\n\t},\n\n\tmethods: {\n\t\tasync onLocaleChange(e) {\n\t\t\tconst locale = this.constructLocale(e.target.value)\n\t\t\tthis.$emit('update:locale', locale)\n\n\t\t\tif (validateLocale(locale)) {\n\t\t\t\tawait this.updateLocale(locale)\n\t\t\t}\n\t\t},\n\n\t\tasync updateLocale(locale) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryAccountProperty(ACCOUNT_SETTING_PROPERTY_ENUM.LOCALE, locale.code)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tlocale,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t\tthis.reloadPage()\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update locale'),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\tconstructLocale(localeCode) {\n\t\t\treturn {\n\t\t\t\tcode: localeCode,\n\t\t\t\tname: this.allLocales[localeCode],\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ locale, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\tthis.initialLocale = locale\n\t\t\t} else {\n\t\t\t\tthis.$emit('update:locale', this.initialLocale)\n\t\t\t\thandleError(error, errorMessage)\n\t\t\t}\n\t\t},\n\n\t\trefreshExample() {\n\t\t\tthis.example = {\n\t\t\t\tdate: moment().format('L'),\n\t\t\t\ttime: moment().format('LTS'),\n\t\t\t\tfirstDayOfWeek: window.dayNames[window.firstDay],\n\t\t\t}\n\t\t},\n\n\t\treloadPage() {\n\t\t\tlocation.reload()\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.locale {\n\tdisplay: grid;\n\n\tselect {\n\t\twidth: 100%;\n\t}\n}\n\n.example {\n\tmargin: 10px 0;\n\tdisplay: flex;\n\tgap: 0 10px;\n\tcolor: var(--color-text-lighter);\n\n\t&::v-deep .material-design-icon {\n\t\talign-self: flex-start;\n\t\tmargin-top: 2px;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Locale.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!./Locale.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!./Locale.vue?vue&type=style&index=0&id=9c4afa34&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!./Locale.vue?vue&type=style&index=0&id=9c4afa34&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Locale.vue?vue&type=template&id=9c4afa34&scoped=true&\"\nimport script from \"./Locale.vue?vue&type=script&lang=js&\"\nexport * from \"./Locale.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Locale.vue?vue&type=style&index=0&id=9c4afa34&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 \"9c4afa34\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"locale\"},[_c('select',{attrs:{\"id\":_vm.inputId,\"placeholder\":_vm.t('settings', 'Locale')},on:{\"change\":_vm.onLocaleChange}},[_vm._l((_vm.localesForLanguage),function(currentLocale){return _c('option',{key:currentLocale.code,domProps:{\"selected\":_vm.locale.code === currentLocale.code,\"value\":currentLocale.code}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(currentLocale.name)+\"\\n\\t\\t\")])}),_vm._v(\" \"),_c('option',{attrs:{\"disabled\":\"\"}},[_vm._v(\"\\n\\t\\t\\t──────────\\n\\t\\t\")]),_vm._v(\" \"),_vm._l((_vm.otherLocales),function(currentLocale){return _c('option',{key:currentLocale.code,domProps:{\"selected\":_vm.locale.code === currentLocale.code,\"value\":currentLocale.code}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(currentLocale.name)+\"\\n\\t\\t\")])})],2),_vm._v(\" \"),_c('div',{staticClass:\"example\"},[_c('Web',{attrs:{\"size\":20}}),_vm._v(\" \"),_c('div',{staticClass:\"example__text\"},[_c('p',[_c('span',[_vm._v(_vm._s(_vm.example.date))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.example.time))])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Week starts on {firstDayOfWeek}', { firstDayOfWeek: _vm.example.firstDayOfWeek }))+\"\\n\\t\\t\\t\")])])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section>\n\t\t<HeaderBar :input-id=\"inputId\"\n\t\t\t:readable=\"propertyReadable\" />\n\n\t\t<template v-if=\"isEditable\">\n\t\t\t<Locale :input-id=\"inputId\"\n\t\t\t\t:locales-for-language=\"localesForLanguage\"\n\t\t\t\t:other-locales=\"otherLocales\"\n\t\t\t\t:locale.sync=\"locale\" />\n\t\t</template>\n\n\t\t<span v-else>\n\t\t\t{{ t('settings', 'No locale set') }}\n\t\t</span>\n\t</section>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport Locale from './Locale.vue'\nimport HeaderBar from '../shared/HeaderBar.vue'\n\nimport { ACCOUNT_SETTING_PROPERTY_ENUM, ACCOUNT_SETTING_PROPERTY_READABLE_ENUM } from '../../../constants/AccountPropertyConstants.js'\n\nconst { localeMap: { activeLocale, localesForLanguage, otherLocales } } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'LocaleSection',\n\n\tcomponents: {\n\t\tLocale,\n\t\tHeaderBar,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tpropertyReadable: ACCOUNT_SETTING_PROPERTY_READABLE_ENUM.LOCALE,\n\t\t\tlocalesForLanguage,\n\t\t\totherLocales,\n\t\t\tlocale: activeLocale,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tinputId() {\n\t\t\treturn `account-setting-${ACCOUNT_SETTING_PROPERTY_ENUM.LOCALE}`\n\t\t},\n\n\t\tisEditable() {\n\t\t\treturn Boolean(this.locale)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocaleSection.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!./LocaleSection.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!./LocaleSection.vue?vue&type=style&index=0&id=84fca724&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!./LocaleSection.vue?vue&type=style&index=0&id=84fca724&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./LocaleSection.vue?vue&type=template&id=84fca724&scoped=true&\"\nimport script from \"./LocaleSection.vue?vue&type=script&lang=js&\"\nexport * from \"./LocaleSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LocaleSection.vue?vue&type=style&index=0&id=84fca724&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 \"84fca724\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',[_c('HeaderBar',{attrs:{\"input-id\":_vm.inputId,\"readable\":_vm.propertyReadable}}),_vm._v(\" \"),(_vm.isEditable)?[_c('Locale',{attrs:{\"input-id\":_vm.inputId,\"locales-for-language\":_vm.localesForLanguage,\"other-locales\":_vm.otherLocales,\"locale\":_vm.locale},on:{\"update:locale\":function($event){_vm.locale=$event}}})]:_c('span',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'No locale set'))+\"\\n\\t\")])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditProfileAnchorLink.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!./EditProfileAnchorLink.vue?vue&type=script&lang=js&\"","<!--\n\t- @copyright 2021 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<a :class=\"{ disabled }\"\n\t\thref=\"#profile-visibility\"\n\t\tv-on=\"$listeners\">\n\t\t<ChevronDownIcon class=\"anchor-icon\"\n\t\t\t:size=\"22\" />\n\t\t{{ t('settings', 'Edit your Profile visibility') }}\n\t</a>\n</template>\n\n<script>\nimport ChevronDownIcon from 'vue-material-design-icons/ChevronDown.vue'\n\nexport default {\n\tname: 'EditProfileAnchorLink',\n\n\tcomponents: {\n\t\tChevronDownIcon,\n\t},\n\n\tprops: {\n\t\tprofileEnabled: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tdisabled() {\n\t\t\treturn !this.profileEnabled\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\">\nhtml {\n\tscroll-behavior: smooth;\n\n\t@media screen and (prefers-reduced-motion: reduce) {\n\t\tscroll-behavior: auto;\n\t}\n}\n</style>\n\n<style lang=\"scss\" scoped>\na {\n\tdisplay: block;\n\theight: 44px;\n\twidth: min(100%, 290px);\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\tline-height: 44px;\n\tpadding: 0 16px;\n\tmargin: 14px auto;\n\tborder-radius: var(--border-radius-pill);\n\tcolor: var(--color-text-maxcontrast);\n\tbackground-color: transparent;\n\n\t.anchor-icon {\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\tmargin-top: 6px;\n\t\tmargin-right: 8px;\n\t}\n\n\t&:hover,\n\t&:focus,\n\t&:active {\n\t\tcolor: var(--color-main-text);\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t&.disabled {\n\t\tpointer-events: none;\n\t}\n}\n</style>\n","\n import API from \"!../../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditProfileAnchorLink.vue?vue&type=style&index=0&id=23992b06&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!./EditProfileAnchorLink.vue?vue&type=style&index=0&id=23992b06&prod&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditProfileAnchorLink.vue?vue&type=style&index=1&id=23992b06&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!./EditProfileAnchorLink.vue?vue&type=style&index=1&id=23992b06&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./EditProfileAnchorLink.vue?vue&type=template&id=23992b06&scoped=true&\"\nimport script from \"./EditProfileAnchorLink.vue?vue&type=script&lang=js&\"\nexport * from \"./EditProfileAnchorLink.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EditProfileAnchorLink.vue?vue&type=style&index=0&id=23992b06&prod&lang=scss&\"\nimport style1 from \"./EditProfileAnchorLink.vue?vue&type=style&index=1&id=23992b06&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 \"23992b06\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('a',_vm._g({class:{ disabled: _vm.disabled },attrs:{\"href\":\"#profile-visibility\"}},_vm.$listeners),[_c('ChevronDownIcon',{staticClass:\"anchor-icon\",attrs:{\"size\":22}}),_vm._v(\"\\n\\t\"+_vm._s(_vm.t('settings', 'Edit your Profile visibility'))+\"\\n\")],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<div class=\"checkbox-container\">\n\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t:checked.sync=\"isProfileEnabled\"\n\t\t\t:loading=\"loading\"\n\t\t\t@update:checked=\"saveEnableProfile\">\n\t\t\t{{ t('settings', 'Enable Profile') }}\n\t\t</NcCheckboxRadioSwitch>\n\t</div>\n</template>\n\n<script>\nimport { emit } from '@nextcloud/event-bus'\n\nimport { savePrimaryAccountProperty } from '../../../service/PersonalInfo/PersonalInfoService.js'\nimport { ACCOUNT_PROPERTY_ENUM } from '../../../constants/AccountPropertyConstants.js'\nimport NcCheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js'\nimport { handleError } from '../../../utils/handlers.js'\n\nexport default {\n\tname: 'ProfileCheckbox',\n\n\tcomponents: {\n\t\tNcCheckboxRadioSwitch,\n\t},\n\n\tprops: {\n\t\tprofileEnabled: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tisProfileEnabled: this.profileEnabled,\n\t\t\tloading: false,\n\t\t}\n\t},\n\n\tmethods: {\n\t\tasync saveEnableProfile() {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryAccountProperty(ACCOUNT_PROPERTY_ENUM.PROFILE_ENABLED, this.isProfileEnabled)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tisProfileEnabled: this.isProfileEnabled,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update profile enabled state'),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ isProfileEnabled, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\temit('settings:profile-enabled:updated', isProfileEnabled)\n\t\t\t} else {\n\t\t\t\thandleError(error, errorMessage)\n\t\t\t}\n\t\t\tthis.loading = false\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileCheckbox.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!./ProfileCheckbox.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfileCheckbox.vue?vue&type=template&id=061ac04c&\"\nimport script from \"./ProfileCheckbox.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileCheckbox.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"checkbox-container\"},[_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"checked\":_vm.isProfileEnabled,\"loading\":_vm.loading},on:{\"update:checked\":[function($event){_vm.isProfileEnabled=$event},_vm.saveEnableProfile]}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'Enable Profile'))+\"\\n\\t\")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilePreviewCard.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!./ProfilePreviewCard.vue?vue&type=script&lang=js&\"","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<a class=\"preview-card\"\n\t\t:class=\"{ disabled }\"\n\t\t:href=\"profilePageLink\">\n\t\t<NcAvatar class=\"preview-card__avatar\"\n\t\t\t:user=\"userId\"\n\t\t\t:size=\"48\"\n\t\t\t:show-user-status=\"true\"\n\t\t\t:show-user-status-compact=\"false\"\n\t\t\t:disable-menu=\"true\"\n\t\t\t:disable-tooltip=\"true\" />\n\t\t<div class=\"preview-card__header\">\n\t\t\t<span>{{ displayName }}</span>\n\t\t</div>\n\t\t<div class=\"preview-card__footer\">\n\t\t\t<span>{{ organisation }}</span>\n\t\t</div>\n\t</a>\n</template>\n\n<script>\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { generateUrl } from '@nextcloud/router'\n\nimport NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar.js'\n\nexport default {\n\tname: 'ProfilePreviewCard',\n\n\tcomponents: {\n\t\tNcAvatar,\n\t},\n\n\tprops: {\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\torganisation: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tprofileEnabled: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tuserId: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tdisabled() {\n\t\t\treturn !this.profileEnabled\n\t\t},\n\n\t\tprofilePageLink() {\n\t\t\tif (this.profileEnabled) {\n\t\t\t\treturn generateUrl('/u/{userId}', { userId: getCurrentUser().uid })\n\t\t\t}\n\t\t\t// Since an anchor element is used rather than a button for better UX,\n\t\t\t// this hack removes href if the profile is disabled so that disabling pointer-events is not needed to prevent a click from opening a page\n\t\t\t// and to allow the hover event (which disabling pointer-events wouldn't allow) for styling\n\t\t\treturn null\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.preview-card {\n\tdisplay: flex;\n\tflex-direction: column;\n\tposition: relative;\n\twidth: min(100%, 290px);\n\theight: 116px;\n\tmargin: 14px auto;\n\tborder-radius: var(--border-radius-large);\n\tbackground-color: var(--color-main-background);\n\tfont-weight: bold;\n\tbox-shadow: 0 2px 9px var(--color-box-shadow);\n\n\t&:hover,\n\t&:focus,\n\t&:active {\n\t\tbox-shadow: 0 2px 12px var(--color-box-shadow);\n\t}\n\n\t&:focus-visible {\n\t\toutline: var(--color-main-text) solid 1px;\n\t\toutline-offset: 3px;\n\t}\n\n\t&.disabled {\n\t\tfilter: grayscale(1);\n\t\topacity: 0.5;\n\t\tcursor: default;\n\t\tbox-shadow: 0 0 3px var(--color-box-shadow);\n\n\t\t& *,\n\t\t&::v-deep * {\n\t\t\tcursor: default;\n\t\t}\n\t}\n\n\t&__avatar {\n\t\t// Override Avatar component position to fix positioning on rerender\n\t\tposition: absolute !important;\n\t\ttop: 40px;\n\t\tleft: 18px;\n\t\tz-index: 1;\n\n\t\t&:not(.avatardiv--unknown) {\n\t\t\tbox-shadow: 0 0 0 3px var(--color-main-background) !important;\n\t\t}\n\t}\n\n\t&__header,\n\t&__footer {\n\t\tposition: relative;\n\t\twidth: auto;\n\n\t\tspan {\n\t\t\tposition: absolute;\n\t\t\tleft: 78px;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow-wrap: anywhere;\n\n\t\t\t@supports (-webkit-line-clamp: 2) {\n\t\t\t\tdisplay: -webkit-box;\n\t\t\t\t-webkit-line-clamp: 2;\n\t\t\t\t-webkit-box-orient: vertical;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__header {\n\t\theight: 70px;\n\t\tborder-radius: var(--border-radius-large) var(--border-radius-large) 0 0;\n\t\tbackground-color: var(--color-primary-element);\n\t\tbackground-image: var(--gradient-primary-background);\n\n\t\tspan {\n\t\t\tbottom: 0;\n\t\t\tcolor: var(--color-primary-element-text);\n\t\t\tfont-size: 18px;\n\t\t\tfont-weight: bold;\n\t\t\tmargin: 0 4px 8px 0;\n\t\t}\n\t}\n\n\t&__footer {\n\t\theight: 46px;\n\n\t\tspan {\n\t\t\ttop: 0;\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\tfont-size: 14px;\n\t\t\tfont-weight: normal;\n\t\t\tmargin: 4px 4px 0 0;\n\t\t\tline-height: 1.3;\n\t\t}\n\t}\n}\n</style>\n","\n import API from \"!../../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilePreviewCard.vue?vue&type=style&index=0&id=3375e082&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!./ProfilePreviewCard.vue?vue&type=style&index=0&id=3375e082&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ProfilePreviewCard.vue?vue&type=template&id=3375e082&scoped=true&\"\nimport script from \"./ProfilePreviewCard.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfilePreviewCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProfilePreviewCard.vue?vue&type=style&index=0&id=3375e082&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 \"3375e082\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('a',{staticClass:\"preview-card\",class:{ disabled: _vm.disabled },attrs:{\"href\":_vm.profilePageLink}},[_c('NcAvatar',{staticClass:\"preview-card__avatar\",attrs:{\"user\":_vm.userId,\"size\":48,\"show-user-status\":true,\"show-user-status-compact\":false,\"disable-menu\":true,\"disable-tooltip\":true}}),_vm._v(\" \"),_c('div',{staticClass:\"preview-card__header\"},[_c('span',[_vm._v(_vm._s(_vm.displayName))])]),_vm._v(\" \"),_c('div',{staticClass:\"preview-card__footer\"},[_c('span',[_vm._v(_vm._s(_vm.organisation))])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section>\n\t\t<HeaderBar :readable=\"propertyReadable\" />\n\n\t\t<ProfileCheckbox :profile-enabled.sync=\"profileEnabled\" />\n\n\t\t<ProfilePreviewCard :organisation=\"organisation\"\n\t\t\t:display-name=\"displayName\"\n\t\t\t:profile-enabled=\"profileEnabled\"\n\t\t\t:user-id=\"userId\" />\n\n\t\t<EditProfileAnchorLink :profile-enabled=\"profileEnabled\" />\n\t</section>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\n\nimport EditProfileAnchorLink from './EditProfileAnchorLink.vue'\nimport HeaderBar from '../shared/HeaderBar.vue'\nimport ProfileCheckbox from './ProfileCheckbox.vue'\nimport ProfilePreviewCard from './ProfilePreviewCard.vue'\n\nimport { ACCOUNT_PROPERTY_READABLE_ENUM } from '../../../constants/AccountPropertyConstants.js'\n\nconst {\n\torganisation: { value: organisation },\n\tdisplayName: { value: displayName },\n\tprofileEnabled,\n\tuserId,\n} = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'ProfileSection',\n\n\tcomponents: {\n\t\tEditProfileAnchorLink,\n\t\tHeaderBar,\n\t\tProfileCheckbox,\n\t\tProfilePreviewCard,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tpropertyReadable: ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED,\n\t\t\torganisation,\n\t\t\tdisplayName,\n\t\t\tprofileEnabled,\n\t\t\tuserId,\n\t\t}\n\t},\n\n\tmounted() {\n\t\tsubscribe('settings:display-name:updated', this.handleDisplayNameUpdate)\n\t\tsubscribe('settings:organisation:updated', this.handleOrganisationUpdate)\n\t},\n\n\tbeforeDestroy() {\n\t\tunsubscribe('settings:display-name:updated', this.handleDisplayNameUpdate)\n\t\tunsubscribe('settings:organisation:updated', this.handleOrganisationUpdate)\n\t},\n\n\tmethods: {\n\t\thandleDisplayNameUpdate(displayName) {\n\t\t\tthis.displayName = displayName\n\t\t},\n\n\t\thandleOrganisationUpdate(organisation) {\n\t\t\tthis.organisation = organisation\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileSection.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!./ProfileSection.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!./ProfileSection.vue?vue&type=style&index=0&id=cf64d964&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!./ProfileSection.vue?vue&type=style&index=0&id=cf64d964&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ProfileSection.vue?vue&type=template&id=cf64d964&scoped=true&\"\nimport script from \"./ProfileSection.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProfileSection.vue?vue&type=style&index=0&id=cf64d964&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 \"cf64d964\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',[_c('HeaderBar',{attrs:{\"readable\":_vm.propertyReadable}}),_vm._v(\" \"),_c('ProfileCheckbox',{attrs:{\"profile-enabled\":_vm.profileEnabled},on:{\"update:profileEnabled\":function($event){_vm.profileEnabled=$event},\"update:profile-enabled\":function($event){_vm.profileEnabled=$event}}}),_vm._v(\" \"),_c('ProfilePreviewCard',{attrs:{\"organisation\":_vm.organisation,\"display-name\":_vm.displayName,\"profile-enabled\":_vm.profileEnabled,\"user-id\":_vm.userId}}),_vm._v(\" \"),_c('EditProfileAnchorLink',{attrs:{\"profile-enabled\":_vm.profileEnabled}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"organisation\"\n\t\tautocomplete=\"organization\"\n\t\t:placeholder=\"t('settings', 'Your organisation')\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { organisation } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'OrganisationSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\torganisation: { ...organisation, readable: NAME_READABLE_ENUM[organisation.name] },\n\t\t}\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrganisationSection.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!./OrganisationSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OrganisationSection.vue?vue&type=template&id=0d2e4355&\"\nimport script from \"./OrganisationSection.vue?vue&type=script&lang=js&\"\nexport * from \"./OrganisationSection.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('AccountPropertySection',_vm._b({attrs:{\"autocomplete\":\"organization\",\"placeholder\":_vm.t('settings', 'Your organisation')}},'AccountPropertySection',_vm.organisation,false,true))\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"role\"\n\t\tautocomplete=\"organization-title\"\n\t\t:placeholder=\"t('settings', 'Your role')\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { role } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'RoleSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\trole: { ...role, readable: NAME_READABLE_ENUM[role.name] },\n\t\t}\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoleSection.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!./RoleSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoleSection.vue?vue&type=template&id=47d32f32&\"\nimport script from \"./RoleSection.vue?vue&type=script&lang=js&\"\nexport * from \"./RoleSection.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('AccountPropertySection',_vm._b({attrs:{\"autocomplete\":\"organization-title\",\"placeholder\":_vm.t('settings', 'Your role')}},'AccountPropertySection',_vm.role,false,true))\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"headline\"\n\t\t:placeholder=\"t('settings', 'Your headline')\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { headline } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'HeadlineSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\theadline: { ...headline, readable: NAME_READABLE_ENUM[headline.name] },\n\t\t}\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeadlineSection.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!./HeadlineSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HeadlineSection.vue?vue&type=template&id=0f3859ee&\"\nimport script from \"./HeadlineSection.vue?vue&type=script&lang=js&\"\nexport * from \"./HeadlineSection.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('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your headline')}},'AccountPropertySection',_vm.headline,false,true))\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"biography\"\n\t\t:placeholder=\"t('settings', 'Your biography')\"\n\t\t:multi-line=\"true\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { biography } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'BiographySection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tbiography: { ...biography, readable: NAME_READABLE_ENUM[biography.name] },\n\t\t}\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BiographySection.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!./BiographySection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BiographySection.vue?vue&type=template&id=a916ca60&\"\nimport script from \"./BiographySection.vue?vue&type=script&lang=js&\"\nexport * from \"./BiographySection.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('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your biography'),\"multi-line\":true}},'AccountPropertySection',_vm.biography,false,true))\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2021 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\n\n/**\n * Save the visibility of the profile parameter\n *\n * @param {string} paramId the profile parameter ID\n * @param {string} visibility the visibility\n * @return {object}\n */\nexport const saveProfileParameterVisibility = async (paramId, visibility) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('/profile/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tparamId,\n\t\tvisibility,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Save profile default\n *\n * @param {boolean} isEnabled the default\n * @return {object}\n */\nexport const saveProfileDefault = async (isEnabled) => {\n\t// Convert to string for compatibility\n\tisEnabled = isEnabled ? '1' : '0'\n\n\tconst url = generateOcsUrl('/apps/provisioning_api/api/v1/config/apps/{appId}/{key}', {\n\t\tappId: 'settings',\n\t\tkey: 'profile_enabled_by_default',\n\t})\n\n\tawait confirmPassword()\n\n\tconst res = await axios.post(url, {\n\t\tvalue: isEnabled,\n\t})\n\n\treturn res.data\n}\n","/**\n * @copyright 2021 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/*\n * SYNC to be kept in sync with `core/Db/ProfileConfig.php`\n */\n\n/** Enum of profile visibility constants */\nexport const VISIBILITY_ENUM = Object.freeze({\n\tSHOW: 'show',\n\tSHOW_USERS_ONLY: 'show_users_only',\n\tHIDE: 'hide',\n})\n\n/**\n * Enum of profile visibility constants to properties\n */\nexport const VISIBILITY_PROPERTY_ENUM = Object.freeze({\n\t[VISIBILITY_ENUM.SHOW]: {\n\t\tname: VISIBILITY_ENUM.SHOW,\n\t\tlabel: t('settings', 'Show to everyone'),\n\t},\n\t[VISIBILITY_ENUM.SHOW_USERS_ONLY]: {\n\t\tname: VISIBILITY_ENUM.SHOW_USERS_ONLY,\n\t\tlabel: t('settings', 'Show to logged in users only'),\n\t},\n\t[VISIBILITY_ENUM.HIDE]: {\n\t\tname: VISIBILITY_ENUM.HIDE,\n\t\tlabel: t('settings', 'Hide'),\n\t},\n})\n","<!--\n\t- @copyright 2021 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<div class=\"visibility-container\"\n\t\t:class=\"{ disabled }\">\n\t\t<label :for=\"inputId\">\n\t\t\t{{ displayId }}\n\t\t</label>\n\t\t<NcSelect :input-id=\"inputId\"\n\t\t\tclass=\"visibility-container__select\"\n\t\t\t:clearable=\"false\"\n\t\t\t:options=\"visibilityOptions\"\n\t\t\t:value=\"visibilityObject\"\n\t\t\t@option:selected=\"onVisibilityChange\" />\n\t</div>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\n\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\n\nimport { saveProfileParameterVisibility } from '../../../service/ProfileService.js'\nimport { VISIBILITY_PROPERTY_ENUM } from '../../../constants/ProfileConstants.js'\nimport { handleError } from '../../../utils/handlers.js'\n\nconst { profileEnabled } = loadState('settings', 'personalInfoParameters', false)\n\nexport default {\n\tname: 'VisibilityDropdown',\n\n\tcomponents: {\n\t\tNcSelect,\n\t},\n\n\tprops: {\n\t\tparamId: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tdisplayId: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tvisibility: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tinitialVisibility: this.visibility,\n\t\t\tprofileEnabled,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tdisabled() {\n\t\t\treturn !this.profileEnabled\n\t\t},\n\n\t\tinputId() {\n\t\t\treturn `profile-visibility-${this.paramId}`\n\t\t},\n\n\t\tvisibilityObject() {\n\t\t\treturn VISIBILITY_PROPERTY_ENUM[this.visibility]\n\t\t},\n\n\t\tvisibilityOptions() {\n\t\t\treturn Object.values(VISIBILITY_PROPERTY_ENUM)\n\t\t},\n\t},\n\n\tmounted() {\n\t\tsubscribe('settings:profile-enabled:updated', this.handleProfileEnabledUpdate)\n\t},\n\n\tbeforeDestroy() {\n\t\tunsubscribe('settings:profile-enabled:updated', this.handleProfileEnabledUpdate)\n\t},\n\n\tmethods: {\n\t\tasync onVisibilityChange(visibilityObject) {\n\t\t\t// This check is needed as the argument is null when selecting the same option\n\t\t\tif (visibilityObject !== null) {\n\t\t\t\tconst { name: visibility } = visibilityObject\n\t\t\t\tthis.$emit('update:visibility', visibility)\n\n\t\t\t\tif (visibility !== '') {\n\t\t\t\t\tawait this.updateVisibility(visibility)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tasync updateVisibility(visibility) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await saveProfileParameterVisibility(this.paramId, visibility)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tvisibility,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update visibility of {displayId}', { displayId: this.displayId }),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ visibility, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\t// Ensure that local state reflects server state\n\t\t\t\tthis.initialVisibility = visibility\n\t\t\t} else {\n\t\t\t\thandleError(error, errorMessage)\n\t\t\t}\n\t\t},\n\n\t\thandleProfileEnabledUpdate(profileEnabled) {\n\t\t\tthis.profileEnabled = profileEnabled\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.visibility-container {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\n\t&.disabled {\n\t\tfilter: grayscale(1);\n\t\topacity: 0.5;\n\t\tcursor: default;\n\t\tpointer-events: none;\n\n\t\t& *,\n\t\t&::v-deep * {\n\t\t\tcursor: default;\n\t\t\tpointer-events: none;\n\t\t}\n\t}\n\n\tlabel {\n\t\tcolor: var(--color-text-lighter);\n\t\twidth: 150px;\n\t\tline-height: 50px;\n\t}\n\n\t&__select {\n\t\twidth: 270px;\n\t\tmax-width: 40vw;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VisibilityDropdown.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!./VisibilityDropdown.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!./VisibilityDropdown.vue?vue&type=style&index=0&id=c7ec7e16&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!./VisibilityDropdown.vue?vue&type=style&index=0&id=c7ec7e16&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./VisibilityDropdown.vue?vue&type=template&id=c7ec7e16&scoped=true&\"\nimport script from \"./VisibilityDropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./VisibilityDropdown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./VisibilityDropdown.vue?vue&type=style&index=0&id=c7ec7e16&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 \"c7ec7e16\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"visibility-container\",class:{ disabled: _vm.disabled }},[_c('label',{attrs:{\"for\":_vm.inputId}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.displayId)+\"\\n\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"visibility-container__select\",attrs:{\"input-id\":_vm.inputId,\"clearable\":false,\"options\":_vm.visibilityOptions,\"value\":_vm.visibilityObject},on:{\"option:selected\":_vm.onVisibilityChange}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2021 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<!-- TODO remove this inline margin placeholder once the settings layout is updated -->\n\t<section id=\"profile-visibility\"\n\t\t:style=\"{ marginLeft }\">\n\t\t<HeaderBar :is-heading=\"true\" :readable=\"heading\" />\n\n\t\t<em :class=\"{ disabled }\">\n\t\t\t{{ t('settings', 'The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected.') }}\n\t\t</em>\n\n\t\t<div class=\"visibility-dropdowns\"\n\t\t\t:style=\"{\n\t\t\t\tgridTemplateRows: `repeat(${rows}, 44px)`,\n\t\t\t}\">\n\t\t\t<VisibilityDropdown v-for=\"param in visibilityParams\"\n\t\t\t\t:key=\"param.id\"\n\t\t\t\t:param-id=\"param.id\"\n\t\t\t\t:display-id=\"param.displayId\"\n\t\t\t\t:visibility.sync=\"param.visibility\" />\n\t\t</div>\n\t</section>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\n\nimport HeaderBar from '../shared/HeaderBar.vue'\nimport VisibilityDropdown from './VisibilityDropdown.vue'\nimport { PROFILE_READABLE_ENUM } from '../../../constants/AccountPropertyConstants.js'\n\nconst { profileConfig } = loadState('settings', 'profileParameters', {})\nconst { profileEnabled } = loadState('settings', 'personalInfoParameters', false)\n\nconst compareParams = (a, b) => {\n\tif (a.appId === b.appId || (a.appId !== 'core' && b.appId !== 'core')) {\n\t\treturn a.displayId.localeCompare(b.displayId)\n\t} else if (a.appId === 'core') {\n\t\treturn 1\n\t} else {\n\t\treturn -1\n\t}\n}\n\nexport default {\n\tname: 'ProfileVisibilitySection',\n\n\tcomponents: {\n\t\tHeaderBar,\n\t\tVisibilityDropdown,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\theading: PROFILE_READABLE_ENUM.PROFILE_VISIBILITY,\n\t\t\tprofileEnabled,\n\t\t\tvisibilityParams: Object.entries(profileConfig)\n\t\t\t\t.map(([paramId, { appId, displayId, visibility }]) => ({ id: paramId, appId, displayId, visibility }))\n\t\t\t\t.sort(compareParams),\n\t\t\t// TODO remove this when not used once the settings layout is updated\n\t\t\tmarginLeft: window.matchMedia('(min-width: 1600px)').matches\n\t\t\t\t? window.getComputedStyle(document.getElementById('vue-avatar-section')).getPropertyValue('width').trim()\n\t\t\t\t: '0px',\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tdisabled() {\n\t\t\treturn !this.profileEnabled\n\t\t},\n\n\t\trows() {\n\t\t\treturn Math.ceil(this.visibilityParams.length / 2)\n\t\t},\n\t},\n\n\tmounted() {\n\t\tsubscribe('settings:profile-enabled:updated', this.handleProfileEnabledUpdate)\n\t\t// TODO remove this when not used once the settings layout is updated\n\t\twindow.onresize = () => {\n\t\t\tthis.marginLeft = window.matchMedia('(min-width: 1600px)').matches\n\t\t\t\t? window.getComputedStyle(document.getElementById('vue-avatar-section')).getPropertyValue('width').trim()\n\t\t\t\t: '0px'\n\t\t}\n\t},\n\n\tbeforeDestroy() {\n\t\tunsubscribe('settings:profile-enabled:updated', this.handleProfileEnabledUpdate)\n\t},\n\n\tmethods: {\n\t\thandleProfileEnabledUpdate(profileEnabled) {\n\t\t\tthis.profileEnabled = profileEnabled\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsection {\n\tpadding: 30px;\n\tmax-width: 900px;\n\twidth: 100%;\n\n\tem {\n\t\tdisplay: block;\n\t\tmargin: 16px 0;\n\n\t\t&.disabled {\n\t\t\tfilter: grayscale(1);\n\t\t\topacity: 0.5;\n\t\t\tcursor: default;\n\t\t\tpointer-events: none;\n\n\t\t\t& *,\n\t\t\t&::v-deep * {\n\t\t\t\tcursor: default;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileVisibilitySection.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!./ProfileVisibilitySection.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!./ProfileVisibilitySection.vue?vue&type=style&index=0&id=199109a6&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!./ProfileVisibilitySection.vue?vue&type=style&index=0&id=199109a6&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ProfileVisibilitySection.vue?vue&type=template&id=199109a6&scoped=true&\"\nimport script from \"./ProfileVisibilitySection.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileVisibilitySection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProfileVisibilitySection.vue?vue&type=style&index=0&id=199109a6&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 \"199109a6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',{style:({ marginLeft: _vm.marginLeft }),attrs:{\"id\":\"profile-visibility\"}},[_c('HeaderBar',{attrs:{\"is-heading\":true,\"readable\":_vm.heading}}),_vm._v(\" \"),_c('em',{class:{ disabled: _vm.disabled }},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected.'))+\"\\n\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"visibility-dropdowns\",style:({\n\t\t\tgridTemplateRows: `repeat(${_vm.rows}, 44px)`,\n\t\t})},_vm._l((_vm.visibilityParams),function(param){return _c('VisibilityDropdown',{key:param.id,attrs:{\"param-id\":param.id,\"display-id\":param.displayId,\"visibility\":param.visibility},on:{\"update:visibility\":function($event){return _vm.$set(param, \"visibility\", $event)}}})}),1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2021, Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport { getRequestToken } from '@nextcloud/auth'\nimport { loadState } from '@nextcloud/initial-state'\nimport { translate as t } from '@nextcloud/l10n'\n\nimport AvatarSection from './components/PersonalInfo/AvatarSection.vue'\nimport DetailsSection from './components/PersonalInfo/DetailsSection.vue'\nimport DisplayNameSection from './components/PersonalInfo/DisplayNameSection.vue'\nimport EmailSection from './components/PersonalInfo/EmailSection/EmailSection.vue'\nimport PhoneSection from './components/PersonalInfo/PhoneSection.vue'\nimport LocationSection from './components/PersonalInfo/LocationSection.vue'\nimport WebsiteSection from './components/PersonalInfo/WebsiteSection.vue'\nimport TwitterSection from './components/PersonalInfo/TwitterSection.vue'\nimport FediverseSection from './components/PersonalInfo/FediverseSection.vue'\nimport LanguageSection from './components/PersonalInfo/LanguageSection/LanguageSection.vue'\nimport LocaleSection from './components/PersonalInfo/LocaleSection/LocaleSection.vue'\nimport ProfileSection from './components/PersonalInfo/ProfileSection/ProfileSection.vue'\nimport OrganisationSection from './components/PersonalInfo/OrganisationSection.vue'\nimport RoleSection from './components/PersonalInfo/RoleSection.vue'\nimport HeadlineSection from './components/PersonalInfo/HeadlineSection.vue'\nimport BiographySection from './components/PersonalInfo/BiographySection.vue'\nimport ProfileVisibilitySection from './components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue'\n\n__webpack_nonce__ = btoa(getRequestToken())\n\nconst profileEnabledGlobally = loadState('settings', 'profileEnabledGlobally', true)\n\nVue.mixin({\n\tmethods: {\n\t\tt,\n\t},\n})\n\nconst AvatarView = Vue.extend(AvatarSection)\nconst DetailsView = Vue.extend(DetailsSection)\nconst DisplayNameView = Vue.extend(DisplayNameSection)\nconst EmailView = Vue.extend(EmailSection)\nconst PhoneView = Vue.extend(PhoneSection)\nconst LocationView = Vue.extend(LocationSection)\nconst WebsiteView = Vue.extend(WebsiteSection)\nconst TwitterView = Vue.extend(TwitterSection)\nconst FediverseView = Vue.extend(FediverseSection)\nconst LanguageView = Vue.extend(LanguageSection)\nconst LocaleView = Vue.extend(LocaleSection)\n\nnew AvatarView().$mount('#vue-avatar-section')\nnew DetailsView().$mount('#vue-details-section')\nnew DisplayNameView().$mount('#vue-displayname-section')\nnew EmailView().$mount('#vue-email-section')\nnew PhoneView().$mount('#vue-phone-section')\nnew LocationView().$mount('#vue-location-section')\nnew WebsiteView().$mount('#vue-website-section')\nnew TwitterView().$mount('#vue-twitter-section')\nnew FediverseView().$mount('#vue-fediverse-section')\nnew LanguageView().$mount('#vue-language-section')\nnew LocaleView().$mount('#vue-locale-section')\n\nif (profileEnabledGlobally) {\n\tconst ProfileView = Vue.extend(ProfileSection)\n\tconst OrganisationView = Vue.extend(OrganisationSection)\n\tconst RoleView = Vue.extend(RoleSection)\n\tconst HeadlineView = Vue.extend(HeadlineSection)\n\tconst BiographyView = Vue.extend(BiographySection)\n\tconst ProfileVisibilityView = Vue.extend(ProfileVisibilitySection)\n\n\tnew ProfileView().$mount('#vue-profile-section')\n\tnew OrganisationView().$mount('#vue-organisation-section')\n\tnew RoleView().$mount('#vue-role-section')\n\tnew HeadlineView().$mount('#vue-headline-section')\n\tnew BiographyView().$mount('#vue-biography-section')\n\tnew ProfileVisibilityView().$mount('#vue-profile-visibility-section')\n}\n","/*!\n * Cropper.js v1.5.13\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2022-11-20T05:30:46.114Z\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Cropper = factory());\n})(this, (function () { 'use strict';\n\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n }\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n }\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n }\n function _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n }\n function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n }\n function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n }\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n }\n function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var IS_BROWSER = typeof window !== 'undefined' && typeof window.document !== 'undefined';\n var WINDOW = IS_BROWSER ? window : {};\n var IS_TOUCH_DEVICE = IS_BROWSER && WINDOW.document.documentElement ? 'ontouchstart' in WINDOW.document.documentElement : false;\n var HAS_POINTER_EVENT = IS_BROWSER ? 'PointerEvent' in WINDOW : false;\n var NAMESPACE = 'cropper';\n\n // Actions\n var ACTION_ALL = 'all';\n var ACTION_CROP = 'crop';\n var ACTION_MOVE = 'move';\n var ACTION_ZOOM = 'zoom';\n var ACTION_EAST = 'e';\n var ACTION_WEST = 'w';\n var ACTION_SOUTH = 's';\n var ACTION_NORTH = 'n';\n var ACTION_NORTH_EAST = 'ne';\n var ACTION_NORTH_WEST = 'nw';\n var ACTION_SOUTH_EAST = 'se';\n var ACTION_SOUTH_WEST = 'sw';\n\n // Classes\n var CLASS_CROP = \"\".concat(NAMESPACE, \"-crop\");\n var CLASS_DISABLED = \"\".concat(NAMESPACE, \"-disabled\");\n var CLASS_HIDDEN = \"\".concat(NAMESPACE, \"-hidden\");\n var CLASS_HIDE = \"\".concat(NAMESPACE, \"-hide\");\n var CLASS_INVISIBLE = \"\".concat(NAMESPACE, \"-invisible\");\n var CLASS_MODAL = \"\".concat(NAMESPACE, \"-modal\");\n var CLASS_MOVE = \"\".concat(NAMESPACE, \"-move\");\n\n // Data keys\n var DATA_ACTION = \"\".concat(NAMESPACE, \"Action\");\n var DATA_PREVIEW = \"\".concat(NAMESPACE, \"Preview\");\n\n // Drag modes\n var DRAG_MODE_CROP = 'crop';\n var DRAG_MODE_MOVE = 'move';\n var DRAG_MODE_NONE = 'none';\n\n // Events\n var EVENT_CROP = 'crop';\n var EVENT_CROP_END = 'cropend';\n var EVENT_CROP_MOVE = 'cropmove';\n var EVENT_CROP_START = 'cropstart';\n var EVENT_DBLCLICK = 'dblclick';\n var EVENT_TOUCH_START = IS_TOUCH_DEVICE ? 'touchstart' : 'mousedown';\n var EVENT_TOUCH_MOVE = IS_TOUCH_DEVICE ? 'touchmove' : 'mousemove';\n var EVENT_TOUCH_END = IS_TOUCH_DEVICE ? 'touchend touchcancel' : 'mouseup';\n var EVENT_POINTER_DOWN = HAS_POINTER_EVENT ? 'pointerdown' : EVENT_TOUCH_START;\n var EVENT_POINTER_MOVE = HAS_POINTER_EVENT ? 'pointermove' : EVENT_TOUCH_MOVE;\n var EVENT_POINTER_UP = HAS_POINTER_EVENT ? 'pointerup pointercancel' : EVENT_TOUCH_END;\n var EVENT_READY = 'ready';\n var EVENT_RESIZE = 'resize';\n var EVENT_WHEEL = 'wheel';\n var EVENT_ZOOM = 'zoom';\n\n // Mime types\n var MIME_TYPE_JPEG = 'image/jpeg';\n\n // RegExps\n var REGEXP_ACTIONS = /^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/;\n var REGEXP_DATA_URL = /^data:/;\n var REGEXP_DATA_URL_JPEG = /^data:image\\/jpeg;base64,/;\n var REGEXP_TAG_NAME = /^img|canvas$/i;\n\n // Misc\n // Inspired by the default width and height of a canvas element.\n var MIN_CONTAINER_WIDTH = 200;\n var MIN_CONTAINER_HEIGHT = 100;\n\n var DEFAULTS = {\n // Define the view mode of the cropper\n viewMode: 0,\n // 0, 1, 2, 3\n\n // Define the dragging mode of the cropper\n dragMode: DRAG_MODE_CROP,\n // 'crop', 'move' or 'none'\n\n // Define the initial aspect ratio of the crop box\n initialAspectRatio: NaN,\n // Define the aspect ratio of the crop box\n aspectRatio: NaN,\n // An object with the previous cropping result data\n data: null,\n // A selector for adding extra containers to preview\n preview: '',\n // Re-render the cropper when resize the window\n responsive: true,\n // Restore the cropped area after resize the window\n restore: true,\n // Check if the current image is a cross-origin image\n checkCrossOrigin: true,\n // Check the current image's Exif Orientation information\n checkOrientation: true,\n // Show the black modal\n modal: true,\n // Show the dashed lines for guiding\n guides: true,\n // Show the center indicator for guiding\n center: true,\n // Show the white modal to highlight the crop box\n highlight: true,\n // Show the grid background\n background: true,\n // Enable to crop the image automatically when initialize\n autoCrop: true,\n // Define the percentage of automatic cropping area when initializes\n autoCropArea: 0.8,\n // Enable to move the image\n movable: true,\n // Enable to rotate the image\n rotatable: true,\n // Enable to scale the image\n scalable: true,\n // Enable to zoom the image\n zoomable: true,\n // Enable to zoom the image by dragging touch\n zoomOnTouch: true,\n // Enable to zoom the image by wheeling mouse\n zoomOnWheel: true,\n // Define zoom ratio when zoom the image by wheeling mouse\n wheelZoomRatio: 0.1,\n // Enable to move the crop box\n cropBoxMovable: true,\n // Enable to resize the crop box\n cropBoxResizable: true,\n // Toggle drag mode between \"crop\" and \"move\" when click twice on the cropper\n toggleDragModeOnDblclick: true,\n // Size limitation\n minCanvasWidth: 0,\n minCanvasHeight: 0,\n minCropBoxWidth: 0,\n minCropBoxHeight: 0,\n minContainerWidth: MIN_CONTAINER_WIDTH,\n minContainerHeight: MIN_CONTAINER_HEIGHT,\n // Shortcuts of events\n ready: null,\n cropstart: null,\n cropmove: null,\n cropend: null,\n crop: null,\n zoom: null\n };\n\n var TEMPLATE = '<div class=\"cropper-container\" touch-action=\"none\">' + '<div class=\"cropper-wrap-box\">' + '<div class=\"cropper-canvas\"></div>' + '</div>' + '<div class=\"cropper-drag-box\"></div>' + '<div class=\"cropper-crop-box\">' + '<span class=\"cropper-view-box\"></span>' + '<span class=\"cropper-dashed dashed-h\"></span>' + '<span class=\"cropper-dashed dashed-v\"></span>' + '<span class=\"cropper-center\"></span>' + '<span class=\"cropper-face\"></span>' + '<span class=\"cropper-line line-e\" data-cropper-action=\"e\"></span>' + '<span class=\"cropper-line line-n\" data-cropper-action=\"n\"></span>' + '<span class=\"cropper-line line-w\" data-cropper-action=\"w\"></span>' + '<span class=\"cropper-line line-s\" data-cropper-action=\"s\"></span>' + '<span class=\"cropper-point point-e\" data-cropper-action=\"e\"></span>' + '<span class=\"cropper-point point-n\" data-cropper-action=\"n\"></span>' + '<span class=\"cropper-point point-w\" data-cropper-action=\"w\"></span>' + '<span class=\"cropper-point point-s\" data-cropper-action=\"s\"></span>' + '<span class=\"cropper-point point-ne\" data-cropper-action=\"ne\"></span>' + '<span class=\"cropper-point point-nw\" data-cropper-action=\"nw\"></span>' + '<span class=\"cropper-point point-sw\" data-cropper-action=\"sw\"></span>' + '<span class=\"cropper-point point-se\" data-cropper-action=\"se\"></span>' + '</div>' + '</div>';\n\n /**\n * Check if the given value is not a number.\n */\n var isNaN = Number.isNaN || WINDOW.isNaN;\n\n /**\n * Check if the given value is a number.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a number, else `false`.\n */\n function isNumber(value) {\n return typeof value === 'number' && !isNaN(value);\n }\n\n /**\n * Check if the given value is a positive number.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a positive number, else `false`.\n */\n var isPositiveNumber = function isPositiveNumber(value) {\n return value > 0 && value < Infinity;\n };\n\n /**\n * Check if the given value is undefined.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is undefined, else `false`.\n */\n function isUndefined(value) {\n return typeof value === 'undefined';\n }\n\n /**\n * Check if the given value is an object.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is an object, else `false`.\n */\n function isObject(value) {\n return _typeof(value) === 'object' && value !== null;\n }\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n\n /**\n * Check if the given value is a plain object.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a plain object, else `false`.\n */\n function isPlainObject(value) {\n if (!isObject(value)) {\n return false;\n }\n try {\n var _constructor = value.constructor;\n var prototype = _constructor.prototype;\n return _constructor && prototype && hasOwnProperty.call(prototype, 'isPrototypeOf');\n } catch (error) {\n return false;\n }\n }\n\n /**\n * Check if the given value is a function.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a function, else `false`.\n */\n function isFunction(value) {\n return typeof value === 'function';\n }\n var slice = Array.prototype.slice;\n\n /**\n * Convert array-like or iterable object to an array.\n * @param {*} value - The value to convert.\n * @returns {Array} Returns a new array.\n */\n function toArray(value) {\n return Array.from ? Array.from(value) : slice.call(value);\n }\n\n /**\n * Iterate the given data.\n * @param {*} data - The data to iterate.\n * @param {Function} callback - The process function for each element.\n * @returns {*} The original data.\n */\n function forEach(data, callback) {\n if (data && isFunction(callback)) {\n if (Array.isArray(data) || isNumber(data.length) /* array-like */) {\n toArray(data).forEach(function (value, key) {\n callback.call(data, value, key, data);\n });\n } else if (isObject(data)) {\n Object.keys(data).forEach(function (key) {\n callback.call(data, data[key], key, data);\n });\n }\n }\n return data;\n }\n\n /**\n * Extend the given object.\n * @param {*} target - The target object to extend.\n * @param {*} args - The rest objects for merging to the target object.\n * @returns {Object} The extended object.\n */\n var assign = Object.assign || function assign(target) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (isObject(target) && args.length > 0) {\n args.forEach(function (arg) {\n if (isObject(arg)) {\n Object.keys(arg).forEach(function (key) {\n target[key] = arg[key];\n });\n }\n });\n }\n return target;\n };\n var REGEXP_DECIMALS = /\\.\\d*(?:0|9){12}\\d*$/;\n\n /**\n * Normalize decimal number.\n * Check out {@link https://0.30000000000000004.com/}\n * @param {number} value - The value to normalize.\n * @param {number} [times=100000000000] - The times for normalizing.\n * @returns {number} Returns the normalized number.\n */\n function normalizeDecimalNumber(value) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100000000000;\n return REGEXP_DECIMALS.test(value) ? Math.round(value * times) / times : value;\n }\n var REGEXP_SUFFIX = /^width|height|left|top|marginLeft|marginTop$/;\n\n /**\n * Apply styles to the given element.\n * @param {Element} element - The target element.\n * @param {Object} styles - The styles for applying.\n */\n function setStyle(element, styles) {\n var style = element.style;\n forEach(styles, function (value, property) {\n if (REGEXP_SUFFIX.test(property) && isNumber(value)) {\n value = \"\".concat(value, \"px\");\n }\n style[property] = value;\n });\n }\n\n /**\n * Check if the given element has a special class.\n * @param {Element} element - The element to check.\n * @param {string} value - The class to search.\n * @returns {boolean} Returns `true` if the special class was found.\n */\n function hasClass(element, value) {\n return element.classList ? element.classList.contains(value) : element.className.indexOf(value) > -1;\n }\n\n /**\n * Add classes to the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be added.\n */\n function addClass(element, value) {\n if (!value) {\n return;\n }\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n addClass(elem, value);\n });\n return;\n }\n if (element.classList) {\n element.classList.add(value);\n return;\n }\n var className = element.className.trim();\n if (!className) {\n element.className = value;\n } else if (className.indexOf(value) < 0) {\n element.className = \"\".concat(className, \" \").concat(value);\n }\n }\n\n /**\n * Remove classes from the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be removed.\n */\n function removeClass(element, value) {\n if (!value) {\n return;\n }\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n removeClass(elem, value);\n });\n return;\n }\n if (element.classList) {\n element.classList.remove(value);\n return;\n }\n if (element.className.indexOf(value) >= 0) {\n element.className = element.className.replace(value, '');\n }\n }\n\n /**\n * Add or remove classes from the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be toggled.\n * @param {boolean} added - Add only.\n */\n function toggleClass(element, value, added) {\n if (!value) {\n return;\n }\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n toggleClass(elem, value, added);\n });\n return;\n }\n\n // IE10-11 doesn't support the second parameter of `classList.toggle`\n if (added) {\n addClass(element, value);\n } else {\n removeClass(element, value);\n }\n }\n var REGEXP_CAMEL_CASE = /([a-z\\d])([A-Z])/g;\n\n /**\n * Transform the given string from camelCase to kebab-case\n * @param {string} value - The value to transform.\n * @returns {string} The transformed value.\n */\n function toParamCase(value) {\n return value.replace(REGEXP_CAMEL_CASE, '$1-$2').toLowerCase();\n }\n\n /**\n * Get data from the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to get.\n * @returns {string} The data value.\n */\n function getData(element, name) {\n if (isObject(element[name])) {\n return element[name];\n }\n if (element.dataset) {\n return element.dataset[name];\n }\n return element.getAttribute(\"data-\".concat(toParamCase(name)));\n }\n\n /**\n * Set data to the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to set.\n * @param {string} data - The data value.\n */\n function setData(element, name, data) {\n if (isObject(data)) {\n element[name] = data;\n } else if (element.dataset) {\n element.dataset[name] = data;\n } else {\n element.setAttribute(\"data-\".concat(toParamCase(name)), data);\n }\n }\n\n /**\n * Remove data from the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to remove.\n */\n function removeData(element, name) {\n if (isObject(element[name])) {\n try {\n delete element[name];\n } catch (error) {\n element[name] = undefined;\n }\n } else if (element.dataset) {\n // #128 Safari not allows to delete dataset property\n try {\n delete element.dataset[name];\n } catch (error) {\n element.dataset[name] = undefined;\n }\n } else {\n element.removeAttribute(\"data-\".concat(toParamCase(name)));\n }\n }\n var REGEXP_SPACES = /\\s\\s*/;\n var onceSupported = function () {\n var supported = false;\n if (IS_BROWSER) {\n var once = false;\n var listener = function listener() {};\n var options = Object.defineProperty({}, 'once', {\n get: function get() {\n supported = true;\n return once;\n },\n /**\n * This setter can fix a `TypeError` in strict mode\n * {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Getter_only}\n * @param {boolean} value - The value to set\n */\n set: function set(value) {\n once = value;\n }\n });\n WINDOW.addEventListener('test', listener, options);\n WINDOW.removeEventListener('test', listener, options);\n }\n return supported;\n }();\n\n /**\n * Remove event listener from the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Function} listener - The event listener.\n * @param {Object} options - The event options.\n */\n function removeListener(element, type, listener) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var handler = listener;\n type.trim().split(REGEXP_SPACES).forEach(function (event) {\n if (!onceSupported) {\n var listeners = element.listeners;\n if (listeners && listeners[event] && listeners[event][listener]) {\n handler = listeners[event][listener];\n delete listeners[event][listener];\n if (Object.keys(listeners[event]).length === 0) {\n delete listeners[event];\n }\n if (Object.keys(listeners).length === 0) {\n delete element.listeners;\n }\n }\n }\n element.removeEventListener(event, handler, options);\n });\n }\n\n /**\n * Add event listener to the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Function} listener - The event listener.\n * @param {Object} options - The event options.\n */\n function addListener(element, type, listener) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var _handler = listener;\n type.trim().split(REGEXP_SPACES).forEach(function (event) {\n if (options.once && !onceSupported) {\n var _element$listeners = element.listeners,\n listeners = _element$listeners === void 0 ? {} : _element$listeners;\n _handler = function handler() {\n delete listeners[event][listener];\n element.removeEventListener(event, _handler, options);\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n listener.apply(element, args);\n };\n if (!listeners[event]) {\n listeners[event] = {};\n }\n if (listeners[event][listener]) {\n element.removeEventListener(event, listeners[event][listener], options);\n }\n listeners[event][listener] = _handler;\n element.listeners = listeners;\n }\n element.addEventListener(event, _handler, options);\n });\n }\n\n /**\n * Dispatch event on the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Object} data - The additional event data.\n * @returns {boolean} Indicate if the event is default prevented or not.\n */\n function dispatchEvent(element, type, data) {\n var event;\n\n // Event and CustomEvent on IE9-11 are global objects, not constructors\n if (isFunction(Event) && isFunction(CustomEvent)) {\n event = new CustomEvent(type, {\n detail: data,\n bubbles: true,\n cancelable: true\n });\n } else {\n event = document.createEvent('CustomEvent');\n event.initCustomEvent(type, true, true, data);\n }\n return element.dispatchEvent(event);\n }\n\n /**\n * Get the offset base on the document.\n * @param {Element} element - The target element.\n * @returns {Object} The offset data.\n */\n function getOffset(element) {\n var box = element.getBoundingClientRect();\n return {\n left: box.left + (window.pageXOffset - document.documentElement.clientLeft),\n top: box.top + (window.pageYOffset - document.documentElement.clientTop)\n };\n }\n var location = WINDOW.location;\n var REGEXP_ORIGINS = /^(\\w+:)\\/\\/([^:/?#]*):?(\\d*)/i;\n\n /**\n * Check if the given URL is a cross origin URL.\n * @param {string} url - The target URL.\n * @returns {boolean} Returns `true` if the given URL is a cross origin URL, else `false`.\n */\n function isCrossOriginURL(url) {\n var parts = url.match(REGEXP_ORIGINS);\n return parts !== null && (parts[1] !== location.protocol || parts[2] !== location.hostname || parts[3] !== location.port);\n }\n\n /**\n * Add timestamp to the given URL.\n * @param {string} url - The target URL.\n * @returns {string} The result URL.\n */\n function addTimestamp(url) {\n var timestamp = \"timestamp=\".concat(new Date().getTime());\n return url + (url.indexOf('?') === -1 ? '?' : '&') + timestamp;\n }\n\n /**\n * Get transforms base on the given object.\n * @param {Object} obj - The target object.\n * @returns {string} A string contains transform values.\n */\n function getTransforms(_ref) {\n var rotate = _ref.rotate,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY,\n translateX = _ref.translateX,\n translateY = _ref.translateY;\n var values = [];\n if (isNumber(translateX) && translateX !== 0) {\n values.push(\"translateX(\".concat(translateX, \"px)\"));\n }\n if (isNumber(translateY) && translateY !== 0) {\n values.push(\"translateY(\".concat(translateY, \"px)\"));\n }\n\n // Rotate should come first before scale to match orientation transform\n if (isNumber(rotate) && rotate !== 0) {\n values.push(\"rotate(\".concat(rotate, \"deg)\"));\n }\n if (isNumber(scaleX) && scaleX !== 1) {\n values.push(\"scaleX(\".concat(scaleX, \")\"));\n }\n if (isNumber(scaleY) && scaleY !== 1) {\n values.push(\"scaleY(\".concat(scaleY, \")\"));\n }\n var transform = values.length ? values.join(' ') : 'none';\n return {\n WebkitTransform: transform,\n msTransform: transform,\n transform: transform\n };\n }\n\n /**\n * Get the max ratio of a group of pointers.\n * @param {string} pointers - The target pointers.\n * @returns {number} The result ratio.\n */\n function getMaxZoomRatio(pointers) {\n var pointers2 = _objectSpread2({}, pointers);\n var maxRatio = 0;\n forEach(pointers, function (pointer, pointerId) {\n delete pointers2[pointerId];\n forEach(pointers2, function (pointer2) {\n var x1 = Math.abs(pointer.startX - pointer2.startX);\n var y1 = Math.abs(pointer.startY - pointer2.startY);\n var x2 = Math.abs(pointer.endX - pointer2.endX);\n var y2 = Math.abs(pointer.endY - pointer2.endY);\n var z1 = Math.sqrt(x1 * x1 + y1 * y1);\n var z2 = Math.sqrt(x2 * x2 + y2 * y2);\n var ratio = (z2 - z1) / z1;\n if (Math.abs(ratio) > Math.abs(maxRatio)) {\n maxRatio = ratio;\n }\n });\n });\n return maxRatio;\n }\n\n /**\n * Get a pointer from an event object.\n * @param {Object} event - The target event object.\n * @param {boolean} endOnly - Indicates if only returns the end point coordinate or not.\n * @returns {Object} The result pointer contains start and/or end point coordinates.\n */\n function getPointer(_ref2, endOnly) {\n var pageX = _ref2.pageX,\n pageY = _ref2.pageY;\n var end = {\n endX: pageX,\n endY: pageY\n };\n return endOnly ? end : _objectSpread2({\n startX: pageX,\n startY: pageY\n }, end);\n }\n\n /**\n * Get the center point coordinate of a group of pointers.\n * @param {Object} pointers - The target pointers.\n * @returns {Object} The center point coordinate.\n */\n function getPointersCenter(pointers) {\n var pageX = 0;\n var pageY = 0;\n var count = 0;\n forEach(pointers, function (_ref3) {\n var startX = _ref3.startX,\n startY = _ref3.startY;\n pageX += startX;\n pageY += startY;\n count += 1;\n });\n pageX /= count;\n pageY /= count;\n return {\n pageX: pageX,\n pageY: pageY\n };\n }\n\n /**\n * Get the max sizes in a rectangle under the given aspect ratio.\n * @param {Object} data - The original sizes.\n * @param {string} [type='contain'] - The adjust type.\n * @returns {Object} The result sizes.\n */\n function getAdjustedSizes(_ref4) {\n var aspectRatio = _ref4.aspectRatio,\n height = _ref4.height,\n width = _ref4.width;\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'contain';\n var isValidWidth = isPositiveNumber(width);\n var isValidHeight = isPositiveNumber(height);\n if (isValidWidth && isValidHeight) {\n var adjustedWidth = height * aspectRatio;\n if (type === 'contain' && adjustedWidth > width || type === 'cover' && adjustedWidth < width) {\n height = width / aspectRatio;\n } else {\n width = height * aspectRatio;\n }\n } else if (isValidWidth) {\n height = width / aspectRatio;\n } else if (isValidHeight) {\n width = height * aspectRatio;\n }\n return {\n width: width,\n height: height\n };\n }\n\n /**\n * Get the new sizes of a rectangle after rotated.\n * @param {Object} data - The original sizes.\n * @returns {Object} The result sizes.\n */\n function getRotatedSizes(_ref5) {\n var width = _ref5.width,\n height = _ref5.height,\n degree = _ref5.degree;\n degree = Math.abs(degree) % 180;\n if (degree === 90) {\n return {\n width: height,\n height: width\n };\n }\n var arc = degree % 90 * Math.PI / 180;\n var sinArc = Math.sin(arc);\n var cosArc = Math.cos(arc);\n var newWidth = width * cosArc + height * sinArc;\n var newHeight = width * sinArc + height * cosArc;\n return degree > 90 ? {\n width: newHeight,\n height: newWidth\n } : {\n width: newWidth,\n height: newHeight\n };\n }\n\n /**\n * Get a canvas which drew the given image.\n * @param {HTMLImageElement} image - The image for drawing.\n * @param {Object} imageData - The image data.\n * @param {Object} canvasData - The canvas data.\n * @param {Object} options - The options.\n * @returns {HTMLCanvasElement} The result canvas.\n */\n function getSourceCanvas(image, _ref6, _ref7, _ref8) {\n var imageAspectRatio = _ref6.aspectRatio,\n imageNaturalWidth = _ref6.naturalWidth,\n imageNaturalHeight = _ref6.naturalHeight,\n _ref6$rotate = _ref6.rotate,\n rotate = _ref6$rotate === void 0 ? 0 : _ref6$rotate,\n _ref6$scaleX = _ref6.scaleX,\n scaleX = _ref6$scaleX === void 0 ? 1 : _ref6$scaleX,\n _ref6$scaleY = _ref6.scaleY,\n scaleY = _ref6$scaleY === void 0 ? 1 : _ref6$scaleY;\n var aspectRatio = _ref7.aspectRatio,\n naturalWidth = _ref7.naturalWidth,\n naturalHeight = _ref7.naturalHeight;\n var _ref8$fillColor = _ref8.fillColor,\n fillColor = _ref8$fillColor === void 0 ? 'transparent' : _ref8$fillColor,\n _ref8$imageSmoothingE = _ref8.imageSmoothingEnabled,\n imageSmoothingEnabled = _ref8$imageSmoothingE === void 0 ? true : _ref8$imageSmoothingE,\n _ref8$imageSmoothingQ = _ref8.imageSmoothingQuality,\n imageSmoothingQuality = _ref8$imageSmoothingQ === void 0 ? 'low' : _ref8$imageSmoothingQ,\n _ref8$maxWidth = _ref8.maxWidth,\n maxWidth = _ref8$maxWidth === void 0 ? Infinity : _ref8$maxWidth,\n _ref8$maxHeight = _ref8.maxHeight,\n maxHeight = _ref8$maxHeight === void 0 ? Infinity : _ref8$maxHeight,\n _ref8$minWidth = _ref8.minWidth,\n minWidth = _ref8$minWidth === void 0 ? 0 : _ref8$minWidth,\n _ref8$minHeight = _ref8.minHeight,\n minHeight = _ref8$minHeight === void 0 ? 0 : _ref8$minHeight;\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n var maxSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: maxWidth,\n height: maxHeight\n });\n var minSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: minWidth,\n height: minHeight\n }, 'cover');\n var width = Math.min(maxSizes.width, Math.max(minSizes.width, naturalWidth));\n var height = Math.min(maxSizes.height, Math.max(minSizes.height, naturalHeight));\n\n // Note: should always use image's natural sizes for drawing as\n // imageData.naturalWidth === canvasData.naturalHeight when rotate % 180 === 90\n var destMaxSizes = getAdjustedSizes({\n aspectRatio: imageAspectRatio,\n width: maxWidth,\n height: maxHeight\n });\n var destMinSizes = getAdjustedSizes({\n aspectRatio: imageAspectRatio,\n width: minWidth,\n height: minHeight\n }, 'cover');\n var destWidth = Math.min(destMaxSizes.width, Math.max(destMinSizes.width, imageNaturalWidth));\n var destHeight = Math.min(destMaxSizes.height, Math.max(destMinSizes.height, imageNaturalHeight));\n var params = [-destWidth / 2, -destHeight / 2, destWidth, destHeight];\n canvas.width = normalizeDecimalNumber(width);\n canvas.height = normalizeDecimalNumber(height);\n context.fillStyle = fillColor;\n context.fillRect(0, 0, width, height);\n context.save();\n context.translate(width / 2, height / 2);\n context.rotate(rotate * Math.PI / 180);\n context.scale(scaleX, scaleY);\n context.imageSmoothingEnabled = imageSmoothingEnabled;\n context.imageSmoothingQuality = imageSmoothingQuality;\n context.drawImage.apply(context, [image].concat(_toConsumableArray(params.map(function (param) {\n return Math.floor(normalizeDecimalNumber(param));\n }))));\n context.restore();\n return canvas;\n }\n var fromCharCode = String.fromCharCode;\n\n /**\n * Get string from char code in data view.\n * @param {DataView} dataView - The data view for read.\n * @param {number} start - The start index.\n * @param {number} length - The read length.\n * @returns {string} The read result.\n */\n function getStringFromCharCode(dataView, start, length) {\n var str = '';\n length += start;\n for (var i = start; i < length; i += 1) {\n str += fromCharCode(dataView.getUint8(i));\n }\n return str;\n }\n var REGEXP_DATA_URL_HEAD = /^data:.*,/;\n\n /**\n * Transform Data URL to array buffer.\n * @param {string} dataURL - The Data URL to transform.\n * @returns {ArrayBuffer} The result array buffer.\n */\n function dataURLToArrayBuffer(dataURL) {\n var base64 = dataURL.replace(REGEXP_DATA_URL_HEAD, '');\n var binary = atob(base64);\n var arrayBuffer = new ArrayBuffer(binary.length);\n var uint8 = new Uint8Array(arrayBuffer);\n forEach(uint8, function (value, i) {\n uint8[i] = binary.charCodeAt(i);\n });\n return arrayBuffer;\n }\n\n /**\n * Transform array buffer to Data URL.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to transform.\n * @param {string} mimeType - The mime type of the Data URL.\n * @returns {string} The result Data URL.\n */\n function arrayBufferToDataURL(arrayBuffer, mimeType) {\n var chunks = [];\n\n // Chunk Typed Array for better performance (#435)\n var chunkSize = 8192;\n var uint8 = new Uint8Array(arrayBuffer);\n while (uint8.length > 0) {\n // XXX: Babel's `toConsumableArray` helper will throw error in IE or Safari 9\n // eslint-disable-next-line prefer-spread\n chunks.push(fromCharCode.apply(null, toArray(uint8.subarray(0, chunkSize))));\n uint8 = uint8.subarray(chunkSize);\n }\n return \"data:\".concat(mimeType, \";base64,\").concat(btoa(chunks.join('')));\n }\n\n /**\n * Get orientation value from given array buffer.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to read.\n * @returns {number} The read orientation value.\n */\n function resetAndGetOrientation(arrayBuffer) {\n var dataView = new DataView(arrayBuffer);\n var orientation;\n\n // Ignores range error when the image does not have correct Exif information\n try {\n var littleEndian;\n var app1Start;\n var ifdStart;\n\n // Only handle JPEG image (start by 0xFFD8)\n if (dataView.getUint8(0) === 0xFF && dataView.getUint8(1) === 0xD8) {\n var length = dataView.byteLength;\n var offset = 2;\n while (offset + 1 < length) {\n if (dataView.getUint8(offset) === 0xFF && dataView.getUint8(offset + 1) === 0xE1) {\n app1Start = offset;\n break;\n }\n offset += 1;\n }\n }\n if (app1Start) {\n var exifIDCode = app1Start + 4;\n var tiffOffset = app1Start + 10;\n if (getStringFromCharCode(dataView, exifIDCode, 4) === 'Exif') {\n var endianness = dataView.getUint16(tiffOffset);\n littleEndian = endianness === 0x4949;\n if (littleEndian || endianness === 0x4D4D /* bigEndian */) {\n if (dataView.getUint16(tiffOffset + 2, littleEndian) === 0x002A) {\n var firstIFDOffset = dataView.getUint32(tiffOffset + 4, littleEndian);\n if (firstIFDOffset >= 0x00000008) {\n ifdStart = tiffOffset + firstIFDOffset;\n }\n }\n }\n }\n }\n if (ifdStart) {\n var _length = dataView.getUint16(ifdStart, littleEndian);\n var _offset;\n var i;\n for (i = 0; i < _length; i += 1) {\n _offset = ifdStart + i * 12 + 2;\n if (dataView.getUint16(_offset, littleEndian) === 0x0112 /* Orientation */) {\n // 8 is the offset of the current tag's value\n _offset += 8;\n\n // Get the original orientation value\n orientation = dataView.getUint16(_offset, littleEndian);\n\n // Override the orientation with its default value\n dataView.setUint16(_offset, 1, littleEndian);\n break;\n }\n }\n }\n } catch (error) {\n orientation = 1;\n }\n return orientation;\n }\n\n /**\n * Parse Exif Orientation value.\n * @param {number} orientation - The orientation to parse.\n * @returns {Object} The parsed result.\n */\n function parseOrientation(orientation) {\n var rotate = 0;\n var scaleX = 1;\n var scaleY = 1;\n switch (orientation) {\n // Flip horizontal\n case 2:\n scaleX = -1;\n break;\n\n // Rotate left 180°\n case 3:\n rotate = -180;\n break;\n\n // Flip vertical\n case 4:\n scaleY = -1;\n break;\n\n // Flip vertical and rotate right 90°\n case 5:\n rotate = 90;\n scaleY = -1;\n break;\n\n // Rotate right 90°\n case 6:\n rotate = 90;\n break;\n\n // Flip horizontal and rotate right 90°\n case 7:\n rotate = 90;\n scaleX = -1;\n break;\n\n // Rotate left 90°\n case 8:\n rotate = -90;\n break;\n }\n return {\n rotate: rotate,\n scaleX: scaleX,\n scaleY: scaleY\n };\n }\n\n var render = {\n render: function render() {\n this.initContainer();\n this.initCanvas();\n this.initCropBox();\n this.renderCanvas();\n if (this.cropped) {\n this.renderCropBox();\n }\n },\n initContainer: function initContainer() {\n var element = this.element,\n options = this.options,\n container = this.container,\n cropper = this.cropper;\n var minWidth = Number(options.minContainerWidth);\n var minHeight = Number(options.minContainerHeight);\n addClass(cropper, CLASS_HIDDEN);\n removeClass(element, CLASS_HIDDEN);\n var containerData = {\n width: Math.max(container.offsetWidth, minWidth >= 0 ? minWidth : MIN_CONTAINER_WIDTH),\n height: Math.max(container.offsetHeight, minHeight >= 0 ? minHeight : MIN_CONTAINER_HEIGHT)\n };\n this.containerData = containerData;\n setStyle(cropper, {\n width: containerData.width,\n height: containerData.height\n });\n addClass(element, CLASS_HIDDEN);\n removeClass(cropper, CLASS_HIDDEN);\n },\n // Canvas (image wrapper)\n initCanvas: function initCanvas() {\n var containerData = this.containerData,\n imageData = this.imageData;\n var viewMode = this.options.viewMode;\n var rotated = Math.abs(imageData.rotate) % 180 === 90;\n var naturalWidth = rotated ? imageData.naturalHeight : imageData.naturalWidth;\n var naturalHeight = rotated ? imageData.naturalWidth : imageData.naturalHeight;\n var aspectRatio = naturalWidth / naturalHeight;\n var canvasWidth = containerData.width;\n var canvasHeight = containerData.height;\n if (containerData.height * aspectRatio > containerData.width) {\n if (viewMode === 3) {\n canvasWidth = containerData.height * aspectRatio;\n } else {\n canvasHeight = containerData.width / aspectRatio;\n }\n } else if (viewMode === 3) {\n canvasHeight = containerData.width / aspectRatio;\n } else {\n canvasWidth = containerData.height * aspectRatio;\n }\n var canvasData = {\n aspectRatio: aspectRatio,\n naturalWidth: naturalWidth,\n naturalHeight: naturalHeight,\n width: canvasWidth,\n height: canvasHeight\n };\n this.canvasData = canvasData;\n this.limited = viewMode === 1 || viewMode === 2;\n this.limitCanvas(true, true);\n canvasData.width = Math.min(Math.max(canvasData.width, canvasData.minWidth), canvasData.maxWidth);\n canvasData.height = Math.min(Math.max(canvasData.height, canvasData.minHeight), canvasData.maxHeight);\n canvasData.left = (containerData.width - canvasData.width) / 2;\n canvasData.top = (containerData.height - canvasData.height) / 2;\n canvasData.oldLeft = canvasData.left;\n canvasData.oldTop = canvasData.top;\n this.initialCanvasData = assign({}, canvasData);\n },\n limitCanvas: function limitCanvas(sizeLimited, positionLimited) {\n var options = this.options,\n containerData = this.containerData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var viewMode = options.viewMode;\n var aspectRatio = canvasData.aspectRatio;\n var cropped = this.cropped && cropBoxData;\n if (sizeLimited) {\n var minCanvasWidth = Number(options.minCanvasWidth) || 0;\n var minCanvasHeight = Number(options.minCanvasHeight) || 0;\n if (viewMode > 1) {\n minCanvasWidth = Math.max(minCanvasWidth, containerData.width);\n minCanvasHeight = Math.max(minCanvasHeight, containerData.height);\n if (viewMode === 3) {\n if (minCanvasHeight * aspectRatio > minCanvasWidth) {\n minCanvasWidth = minCanvasHeight * aspectRatio;\n } else {\n minCanvasHeight = minCanvasWidth / aspectRatio;\n }\n }\n } else if (viewMode > 0) {\n if (minCanvasWidth) {\n minCanvasWidth = Math.max(minCanvasWidth, cropped ? cropBoxData.width : 0);\n } else if (minCanvasHeight) {\n minCanvasHeight = Math.max(minCanvasHeight, cropped ? cropBoxData.height : 0);\n } else if (cropped) {\n minCanvasWidth = cropBoxData.width;\n minCanvasHeight = cropBoxData.height;\n if (minCanvasHeight * aspectRatio > minCanvasWidth) {\n minCanvasWidth = minCanvasHeight * aspectRatio;\n } else {\n minCanvasHeight = minCanvasWidth / aspectRatio;\n }\n }\n }\n var _getAdjustedSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: minCanvasWidth,\n height: minCanvasHeight\n });\n minCanvasWidth = _getAdjustedSizes.width;\n minCanvasHeight = _getAdjustedSizes.height;\n canvasData.minWidth = minCanvasWidth;\n canvasData.minHeight = minCanvasHeight;\n canvasData.maxWidth = Infinity;\n canvasData.maxHeight = Infinity;\n }\n if (positionLimited) {\n if (viewMode > (cropped ? 0 : 1)) {\n var newCanvasLeft = containerData.width - canvasData.width;\n var newCanvasTop = containerData.height - canvasData.height;\n canvasData.minLeft = Math.min(0, newCanvasLeft);\n canvasData.minTop = Math.min(0, newCanvasTop);\n canvasData.maxLeft = Math.max(0, newCanvasLeft);\n canvasData.maxTop = Math.max(0, newCanvasTop);\n if (cropped && this.limited) {\n canvasData.minLeft = Math.min(cropBoxData.left, cropBoxData.left + (cropBoxData.width - canvasData.width));\n canvasData.minTop = Math.min(cropBoxData.top, cropBoxData.top + (cropBoxData.height - canvasData.height));\n canvasData.maxLeft = cropBoxData.left;\n canvasData.maxTop = cropBoxData.top;\n if (viewMode === 2) {\n if (canvasData.width >= containerData.width) {\n canvasData.minLeft = Math.min(0, newCanvasLeft);\n canvasData.maxLeft = Math.max(0, newCanvasLeft);\n }\n if (canvasData.height >= containerData.height) {\n canvasData.minTop = Math.min(0, newCanvasTop);\n canvasData.maxTop = Math.max(0, newCanvasTop);\n }\n }\n }\n } else {\n canvasData.minLeft = -canvasData.width;\n canvasData.minTop = -canvasData.height;\n canvasData.maxLeft = containerData.width;\n canvasData.maxTop = containerData.height;\n }\n }\n },\n renderCanvas: function renderCanvas(changed, transformed) {\n var canvasData = this.canvasData,\n imageData = this.imageData;\n if (transformed) {\n var _getRotatedSizes = getRotatedSizes({\n width: imageData.naturalWidth * Math.abs(imageData.scaleX || 1),\n height: imageData.naturalHeight * Math.abs(imageData.scaleY || 1),\n degree: imageData.rotate || 0\n }),\n naturalWidth = _getRotatedSizes.width,\n naturalHeight = _getRotatedSizes.height;\n var width = canvasData.width * (naturalWidth / canvasData.naturalWidth);\n var height = canvasData.height * (naturalHeight / canvasData.naturalHeight);\n canvasData.left -= (width - canvasData.width) / 2;\n canvasData.top -= (height - canvasData.height) / 2;\n canvasData.width = width;\n canvasData.height = height;\n canvasData.aspectRatio = naturalWidth / naturalHeight;\n canvasData.naturalWidth = naturalWidth;\n canvasData.naturalHeight = naturalHeight;\n this.limitCanvas(true, false);\n }\n if (canvasData.width > canvasData.maxWidth || canvasData.width < canvasData.minWidth) {\n canvasData.left = canvasData.oldLeft;\n }\n if (canvasData.height > canvasData.maxHeight || canvasData.height < canvasData.minHeight) {\n canvasData.top = canvasData.oldTop;\n }\n canvasData.width = Math.min(Math.max(canvasData.width, canvasData.minWidth), canvasData.maxWidth);\n canvasData.height = Math.min(Math.max(canvasData.height, canvasData.minHeight), canvasData.maxHeight);\n this.limitCanvas(false, true);\n canvasData.left = Math.min(Math.max(canvasData.left, canvasData.minLeft), canvasData.maxLeft);\n canvasData.top = Math.min(Math.max(canvasData.top, canvasData.minTop), canvasData.maxTop);\n canvasData.oldLeft = canvasData.left;\n canvasData.oldTop = canvasData.top;\n setStyle(this.canvas, assign({\n width: canvasData.width,\n height: canvasData.height\n }, getTransforms({\n translateX: canvasData.left,\n translateY: canvasData.top\n })));\n this.renderImage(changed);\n if (this.cropped && this.limited) {\n this.limitCropBox(true, true);\n }\n },\n renderImage: function renderImage(changed) {\n var canvasData = this.canvasData,\n imageData = this.imageData;\n var width = imageData.naturalWidth * (canvasData.width / canvasData.naturalWidth);\n var height = imageData.naturalHeight * (canvasData.height / canvasData.naturalHeight);\n assign(imageData, {\n width: width,\n height: height,\n left: (canvasData.width - width) / 2,\n top: (canvasData.height - height) / 2\n });\n setStyle(this.image, assign({\n width: imageData.width,\n height: imageData.height\n }, getTransforms(assign({\n translateX: imageData.left,\n translateY: imageData.top\n }, imageData))));\n if (changed) {\n this.output();\n }\n },\n initCropBox: function initCropBox() {\n var options = this.options,\n canvasData = this.canvasData;\n var aspectRatio = options.aspectRatio || options.initialAspectRatio;\n var autoCropArea = Number(options.autoCropArea) || 0.8;\n var cropBoxData = {\n width: canvasData.width,\n height: canvasData.height\n };\n if (aspectRatio) {\n if (canvasData.height * aspectRatio > canvasData.width) {\n cropBoxData.height = cropBoxData.width / aspectRatio;\n } else {\n cropBoxData.width = cropBoxData.height * aspectRatio;\n }\n }\n this.cropBoxData = cropBoxData;\n this.limitCropBox(true, true);\n\n // Initialize auto crop area\n cropBoxData.width = Math.min(Math.max(cropBoxData.width, cropBoxData.minWidth), cropBoxData.maxWidth);\n cropBoxData.height = Math.min(Math.max(cropBoxData.height, cropBoxData.minHeight), cropBoxData.maxHeight);\n\n // The width/height of auto crop area must large than \"minWidth/Height\"\n cropBoxData.width = Math.max(cropBoxData.minWidth, cropBoxData.width * autoCropArea);\n cropBoxData.height = Math.max(cropBoxData.minHeight, cropBoxData.height * autoCropArea);\n cropBoxData.left = canvasData.left + (canvasData.width - cropBoxData.width) / 2;\n cropBoxData.top = canvasData.top + (canvasData.height - cropBoxData.height) / 2;\n cropBoxData.oldLeft = cropBoxData.left;\n cropBoxData.oldTop = cropBoxData.top;\n this.initialCropBoxData = assign({}, cropBoxData);\n },\n limitCropBox: function limitCropBox(sizeLimited, positionLimited) {\n var options = this.options,\n containerData = this.containerData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData,\n limited = this.limited;\n var aspectRatio = options.aspectRatio;\n if (sizeLimited) {\n var minCropBoxWidth = Number(options.minCropBoxWidth) || 0;\n var minCropBoxHeight = Number(options.minCropBoxHeight) || 0;\n var maxCropBoxWidth = limited ? Math.min(containerData.width, canvasData.width, canvasData.width + canvasData.left, containerData.width - canvasData.left) : containerData.width;\n var maxCropBoxHeight = limited ? Math.min(containerData.height, canvasData.height, canvasData.height + canvasData.top, containerData.height - canvasData.top) : containerData.height;\n\n // The min/maxCropBoxWidth/Height must be less than container's width/height\n minCropBoxWidth = Math.min(minCropBoxWidth, containerData.width);\n minCropBoxHeight = Math.min(minCropBoxHeight, containerData.height);\n if (aspectRatio) {\n if (minCropBoxWidth && minCropBoxHeight) {\n if (minCropBoxHeight * aspectRatio > minCropBoxWidth) {\n minCropBoxHeight = minCropBoxWidth / aspectRatio;\n } else {\n minCropBoxWidth = minCropBoxHeight * aspectRatio;\n }\n } else if (minCropBoxWidth) {\n minCropBoxHeight = minCropBoxWidth / aspectRatio;\n } else if (minCropBoxHeight) {\n minCropBoxWidth = minCropBoxHeight * aspectRatio;\n }\n if (maxCropBoxHeight * aspectRatio > maxCropBoxWidth) {\n maxCropBoxHeight = maxCropBoxWidth / aspectRatio;\n } else {\n maxCropBoxWidth = maxCropBoxHeight * aspectRatio;\n }\n }\n\n // The minWidth/Height must be less than maxWidth/Height\n cropBoxData.minWidth = Math.min(minCropBoxWidth, maxCropBoxWidth);\n cropBoxData.minHeight = Math.min(minCropBoxHeight, maxCropBoxHeight);\n cropBoxData.maxWidth = maxCropBoxWidth;\n cropBoxData.maxHeight = maxCropBoxHeight;\n }\n if (positionLimited) {\n if (limited) {\n cropBoxData.minLeft = Math.max(0, canvasData.left);\n cropBoxData.minTop = Math.max(0, canvasData.top);\n cropBoxData.maxLeft = Math.min(containerData.width, canvasData.left + canvasData.width) - cropBoxData.width;\n cropBoxData.maxTop = Math.min(containerData.height, canvasData.top + canvasData.height) - cropBoxData.height;\n } else {\n cropBoxData.minLeft = 0;\n cropBoxData.minTop = 0;\n cropBoxData.maxLeft = containerData.width - cropBoxData.width;\n cropBoxData.maxTop = containerData.height - cropBoxData.height;\n }\n }\n },\n renderCropBox: function renderCropBox() {\n var options = this.options,\n containerData = this.containerData,\n cropBoxData = this.cropBoxData;\n if (cropBoxData.width > cropBoxData.maxWidth || cropBoxData.width < cropBoxData.minWidth) {\n cropBoxData.left = cropBoxData.oldLeft;\n }\n if (cropBoxData.height > cropBoxData.maxHeight || cropBoxData.height < cropBoxData.minHeight) {\n cropBoxData.top = cropBoxData.oldTop;\n }\n cropBoxData.width = Math.min(Math.max(cropBoxData.width, cropBoxData.minWidth), cropBoxData.maxWidth);\n cropBoxData.height = Math.min(Math.max(cropBoxData.height, cropBoxData.minHeight), cropBoxData.maxHeight);\n this.limitCropBox(false, true);\n cropBoxData.left = Math.min(Math.max(cropBoxData.left, cropBoxData.minLeft), cropBoxData.maxLeft);\n cropBoxData.top = Math.min(Math.max(cropBoxData.top, cropBoxData.minTop), cropBoxData.maxTop);\n cropBoxData.oldLeft = cropBoxData.left;\n cropBoxData.oldTop = cropBoxData.top;\n if (options.movable && options.cropBoxMovable) {\n // Turn to move the canvas when the crop box is equal to the container\n setData(this.face, DATA_ACTION, cropBoxData.width >= containerData.width && cropBoxData.height >= containerData.height ? ACTION_MOVE : ACTION_ALL);\n }\n setStyle(this.cropBox, assign({\n width: cropBoxData.width,\n height: cropBoxData.height\n }, getTransforms({\n translateX: cropBoxData.left,\n translateY: cropBoxData.top\n })));\n if (this.cropped && this.limited) {\n this.limitCanvas(true, true);\n }\n if (!this.disabled) {\n this.output();\n }\n },\n output: function output() {\n this.preview();\n dispatchEvent(this.element, EVENT_CROP, this.getData());\n }\n };\n\n var preview = {\n initPreview: function initPreview() {\n var element = this.element,\n crossOrigin = this.crossOrigin;\n var preview = this.options.preview;\n var url = crossOrigin ? this.crossOriginUrl : this.url;\n var alt = element.alt || 'The image to preview';\n var image = document.createElement('img');\n if (crossOrigin) {\n image.crossOrigin = crossOrigin;\n }\n image.src = url;\n image.alt = alt;\n this.viewBox.appendChild(image);\n this.viewBoxImage = image;\n if (!preview) {\n return;\n }\n var previews = preview;\n if (typeof preview === 'string') {\n previews = element.ownerDocument.querySelectorAll(preview);\n } else if (preview.querySelector) {\n previews = [preview];\n }\n this.previews = previews;\n forEach(previews, function (el) {\n var img = document.createElement('img');\n\n // Save the original size for recover\n setData(el, DATA_PREVIEW, {\n width: el.offsetWidth,\n height: el.offsetHeight,\n html: el.innerHTML\n });\n if (crossOrigin) {\n img.crossOrigin = crossOrigin;\n }\n img.src = url;\n img.alt = alt;\n\n /**\n * Override img element styles\n * Add `display:block` to avoid margin top issue\n * Add `height:auto` to override `height` attribute on IE8\n * (Occur only when margin-top <= -height)\n */\n img.style.cssText = 'display:block;' + 'width:100%;' + 'height:auto;' + 'min-width:0!important;' + 'min-height:0!important;' + 'max-width:none!important;' + 'max-height:none!important;' + 'image-orientation:0deg!important;\"';\n el.innerHTML = '';\n el.appendChild(img);\n });\n },\n resetPreview: function resetPreview() {\n forEach(this.previews, function (element) {\n var data = getData(element, DATA_PREVIEW);\n setStyle(element, {\n width: data.width,\n height: data.height\n });\n element.innerHTML = data.html;\n removeData(element, DATA_PREVIEW);\n });\n },\n preview: function preview() {\n var imageData = this.imageData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var cropBoxWidth = cropBoxData.width,\n cropBoxHeight = cropBoxData.height;\n var width = imageData.width,\n height = imageData.height;\n var left = cropBoxData.left - canvasData.left - imageData.left;\n var top = cropBoxData.top - canvasData.top - imageData.top;\n if (!this.cropped || this.disabled) {\n return;\n }\n setStyle(this.viewBoxImage, assign({\n width: width,\n height: height\n }, getTransforms(assign({\n translateX: -left,\n translateY: -top\n }, imageData))));\n forEach(this.previews, function (element) {\n var data = getData(element, DATA_PREVIEW);\n var originalWidth = data.width;\n var originalHeight = data.height;\n var newWidth = originalWidth;\n var newHeight = originalHeight;\n var ratio = 1;\n if (cropBoxWidth) {\n ratio = originalWidth / cropBoxWidth;\n newHeight = cropBoxHeight * ratio;\n }\n if (cropBoxHeight && newHeight > originalHeight) {\n ratio = originalHeight / cropBoxHeight;\n newWidth = cropBoxWidth * ratio;\n newHeight = originalHeight;\n }\n setStyle(element, {\n width: newWidth,\n height: newHeight\n });\n setStyle(element.getElementsByTagName('img')[0], assign({\n width: width * ratio,\n height: height * ratio\n }, getTransforms(assign({\n translateX: -left * ratio,\n translateY: -top * ratio\n }, imageData))));\n });\n }\n };\n\n var events = {\n bind: function bind() {\n var element = this.element,\n options = this.options,\n cropper = this.cropper;\n if (isFunction(options.cropstart)) {\n addListener(element, EVENT_CROP_START, options.cropstart);\n }\n if (isFunction(options.cropmove)) {\n addListener(element, EVENT_CROP_MOVE, options.cropmove);\n }\n if (isFunction(options.cropend)) {\n addListener(element, EVENT_CROP_END, options.cropend);\n }\n if (isFunction(options.crop)) {\n addListener(element, EVENT_CROP, options.crop);\n }\n if (isFunction(options.zoom)) {\n addListener(element, EVENT_ZOOM, options.zoom);\n }\n addListener(cropper, EVENT_POINTER_DOWN, this.onCropStart = this.cropStart.bind(this));\n if (options.zoomable && options.zoomOnWheel) {\n addListener(cropper, EVENT_WHEEL, this.onWheel = this.wheel.bind(this), {\n passive: false,\n capture: true\n });\n }\n if (options.toggleDragModeOnDblclick) {\n addListener(cropper, EVENT_DBLCLICK, this.onDblclick = this.dblclick.bind(this));\n }\n addListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onCropMove = this.cropMove.bind(this));\n addListener(element.ownerDocument, EVENT_POINTER_UP, this.onCropEnd = this.cropEnd.bind(this));\n if (options.responsive) {\n addListener(window, EVENT_RESIZE, this.onResize = this.resize.bind(this));\n }\n },\n unbind: function unbind() {\n var element = this.element,\n options = this.options,\n cropper = this.cropper;\n if (isFunction(options.cropstart)) {\n removeListener(element, EVENT_CROP_START, options.cropstart);\n }\n if (isFunction(options.cropmove)) {\n removeListener(element, EVENT_CROP_MOVE, options.cropmove);\n }\n if (isFunction(options.cropend)) {\n removeListener(element, EVENT_CROP_END, options.cropend);\n }\n if (isFunction(options.crop)) {\n removeListener(element, EVENT_CROP, options.crop);\n }\n if (isFunction(options.zoom)) {\n removeListener(element, EVENT_ZOOM, options.zoom);\n }\n removeListener(cropper, EVENT_POINTER_DOWN, this.onCropStart);\n if (options.zoomable && options.zoomOnWheel) {\n removeListener(cropper, EVENT_WHEEL, this.onWheel, {\n passive: false,\n capture: true\n });\n }\n if (options.toggleDragModeOnDblclick) {\n removeListener(cropper, EVENT_DBLCLICK, this.onDblclick);\n }\n removeListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onCropMove);\n removeListener(element.ownerDocument, EVENT_POINTER_UP, this.onCropEnd);\n if (options.responsive) {\n removeListener(window, EVENT_RESIZE, this.onResize);\n }\n }\n };\n\n var handlers = {\n resize: function resize() {\n if (this.disabled) {\n return;\n }\n var options = this.options,\n container = this.container,\n containerData = this.containerData;\n var ratioX = container.offsetWidth / containerData.width;\n var ratioY = container.offsetHeight / containerData.height;\n var ratio = Math.abs(ratioX - 1) > Math.abs(ratioY - 1) ? ratioX : ratioY;\n\n // Resize when width changed or height changed\n if (ratio !== 1) {\n var canvasData;\n var cropBoxData;\n if (options.restore) {\n canvasData = this.getCanvasData();\n cropBoxData = this.getCropBoxData();\n }\n this.render();\n if (options.restore) {\n this.setCanvasData(forEach(canvasData, function (n, i) {\n canvasData[i] = n * ratio;\n }));\n this.setCropBoxData(forEach(cropBoxData, function (n, i) {\n cropBoxData[i] = n * ratio;\n }));\n }\n }\n },\n dblclick: function dblclick() {\n if (this.disabled || this.options.dragMode === DRAG_MODE_NONE) {\n return;\n }\n this.setDragMode(hasClass(this.dragBox, CLASS_CROP) ? DRAG_MODE_MOVE : DRAG_MODE_CROP);\n },\n wheel: function wheel(event) {\n var _this = this;\n var ratio = Number(this.options.wheelZoomRatio) || 0.1;\n var delta = 1;\n if (this.disabled) {\n return;\n }\n event.preventDefault();\n\n // Limit wheel speed to prevent zoom too fast (#21)\n if (this.wheeling) {\n return;\n }\n this.wheeling = true;\n setTimeout(function () {\n _this.wheeling = false;\n }, 50);\n if (event.deltaY) {\n delta = event.deltaY > 0 ? 1 : -1;\n } else if (event.wheelDelta) {\n delta = -event.wheelDelta / 120;\n } else if (event.detail) {\n delta = event.detail > 0 ? 1 : -1;\n }\n this.zoom(-delta * ratio, event);\n },\n cropStart: function cropStart(event) {\n var buttons = event.buttons,\n button = event.button;\n if (this.disabled\n\n // Handle mouse event and pointer event and ignore touch event\n || (event.type === 'mousedown' || event.type === 'pointerdown' && event.pointerType === 'mouse') && (\n // No primary button (Usually the left button)\n isNumber(buttons) && buttons !== 1 || isNumber(button) && button !== 0\n\n // Open context menu\n || event.ctrlKey)) {\n return;\n }\n var options = this.options,\n pointers = this.pointers;\n var action;\n if (event.changedTouches) {\n // Handle touch event\n forEach(event.changedTouches, function (touch) {\n pointers[touch.identifier] = getPointer(touch);\n });\n } else {\n // Handle mouse event and pointer event\n pointers[event.pointerId || 0] = getPointer(event);\n }\n if (Object.keys(pointers).length > 1 && options.zoomable && options.zoomOnTouch) {\n action = ACTION_ZOOM;\n } else {\n action = getData(event.target, DATA_ACTION);\n }\n if (!REGEXP_ACTIONS.test(action)) {\n return;\n }\n if (dispatchEvent(this.element, EVENT_CROP_START, {\n originalEvent: event,\n action: action\n }) === false) {\n return;\n }\n\n // This line is required for preventing page zooming in iOS browsers\n event.preventDefault();\n this.action = action;\n this.cropping = false;\n if (action === ACTION_CROP) {\n this.cropping = true;\n addClass(this.dragBox, CLASS_MODAL);\n }\n },\n cropMove: function cropMove(event) {\n var action = this.action;\n if (this.disabled || !action) {\n return;\n }\n var pointers = this.pointers;\n event.preventDefault();\n if (dispatchEvent(this.element, EVENT_CROP_MOVE, {\n originalEvent: event,\n action: action\n }) === false) {\n return;\n }\n if (event.changedTouches) {\n forEach(event.changedTouches, function (touch) {\n // The first parameter should not be undefined (#432)\n assign(pointers[touch.identifier] || {}, getPointer(touch, true));\n });\n } else {\n assign(pointers[event.pointerId || 0] || {}, getPointer(event, true));\n }\n this.change(event);\n },\n cropEnd: function cropEnd(event) {\n if (this.disabled) {\n return;\n }\n var action = this.action,\n pointers = this.pointers;\n if (event.changedTouches) {\n forEach(event.changedTouches, function (touch) {\n delete pointers[touch.identifier];\n });\n } else {\n delete pointers[event.pointerId || 0];\n }\n if (!action) {\n return;\n }\n event.preventDefault();\n if (!Object.keys(pointers).length) {\n this.action = '';\n }\n if (this.cropping) {\n this.cropping = false;\n toggleClass(this.dragBox, CLASS_MODAL, this.cropped && this.options.modal);\n }\n dispatchEvent(this.element, EVENT_CROP_END, {\n originalEvent: event,\n action: action\n });\n }\n };\n\n var change = {\n change: function change(event) {\n var options = this.options,\n canvasData = this.canvasData,\n containerData = this.containerData,\n cropBoxData = this.cropBoxData,\n pointers = this.pointers;\n var action = this.action;\n var aspectRatio = options.aspectRatio;\n var left = cropBoxData.left,\n top = cropBoxData.top,\n width = cropBoxData.width,\n height = cropBoxData.height;\n var right = left + width;\n var bottom = top + height;\n var minLeft = 0;\n var minTop = 0;\n var maxWidth = containerData.width;\n var maxHeight = containerData.height;\n var renderable = true;\n var offset;\n\n // Locking aspect ratio in \"free mode\" by holding shift key\n if (!aspectRatio && event.shiftKey) {\n aspectRatio = width && height ? width / height : 1;\n }\n if (this.limited) {\n minLeft = cropBoxData.minLeft;\n minTop = cropBoxData.minTop;\n maxWidth = minLeft + Math.min(containerData.width, canvasData.width, canvasData.left + canvasData.width);\n maxHeight = minTop + Math.min(containerData.height, canvasData.height, canvasData.top + canvasData.height);\n }\n var pointer = pointers[Object.keys(pointers)[0]];\n var range = {\n x: pointer.endX - pointer.startX,\n y: pointer.endY - pointer.startY\n };\n var check = function check(side) {\n switch (side) {\n case ACTION_EAST:\n if (right + range.x > maxWidth) {\n range.x = maxWidth - right;\n }\n break;\n case ACTION_WEST:\n if (left + range.x < minLeft) {\n range.x = minLeft - left;\n }\n break;\n case ACTION_NORTH:\n if (top + range.y < minTop) {\n range.y = minTop - top;\n }\n break;\n case ACTION_SOUTH:\n if (bottom + range.y > maxHeight) {\n range.y = maxHeight - bottom;\n }\n break;\n }\n };\n switch (action) {\n // Move crop box\n case ACTION_ALL:\n left += range.x;\n top += range.y;\n break;\n\n // Resize crop box\n case ACTION_EAST:\n if (range.x >= 0 && (right >= maxWidth || aspectRatio && (top <= minTop || bottom >= maxHeight))) {\n renderable = false;\n break;\n }\n check(ACTION_EAST);\n width += range.x;\n if (width < 0) {\n action = ACTION_WEST;\n width = -width;\n left -= width;\n }\n if (aspectRatio) {\n height = width / aspectRatio;\n top += (cropBoxData.height - height) / 2;\n }\n break;\n case ACTION_NORTH:\n if (range.y <= 0 && (top <= minTop || aspectRatio && (left <= minLeft || right >= maxWidth))) {\n renderable = false;\n break;\n }\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n if (height < 0) {\n action = ACTION_SOUTH;\n height = -height;\n top -= height;\n }\n if (aspectRatio) {\n width = height * aspectRatio;\n left += (cropBoxData.width - width) / 2;\n }\n break;\n case ACTION_WEST:\n if (range.x <= 0 && (left <= minLeft || aspectRatio && (top <= minTop || bottom >= maxHeight))) {\n renderable = false;\n break;\n }\n check(ACTION_WEST);\n width -= range.x;\n left += range.x;\n if (width < 0) {\n action = ACTION_EAST;\n width = -width;\n left -= width;\n }\n if (aspectRatio) {\n height = width / aspectRatio;\n top += (cropBoxData.height - height) / 2;\n }\n break;\n case ACTION_SOUTH:\n if (range.y >= 0 && (bottom >= maxHeight || aspectRatio && (left <= minLeft || right >= maxWidth))) {\n renderable = false;\n break;\n }\n check(ACTION_SOUTH);\n height += range.y;\n if (height < 0) {\n action = ACTION_NORTH;\n height = -height;\n top -= height;\n }\n if (aspectRatio) {\n width = height * aspectRatio;\n left += (cropBoxData.width - width) / 2;\n }\n break;\n case ACTION_NORTH_EAST:\n if (aspectRatio) {\n if (range.y <= 0 && (top <= minTop || right >= maxWidth)) {\n renderable = false;\n break;\n }\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n width = height * aspectRatio;\n } else {\n check(ACTION_NORTH);\n check(ACTION_EAST);\n if (range.x >= 0) {\n if (right < maxWidth) {\n width += range.x;\n } else if (range.y <= 0 && top <= minTop) {\n renderable = false;\n }\n } else {\n width += range.x;\n }\n if (range.y <= 0) {\n if (top > minTop) {\n height -= range.y;\n top += range.y;\n }\n } else {\n height -= range.y;\n top += range.y;\n }\n }\n if (width < 0 && height < 0) {\n action = ACTION_SOUTH_WEST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_NORTH_WEST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_SOUTH_EAST;\n height = -height;\n top -= height;\n }\n break;\n case ACTION_NORTH_WEST:\n if (aspectRatio) {\n if (range.y <= 0 && (top <= minTop || left <= minLeft)) {\n renderable = false;\n break;\n }\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n width = height * aspectRatio;\n left += cropBoxData.width - width;\n } else {\n check(ACTION_NORTH);\n check(ACTION_WEST);\n if (range.x <= 0) {\n if (left > minLeft) {\n width -= range.x;\n left += range.x;\n } else if (range.y <= 0 && top <= minTop) {\n renderable = false;\n }\n } else {\n width -= range.x;\n left += range.x;\n }\n if (range.y <= 0) {\n if (top > minTop) {\n height -= range.y;\n top += range.y;\n }\n } else {\n height -= range.y;\n top += range.y;\n }\n }\n if (width < 0 && height < 0) {\n action = ACTION_SOUTH_EAST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_NORTH_EAST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_SOUTH_WEST;\n height = -height;\n top -= height;\n }\n break;\n case ACTION_SOUTH_WEST:\n if (aspectRatio) {\n if (range.x <= 0 && (left <= minLeft || bottom >= maxHeight)) {\n renderable = false;\n break;\n }\n check(ACTION_WEST);\n width -= range.x;\n left += range.x;\n height = width / aspectRatio;\n } else {\n check(ACTION_SOUTH);\n check(ACTION_WEST);\n if (range.x <= 0) {\n if (left > minLeft) {\n width -= range.x;\n left += range.x;\n } else if (range.y >= 0 && bottom >= maxHeight) {\n renderable = false;\n }\n } else {\n width -= range.x;\n left += range.x;\n }\n if (range.y >= 0) {\n if (bottom < maxHeight) {\n height += range.y;\n }\n } else {\n height += range.y;\n }\n }\n if (width < 0 && height < 0) {\n action = ACTION_NORTH_EAST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_SOUTH_EAST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_NORTH_WEST;\n height = -height;\n top -= height;\n }\n break;\n case ACTION_SOUTH_EAST:\n if (aspectRatio) {\n if (range.x >= 0 && (right >= maxWidth || bottom >= maxHeight)) {\n renderable = false;\n break;\n }\n check(ACTION_EAST);\n width += range.x;\n height = width / aspectRatio;\n } else {\n check(ACTION_SOUTH);\n check(ACTION_EAST);\n if (range.x >= 0) {\n if (right < maxWidth) {\n width += range.x;\n } else if (range.y >= 0 && bottom >= maxHeight) {\n renderable = false;\n }\n } else {\n width += range.x;\n }\n if (range.y >= 0) {\n if (bottom < maxHeight) {\n height += range.y;\n }\n } else {\n height += range.y;\n }\n }\n if (width < 0 && height < 0) {\n action = ACTION_NORTH_WEST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_SOUTH_WEST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_NORTH_EAST;\n height = -height;\n top -= height;\n }\n break;\n\n // Move canvas\n case ACTION_MOVE:\n this.move(range.x, range.y);\n renderable = false;\n break;\n\n // Zoom canvas\n case ACTION_ZOOM:\n this.zoom(getMaxZoomRatio(pointers), event);\n renderable = false;\n break;\n\n // Create crop box\n case ACTION_CROP:\n if (!range.x || !range.y) {\n renderable = false;\n break;\n }\n offset = getOffset(this.cropper);\n left = pointer.startX - offset.left;\n top = pointer.startY - offset.top;\n width = cropBoxData.minWidth;\n height = cropBoxData.minHeight;\n if (range.x > 0) {\n action = range.y > 0 ? ACTION_SOUTH_EAST : ACTION_NORTH_EAST;\n } else if (range.x < 0) {\n left -= width;\n action = range.y > 0 ? ACTION_SOUTH_WEST : ACTION_NORTH_WEST;\n }\n if (range.y < 0) {\n top -= height;\n }\n\n // Show the crop box if is hidden\n if (!this.cropped) {\n removeClass(this.cropBox, CLASS_HIDDEN);\n this.cropped = true;\n if (this.limited) {\n this.limitCropBox(true, true);\n }\n }\n break;\n }\n if (renderable) {\n cropBoxData.width = width;\n cropBoxData.height = height;\n cropBoxData.left = left;\n cropBoxData.top = top;\n this.action = action;\n this.renderCropBox();\n }\n\n // Override\n forEach(pointers, function (p) {\n p.startX = p.endX;\n p.startY = p.endY;\n });\n }\n };\n\n var methods = {\n // Show the crop box manually\n crop: function crop() {\n if (this.ready && !this.cropped && !this.disabled) {\n this.cropped = true;\n this.limitCropBox(true, true);\n if (this.options.modal) {\n addClass(this.dragBox, CLASS_MODAL);\n }\n removeClass(this.cropBox, CLASS_HIDDEN);\n this.setCropBoxData(this.initialCropBoxData);\n }\n return this;\n },\n // Reset the image and crop box to their initial states\n reset: function reset() {\n if (this.ready && !this.disabled) {\n this.imageData = assign({}, this.initialImageData);\n this.canvasData = assign({}, this.initialCanvasData);\n this.cropBoxData = assign({}, this.initialCropBoxData);\n this.renderCanvas();\n if (this.cropped) {\n this.renderCropBox();\n }\n }\n return this;\n },\n // Clear the crop box\n clear: function clear() {\n if (this.cropped && !this.disabled) {\n assign(this.cropBoxData, {\n left: 0,\n top: 0,\n width: 0,\n height: 0\n });\n this.cropped = false;\n this.renderCropBox();\n this.limitCanvas(true, true);\n\n // Render canvas after crop box rendered\n this.renderCanvas();\n removeClass(this.dragBox, CLASS_MODAL);\n addClass(this.cropBox, CLASS_HIDDEN);\n }\n return this;\n },\n /**\n * Replace the image's src and rebuild the cropper\n * @param {string} url - The new URL.\n * @param {boolean} [hasSameSize] - Indicate if the new image has the same size as the old one.\n * @returns {Cropper} this\n */\n replace: function replace(url) {\n var hasSameSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (!this.disabled && url) {\n if (this.isImg) {\n this.element.src = url;\n }\n if (hasSameSize) {\n this.url = url;\n this.image.src = url;\n if (this.ready) {\n this.viewBoxImage.src = url;\n forEach(this.previews, function (element) {\n element.getElementsByTagName('img')[0].src = url;\n });\n }\n } else {\n if (this.isImg) {\n this.replaced = true;\n }\n this.options.data = null;\n this.uncreate();\n this.load(url);\n }\n }\n return this;\n },\n // Enable (unfreeze) the cropper\n enable: function enable() {\n if (this.ready && this.disabled) {\n this.disabled = false;\n removeClass(this.cropper, CLASS_DISABLED);\n }\n return this;\n },\n // Disable (freeze) the cropper\n disable: function disable() {\n if (this.ready && !this.disabled) {\n this.disabled = true;\n addClass(this.cropper, CLASS_DISABLED);\n }\n return this;\n },\n /**\n * Destroy the cropper and remove the instance from the image\n * @returns {Cropper} this\n */\n destroy: function destroy() {\n var element = this.element;\n if (!element[NAMESPACE]) {\n return this;\n }\n element[NAMESPACE] = undefined;\n if (this.isImg && this.replaced) {\n element.src = this.originalUrl;\n }\n this.uncreate();\n return this;\n },\n /**\n * Move the canvas with relative offsets\n * @param {number} offsetX - The relative offset distance on the x-axis.\n * @param {number} [offsetY=offsetX] - The relative offset distance on the y-axis.\n * @returns {Cropper} this\n */\n move: function move(offsetX) {\n var offsetY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : offsetX;\n var _this$canvasData = this.canvasData,\n left = _this$canvasData.left,\n top = _this$canvasData.top;\n return this.moveTo(isUndefined(offsetX) ? offsetX : left + Number(offsetX), isUndefined(offsetY) ? offsetY : top + Number(offsetY));\n },\n /**\n * Move the canvas to an absolute point\n * @param {number} x - The x-axis coordinate.\n * @param {number} [y=x] - The y-axis coordinate.\n * @returns {Cropper} this\n */\n moveTo: function moveTo(x) {\n var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : x;\n var canvasData = this.canvasData;\n var changed = false;\n x = Number(x);\n y = Number(y);\n if (this.ready && !this.disabled && this.options.movable) {\n if (isNumber(x)) {\n canvasData.left = x;\n changed = true;\n }\n if (isNumber(y)) {\n canvasData.top = y;\n changed = true;\n }\n if (changed) {\n this.renderCanvas(true);\n }\n }\n return this;\n },\n /**\n * Zoom the canvas with a relative ratio\n * @param {number} ratio - The target ratio.\n * @param {Event} _originalEvent - The original event if any.\n * @returns {Cropper} this\n */\n zoom: function zoom(ratio, _originalEvent) {\n var canvasData = this.canvasData;\n ratio = Number(ratio);\n if (ratio < 0) {\n ratio = 1 / (1 - ratio);\n } else {\n ratio = 1 + ratio;\n }\n return this.zoomTo(canvasData.width * ratio / canvasData.naturalWidth, null, _originalEvent);\n },\n /**\n * Zoom the canvas to an absolute ratio\n * @param {number} ratio - The target ratio.\n * @param {Object} pivot - The zoom pivot point coordinate.\n * @param {Event} _originalEvent - The original event if any.\n * @returns {Cropper} this\n */\n zoomTo: function zoomTo(ratio, pivot, _originalEvent) {\n var options = this.options,\n canvasData = this.canvasData;\n var width = canvasData.width,\n height = canvasData.height,\n naturalWidth = canvasData.naturalWidth,\n naturalHeight = canvasData.naturalHeight;\n ratio = Number(ratio);\n if (ratio >= 0 && this.ready && !this.disabled && options.zoomable) {\n var newWidth = naturalWidth * ratio;\n var newHeight = naturalHeight * ratio;\n if (dispatchEvent(this.element, EVENT_ZOOM, {\n ratio: ratio,\n oldRatio: width / naturalWidth,\n originalEvent: _originalEvent\n }) === false) {\n return this;\n }\n if (_originalEvent) {\n var pointers = this.pointers;\n var offset = getOffset(this.cropper);\n var center = pointers && Object.keys(pointers).length ? getPointersCenter(pointers) : {\n pageX: _originalEvent.pageX,\n pageY: _originalEvent.pageY\n };\n\n // Zoom from the triggering point of the event\n canvasData.left -= (newWidth - width) * ((center.pageX - offset.left - canvasData.left) / width);\n canvasData.top -= (newHeight - height) * ((center.pageY - offset.top - canvasData.top) / height);\n } else if (isPlainObject(pivot) && isNumber(pivot.x) && isNumber(pivot.y)) {\n canvasData.left -= (newWidth - width) * ((pivot.x - canvasData.left) / width);\n canvasData.top -= (newHeight - height) * ((pivot.y - canvasData.top) / height);\n } else {\n // Zoom from the center of the canvas\n canvasData.left -= (newWidth - width) / 2;\n canvasData.top -= (newHeight - height) / 2;\n }\n canvasData.width = newWidth;\n canvasData.height = newHeight;\n this.renderCanvas(true);\n }\n return this;\n },\n /**\n * Rotate the canvas with a relative degree\n * @param {number} degree - The rotate degree.\n * @returns {Cropper} this\n */\n rotate: function rotate(degree) {\n return this.rotateTo((this.imageData.rotate || 0) + Number(degree));\n },\n /**\n * Rotate the canvas to an absolute degree\n * @param {number} degree - The rotate degree.\n * @returns {Cropper} this\n */\n rotateTo: function rotateTo(degree) {\n degree = Number(degree);\n if (isNumber(degree) && this.ready && !this.disabled && this.options.rotatable) {\n this.imageData.rotate = degree % 360;\n this.renderCanvas(true, true);\n }\n return this;\n },\n /**\n * Scale the image on the x-axis.\n * @param {number} scaleX - The scale ratio on the x-axis.\n * @returns {Cropper} this\n */\n scaleX: function scaleX(_scaleX) {\n var scaleY = this.imageData.scaleY;\n return this.scale(_scaleX, isNumber(scaleY) ? scaleY : 1);\n },\n /**\n * Scale the image on the y-axis.\n * @param {number} scaleY - The scale ratio on the y-axis.\n * @returns {Cropper} this\n */\n scaleY: function scaleY(_scaleY) {\n var scaleX = this.imageData.scaleX;\n return this.scale(isNumber(scaleX) ? scaleX : 1, _scaleY);\n },\n /**\n * Scale the image\n * @param {number} scaleX - The scale ratio on the x-axis.\n * @param {number} [scaleY=scaleX] - The scale ratio on the y-axis.\n * @returns {Cropper} this\n */\n scale: function scale(scaleX) {\n var scaleY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : scaleX;\n var imageData = this.imageData;\n var transformed = false;\n scaleX = Number(scaleX);\n scaleY = Number(scaleY);\n if (this.ready && !this.disabled && this.options.scalable) {\n if (isNumber(scaleX)) {\n imageData.scaleX = scaleX;\n transformed = true;\n }\n if (isNumber(scaleY)) {\n imageData.scaleY = scaleY;\n transformed = true;\n }\n if (transformed) {\n this.renderCanvas(true, true);\n }\n }\n return this;\n },\n /**\n * Get the cropped area position and size data (base on the original image)\n * @param {boolean} [rounded=false] - Indicate if round the data values or not.\n * @returns {Object} The result cropped data.\n */\n getData: function getData() {\n var rounded = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var options = this.options,\n imageData = this.imageData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var data;\n if (this.ready && this.cropped) {\n data = {\n x: cropBoxData.left - canvasData.left,\n y: cropBoxData.top - canvasData.top,\n width: cropBoxData.width,\n height: cropBoxData.height\n };\n var ratio = imageData.width / imageData.naturalWidth;\n forEach(data, function (n, i) {\n data[i] = n / ratio;\n });\n if (rounded) {\n // In case rounding off leads to extra 1px in right or bottom border\n // we should round the top-left corner and the dimension (#343).\n var bottom = Math.round(data.y + data.height);\n var right = Math.round(data.x + data.width);\n data.x = Math.round(data.x);\n data.y = Math.round(data.y);\n data.width = right - data.x;\n data.height = bottom - data.y;\n }\n } else {\n data = {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n };\n }\n if (options.rotatable) {\n data.rotate = imageData.rotate || 0;\n }\n if (options.scalable) {\n data.scaleX = imageData.scaleX || 1;\n data.scaleY = imageData.scaleY || 1;\n }\n return data;\n },\n /**\n * Set the cropped area position and size with new data\n * @param {Object} data - The new data.\n * @returns {Cropper} this\n */\n setData: function setData(data) {\n var options = this.options,\n imageData = this.imageData,\n canvasData = this.canvasData;\n var cropBoxData = {};\n if (this.ready && !this.disabled && isPlainObject(data)) {\n var transformed = false;\n if (options.rotatable) {\n if (isNumber(data.rotate) && data.rotate !== imageData.rotate) {\n imageData.rotate = data.rotate;\n transformed = true;\n }\n }\n if (options.scalable) {\n if (isNumber(data.scaleX) && data.scaleX !== imageData.scaleX) {\n imageData.scaleX = data.scaleX;\n transformed = true;\n }\n if (isNumber(data.scaleY) && data.scaleY !== imageData.scaleY) {\n imageData.scaleY = data.scaleY;\n transformed = true;\n }\n }\n if (transformed) {\n this.renderCanvas(true, true);\n }\n var ratio = imageData.width / imageData.naturalWidth;\n if (isNumber(data.x)) {\n cropBoxData.left = data.x * ratio + canvasData.left;\n }\n if (isNumber(data.y)) {\n cropBoxData.top = data.y * ratio + canvasData.top;\n }\n if (isNumber(data.width)) {\n cropBoxData.width = data.width * ratio;\n }\n if (isNumber(data.height)) {\n cropBoxData.height = data.height * ratio;\n }\n this.setCropBoxData(cropBoxData);\n }\n return this;\n },\n /**\n * Get the container size data.\n * @returns {Object} The result container data.\n */\n getContainerData: function getContainerData() {\n return this.ready ? assign({}, this.containerData) : {};\n },\n /**\n * Get the image position and size data.\n * @returns {Object} The result image data.\n */\n getImageData: function getImageData() {\n return this.sized ? assign({}, this.imageData) : {};\n },\n /**\n * Get the canvas position and size data.\n * @returns {Object} The result canvas data.\n */\n getCanvasData: function getCanvasData() {\n var canvasData = this.canvasData;\n var data = {};\n if (this.ready) {\n forEach(['left', 'top', 'width', 'height', 'naturalWidth', 'naturalHeight'], function (n) {\n data[n] = canvasData[n];\n });\n }\n return data;\n },\n /**\n * Set the canvas position and size with new data.\n * @param {Object} data - The new canvas data.\n * @returns {Cropper} this\n */\n setCanvasData: function setCanvasData(data) {\n var canvasData = this.canvasData;\n var aspectRatio = canvasData.aspectRatio;\n if (this.ready && !this.disabled && isPlainObject(data)) {\n if (isNumber(data.left)) {\n canvasData.left = data.left;\n }\n if (isNumber(data.top)) {\n canvasData.top = data.top;\n }\n if (isNumber(data.width)) {\n canvasData.width = data.width;\n canvasData.height = data.width / aspectRatio;\n } else if (isNumber(data.height)) {\n canvasData.height = data.height;\n canvasData.width = data.height * aspectRatio;\n }\n this.renderCanvas(true);\n }\n return this;\n },\n /**\n * Get the crop box position and size data.\n * @returns {Object} The result crop box data.\n */\n getCropBoxData: function getCropBoxData() {\n var cropBoxData = this.cropBoxData;\n var data;\n if (this.ready && this.cropped) {\n data = {\n left: cropBoxData.left,\n top: cropBoxData.top,\n width: cropBoxData.width,\n height: cropBoxData.height\n };\n }\n return data || {};\n },\n /**\n * Set the crop box position and size with new data.\n * @param {Object} data - The new crop box data.\n * @returns {Cropper} this\n */\n setCropBoxData: function setCropBoxData(data) {\n var cropBoxData = this.cropBoxData;\n var aspectRatio = this.options.aspectRatio;\n var widthChanged;\n var heightChanged;\n if (this.ready && this.cropped && !this.disabled && isPlainObject(data)) {\n if (isNumber(data.left)) {\n cropBoxData.left = data.left;\n }\n if (isNumber(data.top)) {\n cropBoxData.top = data.top;\n }\n if (isNumber(data.width) && data.width !== cropBoxData.width) {\n widthChanged = true;\n cropBoxData.width = data.width;\n }\n if (isNumber(data.height) && data.height !== cropBoxData.height) {\n heightChanged = true;\n cropBoxData.height = data.height;\n }\n if (aspectRatio) {\n if (widthChanged) {\n cropBoxData.height = cropBoxData.width / aspectRatio;\n } else if (heightChanged) {\n cropBoxData.width = cropBoxData.height * aspectRatio;\n }\n }\n this.renderCropBox();\n }\n return this;\n },\n /**\n * Get a canvas drawn the cropped image.\n * @param {Object} [options={}] - The config options.\n * @returns {HTMLCanvasElement} - The result canvas.\n */\n getCroppedCanvas: function getCroppedCanvas() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!this.ready || !window.HTMLCanvasElement) {\n return null;\n }\n var canvasData = this.canvasData;\n var source = getSourceCanvas(this.image, this.imageData, canvasData, options);\n\n // Returns the source canvas if it is not cropped.\n if (!this.cropped) {\n return source;\n }\n var _this$getData = this.getData(),\n initialX = _this$getData.x,\n initialY = _this$getData.y,\n initialWidth = _this$getData.width,\n initialHeight = _this$getData.height;\n var ratio = source.width / Math.floor(canvasData.naturalWidth);\n if (ratio !== 1) {\n initialX *= ratio;\n initialY *= ratio;\n initialWidth *= ratio;\n initialHeight *= ratio;\n }\n var aspectRatio = initialWidth / initialHeight;\n var maxSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.maxWidth || Infinity,\n height: options.maxHeight || Infinity\n });\n var minSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.minWidth || 0,\n height: options.minHeight || 0\n }, 'cover');\n var _getAdjustedSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.width || (ratio !== 1 ? source.width : initialWidth),\n height: options.height || (ratio !== 1 ? source.height : initialHeight)\n }),\n width = _getAdjustedSizes.width,\n height = _getAdjustedSizes.height;\n width = Math.min(maxSizes.width, Math.max(minSizes.width, width));\n height = Math.min(maxSizes.height, Math.max(minSizes.height, height));\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n canvas.width = normalizeDecimalNumber(width);\n canvas.height = normalizeDecimalNumber(height);\n context.fillStyle = options.fillColor || 'transparent';\n context.fillRect(0, 0, width, height);\n var _options$imageSmoothi = options.imageSmoothingEnabled,\n imageSmoothingEnabled = _options$imageSmoothi === void 0 ? true : _options$imageSmoothi,\n imageSmoothingQuality = options.imageSmoothingQuality;\n context.imageSmoothingEnabled = imageSmoothingEnabled;\n if (imageSmoothingQuality) {\n context.imageSmoothingQuality = imageSmoothingQuality;\n }\n\n // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D.drawImage\n var sourceWidth = source.width;\n var sourceHeight = source.height;\n\n // Source canvas parameters\n var srcX = initialX;\n var srcY = initialY;\n var srcWidth;\n var srcHeight;\n\n // Destination canvas parameters\n var dstX;\n var dstY;\n var dstWidth;\n var dstHeight;\n if (srcX <= -initialWidth || srcX > sourceWidth) {\n srcX = 0;\n srcWidth = 0;\n dstX = 0;\n dstWidth = 0;\n } else if (srcX <= 0) {\n dstX = -srcX;\n srcX = 0;\n srcWidth = Math.min(sourceWidth, initialWidth + srcX);\n dstWidth = srcWidth;\n } else if (srcX <= sourceWidth) {\n dstX = 0;\n srcWidth = Math.min(initialWidth, sourceWidth - srcX);\n dstWidth = srcWidth;\n }\n if (srcWidth <= 0 || srcY <= -initialHeight || srcY > sourceHeight) {\n srcY = 0;\n srcHeight = 0;\n dstY = 0;\n dstHeight = 0;\n } else if (srcY <= 0) {\n dstY = -srcY;\n srcY = 0;\n srcHeight = Math.min(sourceHeight, initialHeight + srcY);\n dstHeight = srcHeight;\n } else if (srcY <= sourceHeight) {\n dstY = 0;\n srcHeight = Math.min(initialHeight, sourceHeight - srcY);\n dstHeight = srcHeight;\n }\n var params = [srcX, srcY, srcWidth, srcHeight];\n\n // Avoid \"IndexSizeError\"\n if (dstWidth > 0 && dstHeight > 0) {\n var scale = width / initialWidth;\n params.push(dstX * scale, dstY * scale, dstWidth * scale, dstHeight * scale);\n }\n\n // All the numerical parameters should be integer for `drawImage`\n // https://github.com/fengyuanchen/cropper/issues/476\n context.drawImage.apply(context, [source].concat(_toConsumableArray(params.map(function (param) {\n return Math.floor(normalizeDecimalNumber(param));\n }))));\n return canvas;\n },\n /**\n * Change the aspect ratio of the crop box.\n * @param {number} aspectRatio - The new aspect ratio.\n * @returns {Cropper} this\n */\n setAspectRatio: function setAspectRatio(aspectRatio) {\n var options = this.options;\n if (!this.disabled && !isUndefined(aspectRatio)) {\n // 0 -> NaN\n options.aspectRatio = Math.max(0, aspectRatio) || NaN;\n if (this.ready) {\n this.initCropBox();\n if (this.cropped) {\n this.renderCropBox();\n }\n }\n }\n return this;\n },\n /**\n * Change the drag mode.\n * @param {string} mode - The new drag mode.\n * @returns {Cropper} this\n */\n setDragMode: function setDragMode(mode) {\n var options = this.options,\n dragBox = this.dragBox,\n face = this.face;\n if (this.ready && !this.disabled) {\n var croppable = mode === DRAG_MODE_CROP;\n var movable = options.movable && mode === DRAG_MODE_MOVE;\n mode = croppable || movable ? mode : DRAG_MODE_NONE;\n options.dragMode = mode;\n setData(dragBox, DATA_ACTION, mode);\n toggleClass(dragBox, CLASS_CROP, croppable);\n toggleClass(dragBox, CLASS_MOVE, movable);\n if (!options.cropBoxMovable) {\n // Sync drag mode to crop box when it is not movable\n setData(face, DATA_ACTION, mode);\n toggleClass(face, CLASS_CROP, croppable);\n toggleClass(face, CLASS_MOVE, movable);\n }\n }\n return this;\n }\n };\n\n var AnotherCropper = WINDOW.Cropper;\n var Cropper = /*#__PURE__*/function () {\n /**\n * Create a new Cropper.\n * @param {Element} element - The target element for cropping.\n * @param {Object} [options={}] - The configuration options.\n */\n function Cropper(element) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Cropper);\n if (!element || !REGEXP_TAG_NAME.test(element.tagName)) {\n throw new Error('The first argument is required and must be an <img> or <canvas> element.');\n }\n this.element = element;\n this.options = assign({}, DEFAULTS, isPlainObject(options) && options);\n this.cropped = false;\n this.disabled = false;\n this.pointers = {};\n this.ready = false;\n this.reloading = false;\n this.replaced = false;\n this.sized = false;\n this.sizing = false;\n this.init();\n }\n _createClass(Cropper, [{\n key: \"init\",\n value: function init() {\n var element = this.element;\n var tagName = element.tagName.toLowerCase();\n var url;\n if (element[NAMESPACE]) {\n return;\n }\n element[NAMESPACE] = this;\n if (tagName === 'img') {\n this.isImg = true;\n\n // e.g.: \"img/picture.jpg\"\n url = element.getAttribute('src') || '';\n this.originalUrl = url;\n\n // Stop when it's a blank image\n if (!url) {\n return;\n }\n\n // e.g.: \"https://example.com/img/picture.jpg\"\n url = element.src;\n } else if (tagName === 'canvas' && window.HTMLCanvasElement) {\n url = element.toDataURL();\n }\n this.load(url);\n }\n }, {\n key: \"load\",\n value: function load(url) {\n var _this = this;\n if (!url) {\n return;\n }\n this.url = url;\n this.imageData = {};\n var element = this.element,\n options = this.options;\n if (!options.rotatable && !options.scalable) {\n options.checkOrientation = false;\n }\n\n // Only IE10+ supports Typed Arrays\n if (!options.checkOrientation || !window.ArrayBuffer) {\n this.clone();\n return;\n }\n\n // Detect the mime type of the image directly if it is a Data URL\n if (REGEXP_DATA_URL.test(url)) {\n // Read ArrayBuffer from Data URL of JPEG images directly for better performance\n if (REGEXP_DATA_URL_JPEG.test(url)) {\n this.read(dataURLToArrayBuffer(url));\n } else {\n // Only a JPEG image may contains Exif Orientation information,\n // the rest types of Data URLs are not necessary to check orientation at all.\n this.clone();\n }\n return;\n }\n\n // 1. Detect the mime type of the image by a XMLHttpRequest.\n // 2. Load the image as ArrayBuffer for reading orientation if its a JPEG image.\n var xhr = new XMLHttpRequest();\n var clone = this.clone.bind(this);\n this.reloading = true;\n this.xhr = xhr;\n\n // 1. Cross origin requests are only supported for protocol schemes:\n // http, https, data, chrome, chrome-extension.\n // 2. Access to XMLHttpRequest from a Data URL will be blocked by CORS policy\n // in some browsers as IE11 and Safari.\n xhr.onabort = clone;\n xhr.onerror = clone;\n xhr.ontimeout = clone;\n xhr.onprogress = function () {\n // Abort the request directly if it not a JPEG image for better performance\n if (xhr.getResponseHeader('content-type') !== MIME_TYPE_JPEG) {\n xhr.abort();\n }\n };\n xhr.onload = function () {\n _this.read(xhr.response);\n };\n xhr.onloadend = function () {\n _this.reloading = false;\n _this.xhr = null;\n };\n\n // Bust cache when there is a \"crossOrigin\" property to avoid browser cache error\n if (options.checkCrossOrigin && isCrossOriginURL(url) && element.crossOrigin) {\n url = addTimestamp(url);\n }\n\n // The third parameter is required for avoiding side-effect (#682)\n xhr.open('GET', url, true);\n xhr.responseType = 'arraybuffer';\n xhr.withCredentials = element.crossOrigin === 'use-credentials';\n xhr.send();\n }\n }, {\n key: \"read\",\n value: function read(arrayBuffer) {\n var options = this.options,\n imageData = this.imageData;\n\n // Reset the orientation value to its default value 1\n // as some iOS browsers will render image with its orientation\n var orientation = resetAndGetOrientation(arrayBuffer);\n var rotate = 0;\n var scaleX = 1;\n var scaleY = 1;\n if (orientation > 1) {\n // Generate a new URL which has the default orientation value\n this.url = arrayBufferToDataURL(arrayBuffer, MIME_TYPE_JPEG);\n var _parseOrientation = parseOrientation(orientation);\n rotate = _parseOrientation.rotate;\n scaleX = _parseOrientation.scaleX;\n scaleY = _parseOrientation.scaleY;\n }\n if (options.rotatable) {\n imageData.rotate = rotate;\n }\n if (options.scalable) {\n imageData.scaleX = scaleX;\n imageData.scaleY = scaleY;\n }\n this.clone();\n }\n }, {\n key: \"clone\",\n value: function clone() {\n var element = this.element,\n url = this.url;\n var crossOrigin = element.crossOrigin;\n var crossOriginUrl = url;\n if (this.options.checkCrossOrigin && isCrossOriginURL(url)) {\n if (!crossOrigin) {\n crossOrigin = 'anonymous';\n }\n\n // Bust cache when there is not a \"crossOrigin\" property (#519)\n crossOriginUrl = addTimestamp(url);\n }\n this.crossOrigin = crossOrigin;\n this.crossOriginUrl = crossOriginUrl;\n var image = document.createElement('img');\n if (crossOrigin) {\n image.crossOrigin = crossOrigin;\n }\n image.src = crossOriginUrl || url;\n image.alt = element.alt || 'The image to crop';\n this.image = image;\n image.onload = this.start.bind(this);\n image.onerror = this.stop.bind(this);\n addClass(image, CLASS_HIDE);\n element.parentNode.insertBefore(image, element.nextSibling);\n }\n }, {\n key: \"start\",\n value: function start() {\n var _this2 = this;\n var image = this.image;\n image.onload = null;\n image.onerror = null;\n this.sizing = true;\n\n // Match all browsers that use WebKit as the layout engine in iOS devices,\n // such as Safari for iOS, Chrome for iOS, and in-app browsers.\n var isIOSWebKit = WINDOW.navigator && /(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(WINDOW.navigator.userAgent);\n var done = function done(naturalWidth, naturalHeight) {\n assign(_this2.imageData, {\n naturalWidth: naturalWidth,\n naturalHeight: naturalHeight,\n aspectRatio: naturalWidth / naturalHeight\n });\n _this2.initialImageData = assign({}, _this2.imageData);\n _this2.sizing = false;\n _this2.sized = true;\n _this2.build();\n };\n\n // Most modern browsers (excepts iOS WebKit)\n if (image.naturalWidth && !isIOSWebKit) {\n done(image.naturalWidth, image.naturalHeight);\n return;\n }\n var sizingImage = document.createElement('img');\n var body = document.body || document.documentElement;\n this.sizingImage = sizingImage;\n sizingImage.onload = function () {\n done(sizingImage.width, sizingImage.height);\n if (!isIOSWebKit) {\n body.removeChild(sizingImage);\n }\n };\n sizingImage.src = image.src;\n\n // iOS WebKit will convert the image automatically\n // with its orientation once append it into DOM (#279)\n if (!isIOSWebKit) {\n sizingImage.style.cssText = 'left:0;' + 'max-height:none!important;' + 'max-width:none!important;' + 'min-height:0!important;' + 'min-width:0!important;' + 'opacity:0;' + 'position:absolute;' + 'top:0;' + 'z-index:-1;';\n body.appendChild(sizingImage);\n }\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var image = this.image;\n image.onload = null;\n image.onerror = null;\n image.parentNode.removeChild(image);\n this.image = null;\n }\n }, {\n key: \"build\",\n value: function build() {\n if (!this.sized || this.ready) {\n return;\n }\n var element = this.element,\n options = this.options,\n image = this.image;\n\n // Create cropper elements\n var container = element.parentNode;\n var template = document.createElement('div');\n template.innerHTML = TEMPLATE;\n var cropper = template.querySelector(\".\".concat(NAMESPACE, \"-container\"));\n var canvas = cropper.querySelector(\".\".concat(NAMESPACE, \"-canvas\"));\n var dragBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-drag-box\"));\n var cropBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-crop-box\"));\n var face = cropBox.querySelector(\".\".concat(NAMESPACE, \"-face\"));\n this.container = container;\n this.cropper = cropper;\n this.canvas = canvas;\n this.dragBox = dragBox;\n this.cropBox = cropBox;\n this.viewBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-view-box\"));\n this.face = face;\n canvas.appendChild(image);\n\n // Hide the original image\n addClass(element, CLASS_HIDDEN);\n\n // Inserts the cropper after to the current image\n container.insertBefore(cropper, element.nextSibling);\n\n // Show the hidden image\n removeClass(image, CLASS_HIDE);\n this.initPreview();\n this.bind();\n options.initialAspectRatio = Math.max(0, options.initialAspectRatio) || NaN;\n options.aspectRatio = Math.max(0, options.aspectRatio) || NaN;\n options.viewMode = Math.max(0, Math.min(3, Math.round(options.viewMode))) || 0;\n addClass(cropBox, CLASS_HIDDEN);\n if (!options.guides) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-dashed\")), CLASS_HIDDEN);\n }\n if (!options.center) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-center\")), CLASS_HIDDEN);\n }\n if (options.background) {\n addClass(cropper, \"\".concat(NAMESPACE, \"-bg\"));\n }\n if (!options.highlight) {\n addClass(face, CLASS_INVISIBLE);\n }\n if (options.cropBoxMovable) {\n addClass(face, CLASS_MOVE);\n setData(face, DATA_ACTION, ACTION_ALL);\n }\n if (!options.cropBoxResizable) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-line\")), CLASS_HIDDEN);\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-point\")), CLASS_HIDDEN);\n }\n this.render();\n this.ready = true;\n this.setDragMode(options.dragMode);\n if (options.autoCrop) {\n this.crop();\n }\n this.setData(options.data);\n if (isFunction(options.ready)) {\n addListener(element, EVENT_READY, options.ready, {\n once: true\n });\n }\n dispatchEvent(element, EVENT_READY);\n }\n }, {\n key: \"unbuild\",\n value: function unbuild() {\n if (!this.ready) {\n return;\n }\n this.ready = false;\n this.unbind();\n this.resetPreview();\n var parentNode = this.cropper.parentNode;\n if (parentNode) {\n parentNode.removeChild(this.cropper);\n }\n removeClass(this.element, CLASS_HIDDEN);\n }\n }, {\n key: \"uncreate\",\n value: function uncreate() {\n if (this.ready) {\n this.unbuild();\n this.ready = false;\n this.cropped = false;\n } else if (this.sizing) {\n this.sizingImage.onload = null;\n this.sizing = false;\n this.sized = false;\n } else if (this.reloading) {\n this.xhr.onabort = null;\n this.xhr.abort();\n } else if (this.image) {\n this.stop();\n }\n }\n\n /**\n * Get the no conflict cropper class.\n * @returns {Cropper} The cropper class.\n */\n }], [{\n key: \"noConflict\",\n value: function noConflict() {\n window.Cropper = AnotherCropper;\n return Cropper;\n }\n\n /**\n * Change the default options.\n * @param {Object} options - The new default options.\n */\n }, {\n key: \"setDefaults\",\n value: function setDefaults(options) {\n assign(DEFAULTS, isPlainObject(options) && options);\n }\n }]);\n return Cropper;\n }();\n assign(Cropper.prototype, render, preview, events, handlers, change, methods);\n\n return Cropper;\n\n}));\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC\", 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___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*!\\n * Cropper.js v1.5.13\\n * https://fengyuanchen.github.io/cropperjs\\n *\\n * Copyright 2015-present Chen Fengyuan\\n * Released under the MIT license\\n *\\n * Date: 2022-11-20T05:30:43.444Z\\n */\\n\\n.cropper-container {\\n direction: ltr;\\n font-size: 0;\\n line-height: 0;\\n position: relative;\\n -ms-touch-action: none;\\n touch-action: none;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n}\\n\\n.cropper-container img {\\n -webkit-backface-visibility: hidden;\\n backface-visibility: hidden;\\n display: block;\\n height: 100%;\\n image-orientation: 0deg;\\n max-height: none !important;\\n max-width: none !important;\\n min-height: 0 !important;\\n min-width: 0 !important;\\n width: 100%;\\n }\\n\\n.cropper-wrap-box,\\n.cropper-canvas,\\n.cropper-drag-box,\\n.cropper-crop-box,\\n.cropper-modal {\\n bottom: 0;\\n left: 0;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.cropper-wrap-box,\\n.cropper-canvas {\\n overflow: hidden;\\n}\\n\\n.cropper-drag-box {\\n background-color: #fff;\\n opacity: 0;\\n}\\n\\n.cropper-modal {\\n background-color: #000;\\n opacity: 0.5;\\n}\\n\\n.cropper-view-box {\\n display: block;\\n height: 100%;\\n outline: 1px solid #39f;\\n outline-color: rgba(51, 153, 255, 75%);\\n overflow: hidden;\\n width: 100%;\\n}\\n\\n.cropper-dashed {\\n border: 0 dashed #eee;\\n display: block;\\n opacity: 0.5;\\n position: absolute;\\n}\\n\\n.cropper-dashed.dashed-h {\\n border-bottom-width: 1px;\\n border-top-width: 1px;\\n height: calc(100% / 3);\\n left: 0;\\n top: calc(100% / 3);\\n width: 100%;\\n }\\n\\n.cropper-dashed.dashed-v {\\n border-left-width: 1px;\\n border-right-width: 1px;\\n height: 100%;\\n left: calc(100% / 3);\\n top: 0;\\n width: calc(100% / 3);\\n }\\n\\n.cropper-center {\\n display: block;\\n height: 0;\\n left: 50%;\\n opacity: 0.75;\\n position: absolute;\\n top: 50%;\\n width: 0;\\n}\\n\\n.cropper-center::before,\\n .cropper-center::after {\\n background-color: #eee;\\n content: \\\" \\\";\\n display: block;\\n position: absolute;\\n }\\n\\n.cropper-center::before {\\n height: 1px;\\n left: -3px;\\n top: 0;\\n width: 7px;\\n }\\n\\n.cropper-center::after {\\n height: 7px;\\n left: 0;\\n top: -3px;\\n width: 1px;\\n }\\n\\n.cropper-face,\\n.cropper-line,\\n.cropper-point {\\n display: block;\\n height: 100%;\\n opacity: 0.1;\\n position: absolute;\\n width: 100%;\\n}\\n\\n.cropper-face {\\n background-color: #fff;\\n left: 0;\\n top: 0;\\n}\\n\\n.cropper-line {\\n background-color: #39f;\\n}\\n\\n.cropper-line.line-e {\\n cursor: ew-resize;\\n right: -3px;\\n top: 0;\\n width: 5px;\\n }\\n\\n.cropper-line.line-n {\\n cursor: ns-resize;\\n height: 5px;\\n left: 0;\\n top: -3px;\\n }\\n\\n.cropper-line.line-w {\\n cursor: ew-resize;\\n left: -3px;\\n top: 0;\\n width: 5px;\\n }\\n\\n.cropper-line.line-s {\\n bottom: -3px;\\n cursor: ns-resize;\\n height: 5px;\\n left: 0;\\n }\\n\\n.cropper-point {\\n background-color: #39f;\\n height: 5px;\\n opacity: 0.75;\\n width: 5px;\\n}\\n\\n.cropper-point.point-e {\\n cursor: ew-resize;\\n margin-top: -3px;\\n right: -3px;\\n top: 50%;\\n }\\n\\n.cropper-point.point-n {\\n cursor: ns-resize;\\n left: 50%;\\n margin-left: -3px;\\n top: -3px;\\n }\\n\\n.cropper-point.point-w {\\n cursor: ew-resize;\\n left: -3px;\\n margin-top: -3px;\\n top: 50%;\\n }\\n\\n.cropper-point.point-s {\\n bottom: -3px;\\n cursor: s-resize;\\n left: 50%;\\n margin-left: -3px;\\n }\\n\\n.cropper-point.point-ne {\\n cursor: nesw-resize;\\n right: -3px;\\n top: -3px;\\n }\\n\\n.cropper-point.point-nw {\\n cursor: nwse-resize;\\n left: -3px;\\n top: -3px;\\n }\\n\\n.cropper-point.point-sw {\\n bottom: -3px;\\n cursor: nesw-resize;\\n left: -3px;\\n }\\n\\n.cropper-point.point-se {\\n bottom: -3px;\\n cursor: nwse-resize;\\n height: 20px;\\n opacity: 1;\\n right: -3px;\\n width: 20px;\\n }\\n\\n@media (min-width: 768px) {\\n\\n.cropper-point.point-se {\\n height: 15px;\\n width: 15px;\\n }\\n }\\n\\n@media (min-width: 992px) {\\n\\n.cropper-point.point-se {\\n height: 10px;\\n width: 10px;\\n }\\n }\\n\\n@media (min-width: 1200px) {\\n\\n.cropper-point.point-se {\\n height: 5px;\\n opacity: 0.75;\\n width: 5px;\\n }\\n }\\n\\n.cropper-point.point-se::before {\\n background-color: #39f;\\n bottom: -50%;\\n content: \\\" \\\";\\n display: block;\\n height: 200%;\\n opacity: 0;\\n position: absolute;\\n right: -50%;\\n width: 200%;\\n }\\n\\n.cropper-invisible {\\n opacity: 0;\\n}\\n\\n.cropper-bg {\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n}\\n\\n.cropper-hide {\\n display: block;\\n height: 0;\\n position: absolute;\\n width: 0;\\n}\\n\\n.cropper-hidden {\\n display: none !important;\\n}\\n\\n.cropper-move {\\n cursor: move;\\n}\\n\\n.cropper-crop {\\n cursor: crosshair;\\n}\\n\\n.cropper-disabled .cropper-drag-box,\\n.cropper-disabled .cropper-face,\\n.cropper-disabled .cropper-line,\\n.cropper-disabled .cropper-point {\\n cursor: not-allowed;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/cropperjs/dist/cropper.css\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"/*!\\n * Cropper.js v1.5.13\\n * https://fengyuanchen.github.io/cropperjs\\n *\\n * Copyright 2015-present Chen Fengyuan\\n * Released under the MIT license\\n *\\n * Date: 2022-11-20T05:30:43.444Z\\n */\\n\\n.cropper-container {\\n direction: ltr;\\n font-size: 0;\\n line-height: 0;\\n position: relative;\\n -ms-touch-action: none;\\n touch-action: none;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n}\\n\\n.cropper-container img {\\n -webkit-backface-visibility: hidden;\\n backface-visibility: hidden;\\n display: block;\\n height: 100%;\\n image-orientation: 0deg;\\n max-height: none !important;\\n max-width: none !important;\\n min-height: 0 !important;\\n min-width: 0 !important;\\n width: 100%;\\n }\\n\\n.cropper-wrap-box,\\n.cropper-canvas,\\n.cropper-drag-box,\\n.cropper-crop-box,\\n.cropper-modal {\\n bottom: 0;\\n left: 0;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.cropper-wrap-box,\\n.cropper-canvas {\\n overflow: hidden;\\n}\\n\\n.cropper-drag-box {\\n background-color: #fff;\\n opacity: 0;\\n}\\n\\n.cropper-modal {\\n background-color: #000;\\n opacity: 0.5;\\n}\\n\\n.cropper-view-box {\\n display: block;\\n height: 100%;\\n outline: 1px solid #39f;\\n outline-color: rgba(51, 153, 255, 75%);\\n overflow: hidden;\\n width: 100%;\\n}\\n\\n.cropper-dashed {\\n border: 0 dashed #eee;\\n display: block;\\n opacity: 0.5;\\n position: absolute;\\n}\\n\\n.cropper-dashed.dashed-h {\\n border-bottom-width: 1px;\\n border-top-width: 1px;\\n height: calc(100% / 3);\\n left: 0;\\n top: calc(100% / 3);\\n width: 100%;\\n }\\n\\n.cropper-dashed.dashed-v {\\n border-left-width: 1px;\\n border-right-width: 1px;\\n height: 100%;\\n left: calc(100% / 3);\\n top: 0;\\n width: calc(100% / 3);\\n }\\n\\n.cropper-center {\\n display: block;\\n height: 0;\\n left: 50%;\\n opacity: 0.75;\\n position: absolute;\\n top: 50%;\\n width: 0;\\n}\\n\\n.cropper-center::before,\\n .cropper-center::after {\\n background-color: #eee;\\n content: \\\" \\\";\\n display: block;\\n position: absolute;\\n }\\n\\n.cropper-center::before {\\n height: 1px;\\n left: -3px;\\n top: 0;\\n width: 7px;\\n }\\n\\n.cropper-center::after {\\n height: 7px;\\n left: 0;\\n top: -3px;\\n width: 1px;\\n }\\n\\n.cropper-face,\\n.cropper-line,\\n.cropper-point {\\n display: block;\\n height: 100%;\\n opacity: 0.1;\\n position: absolute;\\n width: 100%;\\n}\\n\\n.cropper-face {\\n background-color: #fff;\\n left: 0;\\n top: 0;\\n}\\n\\n.cropper-line {\\n background-color: #39f;\\n}\\n\\n.cropper-line.line-e {\\n cursor: ew-resize;\\n right: -3px;\\n top: 0;\\n width: 5px;\\n }\\n\\n.cropper-line.line-n {\\n cursor: ns-resize;\\n height: 5px;\\n left: 0;\\n top: -3px;\\n }\\n\\n.cropper-line.line-w {\\n cursor: ew-resize;\\n left: -3px;\\n top: 0;\\n width: 5px;\\n }\\n\\n.cropper-line.line-s {\\n bottom: -3px;\\n cursor: ns-resize;\\n height: 5px;\\n left: 0;\\n }\\n\\n.cropper-point {\\n background-color: #39f;\\n height: 5px;\\n opacity: 0.75;\\n width: 5px;\\n}\\n\\n.cropper-point.point-e {\\n cursor: ew-resize;\\n margin-top: -3px;\\n right: -3px;\\n top: 50%;\\n }\\n\\n.cropper-point.point-n {\\n cursor: ns-resize;\\n left: 50%;\\n margin-left: -3px;\\n top: -3px;\\n }\\n\\n.cropper-point.point-w {\\n cursor: ew-resize;\\n left: -3px;\\n margin-top: -3px;\\n top: 50%;\\n }\\n\\n.cropper-point.point-s {\\n bottom: -3px;\\n cursor: s-resize;\\n left: 50%;\\n margin-left: -3px;\\n }\\n\\n.cropper-point.point-ne {\\n cursor: nesw-resize;\\n right: -3px;\\n top: -3px;\\n }\\n\\n.cropper-point.point-nw {\\n cursor: nwse-resize;\\n left: -3px;\\n top: -3px;\\n }\\n\\n.cropper-point.point-sw {\\n bottom: -3px;\\n cursor: nesw-resize;\\n left: -3px;\\n }\\n\\n.cropper-point.point-se {\\n bottom: -3px;\\n cursor: nwse-resize;\\n height: 20px;\\n opacity: 1;\\n right: -3px;\\n width: 20px;\\n }\\n\\n@media (min-width: 768px) {\\n\\n.cropper-point.point-se {\\n height: 15px;\\n width: 15px;\\n }\\n }\\n\\n@media (min-width: 992px) {\\n\\n.cropper-point.point-se {\\n height: 10px;\\n width: 10px;\\n }\\n }\\n\\n@media (min-width: 1200px) {\\n\\n.cropper-point.point-se {\\n height: 5px;\\n opacity: 0.75;\\n width: 5px;\\n }\\n }\\n\\n.cropper-point.point-se::before {\\n background-color: #39f;\\n bottom: -50%;\\n content: \\\" \\\";\\n display: block;\\n height: 200%;\\n opacity: 0;\\n position: absolute;\\n right: -50%;\\n width: 200%;\\n }\\n\\n.cropper-invisible {\\n opacity: 0;\\n}\\n\\n.cropper-bg {\\n background-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC\\\");\\n}\\n\\n.cropper-hide {\\n display: block;\\n height: 0;\\n position: absolute;\\n width: 0;\\n}\\n\\n.cropper-hidden {\\n display: none !important;\\n}\\n\\n.cropper-move {\\n cursor: move;\\n}\\n\\n.cropper-crop {\\n cursor: crosshair;\\n}\\n\\n.cropper-disabled .cropper-drag-box,\\n.cropper-disabled .cropper-face,\\n.cropper-disabled .cropper-line,\\n.cropper-disabled .cropper-point {\\n cursor: not-allowed;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"section[data-v-cd78cbb2]{grid-row:1/3}.avatar__container[data-v-cd78cbb2]{margin:0 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px 0;width:min(100%,300px)}.avatar__container span[data-v-cd78cbb2]{color:var(--color-text-lighter)}.avatar__preview[data-v-cd78cbb2]{display:flex;justify-content:center;align-items:center;width:180px;height:180px}.avatar__buttons[data-v-cd78cbb2]{display:flex;gap:0 10px}.avatar__cropper[data-v-cd78cbb2]{width:300px;height:300px;overflow:hidden}.avatar__cropper-buttons[data-v-cd78cbb2]{width:100%;display:flex;justify-content:space-between}.avatar__cropper[data-v-cd78cbb2] .cropper-view-box{border-radius:50%}input[type=file][data-v-cd78cbb2]{display:none}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/AvatarSection.vue\"],\"names\":[],\"mappings\":\"AACA,yBACC,YAAA,CAGA,oCACC,aAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,kBAAA,CACA,UAAA,CACA,qBAAA,CAEA,yCACC,+BAAA,CAIF,kCACC,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,WAAA,CACA,YAAA,CAGD,kCACC,YAAA,CACA,UAAA,CAGD,kCACC,WAAA,CACA,YAAA,CACA,eAAA,CAEA,0CACC,UAAA,CACA,YAAA,CACA,6BAAA,CAGD,oDACC,iBAAA,CAKH,kCACC,YAAA\",\"sourcesContent\":[\"\\nsection {\\n\\tgrid-row: 1/3;\\n}\\n.avatar {\\n\\t&__container {\\n\\t\\tmargin: 0 auto;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\talign-items: center;\\n\\t\\tgap: 16px 0;\\n\\t\\twidth: min(100%, 300px);\\n\\n\\t\\tspan {\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t}\\n\\t}\\n\\n\\t&__preview {\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: center;\\n\\t\\talign-items: center;\\n\\t\\twidth: 180px;\\n\\t\\theight: 180px;\\n\\t}\\n\\n\\t&__buttons {\\n\\t\\tdisplay: flex;\\n\\t\\tgap: 0 10px;\\n\\t}\\n\\n\\t&__cropper {\\n\\t\\twidth: 300px;\\n\\t\\theight: 300px;\\n\\t\\toverflow: hidden;\\n\\n\\t\\t&-buttons {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tjustify-content: space-between;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .cropper-view-box {\\n\\t\\t\\tborder-radius: 50%;\\n\\t\\t}\\n\\t}\\n}\\n\\ninput[type=\\\"file\\\"] {\\n\\tdisplay: none;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".details[data-v-f432848e]{display:flex;flex-direction:column;margin:10px 32px 10px 0;gap:16px 0;color:var(--color-text-lighter)}.details__groups[data-v-f432848e],.details__quota[data-v-f432848e]{display:flex;gap:0 10px}.details__groups-info[data-v-f432848e],.details__quota-info[data-v-f432848e]{display:flex;flex-direction:column;width:100%;gap:4px 0}.details__groups-list[data-v-f432848e],.details__quota-list[data-v-f432848e]{font-weight:bold}.details__groups[data-v-f432848e] .material-design-icon,.details__quota[data-v-f432848e] .material-design-icon{align-self:flex-start;margin-top:2px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/DetailsSection.vue\"],\"names\":[],\"mappings\":\"AACA,0BACC,YAAA,CACA,qBAAA,CACA,uBAAA,CACA,UAAA,CACA,+BAAA,CAEA,mEAEC,YAAA,CACA,UAAA,CAEA,6EACC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,SAAA,CAGD,6EACC,gBAAA,CAGD,+GACC,qBAAA,CACA,cAAA\",\"sourcesContent\":[\"\\n.details {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tmargin: 10px 32px 10px 0;\\n\\tgap: 16px 0;\\n\\tcolor: var(--color-text-lighter);\\n\\n\\t&__groups,\\n\\t&__quota {\\n\\t\\tdisplay: flex;\\n\\t\\tgap: 0 10px;\\n\\n\\t\\t&-info {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tgap: 4px 0;\\n\\t\\t}\\n\\n\\t\\t&-list {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\talign-self: flex-start;\\n\\t\\t\\tmargin-top: 2px;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".email[data-v-0e3855d2]{display:grid;align-items:center}.email input[data-v-0e3855d2]{grid-area:1/1;width:100%}.email .email__actions-container[data-v-0e3855d2]{grid-area:1/1;justify-self:flex-end;height:30px;display:flex;gap:0 2px;margin-right:5px}.email .email__actions-container .email__actions[data-v-0e3855d2]:hover,.email .email__actions-container .email__actions[data-v-0e3855d2]:focus,.email .email__actions-container .email__actions[data-v-0e3855d2]:active{opacity:.8 !important}.email .email__actions-container .email__actions[data-v-0e3855d2] button{height:30px !important;min-height:30px !important;width:30px !important;min-width:30px !important}.email__helper-text-message[data-v-0e3855d2]{padding:4px 0;display:flex;align-items:center}.email__helper-text-message__icon[data-v-0e3855d2]{margin-right:8px;align-self:start;margin-top:4px}.email__helper-text-message--error[data-v-0e3855d2]{color:var(--color-error)}.fade-enter[data-v-0e3855d2],.fade-leave-to[data-v-0e3855d2]{opacity:0}.fade-enter-active[data-v-0e3855d2]{transition:opacity 200ms ease-out}.fade-leave-active[data-v-0e3855d2]{transition:opacity 300ms ease-out}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/EmailSection/Email.vue\"],\"names\":[],\"mappings\":\"AACA,wBACC,YAAA,CACA,kBAAA,CAEA,8BACC,aAAA,CACA,UAAA,CAGD,kDACC,aAAA,CACA,qBAAA,CACA,WAAA,CAEA,YAAA,CACA,SAAA,CACA,gBAAA,CAGC,yNAGC,qBAAA,CAGD,yEACC,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA,CAKH,6CACC,aAAA,CACA,YAAA,CACA,kBAAA,CAEA,mDACC,gBAAA,CACA,gBAAA,CACA,cAAA,CAGD,oDACC,wBAAA,CAKH,6DAEC,SAAA,CAGD,oCACC,iCAAA,CAGD,oCACC,iCAAA\",\"sourcesContent\":[\"\\n.email {\\n\\tdisplay: grid;\\n\\talign-items: center;\\n\\n\\tinput {\\n\\t\\tgrid-area: 1 / 1;\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t.email__actions-container {\\n\\t\\tgrid-area: 1 / 1;\\n\\t\\tjustify-self: flex-end;\\n\\t\\theight: 30px;\\n\\n\\t\\tdisplay: flex;\\n\\t\\tgap: 0 2px;\\n\\t\\tmargin-right: 5px;\\n\\n\\t\\t.email__actions {\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\topacity: 0.8 !important;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&::v-deep button {\\n\\t\\t\\t\\theight: 30px !important;\\n\\t\\t\\t\\tmin-height: 30px !important;\\n\\t\\t\\t\\twidth: 30px !important;\\n\\t\\t\\t\\tmin-width: 30px !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__helper-text-message {\\n\\t\\tpadding: 4px 0;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\n\\t\\t&__icon {\\n\\t\\t\\tmargin-right: 8px;\\n\\t\\t\\talign-self: start;\\n\\t\\t\\tmargin-top: 4px;\\n\\t\\t}\\n\\n\\t\\t&--error {\\n\\t\\t\\tcolor: var(--color-error);\\n\\t\\t}\\n\\t}\\n}\\n\\n.fade-enter,\\n.fade-leave-to {\\n\\topacity: 0;\\n}\\n\\n.fade-enter-active {\\n\\ttransition: opacity 200ms ease-out;\\n}\\n\\n.fade-leave-active {\\n\\ttransition: opacity 300ms ease-out;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"section[data-v-b17ef20e]{padding:10px 10px}section[data-v-b17ef20e] button:disabled{cursor:default}section .additional-emails-label[data-v-b17ef20e]{display:block;margin-top:16px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue\"],\"names\":[],\"mappings\":\"AACA,yBACC,iBAAA,CAEA,yCACC,cAAA,CAGD,kDACC,aAAA,CACA,eAAA\",\"sourcesContent\":[\"\\nsection {\\n\\tpadding: 10px 10px;\\n\\n\\t&::v-deep button:disabled {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.additional-emails-label {\\n\\t\\tdisplay: block;\\n\\t\\tmargin-top: 16px;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".language[data-v-f4e20d10]{display:grid}.language select[data-v-f4e20d10]{width:100%}.language a[data-v-f4e20d10]{color:var(--color-main-text);text-decoration:none;width:max-content}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue\"],\"names\":[],\"mappings\":\"AACA,2BACC,YAAA,CAEA,kCACC,UAAA,CAGD,6BACC,4BAAA,CACA,oBAAA,CACA,iBAAA\",\"sourcesContent\":[\"\\n.language {\\n\\tdisplay: grid;\\n\\n\\tselect {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\ta {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\ttext-decoration: none;\\n\\t\\twidth: max-content;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"section[data-v-92685b76]{padding:10px 10px}section[data-v-92685b76] button:disabled{cursor:default}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue\"],\"names\":[],\"mappings\":\"AACA,yBACC,iBAAA,CAEA,yCACC,cAAA\",\"sourcesContent\":[\"\\nsection {\\n\\tpadding: 10px 10px;\\n\\n\\t&::v-deep button:disabled {\\n\\t\\tcursor: default;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".locale[data-v-9c4afa34]{display:grid}.locale select[data-v-9c4afa34]{width:100%}.example[data-v-9c4afa34]{margin:10px 0;display:flex;gap:0 10px;color:var(--color-text-lighter)}.example[data-v-9c4afa34] .material-design-icon{align-self:flex-start;margin-top:2px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue\"],\"names\":[],\"mappings\":\"AACA,yBACC,YAAA,CAEA,gCACC,UAAA,CAIF,0BACC,aAAA,CACA,YAAA,CACA,UAAA,CACA,+BAAA,CAEA,gDACC,qBAAA,CACA,cAAA\",\"sourcesContent\":[\"\\n.locale {\\n\\tdisplay: grid;\\n\\n\\tselect {\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\\n.example {\\n\\tmargin: 10px 0;\\n\\tdisplay: flex;\\n\\tgap: 0 10px;\\n\\tcolor: var(--color-text-lighter);\\n\\n\\t&::v-deep .material-design-icon {\\n\\t\\talign-self: flex-start;\\n\\t\\tmargin-top: 2px;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"section[data-v-84fca724]{padding:10px 10px}section[data-v-84fca724] button:disabled{cursor:default}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue\"],\"names\":[],\"mappings\":\"AACA,yBACC,iBAAA,CAEA,yCACC,cAAA\",\"sourcesContent\":[\"\\nsection {\\n\\tpadding: 10px 10px;\\n\\n\\t&::v-deep button:disabled {\\n\\t\\tcursor: default;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"html{scroll-behavior:smooth}@media screen and (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue\"],\"names\":[],\"mappings\":\"AACA,KACC,sBAAA,CAEA,mDAHD,KAIE,oBAAA,CAAA\",\"sourcesContent\":[\"\\nhtml {\\n\\tscroll-behavior: smooth;\\n\\n\\t@media screen and (prefers-reduced-motion: reduce) {\\n\\t\\tscroll-behavior: auto;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"a[data-v-23992b06]{display:block;height:44px;width:min(100%,290px);overflow:hidden;text-overflow:ellipsis;line-height:44px;padding:0 16px;margin:14px auto;border-radius:var(--border-radius-pill);color:var(--color-text-maxcontrast);background-color:rgba(0,0,0,0)}a .anchor-icon[data-v-23992b06]{display:inline-block;vertical-align:middle;margin-top:6px;margin-right:8px}a[data-v-23992b06]:hover,a[data-v-23992b06]:focus,a[data-v-23992b06]:active{color:var(--color-main-text);background-color:var(--color-background-dark)}a.disabled[data-v-23992b06]{pointer-events:none}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue\"],\"names\":[],\"mappings\":\"AACA,mBACC,aAAA,CACA,WAAA,CACA,qBAAA,CACA,eAAA,CACA,sBAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CACA,uCAAA,CACA,mCAAA,CACA,8BAAA,CAEA,gCACC,oBAAA,CACA,qBAAA,CACA,cAAA,CACA,gBAAA,CAGD,4EAGC,4BAAA,CACA,6CAAA,CAGD,4BACC,mBAAA\",\"sourcesContent\":[\"\\na {\\n\\tdisplay: block;\\n\\theight: 44px;\\n\\twidth: min(100%, 290px);\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n\\tline-height: 44px;\\n\\tpadding: 0 16px;\\n\\tmargin: 14px auto;\\n\\tborder-radius: var(--border-radius-pill);\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tbackground-color: transparent;\\n\\n\\t.anchor-icon {\\n\\t\\tdisplay: inline-block;\\n\\t\\tvertical-align: middle;\\n\\t\\tmargin-top: 6px;\\n\\t\\tmargin-right: 8px;\\n\\t}\\n\\n\\t&:hover,\\n\\t&:focus,\\n\\t&:active {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&.disabled {\\n\\t\\tpointer-events: none;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".preview-card[data-v-3375e082]{display:flex;flex-direction:column;position:relative;width:min(100%,290px);height:116px;margin:14px auto;border-radius:var(--border-radius-large);background-color:var(--color-main-background);font-weight:bold;box-shadow:0 2px 9px var(--color-box-shadow)}.preview-card[data-v-3375e082]:hover,.preview-card[data-v-3375e082]:focus,.preview-card[data-v-3375e082]:active{box-shadow:0 2px 12px var(--color-box-shadow)}.preview-card[data-v-3375e082]:focus-visible{outline:var(--color-main-text) solid 1px;outline-offset:3px}.preview-card.disabled[data-v-3375e082]{filter:grayscale(1);opacity:.5;cursor:default;box-shadow:0 0 3px var(--color-box-shadow)}.preview-card.disabled *[data-v-3375e082],.preview-card.disabled[data-v-3375e082] *{cursor:default}.preview-card__avatar[data-v-3375e082]{position:absolute !important;top:40px;left:18px;z-index:1}.preview-card__avatar[data-v-3375e082]:not(.avatardiv--unknown){box-shadow:0 0 0 3px var(--color-main-background) !important}.preview-card__header[data-v-3375e082],.preview-card__footer[data-v-3375e082]{position:relative;width:auto}.preview-card__header span[data-v-3375e082],.preview-card__footer span[data-v-3375e082]{position:absolute;left:78px;overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere}@supports(-webkit-line-clamp: 2){.preview-card__header span[data-v-3375e082],.preview-card__footer span[data-v-3375e082]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.preview-card__header[data-v-3375e082]{height:70px;border-radius:var(--border-radius-large) var(--border-radius-large) 0 0;background-color:var(--color-primary-element);background-image:var(--gradient-primary-background)}.preview-card__header span[data-v-3375e082]{bottom:0;color:var(--color-primary-element-text);font-size:18px;font-weight:bold;margin:0 4px 8px 0}.preview-card__footer[data-v-3375e082]{height:46px}.preview-card__footer span[data-v-3375e082]{top:0;color:var(--color-text-maxcontrast);font-size:14px;font-weight:normal;margin:4px 4px 0 0;line-height:1.3}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue\"],\"names\":[],\"mappings\":\"AACA,+BACC,YAAA,CACA,qBAAA,CACA,iBAAA,CACA,qBAAA,CACA,YAAA,CACA,gBAAA,CACA,wCAAA,CACA,6CAAA,CACA,gBAAA,CACA,4CAAA,CAEA,gHAGC,6CAAA,CAGD,6CACC,wCAAA,CACA,kBAAA,CAGD,wCACC,mBAAA,CACA,UAAA,CACA,cAAA,CACA,0CAAA,CAEA,oFAEC,cAAA,CAIF,uCAEC,4BAAA,CACA,QAAA,CACA,SAAA,CACA,SAAA,CAEA,gEACC,4DAAA,CAIF,8EAEC,iBAAA,CACA,UAAA,CAEA,wFACC,iBAAA,CACA,SAAA,CACA,eAAA,CACA,sBAAA,CACA,sBAAA,CAEA,iCAPD,wFAQE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,uCACC,WAAA,CACA,uEAAA,CACA,6CAAA,CACA,mDAAA,CAEA,4CACC,QAAA,CACA,uCAAA,CACA,cAAA,CACA,gBAAA,CACA,kBAAA,CAIF,uCACC,WAAA,CAEA,4CACC,KAAA,CACA,mCAAA,CACA,cAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA\",\"sourcesContent\":[\"\\n.preview-card {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tposition: relative;\\n\\twidth: min(100%, 290px);\\n\\theight: 116px;\\n\\tmargin: 14px auto;\\n\\tborder-radius: var(--border-radius-large);\\n\\tbackground-color: var(--color-main-background);\\n\\tfont-weight: bold;\\n\\tbox-shadow: 0 2px 9px var(--color-box-shadow);\\n\\n\\t&:hover,\\n\\t&:focus,\\n\\t&:active {\\n\\t\\tbox-shadow: 0 2px 12px var(--color-box-shadow);\\n\\t}\\n\\n\\t&:focus-visible {\\n\\t\\toutline: var(--color-main-text) solid 1px;\\n\\t\\toutline-offset: 3px;\\n\\t}\\n\\n\\t&.disabled {\\n\\t\\tfilter: grayscale(1);\\n\\t\\topacity: 0.5;\\n\\t\\tcursor: default;\\n\\t\\tbox-shadow: 0 0 3px var(--color-box-shadow);\\n\\n\\t\\t& *,\\n\\t\\t&::v-deep * {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\t}\\n\\n\\t&__avatar {\\n\\t\\t// Override Avatar component position to fix positioning on rerender\\n\\t\\tposition: absolute !important;\\n\\t\\ttop: 40px;\\n\\t\\tleft: 18px;\\n\\t\\tz-index: 1;\\n\\n\\t\\t&:not(.avatardiv--unknown) {\\n\\t\\t\\tbox-shadow: 0 0 0 3px var(--color-main-background) !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&__header,\\n\\t&__footer {\\n\\t\\tposition: relative;\\n\\t\\twidth: auto;\\n\\n\\t\\tspan {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tleft: 78px;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow-wrap: anywhere;\\n\\n\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__header {\\n\\t\\theight: 70px;\\n\\t\\tborder-radius: var(--border-radius-large) var(--border-radius-large) 0 0;\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\tbackground-image: var(--gradient-primary-background);\\n\\n\\t\\tspan {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tcolor: var(--color-primary-element-text);\\n\\t\\t\\tfont-size: 18px;\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tmargin: 0 4px 8px 0;\\n\\t\\t}\\n\\t}\\n\\n\\t&__footer {\\n\\t\\theight: 46px;\\n\\n\\t\\tspan {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\tfont-size: 14px;\\n\\t\\t\\tfont-weight: normal;\\n\\t\\t\\tmargin: 4px 4px 0 0;\\n\\t\\t\\tline-height: 1.3;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"section[data-v-cf64d964]{padding:10px 10px}section[data-v-cf64d964] button:disabled{cursor:default}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue\"],\"names\":[],\"mappings\":\"AACA,yBACC,iBAAA,CAEA,yCACC,cAAA\",\"sourcesContent\":[\"\\nsection {\\n\\tpadding: 10px 10px;\\n\\n\\t&::v-deep button:disabled {\\n\\t\\tcursor: default;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"section[data-v-199109a6]{padding:30px;max-width:900px;width:100%}section em[data-v-199109a6]{display:block;margin:16px 0}section em.disabled[data-v-199109a6]{filter:grayscale(1);opacity:.5;cursor:default;pointer-events:none}section em.disabled *[data-v-199109a6],section em.disabled[data-v-199109a6] *{cursor:default;pointer-events:none}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue\"],\"names\":[],\"mappings\":\"AACA,yBACC,YAAA,CACA,eAAA,CACA,UAAA,CAEA,4BACC,aAAA,CACA,aAAA,CAEA,qCACC,mBAAA,CACA,UAAA,CACA,cAAA,CACA,mBAAA,CAEA,8EAEC,cAAA,CACA,mBAAA\",\"sourcesContent\":[\"\\nsection {\\n\\tpadding: 30px;\\n\\tmax-width: 900px;\\n\\twidth: 100%;\\n\\n\\tem {\\n\\t\\tdisplay: block;\\n\\t\\tmargin: 16px 0;\\n\\n\\t\\t&.disabled {\\n\\t\\t\\tfilter: grayscale(1);\\n\\t\\t\\topacity: 0.5;\\n\\t\\t\\tcursor: default;\\n\\t\\t\\tpointer-events: none;\\n\\n\\t\\t\\t& *,\\n\\t\\t\\t&::v-deep * {\\n\\t\\t\\t\\tcursor: default;\\n\\t\\t\\t\\tpointer-events: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".visibility-container[data-v-c7ec7e16]{display:flex;flex-wrap:wrap}.visibility-container.disabled[data-v-c7ec7e16]{filter:grayscale(1);opacity:.5;cursor:default;pointer-events:none}.visibility-container.disabled *[data-v-c7ec7e16],.visibility-container.disabled[data-v-c7ec7e16] *{cursor:default;pointer-events:none}.visibility-container label[data-v-c7ec7e16]{color:var(--color-text-lighter);width:150px;line-height:50px}.visibility-container__select[data-v-c7ec7e16]{width:270px;max-width:40vw}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue\"],\"names\":[],\"mappings\":\"AACA,uCACC,YAAA,CACA,cAAA,CAEA,gDACC,mBAAA,CACA,UAAA,CACA,cAAA,CACA,mBAAA,CAEA,oGAEC,cAAA,CACA,mBAAA,CAIF,6CACC,+BAAA,CACA,WAAA,CACA,gBAAA,CAGD,+CACC,WAAA,CACA,cAAA\",\"sourcesContent\":[\"\\n.visibility-container {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\n\\t&.disabled {\\n\\t\\tfilter: grayscale(1);\\n\\t\\topacity: 0.5;\\n\\t\\tcursor: default;\\n\\t\\tpointer-events: none;\\n\\n\\t\\t& *,\\n\\t\\t&::v-deep * {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\tpointer-events: none;\\n\\t\\t}\\n\\t}\\n\\n\\tlabel {\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\twidth: 150px;\\n\\t\\tline-height: 50px;\\n\\t}\\n\\n\\t&__select {\\n\\t\\twidth: 270px;\\n\\t\\tmax-width: 40vw;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"section[data-v-a47b60dc]{padding:10px 10px}section[data-v-a47b60dc] button:disabled{cursor:default}section .property[data-v-a47b60dc]{display:grid;align-items:center}section .property textarea[data-v-a47b60dc]{resize:vertical;grid-area:1/1;width:100%}section .property input[data-v-a47b60dc]{grid-area:1/1;width:100%}section .property .property__actions-container[data-v-a47b60dc]{grid-area:1/1;justify-self:flex-end;align-self:flex-end;height:30px;display:flex;gap:0 2px;margin-right:5px;margin-bottom:5px}section .property__helper-text-message[data-v-a47b60dc]{padding:4px 0;display:flex;align-items:center}section .property__helper-text-message__icon[data-v-a47b60dc]{margin-right:8px;align-self:start;margin-top:4px}section .property__helper-text-message--error[data-v-a47b60dc]{color:var(--color-error)}section .fade-enter[data-v-a47b60dc],section .fade-leave-to[data-v-a47b60dc]{opacity:0}section .fade-enter-active[data-v-a47b60dc]{transition:opacity 200ms ease-out}section .fade-leave-active[data-v-a47b60dc]{transition:opacity 300ms ease-out}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue\"],\"names\":[],\"mappings\":\"AACA,yBACC,iBAAA,CAEA,yCACC,cAAA,CAGD,mCACC,YAAA,CACA,kBAAA,CAEA,4CACC,eAAA,CACA,aAAA,CACA,UAAA,CAGD,yCACC,aAAA,CACA,UAAA,CAGD,gEACC,aAAA,CACA,qBAAA,CACA,mBAAA,CACA,WAAA,CAEA,YAAA,CACA,SAAA,CACA,gBAAA,CACA,iBAAA,CAIF,wDACC,aAAA,CACA,YAAA,CACA,kBAAA,CAEA,8DACC,gBAAA,CACA,gBAAA,CACA,cAAA,CAGD,+DACC,wBAAA,CAIF,6EAEC,SAAA,CAGD,4CACC,iCAAA,CAGD,4CACC,iCAAA\",\"sourcesContent\":[\"\\nsection {\\n\\tpadding: 10px 10px;\\n\\n\\t&::v-deep button:disabled {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.property {\\n\\t\\tdisplay: grid;\\n\\t\\talign-items: center;\\n\\n\\t\\ttextarea {\\n\\t\\t\\tresize: vertical;\\n\\t\\t\\tgrid-area: 1 / 1;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\tinput {\\n\\t\\t\\tgrid-area: 1 / 1;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t.property__actions-container {\\n\\t\\t\\tgrid-area: 1 / 1;\\n\\t\\t\\tjustify-self: flex-end;\\n\\t\\t\\talign-self: flex-end;\\n\\t\\t\\theight: 30px;\\n\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tgap: 0 2px;\\n\\t\\t\\tmargin-right: 5px;\\n\\t\\t\\tmargin-bottom: 5px;\\n\\t\\t}\\n\\t}\\n\\n\\t.property__helper-text-message {\\n\\t\\tpadding: 4px 0;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\n\\t\\t&__icon {\\n\\t\\t\\tmargin-right: 8px;\\n\\t\\t\\talign-self: start;\\n\\t\\t\\tmargin-top: 4px;\\n\\t\\t}\\n\\n\\t\\t&--error {\\n\\t\\t\\tcolor: var(--color-error);\\n\\t\\t}\\n\\t}\\n\\n\\t.fade-enter,\\n\\t.fade-leave-to {\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t.fade-enter-active {\\n\\t\\ttransition: opacity 200ms ease-out;\\n\\t}\\n\\n\\t.fade-leave-active {\\n\\t\\ttransition: opacity 300ms ease-out;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".federation-actions--additional[data-v-bce2fdec] button{padding-bottom:7px;height:30px !important;min-height:30px !important;width:30px !important;min-width:30px !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/shared/FederationControl.vue\"],\"names\":[],\"mappings\":\"AAEC,wDAEC,kBAAA,CACA,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA\",\"sourcesContent\":[\"\\n.federation-actions--additional {\\n\\t&::v-deep button {\\n\\t\\t// TODO remove this hack\\n\\t\\tpadding-bottom: 7px;\\n\\t\\theight: 30px !important;\\n\\t\\tmin-height: 30px !important;\\n\\t\\twidth: 30px !important;\\n\\t\\tmin-width: 30px !important;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".federation-actions__btn[data-v-4fc9bff1] p{width:150px !important;padding:8px 0 !important;color:var(--color-main-text) !important;font-size:12.8px !important;line-height:1.5em !important}.federation-actions__btn--active[data-v-4fc9bff1]{background-color:var(--color-primary-element-light) !important;box-shadow:inset 2px 0 var(--color-primary-element) !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue\"],\"names\":[],\"mappings\":\"AAEC,4CACC,sBAAA,CACA,wBAAA,CACA,uCAAA,CACA,2BAAA,CACA,4BAAA,CAIF,kDACC,8DAAA,CACA,8DAAA\",\"sourcesContent\":[\"\\n.federation-actions__btn {\\n\\t&::v-deep p {\\n\\t\\twidth: 150px !important;\\n\\t\\tpadding: 8px 0 !important;\\n\\t\\tcolor: var(--color-main-text) !important;\\n\\t\\tfont-size: 12.8px !important;\\n\\t\\tline-height: 1.5em !important;\\n\\t}\\n}\\n\\n.federation-actions__btn--active {\\n\\tbackground-color: var(--color-primary-element-light) !important;\\n\\tbox-shadow: inset 2px 0 var(--color-primary-element) !important;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".headerbar-label[data-v-117e8ad0]{font-weight:normal;display:inline-flex;width:100%;margin:12px 0 0 0;gap:8px;align-items:center;font-size:16px;color:var(--color-text-light)}.headerbar-label.profile-property[data-v-117e8ad0]{height:38px}.headerbar-label.setting-property[data-v-117e8ad0]{height:44px}.headerbar-label label[data-v-117e8ad0]{cursor:pointer}.federation-control[data-v-117e8ad0]{margin:0}.button-vue[data-v-117e8ad0]{margin:0 0 0 auto !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue\"],\"names\":[],\"mappings\":\"AACA,kCACC,kBAAA,CACA,mBAAA,CACA,UAAA,CACA,iBAAA,CACA,OAAA,CACA,kBAAA,CACA,cAAA,CACA,6BAAA,CAEA,mDACC,WAAA,CAGD,mDACC,WAAA,CAGD,wCACC,cAAA,CAIF,qCACC,QAAA,CAGD,6BACC,4BAAA\",\"sourcesContent\":[\"\\n.headerbar-label {\\n\\tfont-weight: normal;\\n\\tdisplay: inline-flex;\\n\\twidth: 100%;\\n\\tmargin: 12px 0 0 0;\\n\\tgap: 8px;\\n\\talign-items: center;\\n\\tfont-size: 16px;\\n\\tcolor: var(--color-text-light);\\n\\n\\t&.profile-property {\\n\\t\\theight: 38px;\\n\\t}\\n\\n\\t&.setting-property {\\n\\t\\theight: 44px;\\n\\t}\\n\\n\\tlabel {\\n\\t\\tcursor: pointer;\\n\\t}\\n}\\n\\n.federation-control {\\n\\tmargin: 0;\\n}\\n\\n.button-vue {\\n\\tmargin: 0 0 0 auto !important;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var map = {\n\t\"./af\": 42786,\n\t\"./af.js\": 42786,\n\t\"./ar\": 30867,\n\t\"./ar-dz\": 14130,\n\t\"./ar-dz.js\": 14130,\n\t\"./ar-kw\": 96135,\n\t\"./ar-kw.js\": 96135,\n\t\"./ar-ly\": 56440,\n\t\"./ar-ly.js\": 56440,\n\t\"./ar-ma\": 47702,\n\t\"./ar-ma.js\": 47702,\n\t\"./ar-sa\": 16040,\n\t\"./ar-sa.js\": 16040,\n\t\"./ar-tn\": 37100,\n\t\"./ar-tn.js\": 37100,\n\t\"./ar.js\": 30867,\n\t\"./az\": 31083,\n\t\"./az.js\": 31083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 68338,\n\t\"./bg.js\": 68338,\n\t\"./bm\": 67438,\n\t\"./bm.js\": 67438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 76225,\n\t\"./bn-bd.js\": 76225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 11560,\n\t\"./bo.js\": 11560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 80622,\n\t\"./bs.js\": 80622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 50877,\n\t\"./cv.js\": 50877,\n\t\"./cy\": 47373,\n\t\"./cy.js\": 47373,\n\t\"./da\": 24780,\n\t\"./da.js\": 24780,\n\t\"./de\": 59740,\n\t\"./de-at\": 60217,\n\t\"./de-at.js\": 60217,\n\t\"./de-ch\": 60894,\n\t\"./de-ch.js\": 60894,\n\t\"./de.js\": 59740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 50837,\n\t\"./el.js\": 50837,\n\t\"./en-au\": 78348,\n\t\"./en-au.js\": 78348,\n\t\"./en-ca\": 77925,\n\t\"./en-ca.js\": 77925,\n\t\"./en-gb\": 22243,\n\t\"./en-gb.js\": 22243,\n\t\"./en-ie\": 46436,\n\t\"./en-ie.js\": 46436,\n\t\"./en-il\": 47207,\n\t\"./en-il.js\": 47207,\n\t\"./en-in\": 44175,\n\t\"./en-in.js\": 44175,\n\t\"./en-nz\": 76319,\n\t\"./en-nz.js\": 76319,\n\t\"./en-sg\": 31662,\n\t\"./en-sg.js\": 31662,\n\t\"./eo\": 92915,\n\t\"./eo.js\": 92915,\n\t\"./es\": 55655,\n\t\"./es-do\": 55251,\n\t\"./es-do.js\": 55251,\n\t\"./es-mx\": 96112,\n\t\"./es-mx.js\": 96112,\n\t\"./es-us\": 71146,\n\t\"./es-us.js\": 71146,\n\t\"./es.js\": 55655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 77763,\n\t\"./eu.js\": 77763,\n\t\"./fa\": 76959,\n\t\"./fa.js\": 76959,\n\t\"./fi\": 11897,\n\t\"./fi.js\": 11897,\n\t\"./fil\": 42549,\n\t\"./fil.js\": 42549,\n\t\"./fo\": 94694,\n\t\"./fo.js\": 94694,\n\t\"./fr\": 94470,\n\t\"./fr-ca\": 63049,\n\t\"./fr-ca.js\": 63049,\n\t\"./fr-ch\": 52330,\n\t\"./fr-ch.js\": 52330,\n\t\"./fr.js\": 94470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 29295,\n\t\"./ga.js\": 29295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 38794,\n\t\"./gl.js\": 38794,\n\t\"./gom-deva\": 27884,\n\t\"./gom-deva.js\": 27884,\n\t\"./gom-latn\": 23168,\n\t\"./gom-latn.js\": 23168,\n\t\"./gu\": 95349,\n\t\"./gu.js\": 95349,\n\t\"./he\": 24206,\n\t\"./he.js\": 24206,\n\t\"./hi\": 30094,\n\t\"./hi.js\": 30094,\n\t\"./hr\": 30316,\n\t\"./hr.js\": 30316,\n\t\"./hu\": 22138,\n\t\"./hu.js\": 22138,\n\t\"./hy-am\": 11423,\n\t\"./hy-am.js\": 11423,\n\t\"./id\": 29218,\n\t\"./id.js\": 29218,\n\t\"./is\": 90135,\n\t\"./is.js\": 90135,\n\t\"./it\": 90626,\n\t\"./it-ch\": 10150,\n\t\"./it-ch.js\": 10150,\n\t\"./it.js\": 90626,\n\t\"./ja\": 39183,\n\t\"./ja.js\": 39183,\n\t\"./jv\": 24286,\n\t\"./jv.js\": 24286,\n\t\"./ka\": 12105,\n\t\"./ka.js\": 12105,\n\t\"./kk\": 47772,\n\t\"./kk.js\": 47772,\n\t\"./km\": 18758,\n\t\"./km.js\": 18758,\n\t\"./kn\": 79282,\n\t\"./kn.js\": 79282,\n\t\"./ko\": 33730,\n\t\"./ko.js\": 33730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 33291,\n\t\"./ky.js\": 33291,\n\t\"./lb\": 36841,\n\t\"./lb.js\": 36841,\n\t\"./lo\": 55466,\n\t\"./lo.js\": 55466,\n\t\"./lt\": 57010,\n\t\"./lt.js\": 57010,\n\t\"./lv\": 37595,\n\t\"./lv.js\": 37595,\n\t\"./me\": 39861,\n\t\"./me.js\": 39861,\n\t\"./mi\": 35493,\n\t\"./mi.js\": 35493,\n\t\"./mk\": 95966,\n\t\"./mk.js\": 95966,\n\t\"./ml\": 87341,\n\t\"./ml.js\": 87341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 10370,\n\t\"./mr.js\": 10370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 41237,\n\t\"./ms-my.js\": 41237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 72126,\n\t\"./mt.js\": 72126,\n\t\"./my\": 56165,\n\t\"./my.js\": 56165,\n\t\"./nb\": 64924,\n\t\"./nb.js\": 64924,\n\t\"./ne\": 16744,\n\t\"./ne.js\": 16744,\n\t\"./nl\": 93901,\n\t\"./nl-be\": 59814,\n\t\"./nl-be.js\": 59814,\n\t\"./nl.js\": 93901,\n\t\"./nn\": 83877,\n\t\"./nn.js\": 83877,\n\t\"./oc-lnc\": 92135,\n\t\"./oc-lnc.js\": 92135,\n\t\"./pa-in\": 15858,\n\t\"./pa-in.js\": 15858,\n\t\"./pl\": 64495,\n\t\"./pl.js\": 64495,\n\t\"./pt\": 89520,\n\t\"./pt-br\": 57971,\n\t\"./pt-br.js\": 57971,\n\t\"./pt.js\": 89520,\n\t\"./ro\": 96459,\n\t\"./ro.js\": 96459,\n\t\"./ru\": 21793,\n\t\"./ru.js\": 21793,\n\t\"./sd\": 40950,\n\t\"./sd.js\": 40950,\n\t\"./se\": 10490,\n\t\"./se.js\": 10490,\n\t\"./si\": 90124,\n\t\"./si.js\": 90124,\n\t\"./sk\": 64249,\n\t\"./sk.js\": 64249,\n\t\"./sl\": 14985,\n\t\"./sl.js\": 14985,\n\t\"./sq\": 51104,\n\t\"./sq.js\": 51104,\n\t\"./sr\": 49131,\n\t\"./sr-cyrl\": 79915,\n\t\"./sr-cyrl.js\": 79915,\n\t\"./sr.js\": 49131,\n\t\"./ss\": 85893,\n\t\"./ss.js\": 85893,\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760,\n\t\"./sw\": 91172,\n\t\"./sw.js\": 91172,\n\t\"./ta\": 27333,\n\t\"./ta.js\": 27333,\n\t\"./te\": 23110,\n\t\"./te.js\": 23110,\n\t\"./tet\": 52095,\n\t\"./tet.js\": 52095,\n\t\"./tg\": 27321,\n\t\"./tg.js\": 27321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 19005,\n\t\"./tk.js\": 19005,\n\t\"./tl-ph\": 75768,\n\t\"./tl-ph.js\": 75768,\n\t\"./tlh\": 89444,\n\t\"./tlh.js\": 89444,\n\t\"./tr\": 72397,\n\t\"./tr.js\": 72397,\n\t\"./tzl\": 28254,\n\t\"./tzl.js\": 28254,\n\t\"./tzm\": 51106,\n\t\"./tzm-latn\": 30699,\n\t\"./tzm-latn.js\": 30699,\n\t\"./tzm.js\": 51106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 67691,\n\t\"./uk.js\": 67691,\n\t\"./ur\": 13795,\n\t\"./ur.js\": 13795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 60588,\n\t\"./uz-latn.js\": 60588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 65666,\n\t\"./vi.js\": 65666,\n\t\"./x-pseudo\": 14378,\n\t\"./x-pseudo.js\": 14378,\n\t\"./yo\": 75805,\n\t\"./yo.js\": 75805,\n\t\"./zh-cn\": 83839,\n\t\"./zh-cn.js\": 83839,\n\t\"./zh-hk\": 55726,\n\t\"./zh-hk.js\": 55726,\n\t\"./zh-mo\": 99807,\n\t\"./zh-mo.js\": 99807,\n\t\"./zh-tw\": 74152,\n\t\"./zh-tw.js\": 74152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _cropperjs = require('cropperjs');\n\nvar _cropperjs2 = _interopRequireDefault(_cropperjs);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar previewPropType = typeof window === 'undefined' ? [String, Array] : [String, Array, Element, NodeList];\n\nexports.default = {\n render: function render(h) {\n var crossorigin = this.crossorigin || undefined;\n\n return h('div', { style: this.containerStyle }, [h('img', {\n ref: 'img',\n attrs: {\n src: this.src,\n alt: this.alt || 'image',\n style: 'max-width: 100%',\n crossorigin: crossorigin\n },\n on: this.$listeners,\n style: this.imgStyle\n })]);\n },\n\n props: {\n containerStyle: Object,\n src: {\n type: String,\n default: ''\n },\n alt: String,\n imgStyle: Object,\n\n viewMode: Number,\n dragMode: String,\n initialAspectRatio: Number,\n aspectRatio: Number,\n data: Object,\n preview: previewPropType,\n responsive: {\n type: Boolean,\n default: true\n },\n restore: {\n type: Boolean,\n default: true\n },\n checkCrossOrigin: {\n type: Boolean,\n default: true\n },\n checkOrientation: {\n type: Boolean,\n default: true\n },\n crossorigin: {\n type: String\n },\n modal: {\n type: Boolean,\n default: true\n },\n guides: {\n type: Boolean,\n default: true\n },\n center: {\n type: Boolean,\n default: true\n },\n highlight: {\n type: Boolean,\n default: true\n },\n background: {\n type: Boolean,\n default: true\n },\n autoCrop: {\n type: Boolean,\n default: true\n },\n autoCropArea: Number,\n movable: {\n type: Boolean,\n default: true\n },\n rotatable: {\n type: Boolean,\n default: true\n },\n scalable: {\n type: Boolean,\n default: true\n },\n zoomable: {\n type: Boolean,\n default: true\n },\n zoomOnTouch: {\n type: Boolean,\n default: true\n },\n zoomOnWheel: {\n type: Boolean,\n default: true\n },\n wheelZoomRatio: Number,\n cropBoxMovable: {\n type: Boolean,\n default: true\n },\n cropBoxResizable: {\n type: Boolean,\n default: true\n },\n toggleDragModeOnDblclick: {\n type: Boolean,\n default: true\n },\n\n minCanvasWidth: Number,\n minCanvasHeight: Number,\n minCropBoxWidth: Number,\n minCropBoxHeight: Number,\n minContainerWidth: Number,\n minContainerHeight: Number,\n\n ready: Function,\n cropstart: Function,\n cropmove: Function,\n cropend: Function,\n crop: Function,\n zoom: Function\n },\n mounted: function mounted() {\n var _$options$props = this.$options.props,\n containerStyle = _$options$props.containerStyle,\n src = _$options$props.src,\n alt = _$options$props.alt,\n imgStyle = _$options$props.imgStyle,\n data = _objectWithoutProperties(_$options$props, ['containerStyle', 'src', 'alt', 'imgStyle']);\n\n var props = {};\n\n for (var key in data) {\n if (this[key] !== undefined) {\n props[key] = this[key];\n }\n }\n\n this.cropper = new _cropperjs2.default(this.$refs.img, props);\n },\n\n methods: {\n reset: function reset() {\n return this.cropper.reset();\n },\n clear: function clear() {\n return this.cropper.clear();\n },\n initCrop: function initCrop() {\n return this.cropper.crop();\n },\n replace: function replace(url) {\n var onlyColorChanged = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n return this.cropper.replace(url, onlyColorChanged);\n },\n enable: function enable() {\n return this.cropper.enable();\n },\n disable: function disable() {\n return this.cropper.disable();\n },\n destroy: function destroy() {\n return this.cropper.destroy();\n },\n move: function move(offsetX, offsetY) {\n return this.cropper.move(offsetX, offsetY);\n },\n moveTo: function moveTo(x) {\n var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : x;\n\n return this.cropper.moveTo(x, y);\n },\n relativeZoom: function relativeZoom(ratio, _originalEvent) {\n return this.cropper.zoom(ratio, _originalEvent);\n },\n zoomTo: function zoomTo(ratio, _originalEvent) {\n return this.cropper.zoomTo(ratio, _originalEvent);\n },\n rotate: function rotate(degree) {\n return this.cropper.rotate(degree);\n },\n rotateTo: function rotateTo(degree) {\n return this.cropper.rotateTo(degree);\n },\n scaleX: function scaleX(_scaleX) {\n return this.cropper.scaleX(_scaleX);\n },\n scaleY: function scaleY(_scaleY) {\n return this.cropper.scaleY(_scaleY);\n },\n scale: function scale(scaleX) {\n var scaleY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : scaleX;\n\n return this.cropper.scale(scaleX, scaleY);\n },\n getData: function getData() {\n var rounded = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n return this.cropper.getData(rounded);\n },\n setData: function setData(data) {\n return this.cropper.setData(data);\n },\n getContainerData: function getContainerData() {\n return this.cropper.getContainerData();\n },\n getImageData: function getImageData() {\n return this.cropper.getImageData();\n },\n getCanvasData: function getCanvasData() {\n return this.cropper.getCanvasData();\n },\n setCanvasData: function setCanvasData(data) {\n return this.cropper.setCanvasData(data);\n },\n getCropBoxData: function getCropBoxData() {\n return this.cropper.getCropBoxData();\n },\n setCropBoxData: function setCropBoxData(data) {\n return this.cropper.setCropBoxData(data);\n },\n getCroppedCanvas: function getCroppedCanvas() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return this.cropper.getCroppedCanvas(options);\n },\n setAspectRatio: function setAspectRatio(aspectRatio) {\n return this.cropper.setAspectRatio(aspectRatio);\n },\n setDragMode: function setDragMode(mode) {\n return this.cropper.setDragMode(mode);\n }\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 = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(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 = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(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 = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"2250\":\"9c98ca37abd9ee1927b3\",\"7996\":\"39e55a09e2da8534cf16\"}[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 = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(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 = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 4418;","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) 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\t4418: 0\n};\n\n__webpack_require__.f.j = function(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(function(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 = function(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 = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(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(function(id) { return 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, [7874], function() { return __webpack_require__(6190); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","name","components","NcActionButton","props","activeScope","type","String","required","displayName","handleScopeChange","Function","default","iconClass","isSupportedScope","Boolean","tooltipDisabled","tooltip","methods","updateScope","component","_vm","this","_c","_self","staticClass","class","attrs","on","$event","stopPropagation","preventDefault","apply","arguments","_v","_s","ACCOUNT_PROPERTY_ENUM","Object","freeze","ADDRESS","AVATAR","BIOGRAPHY","DISPLAYNAME","EMAIL_COLLECTION","EMAIL","HEADLINE","NOTIFICATION_EMAIL","FEDIVERSE","ORGANISATION","PHONE","PROFILE_ENABLED","ROLE","TWITTER","WEBSITE","ACCOUNT_PROPERTY_READABLE_ENUM","t","NAME_READABLE_ENUM","_defineProperty","_Object$freeze","PROFILE_READABLE_ENUM","PROFILE_VISIBILITY","PROPERTY_READABLE_KEYS_ENUM","_Object$freeze2","ACCOUNT_SETTING_PROPERTY_ENUM","LANGUAGE","LOCALE","ACCOUNT_SETTING_PROPERTY_READABLE_ENUM","SCOPE_ENUM","PRIVATE","LOCAL","FEDERATED","PUBLISHED","PROPERTY_READABLE_SUPPORTED_SCOPES_ENUM","_Object$freeze3","UNPUBLISHED_READABLE_PROPERTIES","SCOPE_SUFFIX","SCOPE_PROPERTY_ENUM","_Object$freeze4","DEFAULT_ADDITIONAL_EMAIL_SCOPE","VERIFICATION_ENUM","NOT_VERIFIED","VERIFICATION_IN_PROGRESS","VERIFIED","VALIDATE_EMAIL_REGEX","_regeneratorRuntime","exports","Op","prototype","hasOwn","hasOwnProperty","defineProperty","obj","key","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","_typeof","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","undefined","done","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","return","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","doneResult","isGeneratorFunction","genFun","ctor","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","savePrimaryAccountProperty","_ref","_callee","accountProperty","userId","url","res","_context","getCurrentUser","uid","generateOcsUrl","confirmPassword","axios","put","data","_x","_x2","savePrimaryAccountPropertyScope","_ref2","_callee2","scope","_context2","concat","_x3","_x4","getLoggerBuilder","setApp","detectUser","build","handleError","message","_error$response","fullMessage","response","status","showError","logger","_loadState","loadState","federationEnabled","lookupServerUploadEnabled","NcActions","FederationControlAction","readable","validator","includes","additional","additionalValue","disabled","handleAdditionalScopeChange","readableLowerCase","toLocaleLowerCase","initialScope","computed","ariaLabel","property","scopeDisplayNameLowerCase","scopeIcon","federationScopes","supportedScopes","scopes","changeScope","_this","$emit","updatePrimaryScope","updateAdditionalScope","_this2","_responseData$ocs","responseData","handleResponse","ocs","meta","t0","errorMessage","_this3","_callee3","_responseData$ocs2","_context3","_l","federationScope","FederationControl","NcButton","Plus","inputId","isEditable","isMultiValueSupported","isValidSection","isHeading","localScope","isProfileProperty","isSettingProperty","onAddAdditional","onScopeChange","tag","_e","scopedSlots","_u","proxy","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","_objectSpread","target","source","getOwnPropertyDescriptors","defineProperties","input","hint","prim","toPrimitive","_toPrimitive","_toPropertyKey","avatar","avatarChangeSupported","VALID_MIME_TYPES","picker","getFilePickerBuilder","setMultiSelect","setMimeTypeFilter","setType","allowDirectories","Delete","Folder","HeaderBar","NcAvatar","Upload","VueCropper","showCropper","loading","version","oc_userconfig","isGenerated","generated","validMimeTypes","cropperOptions","aspectRatio","viewMode","guides","center","highlight","autoCropArea","minContainerWidth","minContainerHeight","created","subscribe","handleDisplayNameUpdate","beforeDestroy","unsubscribe","activateLocalFilePicker","$refs","click","onChange","e","file","files","cancel","reader","FileReader","onload","cropper","replace","readAsDataURL","openFilePicker","path","_yield$axios$post","tempAvatar","pick","post","generateUrl","handleAvatarUpdate","encodeURIComponent","OC","requestToken","Math","floor","random","saveAvatar","canvasData","getCroppedCanvas","scaleFactor","width","scale","toBlob","blob","formData","FormData","append","removeAvatar","_this4","delete","Date","now","emit","$set","ref","join","directives","rawName","expression","_b","emits","title","fillColor","size","Number","$attrs","groups","quota","totalSpace","usage","usageRelative","Account","CircleSlice","NcProgressBar","quotaText","domProps","AlertCircle","AlertOctagon","Check","placeholder","multiLine","onValidate","onSave","autocomplete","initialValue","helperText","showCheckmarkIcon","showErrorIcon","onPropertyChange","debouncePropertyChange","trim","debounce","validationMessage","updateProperty","setTimeout","displayNameChangeSupported","AccountPropertySection","savePrimaryEmail","email","saveAdditionalEmail","saveNotificationEmail","_ref3","removeAdditionalEmail","_ref4","_callee4","_context4","collection","updateAdditionalEmail","_ref5","_callee5","prevEmail","newEmail","_context5","_x5","_x6","savePrimaryEmailScope","_ref6","_callee6","_context6","_x7","saveAdditionalEmailScope","_ref7","_callee7","_context7","collectionScope","_x8","_x9","validateEmail","test","index","primary","activeNotificationEmail","localVerificationState","propertyReadable","initialEmail","deleteDisabled","deleteEmailLabel","setNotificationMailDisabled","setNotificationMailLabel","isNotificationEmail","federationDisabled","inputPlaceholder","mounted","$nextTick","_this$$refs$email","focus","onEmailChange","debounceEmailChange","_this$$refs$email2","updatePrimaryEmail","addAdditionalEmail","deleteEmail","deleteAdditionalEmail","setNotificationMail","_this5","_responseData$ocs3","newNotificationMailValue","notificationEmail","_this6","_responseData$ocs4","_this7","_responseData$ocs5","handleDeleteAdditionalEmail","_this8","_loadState$emailMap","emailMap","additionalEmails","primaryEmail","Email","map","properties","generateUniqueKey","firstAdditionalEmail","every","primaryEmailValue","get","set","onAddAdditionalEmail","onDeleteAdditionalEmail","$delete","onUpdateEmail","deletedEmail","deleteFirstAdditionalEmail","onUpdateNotificationEmail","handleDeleteFirstAdditionalEmail","toString","substring","additionalEmail","parseInt","locallyVerified","_arrayLikeToArray","arr","len","arr2","Array","normalizeArguments","text","metadata","_Array$prototype$slic2","isArray","_arrayWithHoles","_i","_arr","_n","_d","_iterableToArrayLimit","o","minLen","n","from","_unsupportedIterableToArray","_nonIterableRest","arg_1","arg_2","arg_3","arg_4","isObject","defaultCountry","_","MIN_LENGTH_FOR_NSN","MAX_LENGTH_FOR_NSN","MAX_LENGTH_COUNTRY_CODE","VALID_DIGITS","VALID_PUNCTUATION","_assertThisInitialized","ReferenceError","_wrapNativeSuper","Class","_cache","Map","indexOf","has","Wrapper","_construct","_getPrototypeOf","_setPrototypeOf","Parent","_isNativeReflectConstruct","Reflect","construct","a","instance","bind","sham","Proxy","valueOf","p","ParseError","_Error","subClass","superClass","_inherits","Constructor","Derived","hasNativeReflectConstruct","_super","Super","NewTarget","_possibleConstructorReturn","code","_classCallCheck","b","split","pa","pb","na","nb","descriptor","protoProps","staticProps","DEFAULT_EXT_PREFIX","CALLING_CODE_REG_EXP","Metadata","is_object","countries","type_of","validateMetadata","setVersion","countryCode","v1","v2","v3","nonGeographic","nonGeographical","country","getCountryMetadata","callingCode","getCountryCodesForCallingCode","countryCodes","countryCallingCodes","selectNumberingPlan","hasCountry","numberingPlan","NumberingPlan","hasCallingCode","getNumberingPlanMetadata","getCountryCodeForCallingCode","IDDPrefix","defaultIDDPrefix","nationalNumberPattern","possibleLengths","formats","nationalPrefixForParsing","nationalPrefixTransformRule","leadingDigits","hasTypes","_type","ext","country_phone_code_to_countries","country_calling_codes","globalMetadataObject","_getFormats","getDefaultCountryMetadataForRegion","Format","_getNationalPrefixFormattingRule","_nationalPrefixForParsing","nationalPrefix","_getNationalPrefixIsOptionalWhenFormatting","types","_type2","getType","Type","format","_format","nationalPrefixFormattingRule","nationalPrefixIsOptionalWhenFormattingInNationalFormat","usesNationalPrefix","FIRST_GROUP_ONLY_PREFIX_PATTERN","getCountryCallingCode","countryCallingCode","v4","getExtensionDigitsPattern","maxLength","createExtensionPattern","purpose","possibleSeparatorsBetweenNumberAndExtLabel","possibleCharsAfterExtLabel","optionalExtnSuffix","possibleSeparatorsNumberExtLabelNoComma","rfcExtn","MIN_LENGTH_PHONE_NUMBER_PATTERN","VALID_PHONE_NUMBER","VALID_PHONE_NUMBER_START_REG_EXP","RegExp","VALID_PHONE_NUMBER_WITH_EXTENSION","VALID_PHONE_NUMBER_PATTERN","EXTN_PATTERN","DIGITS","parseIncompletePhoneNumber","string","_step","_iterator","allowArrayLike","it","parsePhoneNumberCharacter","character","prevParsedCharacters","parseDigit","checkNumberLength","nationalNumber","checkNumberLengthForType","type_info","possible_lengths","mobile_type","merged","element","sort","mergeArrays","actual_length","minimum_length","isPossibleNumber","matchesEntirely","regular_expression","NON_FIXED_LINE_PHONE_TYPES","getNumberType","phone","isNumberTypeEqualTo","pattern","FIRST_GROUP_PATTERN","SINGLE_IDD_PREFIX_REG_EXP","DEFAULT_OPTIONS","formatExtension","formattedNumber","extension","formatNationalNumber","number","carrierCode","formatAs","availableFormats","nationalNnumber","leadingDigitsPatterns","lastLeadingDigitsPattern","search","chooseFormatForNumber","useInternationalFormat","withNationalPrefix","internationalFormat","applyInternationalSeparatorStyle","formatNationalNumberUsingFormat","addExtension","PhoneNumber","countryOrCountryCallingCode","_getCountryAndCountry","metadataJson","isCountryCode","getCountryAndCountryCallingCode","getMetadata","possibleCountries","_metadata","couldNationalNumberBelongToCountry","isNonGeographicCallingCode","isValidNumber","phoneNumber","formatRFC3966","fromCountry","iddPrefix","countryMetadata","getIddPrefix","formatIDD","formatNumber","CAPTURING_DIGIT_PATTERN","extractNationalNumber","_extractNationalNumbe","prefixPattern","prefixMatch","exec","capturedGroupsCount","hasCapturedGroups","prefixBeforeNationalNumber","possiblePositionOfTheFirstCapturedGroup","extractNationalNumberFromPossiblyIncompleteNumber","nationalNumberBefore","nationalNumberAfter","shouldHaveExtractedNationalPrefix","isPossibleIncompleteNationalNumber","getCountryByCallingCode","nationalPhoneNumber","matchingCountries","getCountryByNationalNumber","PLUS_SIGN","RFC3966_PHONE_DIGIT_","RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_","RFC3966_DOMAINNAME_PATTERN_","RFC3966_PREFIX_","RFC3966_PHONE_CONTEXT_","RFC3966_ISDN_SUBADDRESS_","MAX_INPUT_STRING_LENGTH","PHONE_NUMBER_START_PATTERN","AFTER_PHONE_NUMBER_END_PATTERN","parse","_parseInput","extract","numberToParse","phoneNumberString","extractFormattedPhoneNumber","phoneContext","numberToExtractFrom","indexOfPhoneContext","phoneContextStart","phoneContextEnd","extractPhoneContext","isPhoneContextValid","indexOfNationalNumber","indexOfRfc3966Prefix","indexOfIsdn","extractFormattedPhoneNumberFromPossibleRfc3966NumberUri","throwOnError","startsAt","_extractFormattedPhoneNumber","isViablePhoneNumberStart","withExtensionStripped","start","numberWithoutExtension","matches","match","extractExtension","parseInput","formattedPhoneNumber","_parsePhoneNumber","defaultCallingCode","_extractCountryCallin","isNumberWithIddPrefix","numberWithoutIDD","IDDPrefixPattern","matchedGroups","stripIddPrefix","possibleShorterNumber","possibleShorterNationalNumber","extractCountryCallingCodeFromInternationalNumberWithoutPlusSign","shorterNumber","countryCallingCodeSource","_countryCallingCode","extractCountryCallingCode","exactCountry","parsePhoneNumber","hasSelectedNumberingPlan","__countryCallingCodeSource","valid","extended","possible","isValidPhoneNumber","_normalizeArguments","isSupportedCountry","parsePhoneNumberWithError","isValid","func","_arguments","withMetadataArgument","defaultPhoneRegion","location","website","URL","validateUrl","twitter","fediverse","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","commonLanguages","otherLanguages","language","initialLanguage","allLanguages","reduce","acc","onLanguageChange","constructLanguage","updateLanguage","reloadPage","languageCode","reload","commonLanguage","otherLanguage","_loadState$languageMa","languageMap","activeLanguage","Language","Web","locale","localesForLanguage","otherLocales","initialLocale","example","date","moment","time","firstDayOfWeek","window","dayNames","firstDay","allLocales","setInterval","refreshExample","onLocaleChange","constructLocale","updateLocale","localeCode","currentLocale","_loadState$localeMap","localeMap","activeLocale","Locale","ChevronDownIcon","profileEnabled","_g","$listeners","NcCheckboxRadioSwitch","isProfileEnabled","saveEnableProfile","organisation","profilePageLink","EditProfileAnchorLink","ProfileCheckbox","ProfilePreviewCard","handleOrganisationUpdate","role","headline","biography","saveProfileParameterVisibility","paramId","visibility","VISIBILITY_ENUM","SHOW","SHOW_USERS_ONLY","HIDE","VISIBILITY_PROPERTY_ENUM","label","NcSelect","displayId","initialVisibility","visibilityObject","visibilityOptions","handleProfileEnabledUpdate","onVisibilityChange","updateVisibility","profileConfig","compareParams","appId","localeCompare","VisibilityDropdown","heading","visibilityParams","entries","_ref2$","id","marginLeft","matchMedia","getComputedStyle","document","getElementById","getPropertyValue","rows","ceil","onresize","style","gridTemplateRows","param","__webpack_nonce__","btoa","getRequestToken","profileEnabledGlobally","Vue","mixin","AvatarView","extend","AvatarSection","DetailsView","DetailsSection","DisplayNameView","DisplayNameSection","EmailView","EmailSection","PhoneView","PhoneSection","LocationView","LocationSection","WebsiteView","WebsiteSection","TwitterView","TwitterSection","FediverseView","FediverseSection","LanguageView","LanguageSection","LocaleView","LocaleSection","$mount","ProfileView","ProfileSection","OrganisationView","OrganisationSection","RoleView","RoleSection","HeadlineView","HeadlineSection","BiographyView","BiographySection","ProfileVisibilityView","ProfileVisibilitySection","module","_objectSpread2","_defineProperties","IS_BROWSER","WINDOW","IS_TOUCH_DEVICE","documentElement","HAS_POINTER_EVENT","NAMESPACE","ACTION_ALL","ACTION_CROP","ACTION_MOVE","ACTION_ZOOM","ACTION_EAST","ACTION_WEST","ACTION_SOUTH","ACTION_NORTH","ACTION_NORTH_EAST","ACTION_NORTH_WEST","ACTION_SOUTH_EAST","ACTION_SOUTH_WEST","CLASS_CROP","CLASS_DISABLED","CLASS_HIDDEN","CLASS_HIDE","CLASS_INVISIBLE","CLASS_MODAL","CLASS_MOVE","DATA_ACTION","DATA_PREVIEW","DRAG_MODE_CROP","DRAG_MODE_MOVE","DRAG_MODE_NONE","EVENT_CROP","EVENT_CROP_END","EVENT_CROP_MOVE","EVENT_CROP_START","EVENT_DBLCLICK","EVENT_POINTER_DOWN","EVENT_POINTER_MOVE","EVENT_POINTER_UP","EVENT_READY","EVENT_RESIZE","EVENT_WHEEL","EVENT_ZOOM","MIME_TYPE_JPEG","REGEXP_ACTIONS","REGEXP_DATA_URL","REGEXP_DATA_URL_JPEG","REGEXP_TAG_NAME","DEFAULTS","dragMode","initialAspectRatio","NaN","preview","responsive","restore","checkCrossOrigin","checkOrientation","modal","background","autoCrop","movable","rotatable","scalable","zoomable","zoomOnTouch","zoomOnWheel","wheelZoomRatio","cropBoxMovable","cropBoxResizable","toggleDragModeOnDblclick","minCanvasWidth","minCanvasHeight","minCropBoxWidth","minCropBoxHeight","ready","cropstart","cropmove","cropend","crop","zoom","isNumber","isPositiveNumber","Infinity","isUndefined","isPlainObject","_constructor","isFunction","toArray","callback","assign","_len","_key","REGEXP_DECIMALS","normalizeDecimalNumber","times","round","REGEXP_SUFFIX","setStyle","styles","addClass","elem","classList","add","className","removeClass","remove","toggleClass","added","REGEXP_CAMEL_CASE","toParamCase","toLowerCase","getData","dataset","getAttribute","setData","setAttribute","REGEXP_SPACES","onceSupported","supported","once","listener","addEventListener","removeEventListener","removeListener","handler","event","listeners","addListener","_handler","_element$listeners","_len2","_key2","dispatchEvent","Event","CustomEvent","detail","bubbles","cancelable","createEvent","initCustomEvent","getOffset","box","getBoundingClientRect","left","pageXOffset","clientLeft","top","pageYOffset","clientTop","REGEXP_ORIGINS","isCrossOriginURL","parts","protocol","hostname","port","addTimestamp","timestamp","getTime","getTransforms","rotate","scaleX","scaleY","translateX","translateY","transform","WebkitTransform","msTransform","getPointer","endOnly","pageX","pageY","end","endX","endY","startX","startY","getAdjustedSizes","height","isValidWidth","isValidHeight","adjustedWidth","fromCharCode","REGEXP_DATA_URL_HEAD","resetAndGetOrientation","arrayBuffer","orientation","dataView","DataView","littleEndian","app1Start","ifdStart","getUint8","byteLength","offset","tiffOffset","str","getStringFromCharCode","endianness","getUint16","firstIFDOffset","getUint32","_offset","_length","setUint16","render","initContainer","initCanvas","initCropBox","renderCanvas","cropped","renderCropBox","container","minWidth","minHeight","containerData","max","offsetWidth","offsetHeight","imageData","rotated","abs","naturalWidth","naturalHeight","canvasWidth","canvasHeight","limited","limitCanvas","min","maxWidth","maxHeight","oldLeft","oldTop","initialCanvasData","sizeLimited","positionLimited","cropBoxData","_getAdjustedSizes","newCanvasLeft","newCanvasTop","minLeft","minTop","maxLeft","maxTop","changed","transformed","_getRotatedSizes","degree","arc","PI","sinArc","sin","cosArc","cos","newWidth","newHeight","getRotatedSizes","canvas","renderImage","limitCropBox","image","output","initialCropBoxData","maxCropBoxWidth","maxCropBoxHeight","face","cropBox","initPreview","crossOrigin","crossOriginUrl","alt","createElement","src","viewBox","appendChild","viewBoxImage","previews","ownerDocument","querySelectorAll","querySelector","el","img","html","innerHTML","cssText","resetPreview","removeAttribute","removeData","cropBoxWidth","cropBoxHeight","originalWidth","originalHeight","ratio","getElementsByTagName","events","onCropStart","cropStart","onWheel","wheel","passive","capture","onDblclick","dblclick","onCropMove","cropMove","onCropEnd","cropEnd","onResize","resize","unbind","handlers","ratioX","ratioY","getCanvasData","getCropBoxData","setCanvasData","setCropBoxData","setDragMode","dragBox","contains","delta","wheeling","deltaY","wheelDelta","buttons","button","pointerType","ctrlKey","action","pointers","changedTouches","touch","identifier","pointerId","originalEvent","cropping","change","right","bottom","renderable","shiftKey","pointer","range","x","y","check","side","move","pointers2","maxRatio","pointer2","x1","y1","x2","y2","z1","sqrt","getMaxZoomRatio","initialImageData","clear","hasSameSize","isImg","replaced","uncreate","load","enable","disable","destroy","originalUrl","offsetX","offsetY","_this$canvasData","moveTo","_originalEvent","zoomTo","pivot","oldRatio","count","getPointersCenter","rotateTo","_scaleX","_scaleY","rounded","getContainerData","getImageData","sized","widthChanged","heightChanged","HTMLCanvasElement","_ref8","imageAspectRatio","imageNaturalWidth","imageNaturalHeight","_ref6$rotate","_ref6$scaleX","_ref6$scaleY","_ref8$fillColor","_ref8$imageSmoothingE","imageSmoothingEnabled","_ref8$imageSmoothingQ","imageSmoothingQuality","_ref8$maxWidth","_ref8$maxHeight","_ref8$minWidth","_ref8$minHeight","getContext","maxSizes","minSizes","destMaxSizes","destMinSizes","destWidth","destHeight","params","fillStyle","fillRect","save","translate","drawImage","getSourceCanvas","_this$getData","initialX","initialY","initialWidth","initialHeight","_options$imageSmoothi","srcWidth","srcHeight","dstX","dstY","dstWidth","dstHeight","sourceWidth","sourceHeight","srcX","srcY","setAspectRatio","mode","croppable","AnotherCropper","Cropper","tagName","reloading","sizing","init","toDataURL","base64","binary","uint8","ArrayBuffer","read","atob","Uint8Array","charCodeAt","clone","xhr","XMLHttpRequest","onabort","onerror","ontimeout","onprogress","getResponseHeader","abort","onloadend","open","responseType","withCredentials","send","mimeType","chunks","subarray","arrayBufferToDataURL","_parseOrientation","parseOrientation","parentNode","insertBefore","nextSibling","isIOSWebKit","navigator","userAgent","sizingImage","body","removeChild","template","getElementsByClassName","unbuild","factory","___CSS_LOADER_URL_IMPORT_0___","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","webpackContext","req","webpackContextResolve","__webpack_require__","_cropperjs2","__esModule","previewPropType","Element","NodeList","h","crossorigin","containerStyle","imgStyle","_$options$props","$options","_objectWithoutProperties","initCrop","onlyColorChanged","relativeZoom","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","m","O","chunkIds","priority","notFulfilled","fulfilled","j","splice","r","getter","d","definition","f","chunkId","all","promises","u","g","globalThis","prop","l","script","needAttach","scripts","s","charset","timeout","nc","onScriptComplete","clearTimeout","doneFns","head","nmd","paths","children","scriptUrl","importScripts","currentScript","baseURI","href","installedChunks","installedChunkData","promise","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-info.js?v=34845027f4e42f2d59f3","mappings":"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K,CAAC,MAAM,GAAK,CAAC,KAAK,KAAK,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAA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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack://nextcloud/./node_modules/cropperjs/dist/cropper.css?9e96","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue?69dc","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue?90b5","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue?02db","webpack:///nextcloud/apps/settings/src/constants/AccountPropertyConstants.js","webpack:///nextcloud/apps/settings/src/service/PersonalInfo/PersonalInfoService.js","webpack:///nextcloud/apps/settings/src/logger.js","webpack:///nextcloud/apps/settings/src/utils/handlers.js","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControl.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControl.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/FederationControl.vue?0c36","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/FederationControl.vue?e342","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/FederationControl.vue?d068","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue?5316","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue?feed","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue?e65f","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/AvatarSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/AvatarSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/AvatarSection.vue?fa68","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/AvatarSection.vue?5014","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/AvatarSection.vue?5282","webpack:///nextcloud/node_modules/vue-material-design-icons/Account.vue?vue&type=script&lang=js&","webpack:///nextcloud/node_modules/vue-material-design-icons/Account.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/Account.vue?d3d9","webpack:///nextcloud/node_modules/vue-material-design-icons/Account.vue?vue&type=template&id=36de906a&","webpack:///nextcloud/node_modules/vue-material-design-icons/CircleSlice3.vue?vue&type=script&lang=js&","webpack:///nextcloud/node_modules/vue-material-design-icons/CircleSlice3.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/CircleSlice3.vue?093b","webpack:///nextcloud/node_modules/vue-material-design-icons/CircleSlice3.vue?vue&type=template&id=1fce5ff4&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/DetailsSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/DetailsSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/DetailsSection.vue?61d4","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/DetailsSection.vue?295f","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/DetailsSection.vue?08e9","webpack:///nextcloud/node_modules/vue-material-design-icons/AlertOctagon.vue?vue&type=script&lang=js&","webpack:///nextcloud/node_modules/vue-material-design-icons/AlertOctagon.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/AlertOctagon.vue?61c5","webpack:///nextcloud/node_modules/vue-material-design-icons/AlertOctagon.vue?vue&type=template&id=77c3fb81&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue?5433","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue?ac46","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue?d38d","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/DisplayNameSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/DisplayNameSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/DisplayNameSection.vue?bde5","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/DisplayNameSection.vue?3162","webpack:///nextcloud/apps/settings/src/service/PersonalInfo/EmailService.js","webpack:///nextcloud/apps/settings/src/utils/validate.js","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/Email.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/Email.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/EmailSection/Email.vue?1a30","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/EmailSection/Email.vue?bd2c","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/EmailSection/Email.vue?04df","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue?a3f7","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue?1258","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue?3dd6","webpack:///nextcloud/node_modules/libphonenumber-js/metadata.min.json.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/normalizeArguments.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/constants.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/ParseError.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/tools/semver-compare.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/metadata.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/parseDigits.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/mergeArrays.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/isPossible.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/getNumberType.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/getIddPrefix.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/format.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/PhoneNumber.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/isValid.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/RFC3966.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/parse.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/parsePhoneNumber_.js","webpack:///nextcloud/node_modules/libphonenumber-js/es6/isValidPhoneNumber.js","webpack:///nextcloud/node_modules/libphonenumber-js/min/exports/isValidPhoneNumber.js","webpack:///nextcloud/node_modules/libphonenumber-js/min/exports/withMetadataArgument.js","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/PhoneSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/PhoneSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/PhoneSection.vue?d5e3","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/PhoneSection.vue?8b50","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocationSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocationSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LocationSection.vue?fdc7","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LocationSection.vue?414f","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/WebsiteSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/WebsiteSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/WebsiteSection.vue?897b","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/WebsiteSection.vue?4b20","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/TwitterSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/TwitterSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/TwitterSection.vue?7e82","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/TwitterSection.vue?8ae2","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/FediverseSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/FediverseSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/FediverseSection.vue?e202","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/FediverseSection.vue?4a92","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue?f98d","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue?6358","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue?94ab","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue?6762","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue?a350","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue?41aa","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue?faf0","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue?9b6c","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue?8511","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue?1e8d","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue?fafb","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue?6463","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?afc1","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?5a28","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?7d4b","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?253f","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileCheckbox.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileCheckbox.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/ProfileCheckbox.vue?7612","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/ProfileCheckbox.vue?9b34","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue?534a","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue?240c","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue?564e","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue?accf","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue?c85f","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue?3f25","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/OrganisationSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/OrganisationSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/OrganisationSection.vue?5684","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/OrganisationSection.vue?adaf","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/RoleSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/RoleSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/RoleSection.vue?a7b4","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/RoleSection.vue?49db","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/HeadlineSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/HeadlineSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/HeadlineSection.vue?9d73","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/HeadlineSection.vue?d565","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/BiographySection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/BiographySection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/BiographySection.vue?a6b2","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/BiographySection.vue?7384","webpack:///nextcloud/apps/settings/src/service/ProfileService.js","webpack:///nextcloud/apps/settings/src/constants/ProfileConstants.js","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue?7103","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue?c222","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue?5e5d","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue?25bd","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue?7729","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue?d7f0","webpack:///nextcloud/apps/settings/src/main-personal-info.js","webpack:///nextcloud/node_modules/cropperjs/dist/cropper.js","webpack:///nextcloud/node_modules/cropperjs/dist/cropper.css","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/AvatarSection.vue?vue&type=style&index=0&id=cd78cbb2&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/DetailsSection.vue?vue&type=style&index=0&id=f432848e&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/Email.vue?vue&type=style&index=0&id=01402aef&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue?vue&type=style&index=0&id=b17ef20e&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue?vue&type=style&index=0&id=f4e20d10&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue?vue&type=style&index=0&id=92685b76&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue?vue&type=style&index=0&id=9c4afa34&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue?vue&type=style&index=0&id=84fca724&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?vue&type=style&index=0&id=23992b06&prod&lang=scss&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?vue&type=style&index=1&id=23992b06&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue?vue&type=style&index=0&id=3375e082&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue?vue&type=style&index=0&id=cf64d964&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue?vue&type=style&index=0&id=199109a6&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue?vue&type=style&index=0&id=c7ec7e16&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue?vue&type=style&index=0&id=45da213c&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControl.vue?vue&type=style&index=0&id=bce2fdec&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue?vue&type=style&index=0&id=4fc9bff1&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue?vue&type=style&index=0&id=117e8ad0&prod&lang=scss&scoped=true&","webpack:///nextcloud/node_modules/moment/locale|sync|/^\\.\\/.*$","webpack:///nextcloud/node_modules/vue-cropperjs/dist/VueCropper.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 = function(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(function(key) { return __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 = function(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 = function(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(function(fn) { return 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 import API from \"!../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../css-loader/dist/cjs.js!./cropper.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../css-loader/dist/cjs.js!./cropper.css\";\n export default content && content.locals ? content.locals : undefined;\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FederationControlAction.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!./FederationControlAction.vue?vue&type=script&lang=js&\"","<!--\n\t- @copyright 2021 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<NcActionButton :aria-label=\"isSupportedScope ? tooltip : tooltipDisabled\"\n\t\tclass=\"federation-actions__btn\"\n\t\t:class=\"{ 'federation-actions__btn--active': activeScope === name }\"\n\t\t:close-after-click=\"true\"\n\t\t:disabled=\"!isSupportedScope\"\n\t\t:icon=\"iconClass\"\n\t\t:title=\"displayName\"\n\t\t@click.stop.prevent=\"updateScope\">\n\t\t{{ isSupportedScope ? tooltip : tooltipDisabled }}\n\t</NcActionButton>\n</template>\n\n<script>\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\n\nexport default {\n\tname: 'FederationControlAction',\n\n\tcomponents: {\n\t\tNcActionButton,\n\t},\n\n\tprops: {\n\t\tactiveScope: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\thandleScopeChange: {\n\t\t\ttype: Function,\n\t\t\tdefault: () => {},\n\t\t},\n\t\ticonClass: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tisSupportedScope: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\ttooltipDisabled: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\ttooltip: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tmethods: {\n\t\tupdateScope() {\n\t\t\tthis.handleScopeChange(this.name)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.federation-actions__btn {\n\t&::v-deep p {\n\t\twidth: 150px !important;\n\t\tpadding: 8px 0 !important;\n\t\tcolor: var(--color-main-text) !important;\n\t\tfont-size: 12.8px !important;\n\t\tline-height: 1.5em !important;\n\t}\n}\n\n.federation-actions__btn--active {\n\tbackground-color: var(--color-primary-element-light) !important;\n\tbox-shadow: inset 2px 0 var(--color-primary-element) !important;\n}\n</style>\n","\n import API from \"!../../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FederationControlAction.vue?vue&type=style&index=0&id=4fc9bff1&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!./FederationControlAction.vue?vue&type=style&index=0&id=4fc9bff1&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FederationControlAction.vue?vue&type=template&id=4fc9bff1&scoped=true&\"\nimport script from \"./FederationControlAction.vue?vue&type=script&lang=js&\"\nexport * from \"./FederationControlAction.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FederationControlAction.vue?vue&type=style&index=0&id=4fc9bff1&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 \"4fc9bff1\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcActionButton',{staticClass:\"federation-actions__btn\",class:{ 'federation-actions__btn--active': _vm.activeScope === _vm.name },attrs:{\"aria-label\":_vm.isSupportedScope ? _vm.tooltip : _vm.tooltipDisabled,\"close-after-click\":true,\"disabled\":!_vm.isSupportedScope,\"icon\":_vm.iconClass,\"title\":_vm.displayName},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.updateScope.apply(null, arguments)}}},[_vm._v(\"\\n\\t\"+_vm._s(_vm.isSupportedScope ? _vm.tooltip : _vm.tooltipDisabled)+\"\\n\")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2021, Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/*\n * SYNC to be kept in sync with `lib/public/Accounts/IAccountManager.php`\n */\n\nimport { translate as t } from '@nextcloud/l10n'\n\n/** Enum of account properties */\nexport const ACCOUNT_PROPERTY_ENUM = Object.freeze({\n\tADDRESS: 'address',\n\tAVATAR: 'avatar',\n\tBIOGRAPHY: 'biography',\n\tDISPLAYNAME: 'displayname',\n\tEMAIL_COLLECTION: 'additional_mail',\n\tEMAIL: 'email',\n\tHEADLINE: 'headline',\n\tNOTIFICATION_EMAIL: 'notify_email',\n\tFEDIVERSE: 'fediverse',\n\tORGANISATION: 'organisation',\n\tPHONE: 'phone',\n\tPROFILE_ENABLED: 'profile_enabled',\n\tROLE: 'role',\n\tTWITTER: 'twitter',\n\tWEBSITE: 'website',\n})\n\n/** Enum of account properties to human readable account property names */\nexport const ACCOUNT_PROPERTY_READABLE_ENUM = Object.freeze({\n\tADDRESS: t('settings', 'Location'),\n\tAVATAR: t('settings', 'Profile picture'),\n\tBIOGRAPHY: t('settings', 'About'),\n\tDISPLAYNAME: t('settings', 'Full name'),\n\tEMAIL_COLLECTION: t('settings', 'Additional email'),\n\tEMAIL: t('settings', 'Email'),\n\tHEADLINE: t('settings', 'Headline'),\n\tORGANISATION: t('settings', 'Organisation'),\n\tPHONE: t('settings', 'Phone number'),\n\tPROFILE_ENABLED: t('settings', 'Profile'),\n\tROLE: t('settings', 'Role'),\n\tTWITTER: t('settings', 'Twitter'),\n\tFEDIVERSE: t('settings', 'Fediverse (e.g. Mastodon)'),\n\tWEBSITE: t('settings', 'Website'),\n})\n\nexport const NAME_READABLE_ENUM = Object.freeze({\n\t[ACCOUNT_PROPERTY_ENUM.ADDRESS]: ACCOUNT_PROPERTY_READABLE_ENUM.ADDRESS,\n\t[ACCOUNT_PROPERTY_ENUM.AVATAR]: ACCOUNT_PROPERTY_READABLE_ENUM.AVATAR,\n\t[ACCOUNT_PROPERTY_ENUM.BIOGRAPHY]: ACCOUNT_PROPERTY_READABLE_ENUM.BIOGRAPHY,\n\t[ACCOUNT_PROPERTY_ENUM.DISPLAYNAME]: ACCOUNT_PROPERTY_READABLE_ENUM.DISPLAYNAME,\n\t[ACCOUNT_PROPERTY_ENUM.EMAIL_COLLECTION]: ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL_COLLECTION,\n\t[ACCOUNT_PROPERTY_ENUM.EMAIL]: ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL,\n\t[ACCOUNT_PROPERTY_ENUM.HEADLINE]: ACCOUNT_PROPERTY_READABLE_ENUM.HEADLINE,\n\t[ACCOUNT_PROPERTY_ENUM.ORGANISATION]: ACCOUNT_PROPERTY_READABLE_ENUM.ORGANISATION,\n\t[ACCOUNT_PROPERTY_ENUM.PHONE]: ACCOUNT_PROPERTY_READABLE_ENUM.PHONE,\n\t[ACCOUNT_PROPERTY_ENUM.PROFILE_ENABLED]: ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED,\n\t[ACCOUNT_PROPERTY_ENUM.ROLE]: ACCOUNT_PROPERTY_READABLE_ENUM.ROLE,\n\t[ACCOUNT_PROPERTY_ENUM.TWITTER]: ACCOUNT_PROPERTY_READABLE_ENUM.TWITTER,\n\t[ACCOUNT_PROPERTY_ENUM.FEDIVERSE]: ACCOUNT_PROPERTY_READABLE_ENUM.FEDIVERSE,\n\t[ACCOUNT_PROPERTY_ENUM.WEBSITE]: ACCOUNT_PROPERTY_READABLE_ENUM.WEBSITE,\n})\n\n/** Enum of profile specific sections to human readable names */\nexport const PROFILE_READABLE_ENUM = Object.freeze({\n\tPROFILE_VISIBILITY: t('settings', 'Profile visibility'),\n})\n\n/** Enum of readable account properties to account property keys used by the server */\nexport const PROPERTY_READABLE_KEYS_ENUM = Object.freeze({\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.ADDRESS]: ACCOUNT_PROPERTY_ENUM.ADDRESS,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.AVATAR]: ACCOUNT_PROPERTY_ENUM.AVATAR,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.BIOGRAPHY]: ACCOUNT_PROPERTY_ENUM.BIOGRAPHY,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.DISPLAYNAME]: ACCOUNT_PROPERTY_ENUM.DISPLAYNAME,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL_COLLECTION]: ACCOUNT_PROPERTY_ENUM.EMAIL_COLLECTION,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL]: ACCOUNT_PROPERTY_ENUM.EMAIL,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.HEADLINE]: ACCOUNT_PROPERTY_ENUM.HEADLINE,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.ORGANISATION]: ACCOUNT_PROPERTY_ENUM.ORGANISATION,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.PHONE]: ACCOUNT_PROPERTY_ENUM.PHONE,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED]: ACCOUNT_PROPERTY_ENUM.PROFILE_ENABLED,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.ROLE]: ACCOUNT_PROPERTY_ENUM.ROLE,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.TWITTER]: ACCOUNT_PROPERTY_ENUM.TWITTER,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.FEDIVERSE]: ACCOUNT_PROPERTY_ENUM.FEDIVERSE,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.WEBSITE]: ACCOUNT_PROPERTY_ENUM.WEBSITE,\n})\n\n/**\n * Enum of account setting properties\n *\n * Account setting properties unlike account properties do not support scopes*\n */\nexport const ACCOUNT_SETTING_PROPERTY_ENUM = Object.freeze({\n\tLANGUAGE: 'language',\n\tLOCALE: 'locale',\n})\n\n/** Enum of account setting properties to human readable setting properties */\nexport const ACCOUNT_SETTING_PROPERTY_READABLE_ENUM = Object.freeze({\n\tLANGUAGE: t('settings', 'Language'),\n\tLOCALE: t('settings', 'Locale'),\n})\n\n/** Enum of scopes */\nexport const SCOPE_ENUM = Object.freeze({\n\tPRIVATE: 'v2-private',\n\tLOCAL: 'v2-local',\n\tFEDERATED: 'v2-federated',\n\tPUBLISHED: 'v2-published',\n})\n\n/** Enum of readable account properties to supported scopes */\nexport const PROPERTY_READABLE_SUPPORTED_SCOPES_ENUM = Object.freeze({\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.ADDRESS]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.AVATAR]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.BIOGRAPHY]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.DISPLAYNAME]: [SCOPE_ENUM.LOCAL],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL_COLLECTION]: [SCOPE_ENUM.LOCAL],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL]: [SCOPE_ENUM.LOCAL],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.HEADLINE]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.ORGANISATION]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.PHONE]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.ROLE]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.TWITTER]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.FEDIVERSE]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.WEBSITE]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n})\n\n/** List of readable account properties which aren't published to the lookup server */\nexport const UNPUBLISHED_READABLE_PROPERTIES = Object.freeze([\n\tACCOUNT_PROPERTY_READABLE_ENUM.BIOGRAPHY,\n\tACCOUNT_PROPERTY_READABLE_ENUM.HEADLINE,\n\tACCOUNT_PROPERTY_READABLE_ENUM.ORGANISATION,\n\tACCOUNT_PROPERTY_READABLE_ENUM.ROLE,\n])\n\n/** Scope suffix */\nexport const SCOPE_SUFFIX = 'Scope'\n\n/**\n * Enum of scope names to properties\n *\n * Used for federation control*\n */\nexport const SCOPE_PROPERTY_ENUM = Object.freeze({\n\t[SCOPE_ENUM.PRIVATE]: {\n\t\tname: SCOPE_ENUM.PRIVATE,\n\t\tdisplayName: t('settings', 'Private'),\n\t\ttooltip: t('settings', 'Only visible to people matched via phone number integration through Talk on mobile'),\n\t\ttooltipDisabled: t('settings', 'Not available as this property is required for core functionality including file sharing and calendar invitations'),\n\t\ticonClass: 'icon-phone',\n\t},\n\t[SCOPE_ENUM.LOCAL]: {\n\t\tname: SCOPE_ENUM.LOCAL,\n\t\tdisplayName: t('settings', 'Local'),\n\t\ttooltip: t('settings', 'Only visible to people on this instance and guests'),\n\t\t// tooltipDisabled is not required here as this scope is supported by all account properties\n\t\ticonClass: 'icon-password',\n\t},\n\t[SCOPE_ENUM.FEDERATED]: {\n\t\tname: SCOPE_ENUM.FEDERATED,\n\t\tdisplayName: t('settings', 'Federated'),\n\t\ttooltip: t('settings', 'Only synchronize to trusted servers'),\n\t\ttooltipDisabled: t('settings', 'Not available as federation has been disabled for your account, contact your system administrator if you have any questions'),\n\t\ticonClass: 'icon-contacts-dark',\n\t},\n\t[SCOPE_ENUM.PUBLISHED]: {\n\t\tname: SCOPE_ENUM.PUBLISHED,\n\t\tdisplayName: t('settings', 'Published'),\n\t\ttooltip: t('settings', 'Synchronize to trusted servers and the global and public address book'),\n\t\ttooltipDisabled: t('settings', 'Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions'),\n\t\ticonClass: 'icon-link',\n\t},\n})\n\n/** Default additional email scope */\nexport const DEFAULT_ADDITIONAL_EMAIL_SCOPE = SCOPE_ENUM.LOCAL\n\n/** Enum of verification constants, according to IAccountManager */\nexport const VERIFICATION_ENUM = Object.freeze({\n\tNOT_VERIFIED: 0,\n\tVERIFICATION_IN_PROGRESS: 1,\n\tVERIFIED: 2,\n})\n\n/**\n * Email validation regex\n *\n * Sourced from https://github.com/mpyw/FILTER_VALIDATE_EMAIL.js/blob/71e62ca48841d2246a1b531e7e84f5a01f15e615/src/regexp/ascii.ts*\n */\n// eslint-disable-next-line no-control-regex\nexport const VALIDATE_EMAIL_REGEX = /^(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){255,})(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){65,}@)(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22))(?:\\.(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-+[a-z0-9]+)*\\.){1,126}){1,}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-+[a-z0-9]+)*)|(?:\\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\\]))$/i\n","/**\n * @copyright 2021, Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\n\nimport { SCOPE_SUFFIX } from '../../constants/AccountPropertyConstants.js'\n\n/**\n * Save the primary account property value for the user\n *\n * @param {string} accountProperty the account property\n * @param {string|boolean} value the primary value\n * @return {object}\n */\nexport const savePrimaryAccountProperty = async (accountProperty, value) => {\n\t// TODO allow boolean values on backend route handler\n\t// Convert boolean to string for compatibility\n\tif (typeof value === 'boolean') {\n\t\tvalue = value ? '1' : '0'\n\t}\n\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: accountProperty,\n\t\tvalue,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Save the federation scope of the primary account property for the user\n *\n * @param {string} accountProperty the account property\n * @param {string} scope the federation scope\n * @return {object}\n */\nexport const savePrimaryAccountPropertyScope = async (accountProperty, scope) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: `${accountProperty}${SCOPE_SUFFIX}`,\n\t\tvalue: scope,\n\t})\n\n\treturn res.data\n}\n","/**\n * @copyright 2020 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('settings')\n\t.detectUser()\n\t.build()\n","/**\n * @copyright 2023 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { showError } from '@nextcloud/dialogs'\nimport { translate as t } from '@nextcloud/l10n'\n\nimport logger from '../logger.js'\n\n/**\n * @param {import('axios').AxiosError} error the error\n * @param {string?} message the message to display\n */\nexport const handleError = (error, message) => {\n\tlet fullMessage = ''\n\n\tif (message) {\n\t\tfullMessage += message\n\t}\n\n\tif (error.response?.status === 429) {\n\t\tif (fullMessage) {\n\t\t\tfullMessage += '\\n'\n\t\t}\n\t\tfullMessage += t('settings', 'There were too many requests from your network. Retry later or contact your administrator if this is an error.')\n\t}\n\n\tshowError(fullMessage)\n\tlogger.error(fullMessage || t('Error'), error)\n}\n","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<NcActions :class=\"{ 'federation-actions': !additional, 'federation-actions--additional': additional }\"\n\t\t:aria-label=\"ariaLabel\"\n\t\t:default-icon=\"scopeIcon\"\n\t\t:disabled=\"disabled\">\n\t\t<FederationControlAction v-for=\"federationScope in federationScopes\"\n\t\t\t:key=\"federationScope.name\"\n\t\t\t:active-scope=\"scope\"\n\t\t\t:display-name=\"federationScope.displayName\"\n\t\t\t:handle-scope-change=\"changeScope\"\n\t\t\t:icon-class=\"federationScope.iconClass\"\n\t\t\t:is-supported-scope=\"supportedScopes.includes(federationScope.name)\"\n\t\t\t:name=\"federationScope.name\"\n\t\t\t:tooltip-disabled=\"federationScope.tooltipDisabled\"\n\t\t\t:tooltip=\"federationScope.tooltip\"\n\t\t\t:aria-label=\"federationScope.tooltip\" />\n\t</NcActions>\n</template>\n\n<script>\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions.js'\nimport { loadState } from '@nextcloud/initial-state'\n\nimport FederationControlAction from './FederationControlAction.vue'\n\nimport {\n\tACCOUNT_PROPERTY_READABLE_ENUM,\n\tACCOUNT_SETTING_PROPERTY_READABLE_ENUM,\n\tPROFILE_READABLE_ENUM,\n\tPROPERTY_READABLE_KEYS_ENUM,\n\tPROPERTY_READABLE_SUPPORTED_SCOPES_ENUM,\n\tSCOPE_ENUM, SCOPE_PROPERTY_ENUM,\n\tUNPUBLISHED_READABLE_PROPERTIES,\n} from '../../../constants/AccountPropertyConstants.js'\nimport { savePrimaryAccountPropertyScope } from '../../../service/PersonalInfo/PersonalInfoService.js'\nimport { handleError } from '../../../utils/handlers.js'\n\nconst {\n\tfederationEnabled,\n\tlookupServerUploadEnabled,\n} = loadState('settings', 'accountParameters', {})\n\nexport default {\n\tname: 'FederationControl',\n\n\tcomponents: {\n\t\tNcActions,\n\t\tFederationControlAction,\n\t},\n\n\tprops: {\n\t\treadable: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t\tvalidator: (value) => Object.values(ACCOUNT_PROPERTY_READABLE_ENUM).includes(value) || Object.values(ACCOUNT_SETTING_PROPERTY_READABLE_ENUM).includes(value) || value === PROFILE_READABLE_ENUM.PROFILE_VISIBILITY,\n\t\t},\n\t\tadditional: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tadditionalValue: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\thandleAdditionalScopeChange: {\n\t\t\ttype: Function,\n\t\t\tdefault: null,\n\t\t},\n\t\tscope: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\treadableLowerCase: this.readable.toLocaleLowerCase(),\n\t\t\tinitialScope: this.scope,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tariaLabel() {\n\t\t\treturn t('settings', 'Change scope level of {property}, current scope is {scope}', { property: this.readableLowerCase, scope: this.scopeDisplayNameLowerCase })\n\t\t},\n\n\t\tscopeDisplayNameLowerCase() {\n\t\t\treturn SCOPE_PROPERTY_ENUM[this.scope].displayName.toLocaleLowerCase()\n\t\t},\n\n\t\tscopeIcon() {\n\t\t\treturn SCOPE_PROPERTY_ENUM[this.scope].iconClass\n\t\t},\n\n\t\tfederationScopes() {\n\t\t\treturn Object.values(SCOPE_PROPERTY_ENUM)\n\t\t},\n\n\t\tsupportedScopes() {\n\t\t\tconst scopes = PROPERTY_READABLE_SUPPORTED_SCOPES_ENUM[this.readable]\n\n\t\t\tif (UNPUBLISHED_READABLE_PROPERTIES.includes(this.readable)) {\n\t\t\t\treturn scopes\n\t\t\t}\n\n\t\t\tif (federationEnabled) {\n\t\t\t\tscopes.push(SCOPE_ENUM.FEDERATED)\n\t\t\t}\n\n\t\t\tif (lookupServerUploadEnabled) {\n\t\t\t\tscopes.push(SCOPE_ENUM.PUBLISHED)\n\t\t\t}\n\n\t\t\treturn scopes\n\t\t},\n\t},\n\n\tmethods: {\n\t\tasync changeScope(scope) {\n\t\t\tthis.$emit('update:scope', scope)\n\n\t\t\tif (!this.additional) {\n\t\t\t\tawait this.updatePrimaryScope(scope)\n\t\t\t} else {\n\t\t\t\tawait this.updateAdditionalScope(scope)\n\t\t\t}\n\t\t},\n\n\t\tasync updatePrimaryScope(scope) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryAccountPropertyScope(PROPERTY_READABLE_KEYS_ENUM[this.readable], scope)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tscope,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update federation scope of the primary {property}', { property: this.readableLowerCase }),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\tasync updateAdditionalScope(scope) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await this.handleAdditionalScopeChange(this.additionalValue, scope)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tscope,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update federation scope of additional {property}', { property: this.readableLowerCase }),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ scope, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\tthis.initialScope = scope\n\t\t\t} else {\n\t\t\t\tthis.$emit('update:scope', this.initialScope)\n\t\t\t\thandleError(error, errorMessage)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\t.federation-actions--additional {\n\t\t&::v-deep button {\n\t\t\t// TODO remove this hack\n\t\t\tpadding-bottom: 7px;\n\t\t\theight: 30px !important;\n\t\t\tmin-height: 30px !important;\n\t\t\twidth: 30px !important;\n\t\t\tmin-width: 30px !important;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FederationControl.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!./FederationControl.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!./FederationControl.vue?vue&type=style&index=0&id=bce2fdec&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!./FederationControl.vue?vue&type=style&index=0&id=bce2fdec&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FederationControl.vue?vue&type=template&id=bce2fdec&scoped=true&\"\nimport script from \"./FederationControl.vue?vue&type=script&lang=js&\"\nexport * from \"./FederationControl.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FederationControl.vue?vue&type=style&index=0&id=bce2fdec&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 \"bce2fdec\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcActions',{class:{ 'federation-actions': !_vm.additional, 'federation-actions--additional': _vm.additional },attrs:{\"aria-label\":_vm.ariaLabel,\"default-icon\":_vm.scopeIcon,\"disabled\":_vm.disabled}},_vm._l((_vm.federationScopes),function(federationScope){return _c('FederationControlAction',{key:federationScope.name,attrs:{\"active-scope\":_vm.scope,\"display-name\":federationScope.displayName,\"handle-scope-change\":_vm.changeScope,\"icon-class\":federationScope.iconClass,\"is-supported-scope\":_vm.supportedScopes.includes(federationScope.name),\"name\":federationScope.name,\"tooltip-disabled\":federationScope.tooltipDisabled,\"tooltip\":federationScope.tooltip,\"aria-label\":federationScope.tooltip}})}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderBar.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!./HeaderBar.vue?vue&type=script&lang=js&\"","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<component :is=\"isHeading ? `h3` : `div`\" class=\"headerbar-label\" :class=\"{ 'setting-property': isSettingProperty, 'profile-property': isProfileProperty }\">\n\t\t<span v-if=\"isHeading\">\n\t\t\t<!-- Already translated as required by prop validator -->\n\t\t\t{{ readable }}\n\t\t</span>\n\t\t<label v-else :for=\"inputId\">\n\t\t\t<!-- Already translated as required by prop validator -->\n\t\t\t{{ readable }}\n\t\t</label>\n\n\t\t<template v-if=\"scope\">\n\t\t\t<FederationControl class=\"federation-control\"\n\t\t\t\t:readable=\"readable\"\n\t\t\t\t:scope.sync=\"localScope\"\n\t\t\t\t@update:scope=\"onScopeChange\" />\n\t\t</template>\n\n\t\t<template v-if=\"isEditable && isMultiValueSupported\">\n\t\t\t<NcButton type=\"tertiary\"\n\t\t\t\t:disabled=\"!isValidSection\"\n\t\t\t\t:aria-label=\"t('settings', 'Add additional email')\"\n\t\t\t\t@click.stop.prevent=\"onAddAdditional\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Plus :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t{{ t('settings', 'Add') }}\n\t\t\t</NcButton>\n\t\t</template>\n\t</component>\n</template>\n\n<script>\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport Plus from 'vue-material-design-icons/Plus.vue'\n\nimport FederationControl from './FederationControl.vue'\n\nimport {\n\tACCOUNT_PROPERTY_READABLE_ENUM,\n\tPROFILE_READABLE_ENUM,\n} from '../../../constants/AccountPropertyConstants.js'\n\nexport default {\n\tname: 'HeaderBar',\n\n\tcomponents: {\n\t\tFederationControl,\n\t\tNcButton,\n\t\tPlus,\n\t},\n\n\tprops: {\n\t\tscope: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\treadable: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tinputId: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\tisEditable: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tisMultiValueSupported: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tisValidSection: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tisHeading: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tlocalScope: this.scope,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tisProfileProperty() {\n\t\t\treturn this.readable === ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED\n\t\t},\n\n\t\tisSettingProperty() {\n\t\t\treturn !Object.values(ACCOUNT_PROPERTY_READABLE_ENUM).includes(this.readable) && !Object.values(PROFILE_READABLE_ENUM).includes(this.readable)\n\t\t},\n\t},\n\n\tmethods: {\n\t\tonAddAdditional() {\n\t\t\tthis.$emit('add-additional')\n\t\t},\n\n\t\tonScopeChange(scope) {\n\t\t\tthis.$emit('update:scope', scope)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\t.headerbar-label {\n\t\tfont-weight: normal;\n\t\tdisplay: inline-flex;\n\t\twidth: 100%;\n\t\tmargin: 12px 0 0 0;\n\t\tgap: 8px;\n\t\talign-items: center;\n\t\tfont-size: 16px;\n\t\tcolor: var(--color-text-light);\n\n\t\t&.profile-property {\n\t\t\theight: 38px;\n\t\t}\n\n\t\t&.setting-property {\n\t\t\theight: 44px;\n\t\t}\n\n\t\tlabel {\n\t\t\tcursor: pointer;\n\t\t}\n\t}\n\n\t.federation-control {\n\t\tmargin: 0;\n\t}\n\n\t.button-vue {\n\t\tmargin: 0 0 0 auto !important;\n\t}\n</style>\n","\n import API from \"!../../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderBar.vue?vue&type=style&index=0&id=117e8ad0&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!./HeaderBar.vue?vue&type=style&index=0&id=117e8ad0&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./HeaderBar.vue?vue&type=template&id=117e8ad0&scoped=true&\"\nimport script from \"./HeaderBar.vue?vue&type=script&lang=js&\"\nexport * from \"./HeaderBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HeaderBar.vue?vue&type=style&index=0&id=117e8ad0&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 \"117e8ad0\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.isHeading ? `h3` : `div`,{tag:\"component\",staticClass:\"headerbar-label\",class:{ 'setting-property': _vm.isSettingProperty, 'profile-property': _vm.isProfileProperty }},[(_vm.isHeading)?_c('span',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.readable)+\"\\n\\t\")]):_c('label',{attrs:{\"for\":_vm.inputId}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.readable)+\"\\n\\t\")]),_vm._v(\" \"),(_vm.scope)?[_c('FederationControl',{staticClass:\"federation-control\",attrs:{\"readable\":_vm.readable,\"scope\":_vm.localScope},on:{\"update:scope\":[function($event){_vm.localScope=$event},_vm.onScopeChange]}})]:_vm._e(),_vm._v(\" \"),(_vm.isEditable && _vm.isMultiValueSupported)?[_c('NcButton',{attrs:{\"type\":\"tertiary\",\"disabled\":!_vm.isValidSection,\"aria-label\":_vm.t('settings', 'Add additional email')},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.onAddAdditional.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Plus',{attrs:{\"size\":20}})]},proxy:true}],null,false,32235154)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Add'))+\"\\n\\t\\t\")])]:_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section id=\"vue-avatar-section\">\n\t\t<h3 class=\"hidden-visually\">\n\t\t\t{{ t('settings', 'Your profile information') }}\n\t\t</h3>\n\t\t<HeaderBar :input-id=\"avatarChangeSupported ? inputId : null\"\n\t\t\t:readable=\"avatar.readable\"\n\t\t\t:scope.sync=\"avatar.scope\" />\n\n\t\t<div v-if=\"!showCropper\" class=\"avatar__container\">\n\t\t\t<div class=\"avatar__preview\">\n\t\t\t\t<NcAvatar v-if=\"!loading\"\n\t\t\t\t\t:key=\"version\"\n\t\t\t\t\t:user=\"userId\"\n\t\t\t\t\t:aria-label=\"t('settings', 'Your profile picture')\"\n\t\t\t\t\t:disabled-menu=\"true\"\n\t\t\t\t\t:disabled-tooltip=\"true\"\n\t\t\t\t\t:show-user-status=\"false\"\n\t\t\t\t\t:size=\"180\" />\n\t\t\t\t<div v-else class=\"icon-loading\" />\n\t\t\t</div>\n\t\t\t<template v-if=\"avatarChangeSupported\">\n\t\t\t\t<div class=\"avatar__buttons\">\n\t\t\t\t\t<NcButton :aria-label=\"t('settings', 'Upload profile picture')\"\n\t\t\t\t\t\t@click=\"activateLocalFilePicker\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Upload :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcButton>\n\t\t\t\t\t<NcButton :aria-label=\"t('settings', 'Choose profile picture from Files')\"\n\t\t\t\t\t\t@click=\"openFilePicker\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Folder :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcButton>\n\t\t\t\t\t<NcButton v-if=\"!isGenerated\"\n\t\t\t\t\t\t:aria-label=\"t('settings', 'Remove profile picture')\"\n\t\t\t\t\t\t@click=\"removeAvatar\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Delete :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcButton>\n\t\t\t\t</div>\n\t\t\t\t<span>{{ t('settings', 'The file must be a PNG or JPG') }}</span>\n\t\t\t\t<input :id=\"inputId\"\n\t\t\t\t\tref=\"input\"\n\t\t\t\t\ttype=\"file\"\n\t\t\t\t\t:accept=\"validMimeTypes.join(',')\"\n\t\t\t\t\t@change=\"onChange\">\n\t\t\t</template>\n\t\t\t<span v-else>\n\t\t\t\t{{ t('settings', 'Picture provided by original account') }}\n\t\t\t</span>\n\t\t</div>\n\n\t\t<!-- Use v-show to ensure early cropper ref availability -->\n\t\t<div v-show=\"showCropper\" class=\"avatar__container\">\n\t\t\t<VueCropper ref=\"cropper\"\n\t\t\t\tclass=\"avatar__cropper\"\n\t\t\t\tv-bind=\"cropperOptions\" />\n\t\t\t<div class=\"avatar__cropper-buttons\">\n\t\t\t\t<NcButton @click=\"cancel\">\n\t\t\t\t\t{{ t('settings', 'Cancel') }}\n\t\t\t\t</NcButton>\n\t\t\t\t<NcButton type=\"primary\"\n\t\t\t\t\t@click=\"saveAvatar\">\n\t\t\t\t\t{{ t('settings', 'Set as profile picture') }}\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t\t<span>{{ t('settings', 'Please note that it can take up to 24 hours for your profile picture to be updated everywhere.') }}</span>\n\t\t</div>\n\t</section>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { loadState } from '@nextcloud/initial-state'\nimport { generateUrl } from '@nextcloud/router'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getFilePickerBuilder, showError } from '@nextcloud/dialogs'\nimport { emit, subscribe, unsubscribe } from '@nextcloud/event-bus'\n\nimport NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar.js'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport VueCropper from 'vue-cropperjs'\n// eslint-disable-next-line n/no-extraneous-import\nimport 'cropperjs/dist/cropper.css'\n\nimport Upload from 'vue-material-design-icons/Upload.vue'\nimport Folder from 'vue-material-design-icons/Folder.vue'\nimport Delete from 'vue-material-design-icons/Delete.vue'\n\nimport HeaderBar from './shared/HeaderBar.vue'\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { avatar } = loadState('settings', 'personalInfoParameters', {})\nconst { avatarChangeSupported } = loadState('settings', 'accountParameters', {})\n\nconst VALID_MIME_TYPES = ['image/png', 'image/jpeg']\n\nconst picker = getFilePickerBuilder(t('settings', 'Choose your profile picture'))\n\t.setMultiSelect(false)\n\t.setMimeTypeFilter(VALID_MIME_TYPES)\n\t.setType(1)\n\t.allowDirectories(false)\n\t.build()\n\nexport default {\n\tname: 'AvatarSection',\n\n\tcomponents: {\n\t\tDelete,\n\t\tFolder,\n\t\tHeaderBar,\n\t\tNcAvatar,\n\t\tNcButton,\n\t\tUpload,\n\t\tVueCropper,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tavatar: { ...avatar, readable: NAME_READABLE_ENUM[avatar.name] },\n\t\t\tavatarChangeSupported,\n\t\t\tshowCropper: false,\n\t\t\tloading: false,\n\t\t\tuserId: getCurrentUser().uid,\n\t\t\tdisplayName: getCurrentUser().displayName,\n\t\t\tversion: oc_userconfig.avatar.version,\n\t\t\tisGenerated: oc_userconfig.avatar.generated,\n\t\t\tvalidMimeTypes: VALID_MIME_TYPES,\n\t\t\tcropperOptions: {\n\t\t\t\taspectRatio: 1 / 1,\n\t\t\t\tviewMode: 1,\n\t\t\t\tguides: false,\n\t\t\t\tcenter: false,\n\t\t\t\thighlight: false,\n\t\t\t\tautoCropArea: 1,\n\t\t\t\tminContainerWidth: 300,\n\t\t\t\tminContainerHeight: 300,\n\t\t\t},\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tinputId() {\n\t\t\treturn `account-property-${this.avatar.name}`\n\t\t},\n\t},\n\n\tcreated() {\n\t\tsubscribe('settings:display-name:updated', this.handleDisplayNameUpdate)\n\t},\n\n\tbeforeDestroy() {\n\t\tunsubscribe('settings:display-name:updated', this.handleDisplayNameUpdate)\n\t},\n\n\tmethods: {\n\t\tactivateLocalFilePicker() {\n\t\t\t// Set to null so that selecting the same file will trigger the change event\n\t\t\tthis.$refs.input.value = null\n\t\t\tthis.$refs.input.click()\n\t\t},\n\n\t\tonChange(e) {\n\t\t\tthis.loading = true\n\t\t\tconst file = e.target.files[0]\n\t\t\tif (!this.validMimeTypes.includes(file.type)) {\n\t\t\t\tshowError(t('settings', 'Please select a valid png or jpg file'))\n\t\t\t\tthis.cancel()\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst reader = new FileReader()\n\t\t\treader.onload = (e) => {\n\t\t\t\tthis.$refs.cropper.replace(e.target.result)\n\t\t\t\tthis.showCropper = true\n\t\t\t}\n\t\t\treader.readAsDataURL(file)\n\t\t},\n\n\t\tasync openFilePicker() {\n\t\t\tconst path = await picker.pick()\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst { data } = await axios.post(generateUrl('/avatar'), { path })\n\t\t\t\tif (data.status === 'success') {\n\t\t\t\t\tthis.handleAvatarUpdate(false)\n\t\t\t\t} else if (data.data === 'notsquare') {\n\t\t\t\t\tconst tempAvatar = generateUrl('/avatar/tmp') + '?requesttoken=' + encodeURIComponent(OC.requestToken) + '#' + Math.floor(Math.random() * 1000)\n\t\t\t\t\tthis.$refs.cropper.replace(tempAvatar)\n\t\t\t\t\tthis.showCropper = true\n\t\t\t\t} else {\n\t\t\t\t\tshowError(data.data.message)\n\t\t\t\t\tthis.cancel()\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tshowError(t('settings', 'Error setting profile picture'))\n\t\t\t\tthis.cancel()\n\t\t\t}\n\t\t},\n\n\t\tsaveAvatar() {\n\t\t\tthis.showCropper = false\n\t\t\tthis.loading = true\n\n\t\t\tconst canvasData = this.$refs.cropper.getCroppedCanvas()\n\t\t\tconst scaleFactor = canvasData.width > 512 ? 512 / canvasData.width : 1\n\n\t\t\tthis.$refs.cropper.scale(scaleFactor, scaleFactor).getCroppedCanvas().toBlob(async (blob) => {\n\t\t\t\tif (blob === null) {\n\t\t\t\t\tshowError(t('settings', 'Error cropping profile picture'))\n\t\t\t\t\tthis.cancel()\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tconst formData = new FormData()\n\t\t\t\tformData.append('files[]', blob)\n\t\t\t\ttry {\n\t\t\t\t\tawait axios.post(generateUrl('/avatar'), formData)\n\t\t\t\t\tthis.handleAvatarUpdate(false)\n\t\t\t\t} catch (e) {\n\t\t\t\t\tshowError(t('settings', 'Error saving profile picture'))\n\t\t\t\t\tthis.handleAvatarUpdate(this.isGenerated)\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t\tasync removeAvatar() {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tawait axios.delete(generateUrl('/avatar'))\n\t\t\t\tthis.handleAvatarUpdate(true)\n\t\t\t} catch (e) {\n\t\t\t\tshowError(t('settings', 'Error removing profile picture'))\n\t\t\t\tthis.handleAvatarUpdate(this.isGenerated)\n\t\t\t}\n\t\t},\n\n\t\tcancel() {\n\t\t\tthis.showCropper = false\n\t\t\tthis.loading = false\n\t\t},\n\n\t\thandleAvatarUpdate(isGenerated) {\n\t\t\t// Update the avatar version so that avatar update handlers refresh correctly\n\t\t\tthis.version = oc_userconfig.avatar.version = Date.now()\n\t\t\tthis.isGenerated = oc_userconfig.avatar.generated = isGenerated\n\t\t\tthis.loading = false\n\t\t\temit('settings:avatar:updated', oc_userconfig.avatar.version)\n\t\t},\n\n\t\thandleDisplayNameUpdate() {\n\t\t\tthis.version = oc_userconfig.avatar.version\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsection {\n\tgrid-row: 1/3;\n}\n.avatar {\n\t&__container {\n\t\tmargin: 0 auto;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\tgap: 16px 0;\n\t\twidth: min(100%, 300px);\n\n\t\tspan {\n\t\t\tcolor: var(--color-text-lighter);\n\t\t}\n\t}\n\n\t&__preview {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\twidth: 180px;\n\t\theight: 180px;\n\t}\n\n\t&__buttons {\n\t\tdisplay: flex;\n\t\tgap: 0 10px;\n\t}\n\n\t&__cropper {\n\t\twidth: 300px;\n\t\theight: 300px;\n\t\toverflow: hidden;\n\n\t\t&-buttons {\n\t\t\twidth: 100%;\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t}\n\n\t\t&::v-deep .cropper-view-box {\n\t\t\tborder-radius: 50%;\n\t\t}\n\t}\n}\n\ninput[type=\"file\"] {\n\tdisplay: none;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvatarSection.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!./AvatarSection.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!./AvatarSection.vue?vue&type=style&index=0&id=cd78cbb2&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!./AvatarSection.vue?vue&type=style&index=0&id=cd78cbb2&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AvatarSection.vue?vue&type=template&id=cd78cbb2&scoped=true&\"\nimport script from \"./AvatarSection.vue?vue&type=script&lang=js&\"\nexport * from \"./AvatarSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AvatarSection.vue?vue&type=style&index=0&id=cd78cbb2&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 \"cd78cbb2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',{attrs:{\"id\":\"vue-avatar-section\"}},[_c('h3',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'Your profile information'))+\"\\n\\t\")]),_vm._v(\" \"),_c('HeaderBar',{attrs:{\"input-id\":_vm.avatarChangeSupported ? _vm.inputId : null,\"readable\":_vm.avatar.readable,\"scope\":_vm.avatar.scope},on:{\"update:scope\":function($event){return _vm.$set(_vm.avatar, \"scope\", $event)}}}),_vm._v(\" \"),(!_vm.showCropper)?_c('div',{staticClass:\"avatar__container\"},[_c('div',{staticClass:\"avatar__preview\"},[(!_vm.loading)?_c('NcAvatar',{key:_vm.version,attrs:{\"user\":_vm.userId,\"aria-label\":_vm.t('settings', 'Your profile picture'),\"disabled-menu\":true,\"disabled-tooltip\":true,\"show-user-status\":false,\"size\":180}}):_c('div',{staticClass:\"icon-loading\"})],1),_vm._v(\" \"),(_vm.avatarChangeSupported)?[_c('div',{staticClass:\"avatar__buttons\"},[_c('NcButton',{attrs:{\"aria-label\":_vm.t('settings', 'Upload profile picture')},on:{\"click\":_vm.activateLocalFilePicker},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Upload',{attrs:{\"size\":20}})]},proxy:true}],null,false,1329850251)}),_vm._v(\" \"),_c('NcButton',{attrs:{\"aria-label\":_vm.t('settings', 'Choose profile picture from Files')},on:{\"click\":_vm.openFilePicker},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Folder',{attrs:{\"size\":20}})]},proxy:true}],null,false,4270628382)}),_vm._v(\" \"),(!_vm.isGenerated)?_c('NcButton',{attrs:{\"aria-label\":_vm.t('settings', 'Remove profile picture')},on:{\"click\":_vm.removeAvatar},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Delete',{attrs:{\"size\":20}})]},proxy:true}],null,false,2705356561)}):_vm._e()],1),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.t('settings', 'The file must be a PNG or JPG')))]),_vm._v(\" \"),_c('input',{ref:\"input\",attrs:{\"id\":_vm.inputId,\"type\":\"file\",\"accept\":_vm.validMimeTypes.join(',')},on:{\"change\":_vm.onChange}})]:_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Picture provided by original account'))+\"\\n\\t\\t\")])],2):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showCropper),expression:\"showCropper\"}],staticClass:\"avatar__container\"},[_c('VueCropper',_vm._b({ref:\"cropper\",staticClass:\"avatar__cropper\"},'VueCropper',_vm.cropperOptions,false)),_vm._v(\" \"),_c('div',{staticClass:\"avatar__cropper-buttons\"},[_c('NcButton',{on:{\"click\":_vm.cancel}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Cancel'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.saveAvatar}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Set as profile picture'))+\"\\n\\t\\t\\t\")])],1),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Please note that it can take up to 24 hours for your profile picture to be updated everywhere.')))])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Account.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Account.vue?vue&type=script&lang=js&\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon account-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"AccountIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./Account.vue?vue&type=template&id=36de906a&\"\nimport script from \"./Account.vue?vue&type=script&lang=js&\"\nexport * from \"./Account.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon account-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14Z\"}},[(_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!./CircleSlice3.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./CircleSlice3.vue?vue&type=script&lang=js&\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon circle-slice3-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M12 5C15.87 5 19 8.13 19 12C19 13.93 18.22 15.68 16.95 16.95L12 12V5Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"CircleSlice3Icon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./CircleSlice3.vue?vue&type=template&id=1fce5ff4&\"\nimport script from \"./CircleSlice3.vue?vue&type=script&lang=js&\"\nexport * from \"./CircleSlice3.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 circle-slice3-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M12 5C15.87 5 19 8.13 19 12C19 13.93 18.22 15.68 16.95 16.95L12 12V5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section>\n\t\t<HeaderBar :is-heading=\"true\" :readable=\"t('settings', 'Details')\" />\n\n\t\t<div class=\"details\">\n\t\t\t<div class=\"details__groups\">\n\t\t\t\t<Account :size=\"20\" />\n\t\t\t\t<div class=\"details__groups-info\">\n\t\t\t\t\t<p>{{ t('settings', 'You are a member of the following groups:') }}</p>\n\t\t\t\t\t<p class=\"details__groups-list\">\n\t\t\t\t\t\t{{ groups.join(', ') }}\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"details__quota\">\n\t\t\t\t<CircleSlice :size=\"20\" />\n\t\t\t\t<div class=\"details__quota-info\">\n\t\t\t\t\t<p class=\"details__quota-text\" v-html=\"quotaText\" />\n\t\t\t\t\t<NcProgressBar size=\"medium\"\n\t\t\t\t\t\t:value=\"usageRelative\"\n\t\t\t\t\t\t:error=\"usageRelative > 80\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</section>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\nimport NcProgressBar from '@nextcloud/vue/dist/Components/NcProgressBar.js'\n\nimport Account from 'vue-material-design-icons/Account.vue'\nimport CircleSlice from 'vue-material-design-icons/CircleSlice3.vue'\n\nimport HeaderBar from './shared/HeaderBar.vue'\n\n/** SYNC to be kept in sync with `lib/public/Files/FileInfo.php` */\nconst SPACE_UNLIMITED = -3\n\nconst { groups, quota, totalSpace, usage, usageRelative } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'DetailsSection',\n\n\tcomponents: {\n\t\tAccount,\n\t\tCircleSlice,\n\t\tHeaderBar,\n\t\tNcProgressBar,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tgroups,\n\t\t\tusageRelative,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tquotaText() {\n\t\t\tif (quota === SPACE_UNLIMITED) {\n\t\t\t\treturn t('settings', 'You are using <strong>{usage}</strong>', { usage })\n\t\t\t}\n\t\t\treturn t(\n\t\t\t\t'settings',\n\t\t\t\t'You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)',\n\t\t\t\t{ usage, totalSpace, usageRelative },\n\t\t\t)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.details {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin: 10px 32px 10px 0;\n\tgap: 16px 0;\n\tcolor: var(--color-text-lighter);\n\n\t&__groups,\n\t&__quota {\n\t\tdisplay: flex;\n\t\tgap: 0 10px;\n\n\t\t&-info {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\twidth: 100%;\n\t\t\tgap: 4px 0;\n\t\t}\n\n\t\t&-list {\n\t\t\tfont-weight: bold;\n\t\t}\n\n\t\t&::v-deep .material-design-icon {\n\t\t\talign-self: flex-start;\n\t\t\tmargin-top: 2px;\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsSection.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!./DetailsSection.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!./DetailsSection.vue?vue&type=style&index=0&id=f432848e&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!./DetailsSection.vue?vue&type=style&index=0&id=f432848e&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./DetailsSection.vue?vue&type=template&id=f432848e&scoped=true&\"\nimport script from \"./DetailsSection.vue?vue&type=script&lang=js&\"\nexport * from \"./DetailsSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DetailsSection.vue?vue&type=style&index=0&id=f432848e&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 \"f432848e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',[_c('HeaderBar',{attrs:{\"is-heading\":true,\"readable\":_vm.t('settings', 'Details')}}),_vm._v(\" \"),_c('div',{staticClass:\"details\"},[_c('div',{staticClass:\"details__groups\"},[_c('Account',{attrs:{\"size\":20}}),_vm._v(\" \"),_c('div',{staticClass:\"details__groups-info\"},[_c('p',[_vm._v(_vm._s(_vm.t('settings', 'You are a member of the following groups:')))]),_vm._v(\" \"),_c('p',{staticClass:\"details__groups-list\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.groups.join(', '))+\"\\n\\t\\t\\t\\t\")])])],1),_vm._v(\" \"),_c('div',{staticClass:\"details__quota\"},[_c('CircleSlice',{attrs:{\"size\":20}}),_vm._v(\" \"),_c('div',{staticClass:\"details__quota-info\"},[_c('p',{staticClass:\"details__quota-text\",domProps:{\"innerHTML\":_vm._s(_vm.quotaText)}}),_vm._v(\" \"),_c('NcProgressBar',{attrs:{\"size\":\"medium\",\"value\":_vm.usageRelative,\"error\":_vm.usageRelative > 80}})],1)],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./AlertOctagon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AlertOctagon.vue?vue&type=script&lang=js&\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon alert-octagon-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M13 13H11V7H13M11 15H13V17H11M15.73 3H8.27L3 8.27V15.73L8.27 21H15.73L21 15.73V8.27L15.73 3Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"AlertOctagonIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./AlertOctagon.vue?vue&type=template&id=77c3fb81&\"\nimport script from \"./AlertOctagon.vue?vue&type=script&lang=js&\"\nexport * from \"./AlertOctagon.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 alert-octagon-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M13 13H11V7H13M11 15H13V17H11M15.73 3H8.27L3 8.27V15.73L8.27 21H15.73L21 15.73V8.27L15.73 3Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section>\n\t\t<HeaderBar :scope.sync=\"scope\"\n\t\t\t:readable.sync=\"readable\"\n\t\t\t:input-id=\"inputId\"\n\t\t\t:is-editable=\"isEditable\" />\n\n\t\t<div v-if=\"isEditable\" class=\"property\">\n\t\t\t<textarea v-if=\"multiLine\"\n\t\t\t\t:id=\"inputId\"\n\t\t\t\t:placeholder=\"placeholder\"\n\t\t\t\t:value=\"value\"\n\t\t\t\trows=\"8\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\tspellcheck=\"false\"\n\t\t\t\t@input=\"onPropertyChange\" />\n\t\t\t<input v-else\n\t\t\t\t:id=\"inputId\"\n\t\t\t\tref=\"input\"\n\t\t\t\t:placeholder=\"placeholder\"\n\t\t\t\t:type=\"type\"\n\t\t\t\t:value=\"value\"\n\t\t\t\t:aria-describedby=\"helperText ? `${name}-helper-text` : ''\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tspellcheck=\"false\"\n\t\t\t\t:autocomplete=\"autocomplete\"\n\t\t\t\t@input=\"onPropertyChange\">\n\n\t\t\t<div class=\"property__actions-container\">\n\t\t\t\t<transition name=\"fade\">\n\t\t\t\t\t<Check v-if=\"showCheckmarkIcon\" :size=\"20\" />\n\t\t\t\t\t<AlertOctagon v-else-if=\"showErrorIcon\" :size=\"20\" />\n\t\t\t\t</transition>\n\t\t\t</div>\n\t\t</div>\n\t\t<span v-else>\n\t\t\t{{ value || t('settings', 'No {property} set', { property: readable.toLocaleLowerCase() }) }}\n\t\t</span>\n\n\t\t<p v-if=\"helperText\"\n\t\t\t:id=\"`${name}-helper-text`\"\n\t\t\tclass=\"property__helper-text-message property__helper-text-message--error\">\n\t\t\t<AlertCircle class=\"property__helper-text-message__icon\" :size=\"18\" />\n\t\t\t{{ helperText }}\n\t\t</p>\n\t</section>\n</template>\n\n<script>\nimport debounce from 'debounce'\n\nimport AlertCircle from 'vue-material-design-icons/AlertCircleOutline.vue'\nimport AlertOctagon from 'vue-material-design-icons/AlertOctagon.vue'\nimport Check from 'vue-material-design-icons/Check.vue'\n\nimport HeaderBar from '../shared/HeaderBar.vue'\n\nimport { savePrimaryAccountProperty } from '../../../service/PersonalInfo/PersonalInfoService.js'\nimport { handleError } from '../../../utils/handlers.js'\n\nexport default {\n\tname: 'AccountPropertySection',\n\n\tcomponents: {\n\t\tAlertCircle,\n\t\tAlertOctagon,\n\t\tCheck,\n\t\tHeaderBar,\n\t},\n\n\tprops: {\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tscope: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\treadable: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'text',\n\t\t},\n\t\tisEditable: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tmultiLine: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tonValidate: {\n\t\t\ttype: Function,\n\t\t\tdefault: null,\n\t\t},\n\t\tonSave: {\n\t\t\ttype: Function,\n\t\t\tdefault: null,\n\t\t},\n\t\tautocomplete: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tinitialValue: this.value,\n\t\t\thelperText: null,\n\t\t\tshowCheckmarkIcon: false,\n\t\t\tshowErrorIcon: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tinputId() {\n\t\t\treturn `account-property-${this.name}`\n\t\t},\n\t},\n\n\tmethods: {\n\t\tonPropertyChange(e) {\n\t\t\tthis.$emit('update:value', e.target.value)\n\t\t\tthis.debouncePropertyChange(e.target.value.trim())\n\t\t},\n\n\t\tdebouncePropertyChange: debounce(async function(value) {\n\t\t\tthis.helperText = null\n\t\t\tif (this.$refs.input && this.$refs.input.validationMessage) {\n\t\t\t\tthis.helperText = this.$refs.input.validationMessage\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (this.onValidate && !this.onValidate(value)) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tawait this.updateProperty(value)\n\t\t}, 500),\n\n\t\tasync updateProperty(value) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryAccountProperty(\n\t\t\t\t\tthis.name,\n\t\t\t\t\tvalue,\n\t\t\t\t)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tvalue,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update {property}', { property: this.readable.toLocaleLowerCase() }),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ value, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\tthis.initialValue = value\n\t\t\t\tif (this.onSave) {\n\t\t\t\t\tthis.onSave(value)\n\t\t\t\t}\n\t\t\t\tthis.showCheckmarkIcon = true\n\t\t\t\tsetTimeout(() => { this.showCheckmarkIcon = false }, 2000)\n\t\t\t} else {\n\t\t\t\tthis.$emit('update:value', this.initialValue)\n\t\t\t\thandleError(error, errorMessage)\n\t\t\t\tthis.showErrorIcon = true\n\t\t\t\tsetTimeout(() => { this.showErrorIcon = false }, 2000)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n\n\t.property {\n\t\tdisplay: grid;\n\t\talign-items: center;\n\n\t\ttextarea {\n\t\t\tresize: vertical;\n\t\t\tgrid-area: 1 / 1;\n\t\t\twidth: 100%;\n\t\t}\n\n\t\tinput {\n\t\t\tgrid-area: 1 / 1;\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t.property__actions-container {\n\t\t\tgrid-area: 1 / 1;\n\t\t\tjustify-self: flex-end;\n\t\t\talign-self: flex-end;\n\t\t\theight: 30px;\n\n\t\t\tdisplay: flex;\n\t\t\tgap: 0 2px;\n\t\t\tmargin-right: 5px;\n\t\t\tmargin-bottom: 5px;\n\t\t}\n\t}\n\n\t.property__helper-text-message {\n\t\tpadding: 4px 0;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\n\t\t&__icon {\n\t\t\tmargin-right: 8px;\n\t\t\talign-self: start;\n\t\t\tmargin-top: 4px;\n\t\t}\n\n\t\t&--error {\n\t\t\tcolor: var(--color-error);\n\t\t}\n\t}\n\n\t.fade-enter,\n\t.fade-leave-to {\n\t\topacity: 0;\n\t}\n\n\t.fade-enter-active {\n\t\ttransition: opacity 200ms ease-out;\n\t}\n\n\t.fade-leave-active {\n\t\ttransition: opacity 300ms ease-out;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountPropertySection.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!./AccountPropertySection.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!./AccountPropertySection.vue?vue&type=style&index=0&id=45da213c&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!./AccountPropertySection.vue?vue&type=style&index=0&id=45da213c&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AccountPropertySection.vue?vue&type=template&id=45da213c&scoped=true&\"\nimport script from \"./AccountPropertySection.vue?vue&type=script&lang=js&\"\nexport * from \"./AccountPropertySection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AccountPropertySection.vue?vue&type=style&index=0&id=45da213c&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 \"45da213c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',[_c('HeaderBar',{attrs:{\"scope\":_vm.scope,\"readable\":_vm.readable,\"input-id\":_vm.inputId,\"is-editable\":_vm.isEditable},on:{\"update:scope\":function($event){_vm.scope=$event},\"update:readable\":function($event){_vm.readable=$event}}}),_vm._v(\" \"),(_vm.isEditable)?_c('div',{staticClass:\"property\"},[(_vm.multiLine)?_c('textarea',{attrs:{\"id\":_vm.inputId,\"placeholder\":_vm.placeholder,\"rows\":\"8\",\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"spellcheck\":\"false\"},domProps:{\"value\":_vm.value},on:{\"input\":_vm.onPropertyChange}}):_c('input',{ref:\"input\",attrs:{\"id\":_vm.inputId,\"placeholder\":_vm.placeholder,\"type\":_vm.type,\"aria-describedby\":_vm.helperText ? `${_vm.name}-helper-text` : '',\"autocapitalize\":\"none\",\"spellcheck\":\"false\",\"autocomplete\":_vm.autocomplete},domProps:{\"value\":_vm.value},on:{\"input\":_vm.onPropertyChange}}),_vm._v(\" \"),_c('div',{staticClass:\"property__actions-container\"},[_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.showCheckmarkIcon)?_c('Check',{attrs:{\"size\":20}}):(_vm.showErrorIcon)?_c('AlertOctagon',{attrs:{\"size\":20}}):_vm._e()],1)],1)]):_c('span',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.value || _vm.t('settings', 'No {property} set', { property: _vm.readable.toLocaleLowerCase() }))+\"\\n\\t\")]),_vm._v(\" \"),(_vm.helperText)?_c('p',{staticClass:\"property__helper-text-message property__helper-text-message--error\",attrs:{\"id\":`${_vm.name}-helper-text`}},[_c('AlertCircle',{staticClass:\"property__helper-text-message__icon\",attrs:{\"size\":18}}),_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.helperText)+\"\\n\\t\")],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"displayName\"\n\t\t:placeholder=\"t('settings', 'Your full name')\"\n\t\tautocomplete=\"username\"\n\t\t:is-editable=\"displayNameChangeSupported\"\n\t\t:on-validate=\"onValidate\"\n\t\t:on-save=\"onSave\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\nimport { emit } from '@nextcloud/event-bus'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { displayName } = loadState('settings', 'personalInfoParameters', {})\nconst { displayNameChangeSupported } = loadState('settings', 'accountParameters', {})\n\nexport default {\n\tname: 'DisplayNameSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tdisplayName: { ...displayName, readable: NAME_READABLE_ENUM[displayName.name] },\n\t\t\tdisplayNameChangeSupported,\n\t\t}\n\t},\n\n\tmethods: {\n\t\tonValidate(value) {\n\t\t\treturn value !== ''\n\t\t},\n\n\t\tonSave(value) {\n\t\t\tif (oc_userconfig.avatar.generated) {\n\t\t\t\t// Update the avatar version so that avatar update handlers refresh correctly\n\t\t\t\toc_userconfig.avatar.version = Date.now()\n\t\t\t}\n\t\t\temit('settings:display-name:updated', value)\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DisplayNameSection.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!./DisplayNameSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DisplayNameSection.vue?vue&type=template&id=5a039493&\"\nimport script from \"./DisplayNameSection.vue?vue&type=script&lang=js&\"\nexport * from \"./DisplayNameSection.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('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your full name'),\"autocomplete\":\"username\",\"is-editable\":_vm.displayNameChangeSupported,\"on-validate\":_vm.onValidate,\"on-save\":_vm.onSave}},'AccountPropertySection',_vm.displayName,false,true))\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2021, Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\n\nimport { ACCOUNT_PROPERTY_ENUM, SCOPE_SUFFIX } from '../../constants/AccountPropertyConstants.js'\n\n/**\n * Save the primary email of the user\n *\n * @param {string} email the primary email\n * @return {object}\n */\nexport const savePrimaryEmail = async (email) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: ACCOUNT_PROPERTY_ENUM.EMAIL,\n\t\tvalue: email,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Save an additional email of the user\n *\n * Will be appended to the user's additional emails*\n *\n * @param {string} email the additional email\n * @return {object}\n */\nexport const saveAdditionalEmail = async (email) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: ACCOUNT_PROPERTY_ENUM.EMAIL_COLLECTION,\n\t\tvalue: email,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Save the notification email of the user\n *\n * @param {string} email the notification email\n * @return {object}\n */\nexport const saveNotificationEmail = async (email) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: ACCOUNT_PROPERTY_ENUM.NOTIFICATION_EMAIL,\n\t\tvalue: email,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Remove an additional email of the user\n *\n * @param {string} email the additional email\n * @return {object}\n */\nexport const removeAdditionalEmail = async (email) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}/{collection}', { userId, collection: ACCOUNT_PROPERTY_ENUM.EMAIL_COLLECTION })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: email,\n\t\tvalue: '',\n\t})\n\n\treturn res.data\n}\n\n/**\n * Update an additional email of the user\n *\n * @param {string} prevEmail the additional email to be updated\n * @param {string} newEmail the new additional email\n * @return {object}\n */\nexport const updateAdditionalEmail = async (prevEmail, newEmail) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}/{collection}', { userId, collection: ACCOUNT_PROPERTY_ENUM.EMAIL_COLLECTION })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: prevEmail,\n\t\tvalue: newEmail,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Save the federation scope for the primary email of the user\n *\n * @param {string} scope the federation scope\n * @return {object}\n */\nexport const savePrimaryEmailScope = async (scope) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: `${ACCOUNT_PROPERTY_ENUM.EMAIL}${SCOPE_SUFFIX}`,\n\t\tvalue: scope,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Save the federation scope for the additional email of the user\n *\n * @param {string} email the additional email\n * @param {string} scope the federation scope\n * @return {object}\n */\nexport const saveAdditionalEmailScope = async (email, scope) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}/{collectionScope}', { userId, collectionScope: `${ACCOUNT_PROPERTY_ENUM.EMAIL_COLLECTION}${SCOPE_SUFFIX}` })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: email,\n\t\tvalue: scope,\n\t})\n\n\treturn res.data\n}\n","/**\n * @copyright 2021, Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/*\n * Frontend validators, less strict than backend validators\n *\n * TODO add nice validation errors for Profile page settings modal\n */\n\nimport { VALIDATE_EMAIL_REGEX } from '../constants/AccountPropertyConstants.js'\n\n/**\n * Validate the email input\n *\n * Compliant with PHP core FILTER_VALIDATE_EMAIL validator*\n *\n * Reference implementation https://github.com/mpyw/FILTER_VALIDATE_EMAIL.js/blob/71e62ca48841d2246a1b531e7e84f5a01f15e615/src/index.ts*\n *\n * @param {string} input the input\n * @return {boolean}\n */\nexport function validateEmail(input) {\n\treturn typeof input === 'string'\n\t\t&& VALIDATE_EMAIL_REGEX.test(input)\n\t\t&& input.slice(-1) !== '\\n'\n\t\t&& input.length <= 320\n\t\t&& encodeURIComponent(input).replace(/%../g, 'x').length <= 320\n}\n\n/**\n * Validate the URL input\n *\n * @param {string} input the input\n * @return {boolean}\n */\nexport function validateUrl(input) {\n\ttry {\n\t\t// eslint-disable-next-line no-new\n\t\tnew URL(input)\n\t\treturn true\n\t} catch (e) {\n\t\treturn false\n\t}\n}\n\n/**\n * Validate the language input\n *\n * @param {object} input the input\n * @return {boolean}\n */\nexport function validateLanguage(input) {\n\treturn input.code !== ''\n\t\t&& input.name !== ''\n\t\t&& input.name !== undefined\n}\n\n/**\n * Validate the locale input\n *\n * @param {object} input the input\n * @return {boolean}\n */\nexport function validateLocale(input) {\n\treturn input.code !== ''\n\t\t&& input.name !== ''\n\t\t&& input.name !== undefined\n}\n\n/**\n * Validate boolean input\n *\n * @param {boolean} input the input\n * @return {boolean}\n */\nexport function validateBoolean(input) {\n\treturn typeof input === 'boolean'\n}\n","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<div>\n\t\t<div class=\"email\">\n\t\t\t<input :id=\"inputId\"\n\t\t\t\tref=\"email\"\n\t\t\t\ttype=\"email\"\n\t\t\t\tautocomplete=\"email\"\n\t\t\t\t:placeholder=\"inputPlaceholder\"\n\t\t\t\t:value=\"email\"\n\t\t\t\t:aria-describedby=\"helperText ? `${inputId}-helper-text` : ''\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tspellcheck=\"false\"\n\t\t\t\t@input=\"onEmailChange\">\n\n\t\t\t<div class=\"email__actions-container\">\n\t\t\t\t<transition name=\"fade\">\n\t\t\t\t\t<Check v-if=\"showCheckmarkIcon\" :size=\"20\" />\n\t\t\t\t\t<AlertOctagon v-else-if=\"showErrorIcon\" :size=\"20\" />\n\t\t\t\t</transition>\n\n\t\t\t\t<template v-if=\"!primary\">\n\t\t\t\t\t<FederationControl :readable=\"propertyReadable\"\n\t\t\t\t\t\t:additional=\"true\"\n\t\t\t\t\t\t:additional-value=\"email\"\n\t\t\t\t\t\t:disabled=\"federationDisabled\"\n\t\t\t\t\t\t:handle-additional-scope-change=\"saveAdditionalEmailScope\"\n\t\t\t\t\t\t:scope.sync=\"localScope\"\n\t\t\t\t\t\t@update:scope=\"onScopeChange\" />\n\t\t\t\t</template>\n\n\t\t\t\t<NcActions class=\"email__actions\"\n\t\t\t\t\t:aria-label=\"t('settings', 'Email options')\"\n\t\t\t\t\t:force-menu=\"true\">\n\t\t\t\t\t<NcActionButton :aria-label=\"deleteEmailLabel\"\n\t\t\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t\t\t:disabled=\"deleteDisabled\"\n\t\t\t\t\t\ticon=\"icon-delete\"\n\t\t\t\t\t\t@click.stop.prevent=\"deleteEmail\">\n\t\t\t\t\t\t{{ deleteEmailLabel }}\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t<NcActionButton v-if=\"!primary || !isNotificationEmail\"\n\t\t\t\t\t\t:aria-label=\"setNotificationMailLabel\"\n\t\t\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t\t\t:disabled=\"setNotificationMailDisabled\"\n\t\t\t\t\t\ticon=\"icon-favorite\"\n\t\t\t\t\t\t@click.stop.prevent=\"setNotificationMail\">\n\t\t\t\t\t\t{{ setNotificationMailLabel }}\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t</NcActions>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<p v-if=\"helperText\"\n\t\t\t:id=\"`${inputId}-helper-text`\"\n\t\t\tclass=\"email__helper-text-message email__helper-text-message--error\">\n\t\t\t<AlertCircle class=\"email__helper-text-message__icon\" :size=\"18\" />\n\t\t\t{{ helperText }}\n\t\t</p>\n\n\t\t<em v-if=\"isNotificationEmail\">\n\t\t\t{{ t('settings', 'Primary email for password reset and notifications') }}\n\t\t</em>\n\t</div>\n</template>\n\n<script>\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions.js'\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\nimport AlertCircle from 'vue-material-design-icons/AlertCircleOutline.vue'\nimport AlertOctagon from 'vue-material-design-icons/AlertOctagon.vue'\nimport Check from 'vue-material-design-icons/Check.vue'\nimport debounce from 'debounce'\n\nimport FederationControl from '../shared/FederationControl.vue'\nimport { handleError } from '../../../utils/handlers.js'\n\nimport { ACCOUNT_PROPERTY_READABLE_ENUM, VERIFICATION_ENUM } from '../../../constants/AccountPropertyConstants.js'\nimport {\n\tremoveAdditionalEmail,\n\tsaveAdditionalEmail,\n\tsaveAdditionalEmailScope,\n\tsaveNotificationEmail,\n\tsavePrimaryEmail,\n\tupdateAdditionalEmail,\n} from '../../../service/PersonalInfo/EmailService.js'\nimport { validateEmail } from '../../../utils/validate.js'\n\nexport default {\n\tname: 'Email',\n\n\tcomponents: {\n\t\tNcActions,\n\t\tNcActionButton,\n\t\tAlertCircle,\n\t\tAlertOctagon,\n\t\tCheck,\n\t\tFederationControl,\n\t},\n\n\tprops: {\n\t\temail: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tindex: {\n\t\t\ttype: Number,\n\t\t\tdefault: 0,\n\t\t},\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tscope: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tactiveNotificationEmail: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tlocalVerificationState: {\n\t\t\ttype: Number,\n\t\t\tdefault: VERIFICATION_ENUM.NOT_VERIFIED,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tpropertyReadable: ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL,\n\t\t\tinitialEmail: this.email,\n\t\t\tlocalScope: this.scope,\n\t\t\tsaveAdditionalEmailScope,\n\t\t\thelperText: null,\n\t\t\tshowCheckmarkIcon: false,\n\t\t\tshowErrorIcon: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tdeleteDisabled() {\n\t\t\tif (this.primary) {\n\t\t\t\t// Disable for empty primary email as there is nothing to delete\n\t\t\t\t// OR when initialEmail (reflects server state) and email (current input) are not the same\n\t\t\t\treturn this.email === '' || this.initialEmail !== this.email\n\t\t\t} else if (this.initialEmail !== '') {\n\t\t\t\treturn this.initialEmail !== this.email\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\n\t\tdeleteEmailLabel() {\n\t\t\tif (this.primary) {\n\t\t\t\treturn t('settings', 'Remove primary email')\n\t\t\t}\n\t\t\treturn t('settings', 'Delete email')\n\t\t},\n\n\t setNotificationMailDisabled() {\n\t\t\treturn !this.primary && this.localVerificationState !== VERIFICATION_ENUM.VERIFIED\n\t\t},\n\n\t setNotificationMailLabel() {\n\t\t\tif (this.isNotificationEmail) {\n\t\t\t\treturn t('settings', 'Unset as primary email')\n\t\t\t} else if (!this.primary && this.localVerificationState !== VERIFICATION_ENUM.VERIFIED) {\n\t\t\t\treturn t('settings', 'This address is not confirmed')\n\t\t\t}\n\t\t\treturn t('settings', 'Set as primary email')\n\t\t},\n\n\t\tfederationDisabled() {\n\t\t\treturn !this.initialEmail\n\t\t},\n\n\t\tinputId() {\n\t\t\tif (this.primary) {\n\t\t\t\treturn 'email'\n\t\t\t}\n\t\t\treturn `email-${this.index}`\n\t\t},\n\n\t\tinputPlaceholder() {\n\t\t\tif (this.primary) {\n\t\t\t\treturn t('settings', 'Your email address')\n\t\t\t}\n\t\t\treturn t('settings', 'Additional email address {index}', { index: this.index + 1 })\n\t\t},\n\n\t\tisNotificationEmail() {\n\t\t\treturn (this.email && this.email === this.activeNotificationEmail)\n\t\t\t\t|| (this.primary && this.activeNotificationEmail === '')\n\t\t},\n\t},\n\n\tmounted() {\n\t\tif (!this.primary && this.initialEmail === '') {\n\t\t\t// $nextTick is needed here, otherwise it may not always work https://stackoverflow.com/questions/51922767/autofocus-input-on-mount-vue-ios/63485725#63485725\n\t\t\tthis.$nextTick(() => this.$refs.email?.focus())\n\t\t}\n\t},\n\n\tmethods: {\n\t\tonEmailChange(e) {\n\t\t\tthis.$emit('update:email', e.target.value)\n\t\t\tthis.debounceEmailChange(e.target.value.trim())\n\t\t},\n\n\t\tdebounceEmailChange: debounce(async function(email) {\n\t\t\tthis.helperText = null\n\t\t\tif (this.$refs.email?.validationMessage) {\n\t\t\t\tthis.helperText = this.$refs.email.validationMessage\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (validateEmail(email) || email === '') {\n\t\t\t\tif (this.primary) {\n\t\t\t\t\tawait this.updatePrimaryEmail(email)\n\t\t\t\t} else {\n\t\t\t\t\tif (email) {\n\t\t\t\t\t\tif (this.initialEmail === '') {\n\t\t\t\t\t\t\tawait this.addAdditionalEmail(email)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tawait this.updateAdditionalEmail(email)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}, 500),\n\n\t\tasync deleteEmail() {\n\t\t\tif (this.primary) {\n\t\t\t\tthis.$emit('update:email', '')\n\t\t\t\tawait this.updatePrimaryEmail('')\n\t\t\t} else {\n\t\t\t\tawait this.deleteAdditionalEmail()\n\t\t\t}\n\t\t},\n\n\t\tasync updatePrimaryEmail(email) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryEmail(email)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\temail,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tif (email === '') {\n\t\t\t\t\tthis.handleResponse({\n\t\t\t\t\t\terrorMessage: t('settings', 'Unable to delete primary email address'),\n\t\t\t\t\t\terror: e,\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\tthis.handleResponse({\n\t\t\t\t\t\terrorMessage: t('settings', 'Unable to update primary email address'),\n\t\t\t\t\t\terror: e,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tasync addAdditionalEmail(email) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await saveAdditionalEmail(email)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\temail,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to add additional email address'),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\tasync setNotificationMail() {\n\t\t try {\n\t\t\t const newNotificationMailValue = (this.primary || this.isNotificationEmail) ? '' : this.initialEmail\n\t\t\t const responseData = await saveNotificationEmail(newNotificationMailValue)\n\t\t\t this.handleResponse({\n\t\t\t\t notificationEmail: newNotificationMailValue,\n\t\t\t\t status: responseData.ocs?.meta?.status,\n\t\t\t })\n\t\t } catch (e) {\n\t\t\t this.handleResponse({\n\t\t\t\t errorMessage: 'Unable to choose this email for notifications',\n\t\t\t\t error: e,\n\t\t\t })\n\t\t }\n\t\t},\n\n\t\tasync updateAdditionalEmail(email) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await updateAdditionalEmail(this.initialEmail, email)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\temail,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update additional email address'),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\tasync deleteAdditionalEmail() {\n\t\t\ttry {\n\t\t\t\tconst responseData = await removeAdditionalEmail(this.initialEmail)\n\t\t\t\tthis.handleDeleteAdditionalEmail(responseData.ocs?.meta?.status)\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to delete additional email address'),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\thandleDeleteAdditionalEmail(status) {\n\t\t\tif (status === 'ok') {\n\t\t\t\tthis.$emit('delete-additional-email')\n\t\t\t} else {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to delete additional email address'),\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ email, notificationEmail, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\t// Ensure that local state reflects server state\n\t\t\t\tif (email) {\n\t\t\t\t\tthis.initialEmail = email\n\t\t\t\t} else if (notificationEmail !== undefined) {\n\t\t\t\t\tthis.$emit('update:notification-email', notificationEmail)\n\t\t\t\t}\n\t\t\t\tthis.showCheckmarkIcon = true\n\t\t\t\tsetTimeout(() => { this.showCheckmarkIcon = false }, 2000)\n\t\t\t} else {\n\t\t\t\thandleError(error, errorMessage)\n\t\t\t\tthis.showErrorIcon = true\n\t\t\t\tsetTimeout(() => { this.showErrorIcon = false }, 2000)\n\t\t\t}\n\t\t},\n\n\t\tonScopeChange(scope) {\n\t\t\tthis.$emit('update:scope', scope)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.email {\n\tdisplay: grid;\n\talign-items: center;\n\n\tinput {\n\t\tgrid-area: 1 / 1;\n\t\twidth: 100%;\n\t}\n\n\t.email__actions-container {\n\t\tgrid-area: 1 / 1;\n\t\tjustify-self: flex-end;\n\t\theight: 30px;\n\n\t\tdisplay: flex;\n\t\tgap: 0 2px;\n\t\tmargin-right: 5px;\n\n\t\t.email__actions {\n\t\t\t&:hover,\n\t\t\t&:focus,\n\t\t\t&:active {\n\t\t\t\topacity: 0.8 !important;\n\t\t\t}\n\n\t\t\t&::v-deep button {\n\t\t\t\theight: 30px !important;\n\t\t\t\tmin-height: 30px !important;\n\t\t\t\twidth: 30px !important;\n\t\t\t\tmin-width: 30px !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__helper-text-message {\n\t\tpadding: 4px 0;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\n\t\t&__icon {\n\t\t\tmargin-right: 8px;\n\t\t\talign-self: start;\n\t\t\tmargin-top: 4px;\n\t\t}\n\n\t\t&--error {\n\t\t\tcolor: var(--color-error);\n\t\t}\n\t}\n}\n\n.fade-enter,\n.fade-leave-to {\n\topacity: 0;\n}\n\n.fade-enter-active {\n\ttransition: opacity 200ms ease-out;\n}\n\n.fade-leave-active {\n\ttransition: opacity 300ms ease-out;\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Email.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!./Email.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!./Email.vue?vue&type=style&index=0&id=01402aef&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!./Email.vue?vue&type=style&index=0&id=01402aef&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Email.vue?vue&type=template&id=01402aef&scoped=true&\"\nimport script from \"./Email.vue?vue&type=script&lang=js&\"\nexport * from \"./Email.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Email.vue?vue&type=style&index=0&id=01402aef&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 \"01402aef\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"email\"},[_c('input',{ref:\"email\",attrs:{\"id\":_vm.inputId,\"type\":\"email\",\"autocomplete\":\"email\",\"placeholder\":_vm.inputPlaceholder,\"aria-describedby\":_vm.helperText ? `${_vm.inputId}-helper-text` : '',\"autocapitalize\":\"none\",\"spellcheck\":\"false\"},domProps:{\"value\":_vm.email},on:{\"input\":_vm.onEmailChange}}),_vm._v(\" \"),_c('div',{staticClass:\"email__actions-container\"},[_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.showCheckmarkIcon)?_c('Check',{attrs:{\"size\":20}}):(_vm.showErrorIcon)?_c('AlertOctagon',{attrs:{\"size\":20}}):_vm._e()],1),_vm._v(\" \"),(!_vm.primary)?[_c('FederationControl',{attrs:{\"readable\":_vm.propertyReadable,\"additional\":true,\"additional-value\":_vm.email,\"disabled\":_vm.federationDisabled,\"handle-additional-scope-change\":_vm.saveAdditionalEmailScope,\"scope\":_vm.localScope},on:{\"update:scope\":[function($event){_vm.localScope=$event},_vm.onScopeChange]}})]:_vm._e(),_vm._v(\" \"),_c('NcActions',{staticClass:\"email__actions\",attrs:{\"aria-label\":_vm.t('settings', 'Email options'),\"force-menu\":true}},[_c('NcActionButton',{attrs:{\"aria-label\":_vm.deleteEmailLabel,\"close-after-click\":true,\"disabled\":_vm.deleteDisabled,\"icon\":\"icon-delete\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.deleteEmail.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.deleteEmailLabel)+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(!_vm.primary || !_vm.isNotificationEmail)?_c('NcActionButton',{attrs:{\"aria-label\":_vm.setNotificationMailLabel,\"close-after-click\":true,\"disabled\":_vm.setNotificationMailDisabled,\"icon\":\"icon-favorite\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.setNotificationMail.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.setNotificationMailLabel)+\"\\n\\t\\t\\t\\t\")]):_vm._e()],1)],2)]),_vm._v(\" \"),(_vm.helperText)?_c('p',{staticClass:\"email__helper-text-message email__helper-text-message--error\",attrs:{\"id\":`${_vm.inputId}-helper-text`}},[_c('AlertCircle',{staticClass:\"email__helper-text-message__icon\",attrs:{\"size\":18}}),_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.helperText)+\"\\n\\t\")],1):_vm._e(),_vm._v(\" \"),(_vm.isNotificationEmail)?_c('em',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'Primary email for password reset and notifications'))+\"\\n\\t\")]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section>\n\t\t<HeaderBar :input-id=\"inputId\"\n\t\t\t:readable=\"primaryEmail.readable\"\n\t\t\t:handle-scope-change=\"savePrimaryEmailScope\"\n\t\t\t:is-editable=\"true\"\n\t\t\t:is-multi-value-supported=\"true\"\n\t\t\t:is-valid-section=\"isValidSection\"\n\t\t\t:scope.sync=\"primaryEmail.scope\"\n\t\t\t@add-additional=\"onAddAdditionalEmail\" />\n\n\t\t<template v-if=\"displayNameChangeSupported\">\n\t\t\t<Email :primary=\"true\"\n\t\t\t\t:scope.sync=\"primaryEmail.scope\"\n\t\t\t\t:email.sync=\"primaryEmail.value\"\n\t\t\t\t:active-notification-email.sync=\"notificationEmail\"\n\t\t\t\t@update:email=\"onUpdateEmail\"\n\t\t\t\t@update:notification-email=\"onUpdateNotificationEmail\" />\n\t\t</template>\n\n\t\t<span v-else>\n\t\t\t{{ primaryEmail.value || t('settings', 'No email address set') }}\n\t\t</span>\n\n\t\t<template v-if=\"additionalEmails.length\">\n\t\t\t<em class=\"additional-emails-label\">{{ t('settings', 'Additional emails') }}</em>\n\t\t\t<!-- TODO use unique key for additional email when uniqueness can be guaranteed, see https://github.com/nextcloud/server/issues/26866 -->\n\t\t\t<Email v-for=\"(additionalEmail, index) in additionalEmails\"\n\t\t\t\t:key=\"additionalEmail.key\"\n\t\t\t\t:index=\"index\"\n\t\t\t\t:scope.sync=\"additionalEmail.scope\"\n\t\t\t\t:email.sync=\"additionalEmail.value\"\n\t\t\t\t:local-verification-state=\"parseInt(additionalEmail.locallyVerified, 10)\"\n\t\t\t\t:active-notification-email.sync=\"notificationEmail\"\n\t\t\t\t@update:email=\"onUpdateEmail\"\n\t\t\t\t@update:notification-email=\"onUpdateNotificationEmail\"\n\t\t\t\t@delete-additional-email=\"onDeleteAdditionalEmail(index)\" />\n\t\t</template>\n\t</section>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport Email from './Email.vue'\nimport HeaderBar from '../shared/HeaderBar.vue'\n\nimport { ACCOUNT_PROPERTY_READABLE_ENUM, DEFAULT_ADDITIONAL_EMAIL_SCOPE, NAME_READABLE_ENUM } from '../../../constants/AccountPropertyConstants.js'\nimport { savePrimaryEmail, savePrimaryEmailScope, removeAdditionalEmail } from '../../../service/PersonalInfo/EmailService.js'\nimport { validateEmail } from '../../../utils/validate.js'\nimport { handleError } from '../../../utils/handlers.js'\n\nconst { emailMap: { additionalEmails, primaryEmail, notificationEmail } } = loadState('settings', 'personalInfoParameters', {})\nconst { displayNameChangeSupported } = loadState('settings', 'accountParameters', {})\n\nexport default {\n\tname: 'EmailSection',\n\n\tcomponents: {\n\t\tHeaderBar,\n\t\tEmail,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\taccountProperty: ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL,\n\t\t\tadditionalEmails: additionalEmails.map(properties => ({ ...properties, key: this.generateUniqueKey() })),\n\t\t\tdisplayNameChangeSupported,\n\t\t\tprimaryEmail: { ...primaryEmail, readable: NAME_READABLE_ENUM[primaryEmail.name] },\n\t\t\tsavePrimaryEmailScope,\n\t\t\tnotificationEmail,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tfirstAdditionalEmail() {\n\t\t\tif (this.additionalEmails.length) {\n\t\t\t\treturn this.additionalEmails[0].value\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\n\t\tinputId() {\n\t\t\treturn `account-property-${this.primaryEmail.name}`\n\t\t},\n\n\t\tisValidSection() {\n\t\t\treturn validateEmail(this.primaryEmail.value)\n\t\t\t\t&& this.additionalEmails.map(({ value }) => value).every(validateEmail)\n\t\t},\n\n\t\tprimaryEmailValue: {\n\t\t\tget() {\n\t\t\t\treturn this.primaryEmail.value\n\t\t\t},\n\t\t\tset(value) {\n\t\t\t\tthis.primaryEmail.value = value\n\t\t\t},\n\t\t},\n\t},\n\n\tmethods: {\n\t\tonAddAdditionalEmail() {\n\t\t\tif (this.isValidSection) {\n\t\t\t\tthis.additionalEmails.push({ value: '', scope: DEFAULT_ADDITIONAL_EMAIL_SCOPE, key: this.generateUniqueKey() })\n\t\t\t}\n\t\t},\n\n\t\tonDeleteAdditionalEmail(index) {\n\t\t\tthis.$delete(this.additionalEmails, index)\n\t\t},\n\n\t\tasync onUpdateEmail() {\n\t\t\tif (this.primaryEmailValue === '' && this.firstAdditionalEmail) {\n\t\t\t\tconst deletedEmail = this.firstAdditionalEmail\n\t\t\t\tawait this.deleteFirstAdditionalEmail()\n\t\t\t\tthis.primaryEmailValue = deletedEmail\n\t\t\t\tawait this.updatePrimaryEmail()\n\t\t\t}\n\t\t},\n\n\t\tasync onUpdateNotificationEmail(email) {\n\t\t\tthis.notificationEmail = email\n\t\t},\n\n\t\tasync updatePrimaryEmail() {\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryEmail(this.primaryEmailValue)\n\t\t\t\tthis.handleResponse(responseData.ocs?.meta?.status)\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse(\n\t\t\t\t\t'error',\n\t\t\t\t\tt('settings', 'Unable to update primary email address'),\n\t\t\t\t\te,\n\t\t\t\t)\n\t\t\t}\n\t\t},\n\n\t\tasync deleteFirstAdditionalEmail() {\n\t\t\ttry {\n\t\t\t\tconst responseData = await removeAdditionalEmail(this.firstAdditionalEmail)\n\t\t\t\tthis.handleDeleteFirstAdditionalEmail(responseData.ocs?.meta?.status)\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse(\n\t\t\t\t\t'error',\n\t\t\t\t\tt('settings', 'Unable to delete additional email address'),\n\t\t\t\t\te,\n\t\t\t\t)\n\t\t\t}\n\t\t},\n\n\t\thandleDeleteFirstAdditionalEmail(status) {\n\t\t\tif (status === 'ok') {\n\t\t\t\tthis.$delete(this.additionalEmails, 0)\n\t\t\t} else {\n\t\t\t\tthis.handleResponse(\n\t\t\t\t\t'error',\n\t\t\t\t\tt('settings', 'Unable to delete additional email address'),\n\t\t\t\t\t{},\n\t\t\t\t)\n\t\t\t}\n\t\t},\n\n\t\thandleResponse(status, errorMessage, error) {\n\t\t\tif (status !== 'ok') {\n\t\t\t\thandleError(error, errorMessage)\n\t\t\t}\n\t\t},\n\n\t\tgenerateUniqueKey() {\n\t\t\treturn Math.random().toString(36).substring(2)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n\n\t.additional-emails-label {\n\t\tdisplay: block;\n\t\tmargin-top: 16px;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailSection.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!./EmailSection.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!./EmailSection.vue?vue&type=style&index=0&id=b17ef20e&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!./EmailSection.vue?vue&type=style&index=0&id=b17ef20e&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./EmailSection.vue?vue&type=template&id=b17ef20e&scoped=true&\"\nimport script from \"./EmailSection.vue?vue&type=script&lang=js&\"\nexport * from \"./EmailSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EmailSection.vue?vue&type=style&index=0&id=b17ef20e&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 \"b17ef20e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',[_c('HeaderBar',{attrs:{\"input-id\":_vm.inputId,\"readable\":_vm.primaryEmail.readable,\"handle-scope-change\":_vm.savePrimaryEmailScope,\"is-editable\":true,\"is-multi-value-supported\":true,\"is-valid-section\":_vm.isValidSection,\"scope\":_vm.primaryEmail.scope},on:{\"update:scope\":function($event){return _vm.$set(_vm.primaryEmail, \"scope\", $event)},\"add-additional\":_vm.onAddAdditionalEmail}}),_vm._v(\" \"),(_vm.displayNameChangeSupported)?[_c('Email',{attrs:{\"primary\":true,\"scope\":_vm.primaryEmail.scope,\"email\":_vm.primaryEmail.value,\"active-notification-email\":_vm.notificationEmail},on:{\"update:scope\":function($event){return _vm.$set(_vm.primaryEmail, \"scope\", $event)},\"update:email\":[function($event){return _vm.$set(_vm.primaryEmail, \"value\", $event)},_vm.onUpdateEmail],\"update:activeNotificationEmail\":function($event){_vm.notificationEmail=$event},\"update:active-notification-email\":function($event){_vm.notificationEmail=$event},\"update:notification-email\":_vm.onUpdateNotificationEmail}})]:_c('span',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.primaryEmail.value || _vm.t('settings', 'No email address set'))+\"\\n\\t\")]),_vm._v(\" \"),(_vm.additionalEmails.length)?[_c('em',{staticClass:\"additional-emails-label\"},[_vm._v(_vm._s(_vm.t('settings', 'Additional emails')))]),_vm._v(\" \"),_vm._l((_vm.additionalEmails),function(additionalEmail,index){return _c('Email',{key:additionalEmail.key,attrs:{\"index\":index,\"scope\":additionalEmail.scope,\"email\":additionalEmail.value,\"local-verification-state\":parseInt(additionalEmail.locallyVerified, 10),\"active-notification-email\":_vm.notificationEmail},on:{\"update:scope\":function($event){return _vm.$set(additionalEmail, \"scope\", $event)},\"update:email\":[function($event){return _vm.$set(additionalEmail, \"value\", $event)},_vm.onUpdateEmail],\"update:activeNotificationEmail\":function($event){_vm.notificationEmail=$event},\"update:active-notification-email\":function($event){_vm.notificationEmail=$event},\"update:notification-email\":_vm.onUpdateNotificationEmail,\"delete-additional-email\":function($event){return _vm.onDeleteAdditionalEmail(index)}}})})]:_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// This file is a workaround for a bug in web browsers' \"native\"\n// ES6 importing system which is uncapable of importing \"*.json\" files.\n// https://github.com/catamphetamine/libphonenumber-js/issues/239\nexport default {\"version\":4,\"country_calling_codes\":{\"1\":[\"US\",\"AG\",\"AI\",\"AS\",\"BB\",\"BM\",\"BS\",\"CA\",\"DM\",\"DO\",\"GD\",\"GU\",\"JM\",\"KN\",\"KY\",\"LC\",\"MP\",\"MS\",\"PR\",\"SX\",\"TC\",\"TT\",\"VC\",\"VG\",\"VI\"],\"7\":[\"RU\",\"KZ\"],\"20\":[\"EG\"],\"27\":[\"ZA\"],\"30\":[\"GR\"],\"31\":[\"NL\"],\"32\":[\"BE\"],\"33\":[\"FR\"],\"34\":[\"ES\"],\"36\":[\"HU\"],\"39\":[\"IT\",\"VA\"],\"40\":[\"RO\"],\"41\":[\"CH\"],\"43\":[\"AT\"],\"44\":[\"GB\",\"GG\",\"IM\",\"JE\"],\"45\":[\"DK\"],\"46\":[\"SE\"],\"47\":[\"NO\",\"SJ\"],\"48\":[\"PL\"],\"49\":[\"DE\"],\"51\":[\"PE\"],\"52\":[\"MX\"],\"53\":[\"CU\"],\"54\":[\"AR\"],\"55\":[\"BR\"],\"56\":[\"CL\"],\"57\":[\"CO\"],\"58\":[\"VE\"],\"60\":[\"MY\"],\"61\":[\"AU\",\"CC\",\"CX\"],\"62\":[\"ID\"],\"63\":[\"PH\"],\"64\":[\"NZ\"],\"65\":[\"SG\"],\"66\":[\"TH\"],\"81\":[\"JP\"],\"82\":[\"KR\"],\"84\":[\"VN\"],\"86\":[\"CN\"],\"90\":[\"TR\"],\"91\":[\"IN\"],\"92\":[\"PK\"],\"93\":[\"AF\"],\"94\":[\"LK\"],\"95\":[\"MM\"],\"98\":[\"IR\"],\"211\":[\"SS\"],\"212\":[\"MA\",\"EH\"],\"213\":[\"DZ\"],\"216\":[\"TN\"],\"218\":[\"LY\"],\"220\":[\"GM\"],\"221\":[\"SN\"],\"222\":[\"MR\"],\"223\":[\"ML\"],\"224\":[\"GN\"],\"225\":[\"CI\"],\"226\":[\"BF\"],\"227\":[\"NE\"],\"228\":[\"TG\"],\"229\":[\"BJ\"],\"230\":[\"MU\"],\"231\":[\"LR\"],\"232\":[\"SL\"],\"233\":[\"GH\"],\"234\":[\"NG\"],\"235\":[\"TD\"],\"236\":[\"CF\"],\"237\":[\"CM\"],\"238\":[\"CV\"],\"239\":[\"ST\"],\"240\":[\"GQ\"],\"241\":[\"GA\"],\"242\":[\"CG\"],\"243\":[\"CD\"],\"244\":[\"AO\"],\"245\":[\"GW\"],\"246\":[\"IO\"],\"247\":[\"AC\"],\"248\":[\"SC\"],\"249\":[\"SD\"],\"250\":[\"RW\"],\"251\":[\"ET\"],\"252\":[\"SO\"],\"253\":[\"DJ\"],\"254\":[\"KE\"],\"255\":[\"TZ\"],\"256\":[\"UG\"],\"257\":[\"BI\"],\"258\":[\"MZ\"],\"260\":[\"ZM\"],\"261\":[\"MG\"],\"262\":[\"RE\",\"YT\"],\"263\":[\"ZW\"],\"264\":[\"NA\"],\"265\":[\"MW\"],\"266\":[\"LS\"],\"267\":[\"BW\"],\"268\":[\"SZ\"],\"269\":[\"KM\"],\"290\":[\"SH\",\"TA\"],\"291\":[\"ER\"],\"297\":[\"AW\"],\"298\":[\"FO\"],\"299\":[\"GL\"],\"350\":[\"GI\"],\"351\":[\"PT\"],\"352\":[\"LU\"],\"353\":[\"IE\"],\"354\":[\"IS\"],\"355\":[\"AL\"],\"356\":[\"MT\"],\"357\":[\"CY\"],\"358\":[\"FI\",\"AX\"],\"359\":[\"BG\"],\"370\":[\"LT\"],\"371\":[\"LV\"],\"372\":[\"EE\"],\"373\":[\"MD\"],\"374\":[\"AM\"],\"375\":[\"BY\"],\"376\":[\"AD\"],\"377\":[\"MC\"],\"378\":[\"SM\"],\"380\":[\"UA\"],\"381\":[\"RS\"],\"382\":[\"ME\"],\"383\":[\"XK\"],\"385\":[\"HR\"],\"386\":[\"SI\"],\"387\":[\"BA\"],\"389\":[\"MK\"],\"420\":[\"CZ\"],\"421\":[\"SK\"],\"423\":[\"LI\"],\"500\":[\"FK\"],\"501\":[\"BZ\"],\"502\":[\"GT\"],\"503\":[\"SV\"],\"504\":[\"HN\"],\"505\":[\"NI\"],\"506\":[\"CR\"],\"507\":[\"PA\"],\"508\":[\"PM\"],\"509\":[\"HT\"],\"590\":[\"GP\",\"BL\",\"MF\"],\"591\":[\"BO\"],\"592\":[\"GY\"],\"593\":[\"EC\"],\"594\":[\"GF\"],\"595\":[\"PY\"],\"596\":[\"MQ\"],\"597\":[\"SR\"],\"598\":[\"UY\"],\"599\":[\"CW\",\"BQ\"],\"670\":[\"TL\"],\"672\":[\"NF\"],\"673\":[\"BN\"],\"674\":[\"NR\"],\"675\":[\"PG\"],\"676\":[\"TO\"],\"677\":[\"SB\"],\"678\":[\"VU\"],\"679\":[\"FJ\"],\"680\":[\"PW\"],\"681\":[\"WF\"],\"682\":[\"CK\"],\"683\":[\"NU\"],\"685\":[\"WS\"],\"686\":[\"KI\"],\"687\":[\"NC\"],\"688\":[\"TV\"],\"689\":[\"PF\"],\"690\":[\"TK\"],\"691\":[\"FM\"],\"692\":[\"MH\"],\"850\":[\"KP\"],\"852\":[\"HK\"],\"853\":[\"MO\"],\"855\":[\"KH\"],\"856\":[\"LA\"],\"880\":[\"BD\"],\"886\":[\"TW\"],\"960\":[\"MV\"],\"961\":[\"LB\"],\"962\":[\"JO\"],\"963\":[\"SY\"],\"964\":[\"IQ\"],\"965\":[\"KW\"],\"966\":[\"SA\"],\"967\":[\"YE\"],\"968\":[\"OM\"],\"970\":[\"PS\"],\"971\":[\"AE\"],\"972\":[\"IL\"],\"973\":[\"BH\"],\"974\":[\"QA\"],\"975\":[\"BT\"],\"976\":[\"MN\"],\"977\":[\"NP\"],\"992\":[\"TJ\"],\"993\":[\"TM\"],\"994\":[\"AZ\"],\"995\":[\"GE\"],\"996\":[\"KG\"],\"998\":[\"UZ\"]},\"countries\":{\"AC\":[\"247\",\"00\",\"(?:[01589]\\\\d|[46])\\\\d{4}\",[5,6]],\"AD\":[\"376\",\"00\",\"(?:1|6\\\\d)\\\\d{7}|[135-9]\\\\d{5}\",[6,8,9],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"[135-9]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"1\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]]]],\"AE\":[\"971\",\"00\",\"(?:[4-7]\\\\d|9[0-689])\\\\d{7}|800\\\\d{2,9}|[2-4679]\\\\d{7}\",[5,6,7,8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{2,9})\",\"$1 $2\",[\"60|8\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[236]|[479][2-8]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{5})\",\"$1 $2 $3\",[\"[479]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"]],\"0\"],\"AF\":[\"93\",\"00\",\"[2-7]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"]],\"0\"],\"AG\":[\"1\",\"011\",\"(?:268|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([457]\\\\d{6})$|1\",\"268$1\",0,\"268\"],\"AI\":[\"1\",\"011\",\"(?:264|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2457]\\\\d{6})$|1\",\"264$1\",0,\"264\"],\"AL\":[\"355\",\"00\",\"(?:700\\\\d\\\\d|900)\\\\d{3}|8\\\\d{5,7}|(?:[2-5]|6\\\\d)\\\\d{7}\",[6,7,8,9],[[\"(\\\\d{3})(\\\\d{3,4})\",\"$1 $2\",[\"80|9\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"4[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2358][2-5]|4\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[23578]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"6\"],\"0$1\"]],\"0\"],\"AM\":[\"374\",\"00\",\"(?:[1-489]\\\\d|55|60|77)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]0\"],\"0 $1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2|3[12]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"1|47\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[3-9]\"],\"0$1\"]],\"0\"],\"AO\":[\"244\",\"00\",\"[29]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[29]\"]]]],\"AR\":[\"54\",\"00\",\"(?:11|[89]\\\\d\\\\d)\\\\d{8}|[2368]\\\\d{9}\",[10,11],[[\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$1 $2-$3\",[\"2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])\",\"2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)\",\"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\",\"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"],\"0$1\",1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2-$3\",[\"1\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[68]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2-$3\",[\"[23]\"],\"0$1\",1],[\"(\\\\d)(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$2 15-$3-$4\",[\"9(?:2[2-469]|3[3-578])\",\"9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))\",\"9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)\",\"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\",\"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"],\"0$1\",0,\"$1 $2 $3-$4\"],[\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$2 15-$3-$4\",[\"91\"],\"0$1\",0,\"$1 $2 $3-$4\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1-$2-$3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$2 15-$3-$4\",[\"9\"],\"0$1\",0,\"$1 $2 $3-$4\"]],\"0\",0,\"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?\",\"9$1\"],\"AS\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|684|900)\\\\d{7}\",[10],0,\"1\",0,\"([267]\\\\d{6})$|1\",\"684$1\",0,\"684\"],\"AT\":[\"43\",\"00\",\"1\\\\d{3,12}|2\\\\d{6,12}|43(?:(?:0\\\\d|5[02-9])\\\\d{3,9}|2\\\\d{4,5}|[3467]\\\\d{4}|8\\\\d{4,6}|9\\\\d{4,7})|5\\\\d{4,12}|8\\\\d{7,12}|9\\\\d{8,12}|(?:[367]\\\\d|4[0-24-9])\\\\d{4,11}\",[4,5,6,7,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{3,12})\",\"$1 $2\",[\"1(?:11|[2-9])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})\",\"$1 $2\",[\"517\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,5})\",\"$1 $2\",[\"5[079]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,10})\",\"$1 $2\",[\"(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,9})\",\"$1 $2\",[\"[2-467]|5[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4,7})\",\"$1 $2 $3\",[\"5\"],\"0$1\"]],\"0\"],\"AU\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{7}(?:\\\\d(?:\\\\d{2})?)?|8[0-24-9]\\\\d{7})|[2-478]\\\\d{8}|1\\\\d{4,7}\",[5,6,7,8,9,10,12],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"16\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"16\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"14|4\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[2378]\"],\"(0$1)\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:30|[89])\"]]],\"0\",0,\"(183[12])|0\",0,0,0,[[\"(?:(?:2(?:[0-26-9]\\\\d|3[0-8]|4[02-9]|5[0135-9])|3(?:[0-3589]\\\\d|4[0-578]|6[1-9]|7[0-35-9])|7(?:[013-57-9]\\\\d|2[0-8]))\\\\d{3}|8(?:51(?:0(?:0[03-9]|[12479]\\\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\\\d|7[89]|9[0-4]))|(?:6[0-8]|[78]\\\\d)\\\\d{3}|9(?:[02-9]\\\\d{3}|1(?:(?:[0-58]\\\\d|6[0135-9])\\\\d|7(?:0[0-24-9]|[1-9]\\\\d)|9(?:[0-46-9]\\\\d|5[0-79])))))\\\\d{3}\",[9]],[\"4(?:(?:79|94)[01]|83[0-389])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[016-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,[\"163\\\\d{2,6}\",[5,6,7,8,9]],[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"AW\":[\"297\",\"00\",\"(?:[25-79]\\\\d\\\\d|800)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[25-9]\"]]]],\"AX\":[\"358\",\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"2\\\\d{4,9}|35\\\\d{4,5}|(?:60\\\\d\\\\d|800)\\\\d{4,6}|7\\\\d{5,11}|(?:[14]\\\\d|3[0-46-9]|50)\\\\d{4,8}\",[5,6,7,8,9,10,11,12],0,\"0\",0,0,0,0,\"18\",0,\"00\"],\"AZ\":[\"994\",\"00\",\"365\\\\d{6}|(?:[124579]\\\\d|60|88)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[28]|2|365|46\",\"1[28]|2|365[45]|46\",\"1[28]|2|365(?:4|5[02])|46\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[13-9]\"],\"0$1\"]],\"0\"],\"BA\":[\"387\",\"00\",\"6\\\\d{8}|(?:[35689]\\\\d|49|70)\\\\d{6}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6[1-3]|[7-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2-$3\",[\"[3-5]|6[56]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"6\"],\"0$1\"]],\"0\"],\"BB\":[\"1\",\"011\",\"(?:246|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"246$1\",0,\"246\"],\"BD\":[\"880\",\"00\",\"[1-469]\\\\d{9}|8[0-79]\\\\d{7,8}|[2-79]\\\\d{8}|[2-9]\\\\d{7}|[3-9]\\\\d{6}|[57-9]\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1-$2\",[\"31[5-8]|[459]1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1-$2\",[\"3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,6})\",\"$1-$2\",[\"[13-9]|22\"],\"0$1\"],[\"(\\\\d)(\\\\d{7,8})\",\"$1-$2\",[\"2\"],\"0$1\"]],\"0\"],\"BE\":[\"32\",\"00\",\"4\\\\d{8}|[1-9]\\\\d{7}\",[8,9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:80|9)0\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[239]|4[23]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[15-8]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"4\"],\"0$1\"]],\"0\"],\"BF\":[\"226\",\"00\",\"[025-7]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[025-7]\"]]]],\"BG\":[\"359\",\"00\",\"00800\\\\d{7}|[2-7]\\\\d{6,7}|[89]\\\\d{6,8}|2\\\\d{5}\",[6,7,8,9,12],[[\"(\\\\d)(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"43[1-6]|70[1-9]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:70|8)0\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3\",[\"43[1-7]|7\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[48]|9[08]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"BH\":[\"973\",\"00\",\"[136-9]\\\\d{7}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[13679]|8[02-4679]\"]]]],\"BI\":[\"257\",\"00\",\"(?:[267]\\\\d|31)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2367]\"]]]],\"BJ\":[\"229\",\"00\",\"[24-689]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-689]\"]]]],\"BL\":[\"590\",\"00\",\"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:2[7-9]|3[3-7]|5[12]|87)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5]))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:395|76[018])\\\\d|475[0-5])\\\\d{4}\"]]],\"BM\":[\"1\",\"011\",\"(?:441|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"441$1\",0,\"441\"],\"BN\":[\"673\",\"00\",\"[2-578]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-578]\"]]]],\"BO\":[\"591\",\"00(?:1\\\\d)?\",\"(?:[2-467]\\\\d\\\\d|8001)\\\\d{5}\",[8,9],[[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"[23]|4[46]\"]],[\"(\\\\d{8})\",\"$1\",[\"[67]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],\"0\",0,\"0(1\\\\d)?\"],\"BQ\":[\"599\",\"00\",\"(?:[34]1|7\\\\d)\\\\d{5}\",[7],0,0,0,0,0,0,\"[347]\"],\"BR\":[\"55\",\"00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)\",\"(?:[1-46-9]\\\\d\\\\d|5(?:[0-46-9]\\\\d|5[0-46-9]))\\\\d{8}|[1-9]\\\\d{9}|[3589]\\\\d{8}|[34]\\\\d{7}\",[8,9,10,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"300|4(?:0[02]|37)\",\"4(?:02|37)0|[34]00\"]],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{4})\",\"$1 $2 $3\",[\"(?:[358]|90)0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2-$3\",[\"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]\"],\"($1)\"],[\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1 $2-$3\",[\"[16][1-9]|[2-57-9]\"],\"($1)\"]],\"0\",0,\"(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\\\d{10,11}))?\",\"$2\"],\"BS\":[\"1\",\"011\",\"(?:242|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([3-8]\\\\d{6})$|1\",\"242$1\",0,\"242\"],\"BT\":[\"975\",\"00\",\"[17]\\\\d{7}|[2-8]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-68]|7[246]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[67]|7\"]]]],\"BW\":[\"267\",\"00\",\"(?:0800|(?:[37]|800)\\\\d)\\\\d{6}|(?:[2-6]\\\\d|90)\\\\d{5}\",[7,8,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"90\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[24-6]|3[15-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[37]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"BY\":[\"375\",\"810\",\"(?:[12]\\\\d|33|44|902)\\\\d{7}|8(?:0[0-79]\\\\d{5,7}|[1-7]\\\\d{9})|8(?:1[0-489]|[5-79]\\\\d)\\\\d{7}|8[1-79]\\\\d{6,7}|8[0-79]\\\\d{5}|8\\\\d{5}\",[6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"800\"],\"8 $1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,4})\",\"$1 $2 $3\",[\"800\"],\"8 $1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{3})\",\"$1 $2-$3\",[\"1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])\",\"1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])\"],\"8 0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"1(?:[56]|7[467])|2[1-3]\"],\"8 0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[1-4]\"],\"8 0$1\"],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"8 $1\"]],\"8\",0,\"0|80?\",0,0,0,0,\"8~10\"],\"BZ\":[\"501\",\"00\",\"(?:0800\\\\d|[2-8])\\\\d{6}\",[7,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-8]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1-$2-$3-$4\",[\"0\"]]]],\"CA\":[\"1\",\"011\",\"(?:[2-8]\\\\d|90)\\\\d{8}|3\\\\d{6}\",[7,10],0,\"1\",0,0,0,0,0,[[\"(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\\\d{6}\",[10]],[\"\",[10]],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",[10]],[\"900[2-9]\\\\d{6}\",[10]],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|(?:5(?:00|2[125-9]|33|44|66|77|88)|622)[2-9]\\\\d{6}\",[10]],0,[\"310\\\\d{4}\",[7]],0,[\"600[2-9]\\\\d{6}\",[10]]]],\"CC\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\",[6,7,8,9,10,12],0,\"0\",0,\"([59]\\\\d{7})$|0\",\"8$1\",0,0,[[\"8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\\\d|70[23]|959))\\\\d{3}\",[9]],[\"4(?:(?:79|94)[01]|83[0-389])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[016-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,0,[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"CD\":[\"243\",\"00\",\"[189]\\\\d{8}|[1-68]\\\\d{6}\",[7,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"88\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"[1-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\"],\"CF\":[\"236\",\"00\",\"(?:[27]\\\\d{3}|8776)\\\\d{4}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[278]\"]]]],\"CG\":[\"242\",\"00\",\"222\\\\d{6}|(?:0\\\\d|80)\\\\d{7}\",[9],[[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[02]\"]]]],\"CH\":[\"41\",\"00\",\"8\\\\d{11}|[2-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8[047]|90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-79]|81\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"8\"],\"0$1\"]],\"0\"],\"CI\":[\"225\",\"00\",\"[02]\\\\d{9}\",[10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d)(\\\\d{5})\",\"$1 $2 $3 $4\",[\"2\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"0\"]]]],\"CK\":[\"682\",\"00\",\"[2-578]\\\\d{4}\",[5],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"[2-578]\"]]]],\"CL\":[\"56\",\"(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0\",\"12300\\\\d{6}|6\\\\d{9,10}|[2-9]\\\\d{8}\",[9,10,11],[[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"219\",\"2196\"],\"($1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"44\"]],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[1-36]\"],\"($1)\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"9[2-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])\"],\"($1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"60|8\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"60\"]]]],\"CM\":[\"237\",\"00\",\"[26]\\\\d{8}|88\\\\d{6,7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"88\"]],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[26]|88\"]]]],\"CN\":[\"86\",\"00|1(?:[12]\\\\d|79)\\\\d\\\\d00\",\"1[127]\\\\d{8,9}|2\\\\d{9}(?:\\\\d{2})?|[12]\\\\d{6,7}|86\\\\d{6}|(?:1[03-689]\\\\d|6)\\\\d{7,9}|(?:[3-579]\\\\d|8[0-57-9])\\\\d{6,9}\",[7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{5,6})\",\"$1 $2\",[\"(?:10|2[0-57-9])[19]\",\"(?:10|2[0-57-9])(?:10|9[56])\",\"10(?:10|9[56])|2[0-57-9](?:100|9[56])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]\",\"(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))[19]\",\"85[23](?:10|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:10|9[56])\",\"85[23](?:100|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:100|9[56])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"(?:4|80)0\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"10|2(?:[02-57-9]|1[1-9])\",\"10|2(?:[02-57-9]|1[1-9])\",\"10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{7,8})\",\"$1 $2\",[\"9\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"80\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-578]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"1[3-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"[12]\"],\"0$1\",1]],\"0\",0,\"(1(?:[12]\\\\d|79)\\\\d\\\\d)|0\",0,0,0,0,\"00\"],\"CO\":[\"57\",\"00(?:4(?:[14]4|56)|[579])\",\"(?:60\\\\d\\\\d|9101)\\\\d{6}|(?:1\\\\d|3)\\\\d{9}\",[10,11],[[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"6\"],\"($1)\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3[0-357]|91\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{7})\",\"$1-$2-$3\",[\"1\"],\"0$1\",0,\"$1 $2 $3\"]],\"0\",0,\"0(4(?:[14]4|56)|[579])?\"],\"CR\":[\"506\",\"00\",\"(?:8\\\\d|90)\\\\d{8}|(?:[24-8]\\\\d{3}|3005)\\\\d{4}\",[8,10],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]|8[3-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[89]\"]]],0,0,\"(19(?:0[0-2468]|1[09]|20|66|77|99))\"],\"CU\":[\"53\",\"119\",\"[27]\\\\d{6,7}|[34]\\\\d{5,7}|63\\\\d{6}|(?:5|8\\\\d\\\\d)\\\\d{7}\",[6,7,8,10],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1 $2\",[\"2[1-4]|[34]\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{6,7})\",\"$1 $2\",[\"7\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"[56]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"8\"],\"0$1\"]],\"0\"],\"CV\":[\"238\",\"0\",\"(?:[2-59]\\\\d\\\\d|800)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[2-589]\"]]]],\"CW\":[\"599\",\"00\",\"(?:[34]1|60|(?:7|9\\\\d)\\\\d)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[3467]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9[4-8]\"]]],0,0,0,0,0,\"[69]\"],\"CX\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\",[6,7,8,9,10,12],0,\"0\",0,\"([59]\\\\d{7})$|0\",\"8$1\",0,0,[[\"8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\\\d|7(?:0[01]|1[0-2])|958))\\\\d{3}\",[9]],[\"4(?:(?:79|94)[01]|83[0-389])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[016-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,0,[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"CY\":[\"357\",\"00\",\"(?:[279]\\\\d|[58]0)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[257-9]\"]]]],\"CZ\":[\"420\",\"00\",\"(?:[2-578]\\\\d|60)\\\\d{7}|9\\\\d{8,11}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-8]|9[015-7]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"96\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]]]],\"DE\":[\"49\",\"00\",\"[2579]\\\\d{5,14}|49(?:[34]0|69|8\\\\d)\\\\d\\\\d?|49(?:37|49|60|7[089]|9\\\\d)\\\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\\\d{1,8}|(?:1|[368]\\\\d|4[0-8])\\\\d{3,13}|49(?:[015]\\\\d|2[13]|31|[46][1-8])\\\\d{1,9}\",[4,5,6,7,8,9,10,11,12,13,14,15],[[\"(\\\\d{2})(\\\\d{3,13})\",\"$1 $2\",[\"3[02]|40|[68]9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,12})\",\"$1 $2\",[\"2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\",\"2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2,11})\",\"$1 $2\",[\"[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]\",\"[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"138\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{2,10})\",\"$1 $2\",[\"3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,11})\",\"$1 $2\",[\"181\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{4,10})\",\"$1 $2 $3\",[\"1(?:3|80)|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7,8})\",\"$1 $2\",[\"1[67]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7,12})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{6})\",\"$1 $2\",[\"185\",\"1850\",\"18500\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{7})\",\"$1 $2\",[\"18[68]\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{6})\",\"$1 $2\",[\"15[0568]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{7})\",\"$1 $2\",[\"15[1279]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{8})\",\"$1 $2\",[\"18\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{7,8})\",\"$1 $2 $3\",[\"1(?:6[023]|7)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{7})\",\"$1 $2 $3\",[\"15[279]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{8})\",\"$1 $2 $3\",[\"15\"],\"0$1\"]],\"0\"],\"DJ\":[\"253\",\"00\",\"(?:2\\\\d|77)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[27]\"]]]],\"DK\":[\"45\",\"00\",\"[2-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-9]\"]]]],\"DM\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|767|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"767$1\",0,\"767\"],\"DO\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"8001|8[024]9\"],\"DZ\":[\"213\",\"00\",\"(?:[1-4]|[5-79]\\\\d|80)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[1-4]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-8]\"],\"0$1\"]],\"0\"],\"EC\":[\"593\",\"00\",\"1\\\\d{9,10}|(?:[2-7]|9\\\\d)\\\\d{7}\",[8,9,10,11],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2-$3\",[\"[2-7]\"],\"(0$1)\",0,\"$1-$2-$3\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"EE\":[\"372\",\"00\",\"8\\\\d{9}|[4578]\\\\d{7}|(?:[3-8]\\\\d|90)\\\\d{5}\",[7,8,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88\",\"[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88\"]],[\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[45]|8(?:00|[1-49])\",\"[45]|8(?:00[1-9]|[1-49])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"EG\":[\"20\",\"00\",\"[189]\\\\d{8,9}|[24-6]\\\\d{8}|[135]\\\\d{7}\",[8,9,10],[[\"(\\\\d)(\\\\d{7,8})\",\"$1 $2\",[\"[23]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6,7})\",\"$1 $2\",[\"1[35]|[4-6]|8[2468]|9[235-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{8})\",\"$1 $2\",[\"1\"],\"0$1\"]],\"0\"],\"EH\":[\"212\",\"00\",\"[5-8]\\\\d{8}\",[9],0,\"0\",0,0,0,0,\"528[89]\"],\"ER\":[\"291\",\"00\",\"[178]\\\\d{6}\",[7],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[178]\"],\"0$1\"]],\"0\"],\"ES\":[\"34\",\"00\",\"[5-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]00\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-9]\"]]]],\"ET\":[\"251\",\"00\",\"(?:11|[2-579]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-579]\"],\"0$1\"]],\"0\"],\"FI\":[\"358\",\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"[1-35689]\\\\d{4}|7\\\\d{10,11}|(?:[124-7]\\\\d|3[0-46-9])\\\\d{8}|[1-9]\\\\d{5,8}\",[5,6,7,8,9,10,11,12],[[\"(\\\\d)(\\\\d{4,9})\",\"$1 $2\",[\"[2568][1-8]|3(?:0[1-9]|[1-9])|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"[12]00|[368]|70[07-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4,8})\",\"$1 $2\",[\"[1245]|7[135]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6,10})\",\"$1 $2\",[\"7\"],\"0$1\"]],\"0\",0,0,0,0,\"1[03-79]|[2-9]\",0,\"00\"],\"FJ\":[\"679\",\"0(?:0|52)\",\"45\\\\d{5}|(?:0800\\\\d|[235-9])\\\\d{6}\",[7,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[235-9]|45\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]]],0,0,0,0,0,0,0,\"00\"],\"FK\":[\"500\",\"00\",\"[2-7]\\\\d{4}\",[5]],\"FM\":[\"691\",\"00\",\"(?:[39]\\\\d\\\\d|820)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[389]\"]]]],\"FO\":[\"298\",\"00\",\"[2-9]\\\\d{5}\",[6],[[\"(\\\\d{6})\",\"$1\",[\"[2-9]\"]]],0,0,\"(10(?:01|[12]0|88))\"],\"FR\":[\"33\",\"00\",\"[1-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0 $1\"],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[1-79]\"],\"0$1\"]],\"0\"],\"GA\":[\"241\",\"00\",\"(?:[067]\\\\d|11)\\\\d{6}|[2-7]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-7]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"0\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"11|[67]\"],\"0$1\"]],0,0,\"0(11\\\\d{6}|60\\\\d{6}|61\\\\d{6}|6[256]\\\\d{6}|7[467]\\\\d{6})\",\"$1\"],\"GB\":[\"44\",\"00\",\"[1-357-9]\\\\d{9}|[18]\\\\d{8}|8\\\\d{6}\",[7,9,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"800\",\"8001\",\"80011\",\"800111\",\"8001111\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"845\",\"8454\",\"84546\",\"845464\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"800\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{4,5})\",\"$1 $2\",[\"1(?:38|5[23]|69|76|94)\",\"1(?:(?:38|69)7|5(?:24|39)|768|946)\",\"1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5,6})\",\"$1 $2\",[\"1(?:[2-69][02-9]|[78])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[25]|7(?:0|6[02-9])\",\"[25]|7(?:0|6(?:[03-9]|2[356]))\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1389]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:1(?:1(?:3(?:[0-58]\\\\d\\\\d|73[0235])|4(?:[0-5]\\\\d\\\\d|69[7-9]|70[0-579])|(?:(?:5[0-26-9]|[78][0-49])\\\\d|6(?:[0-4]\\\\d|50))\\\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\\\d)\\\\d|1(?:[0-7]\\\\d|8[0-2]))|(?:3(?:0\\\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\\\d)\\\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\\\d{3})\\\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\\\d)|76\\\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\\\d|7[4-79])|295[5-7]|35[34]\\\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\\\d{3}\",[9,10]],[\"7(?:457[0-57-9]|700[01]|911[028])\\\\d{5}|7(?:[1-3]\\\\d\\\\d|4(?:[0-46-9]\\\\d|5[0-689])|5(?:0[0-8]|[13-9]\\\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\\\d|8[02-9]|9[0-689])|8(?:[014-9]\\\\d|[23][0-8])|9(?:[024-9]\\\\d|1[02-9]|3[0-689]))\\\\d{6}\",[10]],[\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"],[\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[2-49]))\\\\d{7}|845464\\\\d\",[7,10]],[\"70\\\\d{8}\",[10]],0,[\"(?:3[0347]|55)\\\\d{8}\",[10]],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\",[10]],[\"56\\\\d{8}\",[10]]],0,\" x\"],\"GD\":[\"1\",\"011\",\"(?:473|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"473$1\",0,\"473\"],\"GE\":[\"995\",\"00\",\"(?:[3-57]\\\\d\\\\d|800)\\\\d{6}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"70\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"32\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[57]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[348]\"],\"0$1\"]],\"0\"],\"GF\":[\"594\",\"00\",\"[56]94\\\\d{6}|(?:80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[56]|9[47]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[89]\"],\"0$1\"]],\"0\"],\"GG\":[\"44\",\"00\",\"(?:1481|[357-9]\\\\d{3})\\\\d{6}|8\\\\d{6}(?:\\\\d{2})?\",[7,9,10],0,\"0\",0,\"([25-9]\\\\d{5})$|0\",\"1481$1\",0,0,[[\"1481[25-9]\\\\d{5}\",[10]],[\"7(?:(?:781|839)\\\\d|911[17])\\\\d{5}\",[10]],[\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"],[\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[0-3]))\\\\d{7}|845464\\\\d\",[7,10]],[\"70\\\\d{8}\",[10]],0,[\"(?:3[0347]|55)\\\\d{8}\",[10]],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\",[10]],[\"56\\\\d{8}\",[10]]]],\"GH\":[\"233\",\"00\",\"(?:[235]\\\\d{3}|800)\\\\d{5}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[235]\"],\"0$1\"]],\"0\"],\"GI\":[\"350\",\"00\",\"(?:[25]\\\\d|60)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2\"]]]],\"GL\":[\"299\",\"00\",\"(?:19|[2-689]\\\\d|70)\\\\d{4}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"19|[2-9]\"]]]],\"GM\":[\"220\",\"00\",\"[2-9]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"GN\":[\"224\",\"00\",\"722\\\\d{6}|(?:3|6\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"3\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[67]\"]]]],\"GP\":[\"590\",\"00\",\"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[569]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\\\d)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5]))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:395|76[018])\\\\d|475[0-5])\\\\d{4}\"]]],\"GQ\":[\"240\",\"00\",\"222\\\\d{6}|(?:3\\\\d|55|[89]0)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[235]\"]],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[89]\"]]]],\"GR\":[\"30\",\"00\",\"5005000\\\\d{3}|8\\\\d{9,11}|(?:[269]\\\\d|70)\\\\d{8}\",[10,11,12],[[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"21|7\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2689]\"]],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{5})\",\"$1 $2 $3\",[\"8\"]]]],\"GT\":[\"502\",\"00\",\"(?:1\\\\d{3}|[2-7])\\\\d{7}\",[8,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]]],\"GU\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|671|900)\\\\d{7}\",[10],0,\"1\",0,\"([3-9]\\\\d{6})$|1\",\"671$1\",0,\"671\"],\"GW\":[\"245\",\"00\",\"[49]\\\\d{8}|4\\\\d{6}\",[7,9],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"40\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[49]\"]]]],\"GY\":[\"592\",\"001\",\"9008\\\\d{3}|(?:[2-467]\\\\d\\\\d|862)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-46-9]\"]]]],\"HK\":[\"852\",\"00(?:30|5[09]|[126-9]?)\",\"8[0-46-9]\\\\d{6,7}|9\\\\d{4,7}|(?:[2-7]|9\\\\d{3})\\\\d{7}\",[5,6,7,8,9,11],[[\"(\\\\d{3})(\\\\d{2,5})\",\"$1 $2\",[\"900\",\"9003\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]|8[1-4]|9(?:0[1-9]|[1-8])\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]]],0,0,0,0,0,0,0,\"00\"],\"HN\":[\"504\",\"00\",\"8\\\\d{10}|[237-9]\\\\d{7}\",[8,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[237-9]\"]]]],\"HR\":[\"385\",\"00\",\"(?:[24-69]\\\\d|3[0-79])\\\\d{7}|80\\\\d{5,7}|[1-79]\\\\d{7}|6\\\\d{5,6}\",[6,7,8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"6[01]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[67]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-5]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"HT\":[\"509\",\"00\",\"(?:[2-489]\\\\d|55)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-589]\"]]]],\"HU\":[\"36\",\"00\",\"[235-7]\\\\d{8}|[1-9]\\\\d{7}\",[8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"(06 $1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]\"],\"(06 $1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-9]\"],\"06 $1\"]],\"06\"],\"ID\":[\"62\",\"00[89]\",\"(?:(?:00[1-9]|8\\\\d)\\\\d{4}|[1-36])\\\\d{6}|00\\\\d{10}|[1-9]\\\\d{8,10}|[2-9]\\\\d{7}\",[7,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"15\"]],[\"(\\\\d{2})(\\\\d{5,9})\",\"$1 $2\",[\"2[124]|[36]1\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5,7})\",\"$1 $2\",[\"800\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,8})\",\"$1 $2\",[\"[2-79]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{3})\",\"$1-$2-$3\",[\"8[1-35-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6,8})\",\"$1 $2\",[\"1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"804\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"80\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1-$2-$3\",[\"8\"],\"0$1\"]],\"0\"],\"IE\":[\"353\",\"00\",\"(?:1\\\\d|[2569])\\\\d{6,8}|4\\\\d{6,9}|7\\\\d{8}|8\\\\d{8,9}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"2[24-9]|47|58|6[237-9]|9[35-9]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[45]0\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2569]|4[1-69]|7[14]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"70\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"81\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"4\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"IL\":[\"972\",\"0(?:0|1[2-9])\",\"1\\\\d{6}(?:\\\\d{3,5})?|[57]\\\\d{8}|[1-489]\\\\d{7}\",[7,8,9,10,11,12],[[\"(\\\\d{4})(\\\\d{3})\",\"$1-$2\",[\"125\"]],[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\",[\"121\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[2-489]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3\",[\"12\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1-$2\",[\"159\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3-$4\",[\"1[7-9]\"]],[\"(\\\\d{3})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3-$4\",[\"15\"]]],\"0\"],\"IM\":[\"44\",\"00\",\"1624\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\",[10],0,\"0\",0,\"([25-8]\\\\d{5})$|0\",\"1624$1\",0,\"74576|(?:16|7[56])24\"],\"IN\":[\"91\",\"00\",\"(?:000800|[2-9]\\\\d\\\\d)\\\\d{7}|1\\\\d{7,12}\",[8,9,10,11,12,13],[[\"(\\\\d{8})\",\"$1\",[\"5(?:0|2[23]|3[03]|[67]1|88)\",\"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)\",\"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)\"],0,1],[\"(\\\\d{4})(\\\\d{4,5})\",\"$1 $2\",[\"180\",\"1800\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"140\"],0,1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"11|2[02]|33|4[04]|79[1-7]|80[2-46]\",\"11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])\",\"11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]\",\"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]\",\"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807\",\"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]\",\"1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\\\d|7(?:1(?:[013-8]\\\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\\\d|5[0-367])|70[13-7]))[2-7]\"],\"0$1\",1],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"[6-9]\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{2,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:6|8[06])\",\"1(?:6|8[06]0)\"],0,1],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"18\"],0,1]],\"0\"],\"IO\":[\"246\",\"00\",\"3\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"3\"]]]],\"IQ\":[\"964\",\"00\",\"(?:1|7\\\\d\\\\d)\\\\d{7}|[2-6]\\\\d{7,8}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-6]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"IR\":[\"98\",\"00\",\"[1-9]\\\\d{9}|(?:[1-8]\\\\d\\\\d|9)\\\\d{3,4}\",[4,5,6,7,10],[[\"(\\\\d{4,5})\",\"$1\",[\"96\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4,5})\",\"$1 $2\",[\"(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-8]\"],\"0$1\"]],\"0\"],\"IS\":[\"354\",\"00|1(?:0(?:01|[12]0)|100)\",\"(?:38\\\\d|[4-9])\\\\d{6}\",[7,9],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[4-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"3\"]]],0,0,0,0,0,0,0,\"00\"],\"IT\":[\"39\",\"00\",\"0\\\\d{5,10}|1\\\\d{8,10}|3(?:[0-8]\\\\d{7,10}|9\\\\d{7,8})|(?:55|70)\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?\",[6,7,8,9,10,11],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1 $2\",[\"0[26]\"]],[\"(\\\\d{3})(\\\\d{3,6})\",\"$1 $2\",[\"0[13-57-9][0159]|8(?:03|4[17]|9[2-5])\",\"0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))\"]],[\"(\\\\d{4})(\\\\d{2,6})\",\"$1 $2\",[\"0(?:[13-579][2-46-8]|8[236-8])\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"894\"]],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[26]|5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1(?:44|[679])|[378]\"]],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[13-57-9][0159]|14\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{5})\",\"$1 $2 $3\",[\"0[26]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"3\"]]],0,0,0,0,0,0,[[\"0669[0-79]\\\\d{1,6}|0(?:1(?:[0159]\\\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\\\d\\\\d|3(?:[0159]\\\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\\\d|6[0-8])|7(?:[0159]\\\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\\\d{2,7}\"],[\"3[1-9]\\\\d{8}|3[2-9]\\\\d{7}\",[9,10]],[\"80(?:0\\\\d{3}|3)\\\\d{3}\",[6,9]],[\"(?:0878\\\\d{3}|89(?:2\\\\d|3[04]|4(?:[0-4]|[5-9]\\\\d\\\\d)|5[0-4]))\\\\d\\\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\\\d{6}\",[6,8,9,10]],[\"1(?:78\\\\d|99)\\\\d{6}\",[9,10]],0,0,0,[\"55\\\\d{8}\",[10]],[\"84(?:[08]\\\\d{3}|[17])\\\\d{3}\",[6,9]]]],\"JE\":[\"44\",\"00\",\"1534\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\",[10],0,\"0\",0,\"([0-24-8]\\\\d{5})$|0\",\"1534$1\",0,0,[[\"1534[0-24-8]\\\\d{5}\"],[\"7(?:(?:(?:50|82)9|937)\\\\d|7(?:00[378]|97[7-9]))\\\\d{5}\"],[\"80(?:07(?:35|81)|8901)\\\\d{4}\"],[\"(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\\\d{4}\"],[\"701511\\\\d{4}\"],0,[\"(?:3(?:0(?:07(?:35|81)|8901)|3\\\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\\\d{4})\\\\d{4}\"],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\"],[\"56\\\\d{8}\"]]],\"JM\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|658|900)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"658|876\"],\"JO\":[\"962\",\"00\",\"(?:(?:[2689]|7\\\\d)\\\\d|32|53)\\\\d{6}\",[8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2356]|87\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"70\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"JP\":[\"81\",\"010\",\"00[1-9]\\\\d{6,14}|[257-9]\\\\d{9}|(?:00|[1-9]\\\\d\\\\d)\\\\d{6}\",[8,9,10,11,12,13,14,15,16,17],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3\",[\"(?:12|57|99)0\"],\"0$1\"],[\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1-$2-$3\",[\"1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51|63)|9(?:80|9[16])\",\"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9]|636)|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\",\"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9]|636[457-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"60\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[36]|4(?:2[09]|7[01])\",\"[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])\",\"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]\",\"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[23]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3\",[\"[14]|[289][2-9]|5[3-9]|7[2-4679]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"800\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[257-9]\"],\"0$1\"]],\"0\",0,\"(000[259]\\\\d{6})$|(?:(?:003768)0?)|0\",\"$1\"],\"KE\":[\"254\",\"000\",\"(?:[17]\\\\d\\\\d|900)\\\\d{6}|(?:2|80)0\\\\d{6,7}|[4-6]\\\\d{6,8}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"[24-6]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[17]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\"],\"KG\":[\"996\",\"00\",\"8\\\\d{9}|[235-9]\\\\d{8}\",[9,10],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"3(?:1[346]|[24-79])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[235-79]|88\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d)(\\\\d{2,3})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"KH\":[\"855\",\"00[14-9]\",\"1\\\\d{9}|[1-9]\\\\d{7,8}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"KI\":[\"686\",\"00\",\"(?:[37]\\\\d|6[0-79])\\\\d{6}|(?:[2-48]\\\\d|50)\\\\d{3}\",[5,8],0,\"0\"],\"KM\":[\"269\",\"00\",\"[3478]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[3478]\"]]]],\"KN\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"869$1\",0,\"869\"],\"KP\":[\"850\",\"00|99\",\"85\\\\d{6}|(?:19\\\\d|[2-7])\\\\d{7}\",[8,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"]],\"0\"],\"KR\":[\"82\",\"00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))\",\"00[1-9]\\\\d{8,11}|(?:[12]|5\\\\d{3})\\\\d{7}|[13-6]\\\\d{9}|(?:[1-6]\\\\d|80)\\\\d{7}|[3-6]\\\\d{4,5}|(?:00|7)0\\\\d{8}\",[5,6,8,9,10,11,12,13,14],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1-$2\",[\"(?:3[1-3]|[46][1-4]|5[1-5])1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"1\"]],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"60|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"[1346]|5[1-5]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1-$2-$3\",[\"5\"],\"0$1\"]],\"0\",0,\"0(8(?:[1-46-8]|5\\\\d\\\\d))?\"],\"KW\":[\"965\",\"00\",\"18\\\\d{5}|(?:[2569]\\\\d|41)\\\\d{6}\",[7,8],[[\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[169]|2(?:[235]|4[1-35-9])|52\"]],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[245]\"]]]],\"KY\":[\"1\",\"011\",\"(?:345|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"345$1\",0,\"345\"],\"KZ\":[\"7\",\"810\",\"(?:33622|8\\\\d{8})\\\\d{5}|[78]\\\\d{9}\",[10,14],0,\"8\",0,0,0,0,\"33|7\",0,\"8~10\"],\"LA\":[\"856\",\"00\",\"[23]\\\\d{9}|3\\\\d{8}|(?:[235-8]\\\\d|41)\\\\d{6}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2[13]|3[14]|[4-8]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"30[013-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[23]\"],\"0$1\"]],\"0\"],\"LB\":[\"961\",\"00\",\"[27-9]\\\\d{7}|[13-9]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[27-9]\"]]],\"0\"],\"LC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|758|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-8]\\\\d{6})$|1\",\"758$1\",0,\"758\"],\"LI\":[\"423\",\"00\",\"[68]\\\\d{8}|(?:[2378]\\\\d|90)\\\\d{5}\",[7,9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[2379]|8(?:0[09]|7)\",\"[2379]|8(?:0(?:02|9)|7)\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"69\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]]],\"0\",0,\"(1001)|0\"],\"LK\":[\"94\",\"00\",\"[1-9]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[1-689]\"],\"0$1\"]],\"0\"],\"LR\":[\"231\",\"00\",\"(?:[25]\\\\d|33|77|88)\\\\d{7}|(?:2\\\\d|[4-6])\\\\d{6}\",[7,8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[4-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[23578]\"],\"0$1\"]],\"0\"],\"LS\":[\"266\",\"00\",\"(?:[256]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2568]\"]]]],\"LT\":[\"370\",\"00\",\"(?:[3469]\\\\d|52|[78]0)\\\\d{6}\",[8],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"52[0-7]\"],\"(8-$1)\",1],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"8 $1\",1],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"37|4(?:[15]|6[1-8])\"],\"(8-$1)\",1],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[3-6]\"],\"(8-$1)\",1]],\"8\",0,\"[08]\"],\"LU\":[\"352\",\"00\",\"35[013-9]\\\\d{4,8}|6\\\\d{8}|35\\\\d{2,4}|(?:[2457-9]\\\\d|3[0-46-9])\\\\d{2,9}\",[4,5,6,7,8,9,10,11],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"20[2-689]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4\",[\"2(?:[0367]|4[3-8])\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"80[01]|90[015]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"20\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4 $5\",[\"2(?:[0367]|4[3-8])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,5})\",\"$1 $2 $3 $4\",[\"[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]\"]]],0,0,\"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\\\d)\"],\"LV\":[\"371\",\"00\",\"(?:[268]\\\\d|90)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[269]|8[01]\"]]]],\"LY\":[\"218\",\"00\",\"[2-9]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"[2-9]\"],\"0$1\"]],\"0\"],\"MA\":[\"212\",\"00\",\"[5-8]\\\\d{8}\",[9],[[\"(\\\\d{5})(\\\\d{4})\",\"$1-$2\",[\"5(?:29|38)\",\"5(?:29[1289]|389)\",\"529(?:1[1-46-9]|2[013-8]|90)|5(?:298|389)[0-46-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"5[45]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1-$2\",[\"5(?:2[2-489]|3[5-9]|9)|892\",\"5(?:2(?:[2-49]|8[235-9])|3[5-9]|9)|892\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"8\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1-$2\",[\"[5-7]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"5293[01]\\\\d{4}|5(?:2(?:[0-25-7]\\\\d|3[1-578]|4[02-46-8]|8[0235-7]|9[0-289])|3(?:[0-47]\\\\d|5[02-9]|6[02-8]|8[0189]|9[3-9])|(?:4[067]|5[03])\\\\d)\\\\d{5}\"],[\"(?:6(?:[0-79]\\\\d|8[0-247-9])|7(?:[017]\\\\d|2[0-2]|6[0-8]|8[0-3]))\\\\d{6}\"],[\"80\\\\d{7}\"],[\"89\\\\d{7}\"],0,0,0,0,[\"592(?:4[0-2]|93)\\\\d{4}\"]]],\"MC\":[\"377\",\"00\",\"(?:[3489]|6\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"4\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[389]\"]],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"6\"],\"0$1\"]],\"0\"],\"MD\":[\"373\",\"00\",\"(?:[235-7]\\\\d|[89]0)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"22|3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[25-7]\"],\"0$1\"]],\"0\"],\"ME\":[\"382\",\"00\",\"(?:20|[3-79]\\\\d)\\\\d{6}|80\\\\d{6,7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-9]\"],\"0$1\"]],\"0\"],\"MF\":[\"590\",\"00\",\"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5]))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:395|76[018])\\\\d|475[0-5])\\\\d{4}\"]]],\"MG\":[\"261\",\"00\",\"[23]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[23]\"],\"0$1\"]],\"0\",0,\"([24-9]\\\\d{6})$|0\",\"20$1\"],\"MH\":[\"692\",\"011\",\"329\\\\d{4}|(?:[256]\\\\d|45)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-6]\"]]],\"1\"],\"MK\":[\"389\",\"00\",\"[2-578]\\\\d{7}\",[8],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2|34[47]|4(?:[37]7|5[47]|64)\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[347]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[58]\"],\"0$1\"]],\"0\"],\"ML\":[\"223\",\"00\",\"[24-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-9]\"]]]],\"MM\":[\"95\",\"00\",\"1\\\\d{5,7}|95\\\\d{6}|(?:[4-7]|9[0-46-9])\\\\d{6,8}|(?:2|8\\\\d)\\\\d{5,8}\",[6,7,8,9,10],[[\"(\\\\d)(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"16|2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[12]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[4-7]|8[1-35]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4,6})\",\"$1 $2 $3\",[\"9(?:2[0-4]|[35-9]|4[137-9])\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"92\"],\"0$1\"],[\"(\\\\d)(\\\\d{5})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"MN\":[\"976\",\"001\",\"[12]\\\\d{7,9}|[5-9]\\\\d{7}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[12]1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[5-9]\"]],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"[12]2[1-3]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5,6})\",\"$1 $2\",[\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])\",\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{4,5})\",\"$1 $2\",[\"[12]\"],\"0$1\"]],\"0\"],\"MO\":[\"853\",\"00\",\"0800\\\\d{3}|(?:28|[68]\\\\d)\\\\d{6}\",[7,8],[[\"(\\\\d{4})(\\\\d{3})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[268]\"]]]],\"MP\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:67|90)0\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"670$1\",0,\"670\"],\"MQ\":[\"596\",\"00\",\"596\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[569]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"MR\":[\"222\",\"00\",\"(?:[2-4]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-48]\"]]]],\"MS\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|664|900)\\\\d{7}\",[10],0,\"1\",0,\"([34]\\\\d{6})$|1\",\"664$1\",0,\"664\"],\"MT\":[\"356\",\"00\",\"3550\\\\d{4}|(?:[2579]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2357-9]\"]]]],\"MU\":[\"230\",\"0(?:0|[24-7]0|3[03])\",\"(?:[57]|8\\\\d\\\\d)\\\\d{7}|[2-468]\\\\d{6}\",[7,8,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-46]|8[013]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[57]\"]],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"8\"]]],0,0,0,0,0,0,0,\"020\"],\"MV\":[\"960\",\"0(?:0|19)\",\"(?:800|9[0-57-9]\\\\d)\\\\d{7}|[34679]\\\\d{6}\",[7,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[34679]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]],0,0,0,0,0,0,0,\"00\"],\"MW\":[\"265\",\"00\",\"(?:[1289]\\\\d|31|77)\\\\d{7}|1\\\\d{6}\",[7,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[137-9]\"],\"0$1\"]],\"0\"],\"MX\":[\"52\",\"0[09]\",\"1(?:(?:[27]2|44|99)[1-9]|65[0-689])\\\\d{7}|(?:1(?:[01]\\\\d|2[13-9]|[35][1-9]|4[0-35-9]|6[0-46-9]|7[013-9]|8[1-79]|9[1-8])|[2-9]\\\\d)\\\\d{8}\",[10,11],[[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"33|5[56]|81\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-9]\"],0,1],[\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$2 $3 $4\",[\"1(?:33|5[56]|81)\"],0,1],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$2 $3 $4\",[\"1\"],0,1]],\"01\",0,\"0(?:[12]|4[45])|1\",0,0,0,0,\"00\"],\"MY\":[\"60\",\"00\",\"1\\\\d{8,9}|(?:3\\\\d|[4-9])\\\\d{7}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3\",[\"[4-79]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1-$2 $3\",[\"1(?:[02469]|[378][1-9]|53)|8\",\"1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1-$2 $3\",[\"3\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3-$4\",[\"1(?:[367]|80)\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3\",[\"15\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2 $3\",[\"1\"],\"0$1\"]],\"0\"],\"MZ\":[\"258\",\"00\",\"(?:2|8\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2|8[2-79]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"NA\":[\"264\",\"00\",\"[68]\\\\d{7,8}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"88\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"6\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"87\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"NC\":[\"687\",\"00\",\"(?:050|[2-57-9]\\\\d\\\\d)\\\\d{3}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1.$2.$3\",[\"[02-57-9]\"]]]],\"NE\":[\"227\",\"00\",\"[027-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"08\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[089]|2[013]|7[047]\"]]]],\"NF\":[\"672\",\"00\",\"[13]\\\\d{5}\",[6],[[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"1[0-3]\"]],[\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"[13]\"]]],0,0,\"([0-258]\\\\d{4})$\",\"3$1\"],\"NG\":[\"234\",\"009\",\"(?:[124-7]|9\\\\d{3})\\\\d{6}|[1-9]\\\\d{7}|[78]\\\\d{9,13}\",[7,8,10,11,12,13,14],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"78\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[12]|9(?:0[3-9]|[1-9])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[3-7]|8[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[7-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})(\\\\d{5,6})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"]],\"0\"],\"NI\":[\"505\",\"00\",\"(?:1800|[25-8]\\\\d{3})\\\\d{4}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[125-8]\"]]]],\"NL\":[\"31\",\"00\",\"(?:[124-7]\\\\d\\\\d|3(?:[02-9]\\\\d|1[0-8]))\\\\d{6}|8\\\\d{6,9}|9\\\\d{6,10}|1\\\\d{4,5}\",[5,6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{4,7})\",\"$1 $2\",[\"[89]0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"66\"],\"0$1\"],[\"(\\\\d)(\\\\d{8})\",\"$1 $2\",[\"6\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1[16-8]|2[259]|3[124]|4[17-9]|5[124679]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-578]|91\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"NO\":[\"47\",\"00\",\"(?:0|[2-9]\\\\d{3})\\\\d{4}\",[5,8],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-79]\"]]],0,0,0,0,0,\"[02-689]|7[0-8]\"],\"NP\":[\"977\",\"00\",\"(?:1\\\\d|9)\\\\d{9}|[1-9]\\\\d{7}\",[8,10,11],[[\"(\\\\d)(\\\\d{7})\",\"$1-$2\",[\"1[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1-$2\",[\"1[01]|[2-8]|9(?:[1-59]|[67][2-6])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"9\"]]],\"0\"],\"NR\":[\"674\",\"00\",\"(?:444|(?:55|8\\\\d)\\\\d|666)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[4-68]\"]]]],\"NU\":[\"683\",\"00\",\"(?:[47]|888\\\\d)\\\\d{3}\",[4,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"8\"]]]],\"NZ\":[\"64\",\"0(?:0|161)\",\"[29]\\\\d{7,9}|50\\\\d{5}(?:\\\\d{2,3})?|6[0-35-9]\\\\d{6}|7\\\\d{7,8}|8\\\\d{4,9}|(?:11\\\\d|[34])\\\\d{7}\",[5,6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{3,8})\",\"$1 $2\",[\"8[1-579]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"50[036-8]|[89]0\",\"50(?:[0367]|88)|[89]0\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"24|[346]|7[2-57-9]|9[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2(?:10|74)|[59]|80\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1|2[028]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,5})\",\"$1 $2 $3\",[\"2(?:[169]|7[0-35-9])|7|86\"],\"0$1\"]],\"0\",0,0,0,0,0,0,\"00\"],\"OM\":[\"968\",\"00\",\"(?:1505|[279]\\\\d{3}|500)\\\\d{4}|800\\\\d{5,6}\",[7,8,9],[[\"(\\\\d{3})(\\\\d{4,6})\",\"$1 $2\",[\"[58]\"]],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"2\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[179]\"]]]],\"PA\":[\"507\",\"00\",\"(?:00800|8\\\\d{3})\\\\d{6}|[68]\\\\d{7}|[1-57-9]\\\\d{6}\",[7,8,10,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[1-57-9]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[68]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]]],\"PE\":[\"51\",\"00|19(?:1[124]|77|90)00\",\"(?:[14-8]|9\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"1\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[4-8]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"]]],\"0\",0,0,0,0,0,0,\"00\",\" Anexo \"],\"PF\":[\"689\",\"00\",\"4\\\\d{5}(?:\\\\d{2})?|8\\\\d{7,8}\",[6,8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"44\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"4|8[7-9]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]]]],\"PG\":[\"675\",\"00|140[1-3]\",\"(?:180|[78]\\\\d{3})\\\\d{4}|(?:[2-589]\\\\d|64)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"18|[2-69]|85\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[78]\"]]],0,0,0,0,0,0,0,\"00\"],\"PH\":[\"63\",\"00\",\"(?:[2-7]|9\\\\d)\\\\d{8}|2\\\\d{5}|(?:1800|8)\\\\d{7,9}\",[6,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"2\"],\"(0$1)\"],[\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2\",\"3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))\"],\"(0$1)\"],[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"346|4(?:27|9[35])|883\",\"3469|4(?:279|9(?:30|56))|8834\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-7]|8[2-8]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{4})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"1\"]]],\"0\"],\"PK\":[\"92\",\"00\",\"122\\\\d{6}|[24-8]\\\\d{10,11}|9(?:[013-9]\\\\d{8,10}|2(?:[01]\\\\d\\\\d|2(?:[06-8]\\\\d|1[01]))\\\\d{7})|(?:[2-8]\\\\d{3}|92(?:[0-7]\\\\d|8[1-9]))\\\\d{6}|[24-9]\\\\d{8}|[89]\\\\d{7}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,7})\",\"$1 $2 $3\",[\"[89]0\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"1\"]],[\"(\\\\d{3})(\\\\d{6,7})\",\"$1 $2\",[\"2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])\",\"9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{7,8})\",\"$1 $2\",[\"(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\"],\"(0$1)\"],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"58\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[24-9]\"],\"(0$1)\"]],\"0\"],\"PL\":[\"48\",\"00\",\"(?:6|8\\\\d\\\\d)\\\\d{7}|[1-9]\\\\d{6}(?:\\\\d{2})?|[26]\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{5})\",\"$1\",[\"19\"]],[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"11|20|64\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1\",\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"64\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[2-8]|[2-7]|8[1-79]|9[145]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"8\"]]]],\"PM\":[\"508\",\"00\",\"[45]\\\\d{5}|(?:708|80\\\\d)\\\\d{6}\",[6,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[45]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"PR\":[\"1\",\"011\",\"(?:[589]\\\\d\\\\d|787)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"787|939\"],\"PS\":[\"970\",\"00\",\"[2489]2\\\\d{6}|(?:1\\\\d|5)\\\\d{8}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2489]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"PT\":[\"351\",\"00\",\"1693\\\\d{5}|(?:[26-9]\\\\d|30)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2[12]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"16|[236-9]\"]]]],\"PW\":[\"680\",\"01[12]\",\"(?:[24-8]\\\\d\\\\d|345|900)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"PY\":[\"595\",\"00\",\"59\\\\d{4,6}|9\\\\d{5,10}|(?:[2-46-8]\\\\d|5[0-8])\\\\d{4,7}\",[6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{3,6})\",\"$1 $2\",[\"[2-9]0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{4,5})\",\"$1 $2\",[\"2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"87\"]],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"9(?:[5-79]|8[1-6])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-8]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"]]],\"0\"],\"QA\":[\"974\",\"00\",\"800\\\\d{4}|(?:2|800)\\\\d{6}|(?:0080|[3-7])\\\\d{7}\",[7,8,9,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"2[16]|8\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[3-7]\"]]]],\"RE\":[\"262\",\"00\",\"(?:26|[689]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2689]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"26(?:2\\\\d\\\\d|3(?:0\\\\d|1[0-4]))\\\\d{4}\"],[\"69(?:2\\\\d\\\\d|3(?:0[0-46]|1[013]|2[0-2]|3[0-39]|4\\\\d|5[0-5]|6[0-6]|7[0-27]|8[0-8]|9[0-479]))\\\\d{4}\"],[\"80\\\\d{7}\"],[\"89[1-37-9]\\\\d{6}\"],0,0,0,0,[\"9(?:399[0-3]|479[0-5]|76(?:2[27]|3[0-37]))\\\\d{4}\"],[\"8(?:1[019]|2[0156]|84|90)\\\\d{6}\"]]],\"RO\":[\"40\",\"00\",\"(?:[2378]\\\\d|90)\\\\d{7}|[23]\\\\d{5}\",[6,9],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"2[3-6]\",\"2[3-6]\\\\d9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"219|31\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[23]1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[237-9]\"],\"0$1\"]],\"0\",0,0,0,0,0,0,0,\" int \"],\"RS\":[\"381\",\"00\",\"38[02-9]\\\\d{6,9}|6\\\\d{7,9}|90\\\\d{4,8}|38\\\\d{5,6}|(?:7\\\\d\\\\d|800)\\\\d{3,9}|(?:[12]\\\\d|3[0-79])\\\\d{5,10}\",[6,7,8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3,9})\",\"$1 $2\",[\"(?:2[389]|39)0|[7-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5,10})\",\"$1 $2\",[\"[1-36]\"],\"0$1\"]],\"0\"],\"RU\":[\"7\",\"810\",\"8\\\\d{13}|[347-9]\\\\d{9}\",[10,14],[[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"7(?:1[0-8]|2[1-9])\",\"7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))\",\"7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2\"],\"8 ($1)\",1],[\"(\\\\d{5})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"7(?:1[0-68]|2[1-9])\",\"7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))\",\"7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]\"],\"8 ($1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"8 ($1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[349]|8(?:[02-7]|1[1-8])\"],\"8 ($1)\",1],[\"(\\\\d{4})(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"8\"],\"8 ($1)\"]],\"8\",0,0,0,0,\"3[04-689]|[489]\",0,\"8~10\"],\"RW\":[\"250\",\"00\",\"(?:06|[27]\\\\d\\\\d|[89]00)\\\\d{6}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"0\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"]]],\"0\"],\"SA\":[\"966\",\"00\",\"92\\\\d{7}|(?:[15]|8\\\\d)\\\\d{8}\",[9,10],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"9\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"81\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],\"0\"],\"SB\":[\"677\",\"0[01]\",\"(?:[1-6]|[7-9]\\\\d\\\\d)\\\\d{4}\",[5,7],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7|8[4-9]|9(?:[1-8]|9[0-8])\"]]]],\"SC\":[\"248\",\"010|0[0-2]\",\"800\\\\d{4}|(?:[249]\\\\d|64)\\\\d{5}\",[7],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[246]|9[57]\"]]],0,0,0,0,0,0,0,\"00\"],\"SD\":[\"249\",\"00\",\"[19]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],\"0\"],\"SE\":[\"46\",\"00\",\"(?:[26]\\\\d\\\\d|9)\\\\d{9}|[1-9]\\\\d{8}|[1-689]\\\\d{7}|[1-4689]\\\\d{6}|2\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})\",\"$1-$2 $3\",[\"20\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"9(?:00|39|44|9)\"],\"0$1\",0,\"$1 $2\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1-$2 $3\",[\"[12][136]|3[356]|4[0246]|6[03]|90[1-9]\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d)(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"8\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{2})\",\"$1-$2 $3\",[\"1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{3})\",\"$1-$2 $3\",[\"9(?:00|39|44)\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"10|7\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"8\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1-$2 $3 $4\",[\"9\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4 $5\",[\"[26]\"],\"0$1\",0,\"$1 $2 $3 $4 $5\"]],\"0\"],\"SG\":[\"65\",\"0[0-3]\\\\d\",\"(?:(?:1\\\\d|8)\\\\d\\\\d|7000)\\\\d{7}|[3689]\\\\d{7}\",[8,10,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[369]|8(?:0[1-8]|[1-9])\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{4})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]]],\"SH\":[\"290\",\"00\",\"(?:[256]\\\\d|8)\\\\d{3}\",[4,5],0,0,0,0,0,0,\"[256]\"],\"SI\":[\"386\",\"00|10(?:22|66|88|99)\",\"[1-7]\\\\d{7}|8\\\\d{4,7}|90\\\\d{4,6}\",[5,6,7,8],[[\"(\\\\d{2})(\\\\d{3,6})\",\"$1 $2\",[\"8[09]|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"59|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[37][01]|4[0139]|51|6\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[1-57]\"],\"(0$1)\"]],\"0\",0,0,0,0,0,0,\"00\"],\"SJ\":[\"47\",\"00\",\"0\\\\d{4}|(?:[489]\\\\d|[57]9)\\\\d{6}\",[5,8],0,0,0,0,0,0,\"79\"],\"SK\":[\"421\",\"00\",\"[2-689]\\\\d{8}|[2-59]\\\\d{6}|[2-5]\\\\d{5}\",[6,7,9],[[\"(\\\\d)(\\\\d{2})(\\\\d{3,4})\",\"$1 $2 $3\",[\"21\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[3-5][1-8]1\",\"[3-5][1-8]1[67]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[689]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"[3-5]\"],\"0$1\"]],\"0\"],\"SL\":[\"232\",\"00\",\"(?:[237-9]\\\\d|66)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[236-9]\"],\"(0$1)\"]],\"0\"],\"SM\":[\"378\",\"00\",\"(?:0549|[5-7]\\\\d)\\\\d{6}\",[8,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-7]\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"0\"]]],0,0,\"([89]\\\\d{5})$\",\"0549$1\"],\"SN\":[\"221\",\"00\",\"(?:[378]\\\\d|93)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[379]\"]]]],\"SO\":[\"252\",\"00\",\"[346-9]\\\\d{8}|[12679]\\\\d{7}|[1-5]\\\\d{6}|[1348]\\\\d{5}\",[6,7,8,9],[[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"8[125]\"]],[\"(\\\\d{6})\",\"$1\",[\"[134]\"]],[\"(\\\\d)(\\\\d{6})\",\"$1 $2\",[\"[15]|2[0-79]|3[0-46-8]|4[0-7]\"]],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"(?:2|90)4|[67]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[348]|64|79|90\"]],[\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"1|28|6[0-35-9]|77|9[2-9]\"]]],\"0\"],\"SR\":[\"597\",\"00\",\"(?:[2-5]|68|[78]\\\\d)\\\\d{5}\",[6,7],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\",[\"56\"]],[\"(\\\\d{3})(\\\\d{3})\",\"$1-$2\",[\"[2-5]\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[6-8]\"]]]],\"SS\":[\"211\",\"00\",\"[19]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],\"0\"],\"ST\":[\"239\",\"00\",\"(?:22|9\\\\d)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[29]\"]]]],\"SV\":[\"503\",\"00\",\"[267]\\\\d{7}|[89]00\\\\d{4}(?:\\\\d{4})?\",[7,8,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[89]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[267]\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]]],\"SX\":[\"1\",\"011\",\"7215\\\\d{6}|(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"(5\\\\d{6})$|1\",\"721$1\",0,\"721\"],\"SY\":[\"963\",\"00\",\"[1-39]\\\\d{8}|[1-5]\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-5]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\",1]],\"0\"],\"SZ\":[\"268\",\"00\",\"0800\\\\d{4}|(?:[237]\\\\d|900)\\\\d{6}\",[8,9],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[0237]\"]],[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"9\"]]]],\"TA\":[\"290\",\"00\",\"8\\\\d{3}\",[4],0,0,0,0,0,0,\"8\"],\"TC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|649|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-479]\\\\d{6})$|1\",\"649$1\",0,\"649\"],\"TD\":[\"235\",\"00|16\",\"(?:22|[69]\\\\d|77)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2679]\"]]],0,0,0,0,0,0,0,\"00\"],\"TG\":[\"228\",\"00\",\"[279]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[279]\"]]]],\"TH\":[\"66\",\"00[1-9]\",\"(?:001800|[2-57]|[689]\\\\d)\\\\d{7}|1\\\\d{7,9}\",[8,9,10,13],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[13-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"TJ\":[\"992\",\"810\",\"[0-57-9]\\\\d{8}\",[9],[[\"(\\\\d{6})(\\\\d)(\\\\d{2})\",\"$1 $2 $3\",[\"331\",\"3317\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[34]7\"]],[\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"3[1-5]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[0-57-9]\"]]],0,0,0,0,0,0,0,\"8~10\"],\"TK\":[\"690\",\"00\",\"[2-47]\\\\d{3,6}\",[4,5,6,7]],\"TL\":[\"670\",\"00\",\"7\\\\d{7}|(?:[2-47]\\\\d|[89]0)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-489]|70\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"7\"]]]],\"TM\":[\"993\",\"810\",\"[1-6]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"12\"],\"(8 $1)\"],[\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[1-5]\"],\"(8 $1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"6\"],\"8 $1\"]],\"8\",0,0,0,0,0,0,\"8~10\"],\"TN\":[\"216\",\"00\",\"[2-57-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-57-9]\"]]]],\"TO\":[\"676\",\"00\",\"(?:0800|(?:[5-8]\\\\d\\\\d|999)\\\\d)\\\\d{3}|[2-8]\\\\d{4}\",[5,7],[[\"(\\\\d{2})(\\\\d{3})\",\"$1-$2\",[\"[2-4]|50|6[09]|7[0-24-69]|8[05]\"]],[\"(\\\\d{4})(\\\\d{3})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[5-9]\"]]]],\"TR\":[\"90\",\"00\",\"4\\\\d{6}|8\\\\d{11,12}|(?:[2-58]\\\\d\\\\d|900)\\\\d{7}\",[7,10,12,13],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"512|8[01589]|90\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"5(?:[0-59]|61)\",\"5(?:[0-59]|616)\",\"5(?:[0-59]|6161)\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24][1-8]|3[1-9]\"],\"(0$1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{6,7})\",\"$1 $2 $3\",[\"80\"],\"0$1\",1]],\"0\"],\"TT\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-46-8]\\\\d{6})$|1\",\"868$1\",0,\"868\"],\"TV\":[\"688\",\"00\",\"(?:2|7\\\\d\\\\d|90)\\\\d{4}\",[5,6,7],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"2\"]],[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"90\"]],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]]],\"TW\":[\"886\",\"0(?:0[25-79]|19)\",\"[2-689]\\\\d{8}|7\\\\d{9,10}|[2-8]\\\\d{7}|2\\\\d{6}\",[7,8,9,10,11],[[\"(\\\\d{2})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"202\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[258]0\"],\"0$1\"],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]\",\"[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[49]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\",0,0,0,0,0,0,0,\"#\"],\"TZ\":[\"255\",\"00[056]\",\"(?:[25-8]\\\\d|41|90)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[24]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[67]\"],\"0$1\"]],\"0\"],\"UA\":[\"380\",\"00\",\"[89]\\\\d{9}|[3-9]\\\\d{8}\",[9,10],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]\",\"6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])\",\"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-7]|89|9[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\",0,0,0,0,0,0,\"0~0\"],\"UG\":[\"256\",\"00[057]\",\"800\\\\d{6}|(?:[29]0|[347]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"202\",\"2024\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[27-9]|4(?:6[45]|[7-9])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[34]\"],\"0$1\"]],\"0\"],\"US\":[\"1\",\"011\",\"[2-9]\\\\d{9}|3\\\\d{6}\",[10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"310\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"($1) $2-$3\",[\"[2-9]\"],0,1,\"$1-$2-$3\"]],\"1\",0,0,0,0,0,[[\"5056(?:[0-35-9]\\\\d|4[46])\\\\d{4}|(?:4722|505[2-57-9])\\\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[01356]|3[0-24679]|4[167]|5[0-2]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\\\d{6}\"],[\"\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"UY\":[\"598\",\"0(?:0|1[3-9]\\\\d)\",\"(?:0004|4)\\\\d{9}|[1249]\\\\d{7}|(?:[49]\\\\d|80)\\\\d{5}\",[7,8,10,13],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"405|8|90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[124]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"4\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"0\"]]],\"0\",0,0,0,0,0,0,\"00\",\" int. \"],\"UZ\":[\"998\",\"810\",\"200\\\\d{6}|(?:33|[5-79]\\\\d|88)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[235-9]\"],\"8 $1\"]],\"8\",0,0,0,0,0,0,\"8~10\"],\"VA\":[\"39\",\"00\",\"0\\\\d{5,10}|3[0-8]\\\\d{7,10}|55\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?|(?:1\\\\d|39)\\\\d{7,8}\",[6,7,8,9,10,11],0,0,0,0,0,0,\"06698\"],\"VC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|784|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"784$1\",0,\"784\"],\"VE\":[\"58\",\"00\",\"[68]00\\\\d{7}|(?:[24]\\\\d|[59]0)\\\\d{8}\",[10],[[\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"[24-689]\"],\"0$1\"]],\"0\"],\"VG\":[\"1\",\"011\",\"(?:284|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-578]\\\\d{6})$|1\",\"284$1\",0,\"284\"],\"VI\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:34|90)0\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"340$1\",0,\"340\"],\"VN\":[\"84\",\"00\",\"[12]\\\\d{9}|[135-9]\\\\d{8}|[16]\\\\d{7}|[16-8]\\\\d{6}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"1\"],0,1],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"6\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[357-9]\"],\"0$1\",1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[48]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\",1]],\"0\"],\"VU\":[\"678\",\"00\",\"[57-9]\\\\d{6}|(?:[238]\\\\d|48)\\\\d{3}\",[5,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[57-9]\"]]]],\"WF\":[\"681\",\"00\",\"(?:40|72)\\\\d{4}|8\\\\d{5}(?:\\\\d{3})?\",[6,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[478]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]]]],\"WS\":[\"685\",\"0\",\"(?:[2-6]|8\\\\d{5})\\\\d{4}|[78]\\\\d{6}|[68]\\\\d{5}\",[5,6,7,10],[[\"(\\\\d{5})\",\"$1\",[\"[2-5]|6[1-9]\"]],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"[68]\"]],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]]],\"XK\":[\"383\",\"00\",\"[23]\\\\d{7,8}|(?:4\\\\d\\\\d|[89]00)\\\\d{5}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-4]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[23]\"],\"0$1\"]],\"0\"],\"YE\":[\"967\",\"00\",\"(?:1|7\\\\d)\\\\d{7}|[1-7]\\\\d{6}\",[7,8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-6]|7(?:[24-6]|8[0-7])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"YT\":[\"262\",\"00\",\"(?:80|9\\\\d)\\\\d{7}|(?:26|63)9\\\\d{6}\",[9],0,\"0\",0,0,0,0,0,[[\"269(?:0[0-467]|5[0-4]|6\\\\d|[78]0)\\\\d{4}\"],[\"639(?:0[0-79]|1[019]|[267]\\\\d|3[09]|40|5[05-9]|9[04-79])\\\\d{4}\"],[\"80\\\\d{7}\"],0,0,0,0,0,[\"9(?:(?:39|47)8[01]|769\\\\d)\\\\d{4}\"]]],\"ZA\":[\"27\",\"00\",\"[1-79]\\\\d{8}|8\\\\d{4,9}\",[5,6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"8[1-4]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"8[1-4]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"860\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"ZM\":[\"260\",\"00\",\"800\\\\d{6}|(?:21|63|[79]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[28]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[79]\"],\"0$1\"]],\"0\"],\"ZW\":[\"263\",\"00\",\"2(?:[0-57-9]\\\\d{6,8}|6[0-24-9]\\\\d{6,7})|[38]\\\\d{9}|[35-8]\\\\d{8}|[3-6]\\\\d{7}|[1-689]\\\\d{6}|[1-3569]\\\\d{5}|[1356]\\\\d{4}\",[5,6,7,8,9,10],[[\"(\\\\d{3})(\\\\d{3,5})\",\"$1 $2\",[\"2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"[49]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"80\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2\",\"2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)\",\"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,5})\",\"$1 $2\",[\"1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"29[013-9]|39|54\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,5})\",\"$1 $2\",[\"(?:25|54)8\",\"258|5483\"],\"0$1\"]],\"0\"]},\"nonGeographic\":{\"800\":[\"800\",0,\"(?:00|[1-9]\\\\d)\\\\d{6}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"\\\\d\"]]],0,0,0,0,0,0,[0,0,[\"(?:00|[1-9]\\\\d)\\\\d{6}\"]]],\"808\":[\"808\",0,\"[1-9]\\\\d{7}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[1-9]\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,0,[\"[1-9]\\\\d{7}\"]]],\"870\":[\"870\",0,\"7\\\\d{11}|[35-7]\\\\d{8}\",[9,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[35-7]\"]]],0,0,0,0,0,0,[0,[\"(?:[356]|774[45])\\\\d{8}|7[6-8]\\\\d{7}\"]]],\"878\":[\"878\",0,\"10\\\\d{10}\",[12],[[\"(\\\\d{2})(\\\\d{5})(\\\\d{5})\",\"$1 $2 $3\",[\"1\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[\"10\\\\d{10}\"]]],\"881\":[\"881\",0,\"[0-36-9]\\\\d{8}\",[9],[[\"(\\\\d)(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\",[\"[0-36-9]\"]]],0,0,0,0,0,0,[0,[\"[0-36-9]\\\\d{8}\"]]],\"882\":[\"882\",0,\"[13]\\\\d{6}(?:\\\\d{2,5})?|[19]\\\\d{7}|(?:[25]\\\\d\\\\d|4)\\\\d{7}(?:\\\\d{2})?\",[7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"16|342\"]],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"49\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"1[36]|9\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"3[23]\"]],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"16\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"10|23|3(?:[15]|4[57])|4|51\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"34\"]],[\"(\\\\d{2})(\\\\d{4,5})(\\\\d{5})\",\"$1 $2 $3\",[\"[1-35]\"]]],0,0,0,0,0,0,[0,[\"342\\\\d{4}|(?:337|49)\\\\d{6}|(?:3(?:2|47|7\\\\d{3})|50\\\\d{3})\\\\d{7}\",[7,8,9,10,12]],0,0,0,0,0,0,[\"1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\\\d{4}|6\\\\d{5,10})|(?:345\\\\d|9[89])\\\\d{6}|(?:10|2(?:3|85\\\\d)|3(?:[15]|[69]\\\\d\\\\d)|4[15-8]|51)\\\\d{8}\"]]],\"883\":[\"883\",0,\"(?:[1-4]\\\\d|51)\\\\d{6,10}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,8})\",\"$1 $2 $3\",[\"[14]|2[24-689]|3[02-689]|51[24-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"510\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"21\"]],[\"(\\\\d{4})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"51[13]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[235]\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[\"(?:2(?:00\\\\d\\\\d|10)|(?:370[1-9]|51\\\\d0)\\\\d)\\\\d{7}|51(?:00\\\\d{5}|[24-9]0\\\\d{4,7})|(?:1[013-79]|2[24-689]|3[02-689]|4[0-4])0\\\\d{5,9}\"]]],\"888\":[\"888\",0,\"\\\\d{11}\",[11],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\"]],0,0,0,0,0,0,[0,0,0,0,0,0,[\"\\\\d{11}\"]]],\"979\":[\"979\",0,\"[1359]\\\\d{8}\",[9],[[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[1359]\"]]],0,0,0,0,0,0,[0,0,0,[\"[1359]\\\\d{8}\"]]]}}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n// Extracts the following properties from function arguments:\n// * input `text`\n// * `options` object\n// * `metadata` JSON\nexport default function normalizeArguments(args) {\n var _Array$prototype$slic = Array.prototype.slice.call(args),\n _Array$prototype$slic2 = _slicedToArray(_Array$prototype$slic, 4),\n arg_1 = _Array$prototype$slic2[0],\n arg_2 = _Array$prototype$slic2[1],\n arg_3 = _Array$prototype$slic2[2],\n arg_4 = _Array$prototype$slic2[3];\n\n var text;\n var options;\n var metadata; // If the phone number is passed as a string.\n // `parsePhoneNumber('88005553535', ...)`.\n\n if (typeof arg_1 === 'string') {\n text = arg_1;\n } else throw new TypeError('A text for parsing must be a string.'); // If \"default country\" argument is being passed then move it to `options`.\n // `parsePhoneNumber('88005553535', 'RU', [options], metadata)`.\n\n\n if (!arg_2 || typeof arg_2 === 'string') {\n if (arg_4) {\n options = arg_3;\n metadata = arg_4;\n } else {\n options = undefined;\n metadata = arg_3;\n }\n\n if (arg_2) {\n options = _objectSpread({\n defaultCountry: arg_2\n }, options);\n }\n } // `defaultCountry` is not passed.\n // Example: `parsePhoneNumber('+78005553535', [options], metadata)`.\n else if (isObject(arg_2)) {\n if (arg_3) {\n options = arg_2;\n metadata = arg_3;\n } else {\n metadata = arg_2;\n }\n } else throw new Error(\"Invalid second argument: \".concat(arg_2));\n\n return {\n text: text,\n options: options,\n metadata: metadata\n };\n} // Otherwise istanbul would show this as \"branch not covered\".\n\n/* istanbul ignore next */\n\nvar isObject = function isObject(_) {\n return _typeof(_) === 'object';\n};\n//# sourceMappingURL=normalizeArguments.js.map","// The minimum length of the national significant number.\nexport var MIN_LENGTH_FOR_NSN = 2; // The ITU says the maximum length should be 15,\n// but one can find longer numbers in Germany.\n\nexport var MAX_LENGTH_FOR_NSN = 17; // The maximum length of the country calling code.\n\nexport var MAX_LENGTH_COUNTRY_CODE = 3; // Digits accepted in phone numbers\n// (ascii, fullwidth, arabic-indic, and eastern arabic digits).\n\nexport var VALID_DIGITS = \"0-9\\uFF10-\\uFF19\\u0660-\\u0669\\u06F0-\\u06F9\"; // `DASHES` will be right after the opening square bracket of the \"character class\"\n\nvar DASHES = \"-\\u2010-\\u2015\\u2212\\u30FC\\uFF0D\";\nvar SLASHES = \"\\uFF0F/\";\nvar DOTS = \"\\uFF0E.\";\nexport var WHITESPACE = \" \\xA0\\xAD\\u200B\\u2060\\u3000\";\nvar BRACKETS = \"()\\uFF08\\uFF09\\uFF3B\\uFF3D\\\\[\\\\]\"; // export const OPENING_BRACKETS = '(\\uFF08\\uFF3B\\\\\\['\n\nvar TILDES = \"~\\u2053\\u223C\\uFF5E\"; // Regular expression of acceptable punctuation found in phone numbers. This\n// excludes punctuation found as a leading character only. This consists of dash\n// characters, white space characters, full stops, slashes, square brackets,\n// parentheses and tildes. Full-width variants are also present.\n\nexport var VALID_PUNCTUATION = \"\".concat(DASHES).concat(SLASHES).concat(DOTS).concat(WHITESPACE).concat(BRACKETS).concat(TILDES);\nexport var PLUS_CHARS = \"+\\uFF0B\"; // const LEADING_PLUS_CHARS_PATTERN = new RegExp('^[' + PLUS_CHARS + ']+')\n//# sourceMappingURL=constants.js.map","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n// https://stackoverflow.com/a/46971044/970769\n// \"Breaking changes in Typescript 2.1\"\n// \"Extending built-ins like Error, Array, and Map may no longer work.\"\n// \"As a recommendation, you can manually adjust the prototype immediately after any super(...) calls.\"\n// https://github.com/Microsoft/TypeScript-wiki/blob/main/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\nvar ParseError = /*#__PURE__*/function (_Error) {\n _inherits(ParseError, _Error);\n\n var _super = _createSuper(ParseError);\n\n function ParseError(code) {\n var _this;\n\n _classCallCheck(this, ParseError);\n\n _this = _super.call(this, code); // Set the prototype explicitly.\n // Any subclass of FooError will have to manually set the prototype as well.\n\n Object.setPrototypeOf(_assertThisInitialized(_this), ParseError.prototype);\n _this.name = _this.constructor.name;\n return _this;\n }\n\n return _createClass(ParseError);\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nexport { ParseError as default };\n//# sourceMappingURL=ParseError.js.map","// Copy-pasted from:\n// https://github.com/substack/semver-compare/blob/master/index.js\n//\n// Inlining this function because some users reported issues with\n// importing from `semver-compare` in a browser with ES6 \"native\" modules.\n//\n// Fixes `semver-compare` not being able to compare versions with alpha/beta/etc \"tags\".\n// https://github.com/catamphetamine/libphonenumber-js/issues/381\nexport default function (a, b) {\n a = a.split('-');\n b = b.split('-');\n var pa = a[0].split('.');\n var pb = b[0].split('.');\n\n for (var i = 0; i < 3; i++) {\n var na = Number(pa[i]);\n var nb = Number(pb[i]);\n if (na > nb) return 1;\n if (nb > na) return -1;\n if (!isNaN(na) && isNaN(nb)) return 1;\n if (isNaN(na) && !isNaN(nb)) return -1;\n }\n\n if (a[1] && b[1]) {\n return a[1] > b[1] ? 1 : a[1] < b[1] ? -1 : 0;\n }\n\n return !a[1] && b[1] ? 1 : a[1] && !b[1] ? -1 : 0;\n}\n//# sourceMappingURL=semver-compare.js.map","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nimport compare from './tools/semver-compare.js'; // Added \"possibleLengths\" and renamed\n// \"country_phone_code_to_countries\" to \"country_calling_codes\".\n\nvar V2 = '1.0.18'; // Added \"idd_prefix\" and \"default_idd_prefix\".\n\nvar V3 = '1.2.0'; // Moved `001` country code to \"nonGeographic\" section of metadata.\n\nvar V4 = '1.7.35';\nvar DEFAULT_EXT_PREFIX = ' ext. ';\nvar CALLING_CODE_REG_EXP = /^\\d+$/;\n/**\r\n * See: https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md\r\n */\n\nvar Metadata = /*#__PURE__*/function () {\n function Metadata(metadata) {\n _classCallCheck(this, Metadata);\n\n validateMetadata(metadata);\n this.metadata = metadata;\n setVersion.call(this, metadata);\n }\n\n _createClass(Metadata, [{\n key: \"getCountries\",\n value: function getCountries() {\n return Object.keys(this.metadata.countries).filter(function (_) {\n return _ !== '001';\n });\n }\n }, {\n key: \"getCountryMetadata\",\n value: function getCountryMetadata(countryCode) {\n return this.metadata.countries[countryCode];\n }\n }, {\n key: \"nonGeographic\",\n value: function nonGeographic() {\n if (this.v1 || this.v2 || this.v3) return; // `nonGeographical` was a typo.\n // It's present in metadata generated from `1.7.35` to `1.7.37`.\n // The test case could be found by searching for \"nonGeographical\".\n\n return this.metadata.nonGeographic || this.metadata.nonGeographical;\n }\n }, {\n key: \"hasCountry\",\n value: function hasCountry(country) {\n return this.getCountryMetadata(country) !== undefined;\n }\n }, {\n key: \"hasCallingCode\",\n value: function hasCallingCode(callingCode) {\n if (this.getCountryCodesForCallingCode(callingCode)) {\n return true;\n }\n\n if (this.nonGeographic()) {\n if (this.nonGeographic()[callingCode]) {\n return true;\n }\n } else {\n // A hacky workaround for old custom metadata (generated before V4).\n var countryCodes = this.countryCallingCodes()[callingCode];\n\n if (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\n return true;\n }\n }\n }\n }, {\n key: \"isNonGeographicCallingCode\",\n value: function isNonGeographicCallingCode(callingCode) {\n if (this.nonGeographic()) {\n return this.nonGeographic()[callingCode] ? true : false;\n } else {\n return this.getCountryCodesForCallingCode(callingCode) ? false : true;\n }\n } // Deprecated.\n\n }, {\n key: \"country\",\n value: function country(countryCode) {\n return this.selectNumberingPlan(countryCode);\n }\n }, {\n key: \"selectNumberingPlan\",\n value: function selectNumberingPlan(countryCode, callingCode) {\n // Supports just passing `callingCode` as the first argument.\n if (countryCode && CALLING_CODE_REG_EXP.test(countryCode)) {\n callingCode = countryCode;\n countryCode = null;\n }\n\n if (countryCode && countryCode !== '001') {\n if (!this.hasCountry(countryCode)) {\n throw new Error(\"Unknown country: \".concat(countryCode));\n }\n\n this.numberingPlan = new NumberingPlan(this.getCountryMetadata(countryCode), this);\n } else if (callingCode) {\n if (!this.hasCallingCode(callingCode)) {\n throw new Error(\"Unknown calling code: \".concat(callingCode));\n }\n\n this.numberingPlan = new NumberingPlan(this.getNumberingPlanMetadata(callingCode), this);\n } else {\n this.numberingPlan = undefined;\n }\n\n return this;\n }\n }, {\n key: \"getCountryCodesForCallingCode\",\n value: function getCountryCodesForCallingCode(callingCode) {\n var countryCodes = this.countryCallingCodes()[callingCode];\n\n if (countryCodes) {\n // Metadata before V4 included \"non-geographic entity\" calling codes\n // inside `country_calling_codes` (for example, `\"881\":[\"001\"]`).\n // Now the semantics of `country_calling_codes` has changed:\n // it's specifically for \"countries\" now.\n // Older versions of custom metadata will simply skip parsing\n // \"non-geographic entity\" phone numbers with new versions\n // of this library: it's not considered a bug,\n // because such numbers are extremely rare,\n // and developers extremely rarely use custom metadata.\n if (countryCodes.length === 1 && countryCodes[0].length === 3) {\n return;\n }\n\n return countryCodes;\n }\n }\n }, {\n key: \"getCountryCodeForCallingCode\",\n value: function getCountryCodeForCallingCode(callingCode) {\n var countryCodes = this.getCountryCodesForCallingCode(callingCode);\n\n if (countryCodes) {\n return countryCodes[0];\n }\n }\n }, {\n key: \"getNumberingPlanMetadata\",\n value: function getNumberingPlanMetadata(callingCode) {\n var countryCode = this.getCountryCodeForCallingCode(callingCode);\n\n if (countryCode) {\n return this.getCountryMetadata(countryCode);\n }\n\n if (this.nonGeographic()) {\n var metadata = this.nonGeographic()[callingCode];\n\n if (metadata) {\n return metadata;\n }\n } else {\n // A hacky workaround for old custom metadata (generated before V4).\n // In that metadata, there was no concept of \"non-geographic\" metadata\n // so metadata for `001` country code was stored along with other countries.\n // The test case can be found by searching for:\n // \"should work around `nonGeographic` metadata not existing\".\n var countryCodes = this.countryCallingCodes()[callingCode];\n\n if (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\n return this.metadata.countries['001'];\n }\n }\n } // Deprecated.\n\n }, {\n key: \"countryCallingCode\",\n value: function countryCallingCode() {\n return this.numberingPlan.callingCode();\n } // Deprecated.\n\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n return this.numberingPlan.IDDPrefix();\n } // Deprecated.\n\n }, {\n key: \"defaultIDDPrefix\",\n value: function defaultIDDPrefix() {\n return this.numberingPlan.defaultIDDPrefix();\n } // Deprecated.\n\n }, {\n key: \"nationalNumberPattern\",\n value: function nationalNumberPattern() {\n return this.numberingPlan.nationalNumberPattern();\n } // Deprecated.\n\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n return this.numberingPlan.possibleLengths();\n } // Deprecated.\n\n }, {\n key: \"formats\",\n value: function formats() {\n return this.numberingPlan.formats();\n } // Deprecated.\n\n }, {\n key: \"nationalPrefixForParsing\",\n value: function nationalPrefixForParsing() {\n return this.numberingPlan.nationalPrefixForParsing();\n } // Deprecated.\n\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function nationalPrefixTransformRule() {\n return this.numberingPlan.nationalPrefixTransformRule();\n } // Deprecated.\n\n }, {\n key: \"leadingDigits\",\n value: function leadingDigits() {\n return this.numberingPlan.leadingDigits();\n } // Deprecated.\n\n }, {\n key: \"hasTypes\",\n value: function hasTypes() {\n return this.numberingPlan.hasTypes();\n } // Deprecated.\n\n }, {\n key: \"type\",\n value: function type(_type) {\n return this.numberingPlan.type(_type);\n } // Deprecated.\n\n }, {\n key: \"ext\",\n value: function ext() {\n return this.numberingPlan.ext();\n }\n }, {\n key: \"countryCallingCodes\",\n value: function countryCallingCodes() {\n if (this.v1) return this.metadata.country_phone_code_to_countries;\n return this.metadata.country_calling_codes;\n } // Deprecated.\n\n }, {\n key: \"chooseCountryByCountryCallingCode\",\n value: function chooseCountryByCountryCallingCode(callingCode) {\n return this.selectNumberingPlan(callingCode);\n }\n }, {\n key: \"hasSelectedNumberingPlan\",\n value: function hasSelectedNumberingPlan() {\n return this.numberingPlan !== undefined;\n }\n }]);\n\n return Metadata;\n}();\n\nexport { Metadata as default };\n\nvar NumberingPlan = /*#__PURE__*/function () {\n function NumberingPlan(metadata, globalMetadataObject) {\n _classCallCheck(this, NumberingPlan);\n\n this.globalMetadataObject = globalMetadataObject;\n this.metadata = metadata;\n setVersion.call(this, globalMetadataObject.metadata);\n }\n\n _createClass(NumberingPlan, [{\n key: \"callingCode\",\n value: function callingCode() {\n return this.metadata[0];\n } // Formatting information for regions which share\n // a country calling code is contained by only one region\n // for performance reasons. For example, for NANPA region\n // (\"North American Numbering Plan Administration\",\n // which includes USA, Canada, Cayman Islands, Bahamas, etc)\n // it will be contained in the metadata for `US`.\n\n }, {\n key: \"getDefaultCountryMetadataForRegion\",\n value: function getDefaultCountryMetadataForRegion() {\n return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode());\n } // Is always present.\n\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n if (this.v1 || this.v2) return;\n return this.metadata[1];\n } // Is only present when a country supports multiple IDD prefixes.\n\n }, {\n key: \"defaultIDDPrefix\",\n value: function defaultIDDPrefix() {\n if (this.v1 || this.v2) return;\n return this.metadata[12];\n }\n }, {\n key: \"nationalNumberPattern\",\n value: function nationalNumberPattern() {\n if (this.v1 || this.v2) return this.metadata[1];\n return this.metadata[2];\n } // \"possible length\" data is always present in Google's metadata.\n\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n if (this.v1) return;\n return this.metadata[this.v2 ? 2 : 3];\n }\n }, {\n key: \"_getFormats\",\n value: function _getFormats(metadata) {\n return metadata[this.v1 ? 2 : this.v2 ? 3 : 4];\n } // For countries of the same region (e.g. NANPA)\n // formats are all stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n }, {\n key: \"formats\",\n value: function formats() {\n var _this = this;\n\n var formats = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || [];\n return formats.map(function (_) {\n return new Format(_, _this);\n });\n }\n }, {\n key: \"nationalPrefix\",\n value: function nationalPrefix() {\n return this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5];\n }\n }, {\n key: \"_getNationalPrefixFormattingRule\",\n value: function _getNationalPrefixFormattingRule(metadata) {\n return metadata[this.v1 ? 4 : this.v2 ? 5 : 6];\n } // For countries of the same region (e.g. NANPA)\n // national prefix formatting rule is stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function nationalPrefixFormattingRule() {\n return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"_nationalPrefixForParsing\",\n value: function _nationalPrefixForParsing() {\n return this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7];\n }\n }, {\n key: \"nationalPrefixForParsing\",\n value: function nationalPrefixForParsing() {\n // If `national_prefix_for_parsing` is not set explicitly,\n // then infer it from `national_prefix` (if any)\n return this._nationalPrefixForParsing() || this.nationalPrefix();\n }\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function nationalPrefixTransformRule() {\n return this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8];\n }\n }, {\n key: \"_getNationalPrefixIsOptionalWhenFormatting\",\n value: function _getNationalPrefixIsOptionalWhenFormatting() {\n return !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9];\n } // For countries of the same region (e.g. NANPA)\n // \"national prefix is optional when formatting\" flag is\n // stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"leadingDigits\",\n value: function leadingDigits() {\n return this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10];\n }\n }, {\n key: \"types\",\n value: function types() {\n return this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11];\n }\n }, {\n key: \"hasTypes\",\n value: function hasTypes() {\n // Versions 1.2.0 - 1.2.4: can be `[]`.\n\n /* istanbul ignore next */\n if (this.types() && this.types().length === 0) {\n return false;\n } // Versions <= 1.2.4: can be `undefined`.\n // Version >= 1.2.5: can be `0`.\n\n\n return !!this.types();\n }\n }, {\n key: \"type\",\n value: function type(_type2) {\n if (this.hasTypes() && getType(this.types(), _type2)) {\n return new Type(getType(this.types(), _type2), this);\n }\n }\n }, {\n key: \"ext\",\n value: function ext() {\n if (this.v1 || this.v2) return DEFAULT_EXT_PREFIX;\n return this.metadata[13] || DEFAULT_EXT_PREFIX;\n }\n }]);\n\n return NumberingPlan;\n}();\n\nvar Format = /*#__PURE__*/function () {\n function Format(format, metadata) {\n _classCallCheck(this, Format);\n\n this._format = format;\n this.metadata = metadata;\n }\n\n _createClass(Format, [{\n key: \"pattern\",\n value: function pattern() {\n return this._format[0];\n }\n }, {\n key: \"format\",\n value: function format() {\n return this._format[1];\n }\n }, {\n key: \"leadingDigitsPatterns\",\n value: function leadingDigitsPatterns() {\n return this._format[2] || [];\n }\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function nationalPrefixFormattingRule() {\n return this._format[3] || this.metadata.nationalPrefixFormattingRule();\n }\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n return !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n }\n }, {\n key: \"nationalPrefixIsMandatoryWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsMandatoryWhenFormattingInNationalFormat() {\n // National prefix is omitted if there's no national prefix formatting rule\n // set for this country, or when the national prefix formatting rule\n // contains no national prefix itself, or when this rule is set but\n // national prefix is optional for this phone number format\n // (and it is not enforced explicitly)\n return this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n } // Checks whether national prefix formatting rule contains national prefix.\n\n }, {\n key: \"usesNationalPrefix\",\n value: function usesNationalPrefix() {\n return this.nationalPrefixFormattingRule() && // Check that national prefix formatting rule is not a \"dummy\" one.\n !FIRST_GROUP_ONLY_PREFIX_PATTERN.test(this.nationalPrefixFormattingRule()) // In compressed metadata, `this.nationalPrefixFormattingRule()` is `0`\n // when `national_prefix_formatting_rule` is not present.\n // So, `true` or `false` are returned explicitly here, so that\n // `0` number isn't returned.\n ? true : false;\n }\n }, {\n key: \"internationalFormat\",\n value: function internationalFormat() {\n return this._format[5] || this.format();\n }\n }]);\n\n return Format;\n}();\n/**\r\n * A pattern that is used to determine if the national prefix formatting rule\r\n * has the first group only, i.e., does not start with the national prefix.\r\n * Note that the pattern explicitly allows for unbalanced parentheses.\r\n */\n\n\nvar FIRST_GROUP_ONLY_PREFIX_PATTERN = /^\\(?\\$1\\)?$/;\n\nvar Type = /*#__PURE__*/function () {\n function Type(type, metadata) {\n _classCallCheck(this, Type);\n\n this.type = type;\n this.metadata = metadata;\n }\n\n _createClass(Type, [{\n key: \"pattern\",\n value: function pattern() {\n if (this.metadata.v1) return this.type;\n return this.type[0];\n }\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n if (this.metadata.v1) return;\n return this.type[1] || this.metadata.possibleLengths();\n }\n }]);\n\n return Type;\n}();\n\nfunction getType(types, type) {\n switch (type) {\n case 'FIXED_LINE':\n return types[0];\n\n case 'MOBILE':\n return types[1];\n\n case 'TOLL_FREE':\n return types[2];\n\n case 'PREMIUM_RATE':\n return types[3];\n\n case 'PERSONAL_NUMBER':\n return types[4];\n\n case 'VOICEMAIL':\n return types[5];\n\n case 'UAN':\n return types[6];\n\n case 'PAGER':\n return types[7];\n\n case 'VOIP':\n return types[8];\n\n case 'SHARED_COST':\n return types[9];\n }\n}\n\nexport function validateMetadata(metadata) {\n if (!metadata) {\n throw new Error('[libphonenumber-js] `metadata` argument not passed. Check your arguments.');\n } // `country_phone_code_to_countries` was renamed to\n // `country_calling_codes` in `1.0.18`.\n\n\n if (!is_object(metadata) || !is_object(metadata.countries)) {\n throw new Error(\"[libphonenumber-js] `metadata` argument was passed but it's not a valid metadata. Must be an object having `.countries` child object property. Got \".concat(is_object(metadata) ? 'an object of shape: { ' + Object.keys(metadata).join(', ') + ' }' : 'a ' + type_of(metadata) + ': ' + metadata, \".\"));\n }\n} // Babel transforms `typeof` into some \"branches\"\n// so istanbul will show this as \"branch not covered\".\n\n/* istanbul ignore next */\n\nvar is_object = function is_object(_) {\n return _typeof(_) === 'object';\n}; // Babel transforms `typeof` into some \"branches\"\n// so istanbul will show this as \"branch not covered\".\n\n/* istanbul ignore next */\n\n\nvar type_of = function type_of(_) {\n return _typeof(_);\n};\n/**\r\n * Returns extension prefix for a country.\r\n * @param {string} country\r\n * @param {object} metadata\r\n * @return {string?}\r\n * @example\r\n * // Returns \" ext. \"\r\n * getExtPrefix(\"US\")\r\n */\n\n\nexport function getExtPrefix(country, metadata) {\n metadata = new Metadata(metadata);\n\n if (metadata.hasCountry(country)) {\n return metadata.country(country).ext();\n }\n\n return DEFAULT_EXT_PREFIX;\n}\n/**\r\n * Returns \"country calling code\" for a country.\r\n * Throws an error if the country doesn't exist or isn't supported by this library.\r\n * @param {string} country\r\n * @param {object} metadata\r\n * @return {string}\r\n * @example\r\n * // Returns \"44\"\r\n * getCountryCallingCode(\"GB\")\r\n */\n\nexport function getCountryCallingCode(country, metadata) {\n metadata = new Metadata(metadata);\n\n if (metadata.hasCountry(country)) {\n return metadata.country(country).countryCallingCode();\n }\n\n throw new Error(\"Unknown country: \".concat(country));\n}\nexport function isSupportedCountry(country, metadata) {\n // metadata = new Metadata(metadata)\n // return metadata.hasCountry(country)\n return metadata.countries.hasOwnProperty(country);\n}\n\nfunction setVersion(metadata) {\n var version = metadata.version;\n\n if (typeof version === 'number') {\n this.v1 = version === 1;\n this.v2 = version === 2;\n this.v3 = version === 3;\n this.v4 = version === 4;\n } else {\n if (!version) {\n this.v1 = true;\n } else if (compare(version, V3) === -1) {\n this.v2 = true;\n } else if (compare(version, V4) === -1) {\n this.v3 = true;\n } else {\n this.v4 = true;\n }\n }\n} // const ISO_COUNTRY_CODE = /^[A-Z]{2}$/\n// function isCountryCode(countryCode) {\n// \treturn ISO_COUNTRY_CODE.test(countryCodeOrCountryCallingCode)\n// }\n//# sourceMappingURL=metadata.js.map","import { VALID_DIGITS } from '../../constants.js'; // The RFC 3966 format for extensions.\n\nvar RFC3966_EXTN_PREFIX = ';ext=';\n/**\r\n * Helper method for constructing regular expressions for parsing. Creates\r\n * an expression that captures up to max_length digits.\r\n * @return {string} RegEx pattern to capture extension digits.\r\n */\n\nvar getExtensionDigitsPattern = function getExtensionDigitsPattern(maxLength) {\n return \"([\".concat(VALID_DIGITS, \"]{1,\").concat(maxLength, \"})\");\n};\n/**\r\n * Helper initialiser method to create the regular-expression pattern to match\r\n * extensions.\r\n * Copy-pasted from Google's `libphonenumber`:\r\n * https://github.com/google/libphonenumber/blob/55b2646ec9393f4d3d6661b9c82ef9e258e8b829/javascript/i18n/phonenumbers/phonenumberutil.js#L759-L766\r\n * @return {string} RegEx pattern to capture extensions.\r\n */\n\n\nexport default function createExtensionPattern(purpose) {\n // We cap the maximum length of an extension based on the ambiguity of the way\n // the extension is prefixed. As per ITU, the officially allowed length for\n // extensions is actually 40, but we don't support this since we haven't seen real\n // examples and this introduces many false interpretations as the extension labels\n // are not standardized.\n\n /** @type {string} */\n var extLimitAfterExplicitLabel = '20';\n /** @type {string} */\n\n var extLimitAfterLikelyLabel = '15';\n /** @type {string} */\n\n var extLimitAfterAmbiguousChar = '9';\n /** @type {string} */\n\n var extLimitWhenNotSure = '6';\n /** @type {string} */\n\n var possibleSeparatorsBetweenNumberAndExtLabel = \"[ \\xA0\\\\t,]*\"; // Optional full stop (.) or colon, followed by zero or more spaces/tabs/commas.\n\n /** @type {string} */\n\n var possibleCharsAfterExtLabel = \"[:\\\\.\\uFF0E]?[ \\xA0\\\\t,-]*\";\n /** @type {string} */\n\n var optionalExtnSuffix = \"#?\"; // Here the extension is called out in more explicit way, i.e mentioning it obvious\n // patterns like \"ext.\".\n\n /** @type {string} */\n\n var explicitExtLabels = \"(?:e?xt(?:ensi(?:o\\u0301?|\\xF3))?n?|\\uFF45?\\uFF58\\uFF54\\uFF4E?|\\u0434\\u043E\\u0431|anexo)\"; // One-character symbols that can be used to indicate an extension, and less\n // commonly used or more ambiguous extension labels.\n\n /** @type {string} */\n\n var ambiguousExtLabels = \"(?:[x\\uFF58#\\uFF03~\\uFF5E]|int|\\uFF49\\uFF4E\\uFF54)\"; // When extension is not separated clearly.\n\n /** @type {string} */\n\n var ambiguousSeparator = \"[- ]+\"; // This is the same as possibleSeparatorsBetweenNumberAndExtLabel, but not matching\n // comma as extension label may have it.\n\n /** @type {string} */\n\n var possibleSeparatorsNumberExtLabelNoComma = \"[ \\xA0\\\\t]*\"; // \",,\" is commonly used for auto dialling the extension when connected. First\n // comma is matched through possibleSeparatorsBetweenNumberAndExtLabel, so we do\n // not repeat it here. Semi-colon works in Iphone and Android also to pop up a\n // button with the extension number following.\n\n /** @type {string} */\n\n var autoDiallingAndExtLabelsFound = \"(?:,{2}|;)\";\n /** @type {string} */\n\n var rfcExtn = RFC3966_EXTN_PREFIX + getExtensionDigitsPattern(extLimitAfterExplicitLabel);\n /** @type {string} */\n\n var explicitExtn = possibleSeparatorsBetweenNumberAndExtLabel + explicitExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterExplicitLabel) + optionalExtnSuffix;\n /** @type {string} */\n\n var ambiguousExtn = possibleSeparatorsBetweenNumberAndExtLabel + ambiguousExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix;\n /** @type {string} */\n\n var americanStyleExtnWithSuffix = ambiguousSeparator + getExtensionDigitsPattern(extLimitWhenNotSure) + \"#\";\n /** @type {string} */\n\n var autoDiallingExtn = possibleSeparatorsNumberExtLabelNoComma + autoDiallingAndExtLabelsFound + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterLikelyLabel) + optionalExtnSuffix;\n /** @type {string} */\n\n var onlyCommasExtn = possibleSeparatorsNumberExtLabelNoComma + \"(?:,)+\" + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix; // The first regular expression covers RFC 3966 format, where the extension is added\n // using \";ext=\". The second more generic where extension is mentioned with explicit\n // labels like \"ext:\". In both the above cases we allow more numbers in extension than\n // any other extension labels. The third one captures when single character extension\n // labels or less commonly used labels are used. In such cases we capture fewer\n // extension digits in order to reduce the chance of falsely interpreting two\n // numbers beside each other as a number + extension. The fourth one covers the\n // special case of American numbers where the extension is written with a hash\n // at the end, such as \"- 503#\". The fifth one is exclusively for extension\n // autodialling formats which are used when dialling and in this case we accept longer\n // extensions. The last one is more liberal on the number of commas that acts as\n // extension labels, so we have a strict cap on the number of digits in such extensions.\n\n return rfcExtn + \"|\" + explicitExtn + \"|\" + ambiguousExtn + \"|\" + americanStyleExtnWithSuffix + \"|\" + autoDiallingExtn + \"|\" + onlyCommasExtn;\n}\n//# sourceMappingURL=createExtensionPattern.js.map","import { MIN_LENGTH_FOR_NSN, VALID_DIGITS, VALID_PUNCTUATION, PLUS_CHARS } from '../constants.js';\nimport createExtensionPattern from './extension/createExtensionPattern.js'; // Regular expression of viable phone numbers. This is location independent.\n// Checks we have at least three leading digits, and only valid punctuation,\n// alpha characters and digits in the phone number. Does not include extension\n// data. The symbol 'x' is allowed here as valid punctuation since it is often\n// used as a placeholder for carrier codes, for example in Brazilian phone\n// numbers. We also allow multiple '+' characters at the start.\n//\n// Corresponds to the following:\n// [digits]{minLengthNsn}|\n// plus_sign*\n// (([punctuation]|[star])*[digits]){3,}([punctuation]|[star]|[digits]|[alpha])*\n//\n// The first reg-ex is to allow short numbers (two digits long) to be parsed if\n// they are entered as \"15\" etc, but only if there is no punctuation in them.\n// The second expression restricts the number of digits to three or more, but\n// then allows them to be in international form, and to have alpha-characters\n// and punctuation. We split up the two reg-exes here and combine them when\n// creating the reg-ex VALID_PHONE_NUMBER_PATTERN itself so we can prefix it\n// with ^ and append $ to each branch.\n//\n// \"Note VALID_PUNCTUATION starts with a -,\n// so must be the first in the range\" (c) Google devs.\n// (wtf did they mean by saying that; probably nothing)\n//\n\nvar MIN_LENGTH_PHONE_NUMBER_PATTERN = '[' + VALID_DIGITS + ']{' + MIN_LENGTH_FOR_NSN + '}'; //\n// And this is the second reg-exp:\n// (see MIN_LENGTH_PHONE_NUMBER_PATTERN for a full description of this reg-exp)\n//\n\nexport var VALID_PHONE_NUMBER = '[' + PLUS_CHARS + ']{0,1}' + '(?:' + '[' + VALID_PUNCTUATION + ']*' + '[' + VALID_DIGITS + ']' + '){3,}' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']*'; // This regular expression isn't present in Google's `libphonenumber`\n// and is only used to determine whether the phone number being input\n// is too short for it to even consider it a \"valid\" number.\n// This is just a way to differentiate between a really invalid phone\n// number like \"abcde\" and a valid phone number that a user has just\n// started inputting, like \"+1\" or \"1\": both these cases would be\n// considered `NOT_A_NUMBER` by Google's `libphonenumber`, but this\n// library can provide a more detailed error message — whether it's\n// really \"not a number\", or is it just a start of a valid phone number.\n\nvar VALID_PHONE_NUMBER_START_REG_EXP = new RegExp('^' + '[' + PLUS_CHARS + ']{0,1}' + '(?:' + '[' + VALID_PUNCTUATION + ']*' + '[' + VALID_DIGITS + ']' + '){1,2}' + '$', 'i');\nexport var VALID_PHONE_NUMBER_WITH_EXTENSION = VALID_PHONE_NUMBER + // Phone number extensions\n'(?:' + createExtensionPattern() + ')?'; // The combined regular expression for valid phone numbers:\n//\n\nvar VALID_PHONE_NUMBER_PATTERN = new RegExp( // Either a short two-digit-only phone number\n'^' + MIN_LENGTH_PHONE_NUMBER_PATTERN + '$' + '|' + // Or a longer fully parsed phone number (min 3 characters)\n'^' + VALID_PHONE_NUMBER_WITH_EXTENSION + '$', 'i'); // Checks to see if the string of characters could possibly be a phone number at\n// all. At the moment, checks to see that the string begins with at least 2\n// digits, ignoring any punctuation commonly found in phone numbers. This method\n// does not require the number to be normalized in advance - but does assume\n// that leading non-number symbols have been removed, such as by the method\n// `extract_possible_number`.\n//\n\nexport default function isViablePhoneNumber(number) {\n return number.length >= MIN_LENGTH_FOR_NSN && VALID_PHONE_NUMBER_PATTERN.test(number);\n} // This is just a way to differentiate between a really invalid phone\n// number like \"abcde\" and a valid phone number that a user has just\n// started inputting, like \"+1\" or \"1\": both these cases would be\n// considered `NOT_A_NUMBER` by Google's `libphonenumber`, but this\n// library can provide a more detailed error message — whether it's\n// really \"not a number\", or is it just a start of a valid phone number.\n\nexport function isViablePhoneNumberStart(number) {\n return VALID_PHONE_NUMBER_START_REG_EXP.test(number);\n}\n//# sourceMappingURL=isViablePhoneNumber.js.map","import createExtensionPattern from './createExtensionPattern.js'; // Regexp of all known extension prefixes used by different regions followed by\n// 1 or more valid digits, for use when parsing.\n\nvar EXTN_PATTERN = new RegExp('(?:' + createExtensionPattern() + ')$', 'i'); // Strips any extension (as in, the part of the number dialled after the call is\n// connected, usually indicated with extn, ext, x or similar) from the end of\n// the number, and returns it.\n\nexport default function extractExtension(number) {\n var start = number.search(EXTN_PATTERN);\n\n if (start < 0) {\n return {};\n } // If we find a potential extension, and the number preceding this is a viable\n // number, we assume it is an extension.\n\n\n var numberWithoutExtension = number.slice(0, start);\n var matches = number.match(EXTN_PATTERN);\n var i = 1;\n\n while (i < matches.length) {\n if (matches[i]) {\n return {\n number: numberWithoutExtension,\n ext: matches[i]\n };\n }\n\n i++;\n }\n}\n//# sourceMappingURL=extractExtension.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n// These mappings map a character (key) to a specific digit that should\n// replace it for normalization purposes. Non-European digits that\n// may be used in phone numbers are mapped to a European equivalent.\n//\n// E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\n//\nexport var DIGITS = {\n '0': '0',\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n \"\\uFF10\": '0',\n // Fullwidth digit 0\n \"\\uFF11\": '1',\n // Fullwidth digit 1\n \"\\uFF12\": '2',\n // Fullwidth digit 2\n \"\\uFF13\": '3',\n // Fullwidth digit 3\n \"\\uFF14\": '4',\n // Fullwidth digit 4\n \"\\uFF15\": '5',\n // Fullwidth digit 5\n \"\\uFF16\": '6',\n // Fullwidth digit 6\n \"\\uFF17\": '7',\n // Fullwidth digit 7\n \"\\uFF18\": '8',\n // Fullwidth digit 8\n \"\\uFF19\": '9',\n // Fullwidth digit 9\n \"\\u0660\": '0',\n // Arabic-indic digit 0\n \"\\u0661\": '1',\n // Arabic-indic digit 1\n \"\\u0662\": '2',\n // Arabic-indic digit 2\n \"\\u0663\": '3',\n // Arabic-indic digit 3\n \"\\u0664\": '4',\n // Arabic-indic digit 4\n \"\\u0665\": '5',\n // Arabic-indic digit 5\n \"\\u0666\": '6',\n // Arabic-indic digit 6\n \"\\u0667\": '7',\n // Arabic-indic digit 7\n \"\\u0668\": '8',\n // Arabic-indic digit 8\n \"\\u0669\": '9',\n // Arabic-indic digit 9\n \"\\u06F0\": '0',\n // Eastern-Arabic digit 0\n \"\\u06F1\": '1',\n // Eastern-Arabic digit 1\n \"\\u06F2\": '2',\n // Eastern-Arabic digit 2\n \"\\u06F3\": '3',\n // Eastern-Arabic digit 3\n \"\\u06F4\": '4',\n // Eastern-Arabic digit 4\n \"\\u06F5\": '5',\n // Eastern-Arabic digit 5\n \"\\u06F6\": '6',\n // Eastern-Arabic digit 6\n \"\\u06F7\": '7',\n // Eastern-Arabic digit 7\n \"\\u06F8\": '8',\n // Eastern-Arabic digit 8\n \"\\u06F9\": '9' // Eastern-Arabic digit 9\n\n};\nexport function parseDigit(character) {\n return DIGITS[character];\n}\n/**\r\n * Parses phone number digits from a string.\r\n * Drops all punctuation leaving only digits.\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * parseDigits('8 (800) 555')\r\n * // Outputs '8800555'.\r\n * ```\r\n */\n\nexport default function parseDigits(string) {\n var result = ''; // Using `.split('')` here instead of normal `for ... of`\n // because the importing application doesn't neccessarily include an ES6 polyfill.\n // The `.split('')` approach discards \"exotic\" UTF-8 characters\n // (the ones consisting of four bytes) but digits\n // (including non-European ones) don't fall into that range\n // so such \"exotic\" characters would be discarded anyway.\n\n for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {\n var character = _step.value;\n var digit = parseDigit(character);\n\n if (digit) {\n result += digit;\n }\n }\n\n return result;\n}\n//# sourceMappingURL=parseDigits.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { parseDigit } from './helpers/parseDigits.js';\n/**\r\n * Parses phone number characters from a string.\r\n * Drops all punctuation leaving only digits and the leading `+` sign (if any).\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * // Outputs '8800555'.\r\n * parseIncompletePhoneNumber('8 (800) 555')\r\n * // Outputs '+7800555'.\r\n * parseIncompletePhoneNumber('+7 800 555')\r\n * ```\r\n */\n\nexport default function parseIncompletePhoneNumber(string) {\n var result = ''; // Using `.split('')` here instead of normal `for ... of`\n // because the importing application doesn't neccessarily include an ES6 polyfill.\n // The `.split('')` approach discards \"exotic\" UTF-8 characters\n // (the ones consisting of four bytes) but digits\n // (including non-European ones) don't fall into that range\n // so such \"exotic\" characters would be discarded anyway.\n\n for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {\n var character = _step.value;\n result += parsePhoneNumberCharacter(character, result) || '';\n }\n\n return result;\n}\n/**\r\n * Parses next character while parsing phone number digits (including a `+`)\r\n * from text: discards everything except `+` and digits, and `+` is only allowed\r\n * at the start of a phone number.\r\n * For example, is used in `react-phone-number-input` where it uses\r\n * [`input-format`](https://gitlab.com/catamphetamine/input-format).\r\n * @param {string} character - Yet another character from raw input string.\r\n * @param {string?} prevParsedCharacters - Previous parsed characters.\r\n * @param {object} meta - Optional custom use-case-specific metadata.\r\n * @return {string?} The parsed character.\r\n */\n\nexport function parsePhoneNumberCharacter(character, prevParsedCharacters) {\n // Only allow a leading `+`.\n if (character === '+') {\n // If this `+` is not the first parsed character\n // then discard it.\n if (prevParsedCharacters) {\n return;\n }\n\n return '+';\n } // Allow digits.\n\n\n return parseDigit(character);\n}\n//# sourceMappingURL=parseIncompletePhoneNumber.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/**\r\n * Merges two arrays.\r\n * @param {*} a\r\n * @param {*} b\r\n * @return {*}\r\n */\nexport default function mergeArrays(a, b) {\n var merged = a.slice();\n\n for (var _iterator = _createForOfIteratorHelperLoose(b), _step; !(_step = _iterator()).done;) {\n var element = _step.value;\n\n if (a.indexOf(element) < 0) {\n merged.push(element);\n }\n }\n\n return merged.sort(function (a, b) {\n return a - b;\n }); // ES6 version, requires Set polyfill.\n // let merged = new Set(a)\n // for (const element of b) {\n // \tmerged.add(i)\n // }\n // return Array.from(merged).sort((a, b) => a - b)\n}\n//# sourceMappingURL=mergeArrays.js.map","import mergeArrays from './mergeArrays.js';\nexport default function checkNumberLength(nationalNumber, metadata) {\n return checkNumberLengthForType(nationalNumber, undefined, metadata);\n} // Checks whether a number is possible for the country based on its length.\n// Should only be called for the \"new\" metadata which has \"possible lengths\".\n\nexport function checkNumberLengthForType(nationalNumber, type, metadata) {\n var type_info = metadata.type(type); // There should always be \"<possiblePengths/>\" set for every type element.\n // This is declared in the XML schema.\n // For size efficiency, where a sub-description (e.g. fixed-line)\n // has the same \"<possiblePengths/>\" as the \"general description\", this is missing,\n // so we fall back to the \"general description\". Where no numbers of the type\n // exist at all, there is one possible length (-1) which is guaranteed\n // not to match the length of any real phone number.\n\n var possible_lengths = type_info && type_info.possibleLengths() || metadata.possibleLengths(); // let local_lengths = type_info && type.possibleLengthsLocal() || metadata.possibleLengthsLocal()\n // Metadata before version `1.0.18` didn't contain `possible_lengths`.\n\n if (!possible_lengths) {\n return 'IS_POSSIBLE';\n }\n\n if (type === 'FIXED_LINE_OR_MOBILE') {\n // No such country in metadata.\n\n /* istanbul ignore next */\n if (!metadata.type('FIXED_LINE')) {\n // The rare case has been encountered where no fixedLine data is available\n // (true for some non-geographic entities), so we just check mobile.\n return checkNumberLengthForType(nationalNumber, 'MOBILE', metadata);\n }\n\n var mobile_type = metadata.type('MOBILE');\n\n if (mobile_type) {\n // Merge the mobile data in if there was any. \"Concat\" creates a new\n // array, it doesn't edit possible_lengths in place, so we don't need a copy.\n // Note that when adding the possible lengths from mobile, we have\n // to again check they aren't empty since if they are this indicates\n // they are the same as the general desc and should be obtained from there.\n possible_lengths = mergeArrays(possible_lengths, mobile_type.possibleLengths()); // The current list is sorted; we need to merge in the new list and\n // re-sort (duplicates are okay). Sorting isn't so expensive because\n // the lists are very small.\n // if (local_lengths) {\n // \tlocal_lengths = mergeArrays(local_lengths, mobile_type.possibleLengthsLocal())\n // } else {\n // \tlocal_lengths = mobile_type.possibleLengthsLocal()\n // }\n }\n } // If the type doesn't exist then return 'INVALID_LENGTH'.\n else if (type && !type_info) {\n return 'INVALID_LENGTH';\n }\n\n var actual_length = nationalNumber.length; // In `libphonenumber-js` all \"local-only\" formats are dropped for simplicity.\n // // This is safe because there is never an overlap beween the possible lengths\n // // and the local-only lengths; this is checked at build time.\n // if (local_lengths && local_lengths.indexOf(nationalNumber.length) >= 0)\n // {\n // \treturn 'IS_POSSIBLE_LOCAL_ONLY'\n // }\n\n var minimum_length = possible_lengths[0];\n\n if (minimum_length === actual_length) {\n return 'IS_POSSIBLE';\n }\n\n if (minimum_length > actual_length) {\n return 'TOO_SHORT';\n }\n\n if (possible_lengths[possible_lengths.length - 1] < actual_length) {\n return 'TOO_LONG';\n } // We skip the first element since we've already checked it.\n\n\n return possible_lengths.indexOf(actual_length, 1) >= 0 ? 'IS_POSSIBLE' : 'INVALID_LENGTH';\n}\n//# sourceMappingURL=checkNumberLength.js.map","import Metadata from './metadata.js';\nimport checkNumberLength from './helpers/checkNumberLength.js';\n/**\r\n * Checks if a phone number is \"possible\" (basically just checks its length).\r\n *\r\n * isPossible(phoneNumberInstance, { ..., v2: true }, metadata)\r\n *\r\n * isPossible({ phone: '8005553535', country: 'RU' }, { ... }, metadata)\r\n * isPossible({ phone: '8005553535', country: 'RU' }, undefined, metadata)\r\n *\r\n * @param {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {string}\r\n */\n\nexport default function isPossiblePhoneNumber(input, options, metadata) {\n /* istanbul ignore if */\n if (options === undefined) {\n options = {};\n }\n\n metadata = new Metadata(metadata);\n\n if (options.v2) {\n if (!input.countryCallingCode) {\n throw new Error('Invalid phone number object passed');\n }\n\n metadata.selectNumberingPlan(input.countryCallingCode);\n } else {\n if (!input.phone) {\n return false;\n }\n\n if (input.country) {\n if (!metadata.hasCountry(input.country)) {\n throw new Error(\"Unknown country: \".concat(input.country));\n }\n\n metadata.country(input.country);\n } else {\n if (!input.countryCallingCode) {\n throw new Error('Invalid phone number object passed');\n }\n\n metadata.selectNumberingPlan(input.countryCallingCode);\n }\n } // Old metadata (< 1.0.18) had no \"possible length\" data.\n\n\n if (metadata.possibleLengths()) {\n return isPossibleNumber(input.phone || input.nationalNumber, metadata);\n } else {\n // There was a bug between `1.7.35` and `1.7.37` where \"possible_lengths\"\n // were missing for \"non-geographical\" numbering plans.\n // Just assume the number is possible in such cases:\n // it's unlikely that anyone generated their custom metadata\n // in that short period of time (one day).\n // This code can be removed in some future major version update.\n if (input.countryCallingCode && metadata.isNonGeographicCallingCode(input.countryCallingCode)) {\n // \"Non-geographic entities\" did't have `possibleLengths`\n // due to a bug in metadata generation process.\n return true;\n } else {\n throw new Error('Missing \"possibleLengths\" in metadata. Perhaps the metadata has been generated before v1.0.18.');\n }\n }\n}\nexport function isPossibleNumber(nationalNumber, metadata) {\n //, isInternational) {\n switch (checkNumberLength(nationalNumber, metadata)) {\n case 'IS_POSSIBLE':\n return true;\n // This library ignores \"local-only\" phone numbers (for simplicity).\n // See the readme for more info on what are \"local-only\" phone numbers.\n // case 'IS_POSSIBLE_LOCAL_ONLY':\n // \treturn !isInternational\n\n default:\n return false;\n }\n}\n//# sourceMappingURL=isPossible.js.map","/**\r\n * Checks whether the entire input sequence can be matched\r\n * against the regular expression.\r\n * @return {boolean}\r\n */\nexport default function matchesEntirely(text, regular_expression) {\n // If assigning the `''` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n text = text || '';\n return new RegExp('^(?:' + regular_expression + ')$').test(text);\n}\n//# sourceMappingURL=matchesEntirely.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport Metadata from '../metadata.js';\nimport matchesEntirely from './matchesEntirely.js';\nvar NON_FIXED_LINE_PHONE_TYPES = ['MOBILE', 'PREMIUM_RATE', 'TOLL_FREE', 'SHARED_COST', 'VOIP', 'PERSONAL_NUMBER', 'PAGER', 'UAN', 'VOICEMAIL']; // Finds out national phone number type (fixed line, mobile, etc)\n\nexport default function getNumberType(input, options, metadata) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {}; // When `parse()` returned `{}`\n // meaning that the phone number is not a valid one.\n\n if (!input.country) {\n return;\n }\n\n metadata = new Metadata(metadata);\n metadata.selectNumberingPlan(input.country, input.countryCallingCode);\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone; // The following is copy-pasted from the original function:\n // https://github.com/googlei18n/libphonenumber/blob/3ea547d4fbaa2d0b67588904dfa5d3f2557c27ff/javascript/i18n/phonenumbers/phonenumberutil.js#L2835\n // Is this national number even valid for this country\n\n if (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern())) {\n return;\n } // Is it fixed line number\n\n\n if (isNumberTypeEqualTo(nationalNumber, 'FIXED_LINE', metadata)) {\n // Because duplicate regular expressions are removed\n // to reduce metadata size, if \"mobile\" pattern is \"\"\n // then it means it was removed due to being a duplicate of the fixed-line pattern.\n //\n if (metadata.type('MOBILE') && metadata.type('MOBILE').pattern() === '') {\n return 'FIXED_LINE_OR_MOBILE';\n } // `MOBILE` type pattern isn't included if it matched `FIXED_LINE` one.\n // For example, for \"US\" country.\n // Old metadata (< `1.0.18`) had a specific \"types\" data structure\n // that happened to be `undefined` for `MOBILE` in that case.\n // Newer metadata (>= `1.0.18`) has another data structure that is\n // not `undefined` for `MOBILE` in that case (it's just an empty array).\n // So this `if` is just for backwards compatibility with old metadata.\n\n\n if (!metadata.type('MOBILE')) {\n return 'FIXED_LINE_OR_MOBILE';\n } // Check if the number happens to qualify as both fixed line and mobile.\n // (no such country in the minimal metadata set)\n\n /* istanbul ignore if */\n\n\n if (isNumberTypeEqualTo(nationalNumber, 'MOBILE', metadata)) {\n return 'FIXED_LINE_OR_MOBILE';\n }\n\n return 'FIXED_LINE';\n }\n\n for (var _iterator = _createForOfIteratorHelperLoose(NON_FIXED_LINE_PHONE_TYPES), _step; !(_step = _iterator()).done;) {\n var type = _step.value;\n\n if (isNumberTypeEqualTo(nationalNumber, type, metadata)) {\n return type;\n }\n }\n}\nexport function isNumberTypeEqualTo(nationalNumber, type, metadata) {\n type = metadata.type(type);\n\n if (!type || !type.pattern()) {\n return false;\n } // Check if any possible number lengths are present;\n // if so, we use them to avoid checking\n // the validation pattern if they don't match.\n // If they are absent, this means they match\n // the general description, which we have\n // already checked before a specific number type.\n\n\n if (type.possibleLengths() && type.possibleLengths().indexOf(nationalNumber.length) < 0) {\n return false;\n }\n\n return matchesEntirely(nationalNumber, type.pattern());\n}\n//# sourceMappingURL=getNumberType.js.map","import applyInternationalSeparatorStyle from './applyInternationalSeparatorStyle.js'; // This was originally set to $1 but there are some countries for which the\n// first group is not used in the national pattern (e.g. Argentina) so the $1\n// group does not match correctly. Therefore, we use `\\d`, so that the first\n// group actually used in the pattern will be matched.\n\nexport var FIRST_GROUP_PATTERN = /(\\$\\d)/;\nexport default function formatNationalNumberUsingFormat(number, format, _ref) {\n var useInternationalFormat = _ref.useInternationalFormat,\n withNationalPrefix = _ref.withNationalPrefix,\n carrierCode = _ref.carrierCode,\n metadata = _ref.metadata;\n var formattedNumber = number.replace(new RegExp(format.pattern()), useInternationalFormat ? format.internationalFormat() : // This library doesn't use `domestic_carrier_code_formatting_rule`,\n // because that one is only used when formatting phone numbers\n // for dialing from a mobile phone, and this is not a dialing library.\n // carrierCode && format.domesticCarrierCodeFormattingRule()\n // \t// First, replace the $CC in the formatting rule with the desired carrier code.\n // \t// Then, replace the $FG in the formatting rule with the first group\n // \t// and the carrier code combined in the appropriate way.\n // \t? format.format().replace(FIRST_GROUP_PATTERN, format.domesticCarrierCodeFormattingRule().replace('$CC', carrierCode))\n // \t: (\n // \t\twithNationalPrefix && format.nationalPrefixFormattingRule()\n // \t\t\t? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule())\n // \t\t\t: format.format()\n // \t)\n withNationalPrefix && format.nationalPrefixFormattingRule() ? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule()) : format.format());\n\n if (useInternationalFormat) {\n return applyInternationalSeparatorStyle(formattedNumber);\n }\n\n return formattedNumber;\n}\n//# sourceMappingURL=formatNationalNumberUsingFormat.js.map","import Metadata from '../metadata.js';\n/**\r\n * Pattern that makes it easy to distinguish whether a region has a single\r\n * international dialing prefix or not. If a region has a single international\r\n * prefix (e.g. 011 in USA), it will be represented as a string that contains\r\n * a sequence of ASCII digits, and possibly a tilde, which signals waiting for\r\n * the tone. If there are multiple available international prefixes in a\r\n * region, they will be represented as a regex string that always contains one\r\n * or more characters that are not ASCII digits or a tilde.\r\n */\n\nvar SINGLE_IDD_PREFIX_REG_EXP = /^[\\d]+(?:[~\\u2053\\u223C\\uFF5E][\\d]+)?$/; // For regions that have multiple IDD prefixes\n// a preferred IDD prefix is returned.\n\nexport default function getIddPrefix(country, callingCode, metadata) {\n var countryMetadata = new Metadata(metadata);\n countryMetadata.selectNumberingPlan(country, callingCode);\n\n if (countryMetadata.defaultIDDPrefix()) {\n return countryMetadata.defaultIDDPrefix();\n }\n\n if (SINGLE_IDD_PREFIX_REG_EXP.test(countryMetadata.IDDPrefix())) {\n return countryMetadata.IDDPrefix();\n }\n}\n//# sourceMappingURL=getIddPrefix.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// This is a port of Google Android `libphonenumber`'s\n// `phonenumberutil.js` of December 31th, 2018.\n//\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat.js';\nimport Metadata, { getCountryCallingCode } from './metadata.js';\nimport getIddPrefix from './helpers/getIddPrefix.js';\nimport { formatRFC3966 } from './helpers/RFC3966.js';\nvar DEFAULT_OPTIONS = {\n formatExtension: function formatExtension(formattedNumber, extension, metadata) {\n return \"\".concat(formattedNumber).concat(metadata.ext()).concat(extension);\n }\n};\n/**\r\n * Formats a phone number.\r\n *\r\n * format(phoneNumberInstance, 'INTERNATIONAL', { ..., v2: true }, metadata)\r\n * format(phoneNumberInstance, 'NATIONAL', { ..., v2: true }, metadata)\r\n *\r\n * format({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL', { ... }, metadata)\r\n * format({ phone: '8005553535', country: 'RU' }, 'NATIONAL', undefined, metadata)\r\n *\r\n * @param {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param {string} format\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {string}\r\n */\n\nexport default function formatNumber(input, format, options, metadata) {\n // Apply default options.\n if (options) {\n options = _objectSpread(_objectSpread({}, DEFAULT_OPTIONS), options);\n } else {\n options = DEFAULT_OPTIONS;\n }\n\n metadata = new Metadata(metadata);\n\n if (input.country && input.country !== '001') {\n // Validate `input.country`.\n if (!metadata.hasCountry(input.country)) {\n throw new Error(\"Unknown country: \".concat(input.country));\n }\n\n metadata.country(input.country);\n } else if (input.countryCallingCode) {\n metadata.selectNumberingPlan(input.countryCallingCode);\n } else return input.phone || '';\n\n var countryCallingCode = metadata.countryCallingCode();\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone; // This variable should have been declared inside `case`s\n // but Babel has a bug and it says \"duplicate variable declaration\".\n\n var number;\n\n switch (format) {\n case 'NATIONAL':\n // Legacy argument support.\n // (`{ country: ..., phone: '' }`)\n if (!nationalNumber) {\n return '';\n }\n\n number = formatNationalNumber(nationalNumber, input.carrierCode, 'NATIONAL', metadata, options);\n return addExtension(number, input.ext, metadata, options.formatExtension);\n\n case 'INTERNATIONAL':\n // Legacy argument support.\n // (`{ country: ..., phone: '' }`)\n if (!nationalNumber) {\n return \"+\".concat(countryCallingCode);\n }\n\n number = formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata, options);\n number = \"+\".concat(countryCallingCode, \" \").concat(number);\n return addExtension(number, input.ext, metadata, options.formatExtension);\n\n case 'E.164':\n // `E.164` doesn't define \"phone number extensions\".\n return \"+\".concat(countryCallingCode).concat(nationalNumber);\n\n case 'RFC3966':\n return formatRFC3966({\n number: \"+\".concat(countryCallingCode).concat(nationalNumber),\n ext: input.ext\n });\n // For reference, here's Google's IDD formatter:\n // https://github.com/google/libphonenumber/blob/32719cf74e68796788d1ca45abc85dcdc63ba5b9/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L1546\n // Not saying that this IDD formatter replicates it 1:1, but it seems to work.\n // Who would even need to format phone numbers in IDD format anyway?\n\n case 'IDD':\n if (!options.fromCountry) {\n return; // throw new Error('`fromCountry` option not passed for IDD-prefixed formatting.')\n }\n\n var formattedNumber = formatIDD(nationalNumber, input.carrierCode, countryCallingCode, options.fromCountry, metadata);\n return addExtension(formattedNumber, input.ext, metadata, options.formatExtension);\n\n default:\n throw new Error(\"Unknown \\\"format\\\" argument passed to \\\"formatNumber()\\\": \\\"\".concat(format, \"\\\"\"));\n }\n}\n\nfunction formatNationalNumber(number, carrierCode, formatAs, metadata, options) {\n var format = chooseFormatForNumber(metadata.formats(), number);\n\n if (!format) {\n return number;\n }\n\n return formatNationalNumberUsingFormat(number, format, {\n useInternationalFormat: formatAs === 'INTERNATIONAL',\n withNationalPrefix: format.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && options && options.nationalPrefix === false ? false : true,\n carrierCode: carrierCode,\n metadata: metadata\n });\n}\n\nexport function chooseFormatForNumber(availableFormats, nationalNnumber) {\n for (var _iterator = _createForOfIteratorHelperLoose(availableFormats), _step; !(_step = _iterator()).done;) {\n var format = _step.value;\n\n // Validate leading digits.\n // The test case for \"else path\" could be found by searching for\n // \"format.leadingDigitsPatterns().length === 0\".\n if (format.leadingDigitsPatterns().length > 0) {\n // The last leading_digits_pattern is used here, as it is the most detailed\n var lastLeadingDigitsPattern = format.leadingDigitsPatterns()[format.leadingDigitsPatterns().length - 1]; // If leading digits don't match then move on to the next phone number format\n\n if (nationalNnumber.search(lastLeadingDigitsPattern) !== 0) {\n continue;\n }\n } // Check that the national number matches the phone number format regular expression\n\n\n if (matchesEntirely(nationalNnumber, format.pattern())) {\n return format;\n }\n }\n}\n\nfunction addExtension(formattedNumber, ext, metadata, formatExtension) {\n return ext ? formatExtension(formattedNumber, ext, metadata) : formattedNumber;\n}\n\nfunction formatIDD(nationalNumber, carrierCode, countryCallingCode, fromCountry, metadata) {\n var fromCountryCallingCode = getCountryCallingCode(fromCountry, metadata.metadata); // When calling within the same country calling code.\n\n if (fromCountryCallingCode === countryCallingCode) {\n var formattedNumber = formatNationalNumber(nationalNumber, carrierCode, 'NATIONAL', metadata); // For NANPA regions, return the national format for these regions\n // but prefix it with the country calling code.\n\n if (countryCallingCode === '1') {\n return countryCallingCode + ' ' + formattedNumber;\n } // If regions share a country calling code, the country calling code need\n // not be dialled. This also applies when dialling within a region, so this\n // if clause covers both these cases. Technically this is the case for\n // dialling from La Reunion to other overseas departments of France (French\n // Guiana, Martinique, Guadeloupe), but not vice versa - so we don't cover\n // this edge case for now and for those cases return the version including\n // country calling code. Details here:\n // http://www.petitfute.com/voyage/225-info-pratiques-reunion\n //\n\n\n return formattedNumber;\n }\n\n var iddPrefix = getIddPrefix(fromCountry, undefined, metadata.metadata);\n\n if (iddPrefix) {\n return \"\".concat(iddPrefix, \" \").concat(countryCallingCode, \" \").concat(formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata));\n }\n}\n//# sourceMappingURL=format.js.map","import { VALID_PUNCTUATION } from '../constants.js'; // Removes brackets and replaces dashes with spaces.\n//\n// E.g. \"(999) 111-22-33\" -> \"999 111 22 33\"\n//\n// For some reason Google's metadata contains `<intlFormat/>`s with brackets and dashes.\n// Meanwhile, there's no single opinion about using punctuation in international phone numbers.\n//\n// For example, Google's `<intlFormat/>` for USA is `+1 213-373-4253`.\n// And here's a quote from WikiPedia's \"North American Numbering Plan\" page:\n// https://en.wikipedia.org/wiki/North_American_Numbering_Plan\n//\n// \"The country calling code for all countries participating in the NANP is 1.\n// In international format, an NANP number should be listed as +1 301 555 01 00,\n// where 301 is an area code (Maryland).\"\n//\n// I personally prefer the international format without any punctuation.\n// For example, brackets are remnants of the old age, meaning that the\n// phone number part in brackets (so called \"area code\") can be omitted\n// if dialing within the same \"area\".\n// And hyphens were clearly introduced for splitting local numbers into memorizable groups.\n// For example, remembering \"5553535\" is difficult but \"555-35-35\" is much simpler.\n// Imagine a man taking a bus from home to work and seeing an ad with a phone number.\n// He has a couple of seconds to memorize that number until it passes by.\n// If it were spaces instead of hyphens the man wouldn't necessarily get it,\n// but with hyphens instead of spaces the grouping is more explicit.\n// I personally think that hyphens introduce visual clutter,\n// so I prefer replacing them with spaces in international numbers.\n// In the modern age all output is done on displays where spaces are clearly distinguishable\n// so hyphens can be safely replaced with spaces without losing any legibility.\n//\n\nexport default function applyInternationalSeparatorStyle(formattedNumber) {\n return formattedNumber.replace(new RegExp(\"[\".concat(VALID_PUNCTUATION, \"]+\"), 'g'), ' ').trim();\n}\n//# sourceMappingURL=applyInternationalSeparatorStyle.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nimport Metadata from './metadata.js';\nimport isPossibleNumber from './isPossible.js';\nimport isValidNumber from './isValid.js'; // import checkNumberLength from './helpers/checkNumberLength.js'\n\nimport getNumberType from './helpers/getNumberType.js';\nimport getPossibleCountriesForNumber from './helpers/getPossibleCountriesForNumber.js';\nimport formatNumber from './format.js';\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\n\nvar PhoneNumber = /*#__PURE__*/function () {\n /**\r\n * @param {string} countryOrCountryCallingCode\r\n * @param {string} nationalNumber\r\n * @param {object} metadata — Metadata JSON\r\n * @return {PhoneNumber}\r\n */\n function PhoneNumber(countryOrCountryCallingCode, nationalNumber, metadata) {\n _classCallCheck(this, PhoneNumber);\n\n if (!countryOrCountryCallingCode) {\n throw new TypeError('`country` or `countryCallingCode` not passed');\n }\n\n if (!nationalNumber) {\n throw new TypeError('`nationalNumber` not passed');\n }\n\n if (!metadata) {\n throw new TypeError('`metadata` not passed');\n }\n\n var _getCountryAndCountry = getCountryAndCountryCallingCode(countryOrCountryCallingCode, metadata),\n country = _getCountryAndCountry.country,\n countryCallingCode = _getCountryAndCountry.countryCallingCode;\n\n this.country = country;\n this.countryCallingCode = countryCallingCode;\n this.nationalNumber = nationalNumber;\n this.number = '+' + this.countryCallingCode + this.nationalNumber; // Exclude `metadata` property output from `PhoneNumber.toString()`\n // so that it doesn't clutter the console output of Node.js.\n // Previously, when Node.js did `console.log(new PhoneNumber(...))`,\n // it would output the whole internal structure of the `metadata` object.\n\n this.getMetadata = function () {\n return metadata;\n };\n }\n\n _createClass(PhoneNumber, [{\n key: \"setExt\",\n value: function setExt(ext) {\n this.ext = ext;\n }\n }, {\n key: \"getPossibleCountries\",\n value: function getPossibleCountries() {\n if (this.country) {\n return [this.country];\n }\n\n return getPossibleCountriesForNumber(this.countryCallingCode, this.nationalNumber, this.getMetadata());\n }\n }, {\n key: \"isPossible\",\n value: function isPossible() {\n return isPossibleNumber(this, {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"isValid\",\n value: function isValid() {\n return isValidNumber(this, {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"isNonGeographic\",\n value: function isNonGeographic() {\n var metadata = new Metadata(this.getMetadata());\n return metadata.isNonGeographicCallingCode(this.countryCallingCode);\n }\n }, {\n key: \"isEqual\",\n value: function isEqual(phoneNumber) {\n return this.number === phoneNumber.number && this.ext === phoneNumber.ext;\n } // This function was originally meant to be an equivalent for `validatePhoneNumberLength()`,\n // but later it was found out that it doesn't include the possible `TOO_SHORT` result\n // returned from `parsePhoneNumberWithError()` in the original `validatePhoneNumberLength()`,\n // so eventually I simply commented out this method from the `PhoneNumber` class\n // and just left the `validatePhoneNumberLength()` function, even though that one would require\n // and additional step to also validate the actual country / calling code of the phone number.\n // validateLength() {\n // \tconst metadata = new Metadata(this.getMetadata())\n // \tmetadata.selectNumberingPlan(this.countryCallingCode)\n // \tconst result = checkNumberLength(this.nationalNumber, metadata)\n // \tif (result !== 'IS_POSSIBLE') {\n // \t\treturn result\n // \t}\n // }\n\n }, {\n key: \"getType\",\n value: function getType() {\n return getNumberType(this, {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"format\",\n value: function format(_format, options) {\n return formatNumber(this, _format, options ? _objectSpread(_objectSpread({}, options), {}, {\n v2: true\n }) : {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"formatNational\",\n value: function formatNational(options) {\n return this.format('NATIONAL', options);\n }\n }, {\n key: \"formatInternational\",\n value: function formatInternational(options) {\n return this.format('INTERNATIONAL', options);\n }\n }, {\n key: \"getURI\",\n value: function getURI(options) {\n return this.format('RFC3966', options);\n }\n }]);\n\n return PhoneNumber;\n}();\n\nexport { PhoneNumber as default };\n\nvar isCountryCode = function isCountryCode(value) {\n return /^[A-Z]{2}$/.test(value);\n};\n\nfunction getCountryAndCountryCallingCode(countryOrCountryCallingCode, metadataJson) {\n var country;\n var countryCallingCode;\n var metadata = new Metadata(metadataJson); // If country code is passed then derive `countryCallingCode` from it.\n // Also store the country code as `.country`.\n\n if (isCountryCode(countryOrCountryCallingCode)) {\n country = countryOrCountryCallingCode;\n metadata.selectNumberingPlan(country);\n countryCallingCode = metadata.countryCallingCode();\n } else {\n countryCallingCode = countryOrCountryCallingCode;\n /* istanbul ignore if */\n\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata.isNonGeographicCallingCode(countryCallingCode)) {\n country = '001';\n }\n }\n }\n\n return {\n country: country,\n countryCallingCode: countryCallingCode\n };\n}\n//# sourceMappingURL=PhoneNumber.js.map","import Metadata from '../metadata.js';\n/**\r\n * Returns a list of countries that the phone number could potentially belong to.\r\n * @param {string} callingCode — Calling code.\r\n * @param {string} nationalNumber — National (significant) number.\r\n * @param {object} metadata — Metadata.\r\n * @return {string[]} A list of possible countries.\r\n */\n\nexport default function getPossibleCountriesForNumber(callingCode, nationalNumber, metadata) {\n var _metadata = new Metadata(metadata);\n\n var possibleCountries = _metadata.getCountryCodesForCallingCode(callingCode);\n\n if (!possibleCountries) {\n return [];\n }\n\n return possibleCountries.filter(function (country) {\n return couldNationalNumberBelongToCountry(nationalNumber, country, metadata);\n });\n}\n\nfunction couldNationalNumberBelongToCountry(nationalNumber, country, metadata) {\n var _metadata = new Metadata(metadata);\n\n _metadata.selectNumberingPlan(country);\n\n if (_metadata.numberingPlan.possibleLengths().indexOf(nationalNumber.length) >= 0) {\n return true;\n }\n\n return false;\n}\n//# sourceMappingURL=getPossibleCountriesForNumber.js.map","import Metadata from './metadata.js';\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport getNumberType from './helpers/getNumberType.js';\n/**\r\n * Checks if a given phone number is valid.\r\n *\r\n * isValid(phoneNumberInstance, { ..., v2: true }, metadata)\r\n *\r\n * isPossible({ phone: '8005553535', country: 'RU' }, { ... }, metadata)\r\n * isPossible({ phone: '8005553535', country: 'RU' }, undefined, metadata)\r\n *\r\n * If the `number` is a string, it will be parsed to an object,\r\n * but only if it contains only valid phone number characters (including punctuation).\r\n * If the `number` is an object, it is used as is.\r\n *\r\n * The optional `defaultCountry` argument is the default country.\r\n * I.e. it does not restrict to just that country,\r\n * e.g. in those cases where several countries share\r\n * the same phone numbering rules (NANPA, Britain, etc).\r\n * For example, even though the number `07624 369230`\r\n * belongs to the Isle of Man (\"IM\" country code)\r\n * calling `isValidNumber('07624369230', 'GB', metadata)`\r\n * still returns `true` because the country is not restricted to `GB`,\r\n * it's just that `GB` is the default one for the phone numbering rules.\r\n * For restricting the country see `isValidNumberForRegion()`\r\n * though restricting a country might not be a good idea.\r\n * https://github.com/googlei18n/libphonenumber/blob/master/FAQ.md#when-should-i-use-isvalidnumberforregion\r\n *\r\n * Examples:\r\n *\r\n * ```js\r\n * isValidNumber('+78005553535', metadata)\r\n * isValidNumber('8005553535', 'RU', metadata)\r\n * isValidNumber('88005553535', 'RU', metadata)\r\n * isValidNumber({ phone: '8005553535', country: 'RU' }, metadata)\r\n * ```\r\n */\n\nexport default function isValidNumber(input, options, metadata) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {};\n metadata = new Metadata(metadata);\n /**\r\n * Checks if a phone number is \"possible\" (basically just checks its length).\r\n *\r\n * @param {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {string}\r\n */\n\n metadata.selectNumberingPlan(input.country, input.countryCallingCode); // By default, countries only have type regexps when it's required for\n // distinguishing different countries having the same `countryCallingCode`.\n\n if (metadata.hasTypes()) {\n return getNumberType(input, options, metadata.metadata) !== undefined;\n } // If there are no type regexps for this country in metadata then use\n // `nationalNumberPattern` as a \"better than nothing\" replacement.\n\n\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone;\n return matchesEntirely(nationalNumber, metadata.nationalNumberPattern());\n}\n//# sourceMappingURL=isValid.js.map","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport isViablePhoneNumber from './isViablePhoneNumber.js'; // https://www.ietf.org/rfc/rfc3966.txt\n\n/**\r\n * @param {string} text - Phone URI (RFC 3966).\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\n\nexport function parseRFC3966(text) {\n var number;\n var ext; // Replace \"tel:\" with \"tel=\" for parsing convenience.\n\n text = text.replace(/^tel:/, 'tel=');\n\n for (var _iterator = _createForOfIteratorHelperLoose(text.split(';')), _step; !(_step = _iterator()).done;) {\n var part = _step.value;\n\n var _part$split = part.split('='),\n _part$split2 = _slicedToArray(_part$split, 2),\n name = _part$split2[0],\n value = _part$split2[1];\n\n switch (name) {\n case 'tel':\n number = value;\n break;\n\n case 'ext':\n ext = value;\n break;\n\n case 'phone-context':\n // Only \"country contexts\" are supported.\n // \"Domain contexts\" are ignored.\n if (value[0] === '+') {\n number = value + number;\n }\n\n break;\n }\n } // If the phone number is not viable, then abort.\n\n\n if (!isViablePhoneNumber(number)) {\n return {};\n }\n\n var result = {\n number: number\n };\n\n if (ext) {\n result.ext = ext;\n }\n\n return result;\n}\n/**\r\n * @param {object} - `{ ?number, ?extension }`.\r\n * @return {string} Phone URI (RFC 3966).\r\n */\n\nexport function formatRFC3966(_ref) {\n var number = _ref.number,\n ext = _ref.ext;\n\n if (!number) {\n return '';\n }\n\n if (number[0] !== '+') {\n throw new Error(\"\\\"formatRFC3966()\\\" expects \\\"number\\\" to be in E.164 format.\");\n }\n\n return \"tel:\".concat(number).concat(ext ? ';ext=' + ext : '');\n}\n//# sourceMappingURL=RFC3966.js.map","import Metadata from '../metadata.js';\nimport { VALID_DIGITS } from '../constants.js';\nvar CAPTURING_DIGIT_PATTERN = new RegExp('([' + VALID_DIGITS + '])');\nexport default function stripIddPrefix(number, country, callingCode, metadata) {\n if (!country) {\n return;\n } // Check if the number is IDD-prefixed.\n\n\n var countryMetadata = new Metadata(metadata);\n countryMetadata.selectNumberingPlan(country, callingCode);\n var IDDPrefixPattern = new RegExp(countryMetadata.IDDPrefix());\n\n if (number.search(IDDPrefixPattern) !== 0) {\n return;\n } // Strip IDD prefix.\n\n\n number = number.slice(number.match(IDDPrefixPattern)[0].length); // If there're any digits after an IDD prefix,\n // then those digits are a country calling code.\n // Since no country code starts with a `0`,\n // the code below validates that the next digit (if present) is not `0`.\n\n var matchedGroups = number.match(CAPTURING_DIGIT_PATTERN);\n\n if (matchedGroups && matchedGroups[1] != null && matchedGroups[1].length > 0) {\n if (matchedGroups[1] === '0') {\n return;\n }\n }\n\n return number;\n}\n//# sourceMappingURL=stripIddPrefix.js.map","import extractNationalNumberFromPossiblyIncompleteNumber from './extractNationalNumberFromPossiblyIncompleteNumber.js';\nimport matchesEntirely from './matchesEntirely.js';\nimport checkNumberLength from './checkNumberLength.js';\n/**\r\n * Strips national prefix and carrier code from a complete phone number.\r\n * The difference from the non-\"FromCompleteNumber\" function is that\r\n * it won't extract national prefix if the resultant number is too short\r\n * to be a complete number for the selected phone numbering plan.\r\n * @param {string} number — Complete phone number digits.\r\n * @param {Metadata} metadata — Metadata with a phone numbering plan selected.\r\n * @return {object} `{ nationalNumber: string, carrierCode: string? }`.\r\n */\n\nexport default function extractNationalNumber(number, metadata) {\n // Parsing national prefixes and carrier codes\n // is only required for local phone numbers\n // but some people don't understand that\n // and sometimes write international phone numbers\n // with national prefixes (or maybe even carrier codes).\n // http://ucken.blogspot.ru/2016/03/trunk-prefixes-in-skype4b.html\n // Google's original library forgives such mistakes\n // and so does this library, because it has been requested:\n // https://github.com/catamphetamine/libphonenumber-js/issues/127\n var _extractNationalNumbe = extractNationalNumberFromPossiblyIncompleteNumber(number, metadata),\n carrierCode = _extractNationalNumbe.carrierCode,\n nationalNumber = _extractNationalNumbe.nationalNumber;\n\n if (nationalNumber !== number) {\n if (!shouldHaveExtractedNationalPrefix(number, nationalNumber, metadata)) {\n // Don't strip the national prefix.\n return {\n nationalNumber: number\n };\n } // Check the national (significant) number length after extracting national prefix and carrier code.\n // Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature.\n\n\n if (metadata.possibleLengths()) {\n // The number remaining after stripping the national prefix and carrier code\n // should be long enough to have a possible length for the country.\n // Otherwise, don't strip the national prefix and carrier code,\n // since the original number could be a valid number.\n // This check has been copy-pasted \"as is\" from Google's original library:\n // https://github.com/google/libphonenumber/blob/876268eb1ad6cdc1b7b5bef17fc5e43052702d57/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L3236-L3250\n // It doesn't check for the \"possibility\" of the original `number`.\n // I guess it's fine not checking that one. It works as is anyway.\n if (!isPossibleIncompleteNationalNumber(nationalNumber, metadata)) {\n // Don't strip the national prefix.\n return {\n nationalNumber: number\n };\n }\n }\n }\n\n return {\n nationalNumber: nationalNumber,\n carrierCode: carrierCode\n };\n} // In some countries, the same digit could be a national prefix\n// or a leading digit of a valid phone number.\n// For example, in Russia, national prefix is `8`,\n// and also `800 555 35 35` is a valid number\n// in which `8` is not a national prefix, but the first digit\n// of a national (significant) number.\n// Same's with Belarus:\n// `82004910060` is a valid national (significant) number,\n// but `2004910060` is not.\n// To support such cases (to prevent the code from always stripping\n// national prefix), a condition is imposed: a national prefix\n// is not extracted when the original number is \"viable\" and the\n// resultant number is not, a \"viable\" national number being the one\n// that matches `national_number_pattern`.\n\nfunction shouldHaveExtractedNationalPrefix(nationalNumberBefore, nationalNumberAfter, metadata) {\n // The equivalent in Google's code is:\n // https://github.com/google/libphonenumber/blob/e326fa1fc4283bb05eb35cb3c15c18f98a31af33/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L2969-L3004\n if (matchesEntirely(nationalNumberBefore, metadata.nationalNumberPattern()) && !matchesEntirely(nationalNumberAfter, metadata.nationalNumberPattern())) {\n return false;\n } // This \"is possible\" national number (length) check has been commented out\n // because it's superceded by the (effectively) same check done in the\n // `extractNationalNumber()` function after it calls `shouldHaveExtractedNationalPrefix()`.\n // In other words, why run the same check twice if it could only be run once.\n // // Check the national (significant) number length after extracting national prefix and carrier code.\n // // Fixes a minor \"weird behavior\" bug: https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/57\n // // (Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature).\n // if (metadata.possibleLengths()) {\n // \tif (isPossibleIncompleteNationalNumber(nationalNumberBefore, metadata) &&\n // \t\t!isPossibleIncompleteNationalNumber(nationalNumberAfter, metadata)) {\n // \t\treturn false\n // \t}\n // }\n\n\n return true;\n}\n\nfunction isPossibleIncompleteNationalNumber(nationalNumber, metadata) {\n switch (checkNumberLength(nationalNumber, metadata)) {\n case 'TOO_SHORT':\n case 'INVALID_LENGTH':\n // This library ignores \"local-only\" phone numbers (for simplicity).\n // See the readme for more info on what are \"local-only\" phone numbers.\n // case 'IS_POSSIBLE_LOCAL_ONLY':\n return false;\n\n default:\n return true;\n }\n}\n//# sourceMappingURL=extractNationalNumber.js.map","/**\r\n * Strips any national prefix (such as 0, 1) present in a\r\n * (possibly incomplete) number provided.\r\n * \"Carrier codes\" are only used in Colombia and Brazil,\r\n * and only when dialing within those countries from a mobile phone to a fixed line number.\r\n * Sometimes it won't actually strip national prefix\r\n * and will instead prepend some digits to the `number`:\r\n * for example, when number `2345678` is passed with `VI` country selected,\r\n * it will return `{ number: \"3402345678\" }`, because `340` area code is prepended.\r\n * @param {string} number — National number digits.\r\n * @param {object} metadata — Metadata with country selected.\r\n * @return {object} `{ nationalNumber: string, nationalPrefix: string? carrierCode: string? }`. Even if a national prefix was extracted, it's not necessarily present in the returned object, so don't rely on its presence in the returned object in order to find out whether a national prefix has been extracted or not.\r\n */\nexport default function extractNationalNumberFromPossiblyIncompleteNumber(number, metadata) {\n if (number && metadata.numberingPlan.nationalPrefixForParsing()) {\n // See METADATA.md for the description of\n // `national_prefix_for_parsing` and `national_prefix_transform_rule`.\n // Attempt to parse the first digits as a national prefix.\n var prefixPattern = new RegExp('^(?:' + metadata.numberingPlan.nationalPrefixForParsing() + ')');\n var prefixMatch = prefixPattern.exec(number);\n\n if (prefixMatch) {\n var nationalNumber;\n var carrierCode; // https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\n // If a `national_prefix_for_parsing` has any \"capturing groups\"\n // then it means that the national (significant) number is equal to\n // those \"capturing groups\" transformed via `national_prefix_transform_rule`,\n // and nothing could be said about the actual national prefix:\n // what is it and was it even there.\n // If a `national_prefix_for_parsing` doesn't have any \"capturing groups\",\n // then everything it matches is a national prefix.\n // To determine whether `national_prefix_for_parsing` matched any\n // \"capturing groups\", the value of the result of calling `.exec()`\n // is looked at, and if it has non-undefined values where there're\n // \"capturing groups\" in the regular expression, then it means\n // that \"capturing groups\" have been matched.\n // It's not possible to tell whether there'll be any \"capturing gropus\"\n // before the matching process, because a `national_prefix_for_parsing`\n // could exhibit both behaviors.\n\n var capturedGroupsCount = prefixMatch.length - 1;\n var hasCapturedGroups = capturedGroupsCount > 0 && prefixMatch[capturedGroupsCount];\n\n if (metadata.nationalPrefixTransformRule() && hasCapturedGroups) {\n nationalNumber = number.replace(prefixPattern, metadata.nationalPrefixTransformRule()); // If there's more than one captured group,\n // then carrier code is the second one.\n\n if (capturedGroupsCount > 1) {\n carrierCode = prefixMatch[1];\n }\n } // If there're no \"capturing groups\",\n // or if there're \"capturing groups\" but no\n // `national_prefix_transform_rule`,\n // then just strip the national prefix from the number,\n // and possibly a carrier code.\n // Seems like there could be more.\n else {\n // `prefixBeforeNationalNumber` is the whole substring matched by\n // the `national_prefix_for_parsing` regular expression.\n // There seem to be no guarantees that it's just a national prefix.\n // For example, if there's a carrier code, it's gonna be a\n // part of `prefixBeforeNationalNumber` too.\n var prefixBeforeNationalNumber = prefixMatch[0];\n nationalNumber = number.slice(prefixBeforeNationalNumber.length); // If there's at least one captured group,\n // then carrier code is the first one.\n\n if (hasCapturedGroups) {\n carrierCode = prefixMatch[1];\n }\n } // Tries to guess whether a national prefix was present in the input.\n // This is not something copy-pasted from Google's library:\n // they don't seem to have an equivalent for that.\n // So this isn't an \"officially approved\" way of doing something like that.\n // But since there seems no other existing method, this library uses it.\n\n\n var nationalPrefix;\n\n if (hasCapturedGroups) {\n var possiblePositionOfTheFirstCapturedGroup = number.indexOf(prefixMatch[1]);\n var possibleNationalPrefix = number.slice(0, possiblePositionOfTheFirstCapturedGroup); // Example: an Argentinian (AR) phone number `0111523456789`.\n // `prefixMatch[0]` is `01115`, and `$1` is `11`,\n // and the rest of the phone number is `23456789`.\n // The national number is transformed via `9$1` to `91123456789`.\n // National prefix `0` is detected being present at the start.\n // if (possibleNationalPrefix.indexOf(metadata.numberingPlan.nationalPrefix()) === 0) {\n\n if (possibleNationalPrefix === metadata.numberingPlan.nationalPrefix()) {\n nationalPrefix = metadata.numberingPlan.nationalPrefix();\n }\n } else {\n nationalPrefix = prefixMatch[0];\n }\n\n return {\n nationalNumber: nationalNumber,\n nationalPrefix: nationalPrefix,\n carrierCode: carrierCode\n };\n }\n }\n\n return {\n nationalNumber: number\n };\n}\n//# sourceMappingURL=extractNationalNumberFromPossiblyIncompleteNumber.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport Metadata from '../metadata.js';\nimport getNumberType from './getNumberType.js';\nexport default function getCountryByNationalNumber(nationalPhoneNumber, _ref) {\n var countries = _ref.countries,\n defaultCountry = _ref.defaultCountry,\n metadata = _ref.metadata;\n // Re-create `metadata` because it will be selecting a `country`.\n metadata = new Metadata(metadata);\n var matchingCountries = [];\n\n for (var _iterator = _createForOfIteratorHelperLoose(countries), _step; !(_step = _iterator()).done;) {\n var country = _step.value;\n metadata.country(country); // \"Leading digits\" patterns are only defined for about 20% of all countries.\n // By definition, matching \"leading digits\" is a sufficient but not a necessary\n // condition for a phone number to belong to a country.\n // The point of \"leading digits\" check is that it's the fastest one to get a match.\n // https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md#leading_digits\n // I'd suppose that \"leading digits\" patterns are mutually exclusive for different countries\n // because of the intended use of that feature.\n\n if (metadata.leadingDigits()) {\n if (nationalPhoneNumber && nationalPhoneNumber.search(metadata.leadingDigits()) === 0) {\n return country;\n }\n } // Else perform full validation with all of those\n // fixed-line/mobile/etc regular expressions.\n else if (getNumberType({\n phone: nationalPhoneNumber,\n country: country\n }, undefined, metadata.metadata)) {\n // If the `defaultCountry` is among the `matchingCountries` then return it.\n if (defaultCountry) {\n if (country === defaultCountry) {\n return country;\n }\n\n matchingCountries.push(country);\n } else {\n return country;\n }\n }\n } // Return the first (\"main\") one of the `matchingCountries`.\n\n\n if (matchingCountries.length > 0) {\n return matchingCountries[0];\n }\n}\n//# sourceMappingURL=getCountryByNationalNumber.js.map","import getCountryByNationalNumber from './getCountryByNationalNumber.js';\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\nexport default function getCountryByCallingCode(callingCode, _ref) {\n var nationalPhoneNumber = _ref.nationalNumber,\n defaultCountry = _ref.defaultCountry,\n metadata = _ref.metadata;\n\n /* istanbul ignore if */\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata.isNonGeographicCallingCode(callingCode)) {\n return '001';\n }\n }\n\n var possibleCountries = metadata.getCountryCodesForCallingCode(callingCode);\n\n if (!possibleCountries) {\n return;\n } // If there's just one country corresponding to the country code,\n // then just return it, without further phone number digits validation.\n\n\n if (possibleCountries.length === 1) {\n return possibleCountries[0];\n }\n\n return getCountryByNationalNumber(nationalPhoneNumber, {\n countries: possibleCountries,\n defaultCountry: defaultCountry,\n metadata: metadata.metadata\n });\n}\n//# sourceMappingURL=getCountryByCallingCode.js.map","// When phone numbers are written in `RFC3966` format — `\"tel:+12133734253\"` —\n// they can have their \"calling code\" part written separately in a `phone-context` parameter.\n// Example: `\"tel:12133734253;phone-context=+1\"`.\n// This function parses the full phone number from the local number and the `phone-context`\n// when the `phone-context` contains a `+` sign.\nimport { VALID_DIGITS // PLUS_CHARS\n} from '../constants.js';\nexport var PLUS_SIGN = '+';\nvar RFC3966_VISUAL_SEPARATOR_ = '[\\\\-\\\\.\\\\(\\\\)]?';\nvar RFC3966_PHONE_DIGIT_ = '(' + '[' + VALID_DIGITS + ']' + '|' + RFC3966_VISUAL_SEPARATOR_ + ')';\nvar RFC3966_GLOBAL_NUMBER_DIGITS_ = '^' + '\\\\' + PLUS_SIGN + RFC3966_PHONE_DIGIT_ + '*' + '[' + VALID_DIGITS + ']' + RFC3966_PHONE_DIGIT_ + '*' + '$';\n/**\r\n * Regular expression of valid global-number-digits for the phone-context\r\n * parameter, following the syntax defined in RFC3966.\r\n */\n\nvar RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_ = new RegExp(RFC3966_GLOBAL_NUMBER_DIGITS_, 'g'); // In this port of Google's library, we don't accept alpha characters in phone numbers.\n// const ALPHANUM_ = VALID_ALPHA_ + VALID_DIGITS\n\nvar ALPHANUM_ = VALID_DIGITS;\nvar RFC3966_DOMAINLABEL_ = '[' + ALPHANUM_ + ']+((\\\\-)*[' + ALPHANUM_ + '])*';\nvar VALID_ALPHA_ = 'a-zA-Z';\nvar RFC3966_TOPLABEL_ = '[' + VALID_ALPHA_ + ']+((\\\\-)*[' + ALPHANUM_ + '])*';\nvar RFC3966_DOMAINNAME_ = '^(' + RFC3966_DOMAINLABEL_ + '\\\\.)*' + RFC3966_TOPLABEL_ + '\\\\.?$';\n/**\r\n * Regular expression of valid domainname for the phone-context parameter,\r\n * following the syntax defined in RFC3966.\r\n */\n\nvar RFC3966_DOMAINNAME_PATTERN_ = new RegExp(RFC3966_DOMAINNAME_, 'g');\nexport var RFC3966_PREFIX_ = 'tel:';\nexport var RFC3966_PHONE_CONTEXT_ = ';phone-context=';\nexport var RFC3966_ISDN_SUBADDRESS_ = ';isub=';\n/**\r\n * Extracts the value of the phone-context parameter of `numberToExtractFrom`,\r\n * following the syntax defined in RFC3966.\r\n *\r\n * @param {string} numberToExtractFrom\r\n * @return {string|null} the extracted string (possibly empty), or `null` if no phone-context parameter is found.\r\n */\n\nexport default function extractPhoneContext(numberToExtractFrom) {\n var indexOfPhoneContext = numberToExtractFrom.indexOf(RFC3966_PHONE_CONTEXT_); // If no phone-context parameter is present\n\n if (indexOfPhoneContext < 0) {\n return null;\n }\n\n var phoneContextStart = indexOfPhoneContext + RFC3966_PHONE_CONTEXT_.length; // If phone-context parameter is empty\n\n if (phoneContextStart >= numberToExtractFrom.length) {\n return '';\n }\n\n var phoneContextEnd = numberToExtractFrom.indexOf(';', phoneContextStart); // If phone-context is not the last parameter\n\n if (phoneContextEnd >= 0) {\n return numberToExtractFrom.substring(phoneContextStart, phoneContextEnd);\n } else {\n return numberToExtractFrom.substring(phoneContextStart);\n }\n}\n/**\r\n * Returns whether the value of phoneContext follows the syntax defined in RFC3966.\r\n *\r\n * @param {string|null} phoneContext\r\n * @return {boolean}\r\n */\n\nexport function isPhoneContextValid(phoneContext) {\n if (phoneContext === null) {\n return true;\n }\n\n if (phoneContext.length === 0) {\n return false;\n } // Does phone-context value match pattern of global-number-digits or domainname.\n\n\n return RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_.test(phoneContext) || RFC3966_DOMAINNAME_PATTERN_.test(phoneContext);\n}\n//# sourceMappingURL=extractPhoneContext.js.map","// This is a port of Google Android `libphonenumber`'s\n// `phonenumberutil.js` of December 31th, 2018.\n//\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\nimport { VALID_DIGITS, PLUS_CHARS, MIN_LENGTH_FOR_NSN, MAX_LENGTH_FOR_NSN } from './constants.js';\nimport ParseError from './ParseError.js';\nimport Metadata from './metadata.js';\nimport isViablePhoneNumber, { isViablePhoneNumberStart } from './helpers/isViablePhoneNumber.js';\nimport extractExtension from './helpers/extension/extractExtension.js';\nimport parseIncompletePhoneNumber from './parseIncompletePhoneNumber.js';\nimport getCountryCallingCode from './getCountryCallingCode.js';\nimport { isPossibleNumber } from './isPossible.js'; // import { parseRFC3966 } from './helpers/RFC3966.js'\n\nimport PhoneNumber from './PhoneNumber.js';\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport extractCountryCallingCode from './helpers/extractCountryCallingCode.js';\nimport extractNationalNumber from './helpers/extractNationalNumber.js';\nimport stripIddPrefix from './helpers/stripIddPrefix.js';\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode.js';\nimport extractFormattedPhoneNumberFromPossibleRfc3966NumberUri from './helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js'; // We don't allow input strings for parsing to be longer than 250 chars.\n// This prevents malicious input from consuming CPU.\n\nvar MAX_INPUT_STRING_LENGTH = 250; // This consists of the plus symbol, digits, and arabic-indic digits.\n\nvar PHONE_NUMBER_START_PATTERN = new RegExp('[' + PLUS_CHARS + VALID_DIGITS + ']'); // Regular expression of trailing characters that we want to remove.\n// A trailing `#` is sometimes used when writing phone numbers with extensions in US.\n// Example: \"+1 (645) 123 1234-910#\" number has extension \"910\".\n\nvar AFTER_PHONE_NUMBER_END_PATTERN = new RegExp('[^' + VALID_DIGITS + '#' + ']+$');\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false; // Examples:\n//\n// ```js\n// parse('8 (800) 555-35-35', 'RU')\n// parse('8 (800) 555-35-35', 'RU', metadata)\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } })\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } }, metadata)\n// parse('+7 800 555 35 35')\n// parse('+7 800 555 35 35', metadata)\n// ```\n//\n\n/**\r\n * Parses a phone number.\r\n *\r\n * parse('123456789', { defaultCountry: 'RU', v2: true }, metadata)\r\n * parse('123456789', { defaultCountry: 'RU' }, metadata)\r\n * parse('123456789', undefined, metadata)\r\n *\r\n * @param {string} input\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {object|PhoneNumber?} If `options.v2: true` flag is passed, it returns a `PhoneNumber?` instance. Otherwise, returns an object of shape `{ phone: '...', country: '...' }` (or just `{}` if no phone number was parsed).\r\n */\n\nexport default function parse(text, options, metadata) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {};\n metadata = new Metadata(metadata); // Validate `defaultCountry`.\n\n if (options.defaultCountry && !metadata.hasCountry(options.defaultCountry)) {\n if (options.v2) {\n throw new ParseError('INVALID_COUNTRY');\n }\n\n throw new Error(\"Unknown country: \".concat(options.defaultCountry));\n } // Parse the phone number.\n\n\n var _parseInput = parseInput(text, options.v2, options.extract),\n formattedPhoneNumber = _parseInput.number,\n ext = _parseInput.ext,\n error = _parseInput.error; // If the phone number is not viable then return nothing.\n\n\n if (!formattedPhoneNumber) {\n if (options.v2) {\n if (error === 'TOO_SHORT') {\n throw new ParseError('TOO_SHORT');\n }\n\n throw new ParseError('NOT_A_NUMBER');\n }\n\n return {};\n }\n\n var _parsePhoneNumber = parsePhoneNumber(formattedPhoneNumber, options.defaultCountry, options.defaultCallingCode, metadata),\n country = _parsePhoneNumber.country,\n nationalNumber = _parsePhoneNumber.nationalNumber,\n countryCallingCode = _parsePhoneNumber.countryCallingCode,\n countryCallingCodeSource = _parsePhoneNumber.countryCallingCodeSource,\n carrierCode = _parsePhoneNumber.carrierCode;\n\n if (!metadata.hasSelectedNumberingPlan()) {\n if (options.v2) {\n throw new ParseError('INVALID_COUNTRY');\n }\n\n return {};\n } // Validate national (significant) number length.\n\n\n if (!nationalNumber || nationalNumber.length < MIN_LENGTH_FOR_NSN) {\n // Won't throw here because the regexp already demands length > 1.\n\n /* istanbul ignore if */\n if (options.v2) {\n throw new ParseError('TOO_SHORT');\n } // Google's demo just throws an error in this case.\n\n\n return {};\n } // Validate national (significant) number length.\n //\n // A sidenote:\n //\n // They say that sometimes national (significant) numbers\n // can be longer than `MAX_LENGTH_FOR_NSN` (e.g. in Germany).\n // https://github.com/googlei18n/libphonenumber/blob/7e1748645552da39c4e1ba731e47969d97bdb539/resources/phonenumber.proto#L36\n // Such numbers will just be discarded.\n //\n\n\n if (nationalNumber.length > MAX_LENGTH_FOR_NSN) {\n if (options.v2) {\n throw new ParseError('TOO_LONG');\n } // Google's demo just throws an error in this case.\n\n\n return {};\n }\n\n if (options.v2) {\n var phoneNumber = new PhoneNumber(countryCallingCode, nationalNumber, metadata.metadata);\n\n if (country) {\n phoneNumber.country = country;\n }\n\n if (carrierCode) {\n phoneNumber.carrierCode = carrierCode;\n }\n\n if (ext) {\n phoneNumber.ext = ext;\n }\n\n phoneNumber.__countryCallingCodeSource = countryCallingCodeSource;\n return phoneNumber;\n } // Check if national phone number pattern matches the number.\n // National number pattern is different for each country,\n // even for those ones which are part of the \"NANPA\" group.\n\n\n var valid = (options.extended ? metadata.hasSelectedNumberingPlan() : country) ? matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) : false;\n\n if (!options.extended) {\n return valid ? result(country, nationalNumber, ext) : {};\n } // isInternational: countryCallingCode !== undefined\n\n\n return {\n country: country,\n countryCallingCode: countryCallingCode,\n carrierCode: carrierCode,\n valid: valid,\n possible: valid ? true : options.extended === true && metadata.possibleLengths() && isPossibleNumber(nationalNumber, metadata) ? true : false,\n phone: nationalNumber,\n ext: ext\n };\n}\n/**\r\n * Extracts a formatted phone number from text.\r\n * Doesn't guarantee that the extracted phone number\r\n * is a valid phone number (for example, doesn't validate its length).\r\n * @param {string} text\r\n * @param {boolean} [extract] — If `false`, then will parse the entire `text` as a phone number.\r\n * @param {boolean} [throwOnError] — By default, it won't throw if the text is too long.\r\n * @return {string}\r\n * @example\r\n * // Returns \"(213) 373-4253\".\r\n * extractFormattedPhoneNumber(\"Call (213) 373-4253 for assistance.\")\r\n */\n\nfunction _extractFormattedPhoneNumber(text, extract, throwOnError) {\n if (!text) {\n return;\n }\n\n if (text.length > MAX_INPUT_STRING_LENGTH) {\n if (throwOnError) {\n throw new ParseError('TOO_LONG');\n }\n\n return;\n }\n\n if (extract === false) {\n return text;\n } // Attempt to extract a possible number from the string passed in\n\n\n var startsAt = text.search(PHONE_NUMBER_START_PATTERN);\n\n if (startsAt < 0) {\n return;\n }\n\n return text // Trim everything to the left of the phone number\n .slice(startsAt) // Remove trailing non-numerical characters\n .replace(AFTER_PHONE_NUMBER_END_PATTERN, '');\n}\n/**\r\n * @param {string} text - Input.\r\n * @param {boolean} v2 - Legacy API functions don't pass `v2: true` flag.\r\n * @param {boolean} [extract] - Whether to extract a phone number from `text`, or attempt to parse the entire text as a phone number.\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\n\n\nfunction parseInput(text, v2, extract) {\n // // Parse RFC 3966 phone number URI.\n // if (text && text.indexOf('tel:') === 0) {\n // \treturn parseRFC3966(text)\n // }\n // let number = extractFormattedPhoneNumber(text, extract, v2)\n var number = extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(text, {\n extractFormattedPhoneNumber: function extractFormattedPhoneNumber(text) {\n return _extractFormattedPhoneNumber(text, extract, v2);\n }\n }); // If the phone number is not viable, then abort.\n\n if (!number) {\n return {};\n }\n\n if (!isViablePhoneNumber(number)) {\n if (isViablePhoneNumberStart(number)) {\n return {\n error: 'TOO_SHORT'\n };\n }\n\n return {};\n } // Attempt to parse extension first, since it doesn't require region-specific\n // data and we want to have the non-normalised number here.\n\n\n var withExtensionStripped = extractExtension(number);\n\n if (withExtensionStripped.ext) {\n return withExtensionStripped;\n }\n\n return {\n number: number\n };\n}\n/**\r\n * Creates `parse()` result object.\r\n */\n\n\nfunction result(country, nationalNumber, ext) {\n var result = {\n country: country,\n phone: nationalNumber\n };\n\n if (ext) {\n result.ext = ext;\n }\n\n return result;\n}\n/**\r\n * Parses a viable phone number.\r\n * @param {string} formattedPhoneNumber — Example: \"(213) 373-4253\".\r\n * @param {string} [defaultCountry]\r\n * @param {string} [defaultCallingCode]\r\n * @param {Metadata} metadata\r\n * @return {object} Returns `{ country: string?, countryCallingCode: string?, nationalNumber: string? }`.\r\n */\n\n\nfunction parsePhoneNumber(formattedPhoneNumber, defaultCountry, defaultCallingCode, metadata) {\n // Extract calling code from phone number.\n var _extractCountryCallin = extractCountryCallingCode(parseIncompletePhoneNumber(formattedPhoneNumber), defaultCountry, defaultCallingCode, metadata.metadata),\n countryCallingCodeSource = _extractCountryCallin.countryCallingCodeSource,\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n number = _extractCountryCallin.number; // Choose a country by `countryCallingCode`.\n\n\n var country;\n\n if (countryCallingCode) {\n metadata.selectNumberingPlan(countryCallingCode);\n } // If `formattedPhoneNumber` is passed in \"national\" format\n // then `number` is defined and `countryCallingCode` is `undefined`.\n else if (number && (defaultCountry || defaultCallingCode)) {\n metadata.selectNumberingPlan(defaultCountry, defaultCallingCode);\n\n if (defaultCountry) {\n country = defaultCountry;\n } else {\n /* istanbul ignore if */\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata.isNonGeographicCallingCode(defaultCallingCode)) {\n country = '001';\n }\n }\n }\n\n countryCallingCode = defaultCallingCode || getCountryCallingCode(defaultCountry, metadata.metadata);\n } else return {};\n\n if (!number) {\n return {\n countryCallingCodeSource: countryCallingCodeSource,\n countryCallingCode: countryCallingCode\n };\n }\n\n var _extractNationalNumbe = extractNationalNumber(parseIncompletePhoneNumber(number), metadata),\n nationalNumber = _extractNationalNumbe.nationalNumber,\n carrierCode = _extractNationalNumbe.carrierCode; // Sometimes there are several countries\n // corresponding to the same country phone code\n // (e.g. NANPA countries all having `1` country phone code).\n // Therefore, to reliably determine the exact country,\n // national (significant) number should have been parsed first.\n //\n // When `metadata.json` is generated, all \"ambiguous\" country phone codes\n // get their countries populated with the full set of\n // \"phone number type\" regular expressions.\n //\n\n\n var exactCountry = getCountryByCallingCode(countryCallingCode, {\n nationalNumber: nationalNumber,\n defaultCountry: defaultCountry,\n metadata: metadata\n });\n\n if (exactCountry) {\n country = exactCountry;\n /* istanbul ignore if */\n\n if (exactCountry === '001') {// Can't happen with `USE_NON_GEOGRAPHIC_COUNTRY_CODE` being `false`.\n // If `USE_NON_GEOGRAPHIC_COUNTRY_CODE` is set to `true` for some reason,\n // then remove the \"istanbul ignore if\".\n } else {\n metadata.country(country);\n }\n }\n\n return {\n country: country,\n countryCallingCode: countryCallingCode,\n countryCallingCodeSource: countryCallingCodeSource,\n nationalNumber: nationalNumber,\n carrierCode: carrierCode\n };\n}\n//# sourceMappingURL=parse.js.map","import extractPhoneContext, { isPhoneContextValid, PLUS_SIGN, RFC3966_PREFIX_, RFC3966_PHONE_CONTEXT_, RFC3966_ISDN_SUBADDRESS_ } from './extractPhoneContext.js';\nimport ParseError from '../ParseError.js';\n/**\r\n * @param {string} numberToParse\r\n * @param {string} nationalNumber\r\n * @return {}\r\n */\n\nexport default function extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(numberToParse, _ref) {\n var extractFormattedPhoneNumber = _ref.extractFormattedPhoneNumber;\n var phoneContext = extractPhoneContext(numberToParse);\n\n if (!isPhoneContextValid(phoneContext)) {\n throw new ParseError('NOT_A_NUMBER');\n }\n\n var phoneNumberString;\n\n if (phoneContext === null) {\n // Extract a possible number from the string passed in.\n // (this strips leading characters that could not be the start of a phone number)\n phoneNumberString = extractFormattedPhoneNumber(numberToParse) || '';\n } else {\n phoneNumberString = ''; // If the phone context contains a phone number prefix, we need to capture\n // it, whereas domains will be ignored.\n\n if (phoneContext.charAt(0) === PLUS_SIGN) {\n phoneNumberString += phoneContext;\n } // Now append everything between the \"tel:\" prefix and the phone-context.\n // This should include the national number, an optional extension or\n // isdn-subaddress component. Note we also handle the case when \"tel:\" is\n // missing, as we have seen in some of the phone number inputs.\n // In that case, we append everything from the beginning.\n\n\n var indexOfRfc3966Prefix = numberToParse.indexOf(RFC3966_PREFIX_);\n var indexOfNationalNumber; // RFC 3966 \"tel:\" prefix is preset at this stage because\n // `isPhoneContextValid()` requires it to be present.\n\n /* istanbul ignore else */\n\n if (indexOfRfc3966Prefix >= 0) {\n indexOfNationalNumber = indexOfRfc3966Prefix + RFC3966_PREFIX_.length;\n } else {\n indexOfNationalNumber = 0;\n }\n\n var indexOfPhoneContext = numberToParse.indexOf(RFC3966_PHONE_CONTEXT_);\n phoneNumberString += numberToParse.substring(indexOfNationalNumber, indexOfPhoneContext);\n } // Delete the isdn-subaddress and everything after it if it is present.\n // Note extension won't appear at the same time with isdn-subaddress\n // according to paragraph 5.3 of the RFC3966 spec.\n\n\n var indexOfIsdn = phoneNumberString.indexOf(RFC3966_ISDN_SUBADDRESS_);\n\n if (indexOfIsdn > 0) {\n phoneNumberString = phoneNumberString.substring(0, indexOfIsdn);\n } // If both phone context and isdn-subaddress are absent but other\n // parameters are present, the parameters are left in nationalNumber.\n // This is because we are concerned about deleting content from a potential\n // number string when there is no strong evidence that the number is\n // actually written in RFC3966.\n\n\n if (phoneNumberString !== '') {\n return phoneNumberString;\n }\n}\n//# sourceMappingURL=extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js.map","import stripIddPrefix from './stripIddPrefix.js';\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js';\nimport Metadata from '../metadata.js';\nimport { MAX_LENGTH_COUNTRY_CODE } from '../constants.js';\n/**\r\n * Converts a phone number digits (possibly with a `+`)\r\n * into a calling code and the rest phone number digits.\r\n * The \"rest phone number digits\" could include\r\n * a national prefix, carrier code, and national\r\n * (significant) number.\r\n * @param {string} number — Phone number digits (possibly with a `+`).\r\n * @param {string} [country] — Default country.\r\n * @param {string} [callingCode] — Default calling code (some phone numbering plans are non-geographic).\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCodeSource: string?, countryCallingCode: string?, number: string }`\r\n * @example\r\n * // Returns `{ countryCallingCode: \"1\", number: \"2133734253\" }`.\r\n * extractCountryCallingCode('2133734253', 'US', null, metadata)\r\n * extractCountryCallingCode('2133734253', null, '1', metadata)\r\n * extractCountryCallingCode('+12133734253', null, null, metadata)\r\n * extractCountryCallingCode('+12133734253', 'RU', null, metadata)\r\n */\n\nexport default function extractCountryCallingCode(number, country, callingCode, metadata) {\n if (!number) {\n return {};\n }\n\n var isNumberWithIddPrefix; // If this is not an international phone number,\n // then either extract an \"IDD\" prefix, or extract a\n // country calling code from a number by autocorrecting it\n // by prepending a leading `+` in cases when it starts\n // with the country calling code.\n // https://wikitravel.org/en/International_dialling_prefix\n // https://github.com/catamphetamine/libphonenumber-js/issues/376\n\n if (number[0] !== '+') {\n // Convert an \"out-of-country\" dialing phone number\n // to a proper international phone number.\n var numberWithoutIDD = stripIddPrefix(number, country, callingCode, metadata); // If an IDD prefix was stripped then\n // convert the number to international one\n // for subsequent parsing.\n\n if (numberWithoutIDD && numberWithoutIDD !== number) {\n isNumberWithIddPrefix = true;\n number = '+' + numberWithoutIDD;\n } else {\n // Check to see if the number starts with the country calling code\n // for the default country. If so, we remove the country calling code,\n // and do some checks on the validity of the number before and after.\n // https://github.com/catamphetamine/libphonenumber-js/issues/376\n if (country || callingCode) {\n var _extractCountryCallin = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, callingCode, metadata),\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n shorterNumber = _extractCountryCallin.number;\n\n if (countryCallingCode) {\n return {\n countryCallingCodeSource: 'FROM_NUMBER_WITHOUT_PLUS_SIGN',\n countryCallingCode: countryCallingCode,\n number: shorterNumber\n };\n }\n }\n\n return {\n // No need to set it to `UNSPECIFIED`. It can be just `undefined`.\n // countryCallingCodeSource: 'UNSPECIFIED',\n number: number\n };\n }\n } // Fast abortion: country codes do not begin with a '0'\n\n\n if (number[1] === '0') {\n return {};\n }\n\n metadata = new Metadata(metadata); // The thing with country phone codes\n // is that they are orthogonal to each other\n // i.e. there's no such country phone code A\n // for which country phone code B exists\n // where B starts with A.\n // Therefore, while scanning digits,\n // if a valid country code is found,\n // that means that it is the country code.\n //\n\n var i = 2;\n\n while (i - 1 <= MAX_LENGTH_COUNTRY_CODE && i <= number.length) {\n var _countryCallingCode = number.slice(1, i);\n\n if (metadata.hasCallingCode(_countryCallingCode)) {\n metadata.selectNumberingPlan(_countryCallingCode);\n return {\n countryCallingCodeSource: isNumberWithIddPrefix ? 'FROM_NUMBER_WITH_IDD' : 'FROM_NUMBER_WITH_PLUS_SIGN',\n countryCallingCode: _countryCallingCode,\n number: number.slice(i)\n };\n }\n\n i++;\n }\n\n return {};\n} // The possible values for the returned `countryCallingCodeSource` are:\n//\n// Copy-pasted from:\n// https://github.com/google/libphonenumber/blob/master/resources/phonenumber.proto\n//\n// // The source from which the country_code is derived. This is not set in the\n// // general parsing method, but in the method that parses and keeps raw_input.\n// // New fields could be added upon request.\n// enum CountryCodeSource {\n// // Default value returned if this is not set, because the phone number was\n// // created using parse, not parseAndKeepRawInput. hasCountryCodeSource will\n// // return false if this is the case.\n// UNSPECIFIED = 0;\n//\n// // The country_code is derived based on a phone number with a leading \"+\",\n// // e.g. the French number \"+33 1 42 68 53 00\".\n// FROM_NUMBER_WITH_PLUS_SIGN = 1;\n//\n// // The country_code is derived based on a phone number with a leading IDD,\n// // e.g. the French number \"011 33 1 42 68 53 00\", as it is dialled from US.\n// FROM_NUMBER_WITH_IDD = 5;\n//\n// // The country_code is derived based on a phone number without a leading\n// // \"+\", e.g. the French number \"33 1 42 68 53 00\" when defaultCountry is\n// // supplied as France.\n// FROM_NUMBER_WITHOUT_PLUS_SIGN = 10;\n//\n// // The country_code is derived NOT based on the phone number itself, but\n// // from the defaultCountry parameter provided in the parsing function by the\n// // clients. This happens mostly for numbers written in the national format\n// // (without country code). For example, this would be set when parsing the\n// // French number \"01 42 68 53 00\", when defaultCountry is supplied as\n// // France.\n// FROM_DEFAULT_COUNTRY = 20;\n// }\n//# sourceMappingURL=extractCountryCallingCode.js.map","import Metadata from '../metadata.js';\nimport matchesEntirely from './matchesEntirely.js';\nimport extractNationalNumber from './extractNationalNumber.js';\nimport checkNumberLength from './checkNumberLength.js';\nimport getCountryCallingCode from '../getCountryCallingCode.js';\n/**\r\n * Sometimes some people incorrectly input international phone numbers\r\n * without the leading `+`. This function corrects such input.\r\n * @param {string} number — Phone number digits.\r\n * @param {string?} country\r\n * @param {string?} callingCode\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCode: string?, number: string }`.\r\n */\n\nexport default function extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, callingCode, metadata) {\n var countryCallingCode = country ? getCountryCallingCode(country, metadata) : callingCode;\n\n if (number.indexOf(countryCallingCode) === 0) {\n metadata = new Metadata(metadata);\n metadata.selectNumberingPlan(country, callingCode);\n var possibleShorterNumber = number.slice(countryCallingCode.length);\n\n var _extractNationalNumbe = extractNationalNumber(possibleShorterNumber, metadata),\n possibleShorterNationalNumber = _extractNationalNumbe.nationalNumber;\n\n var _extractNationalNumbe2 = extractNationalNumber(number, metadata),\n nationalNumber = _extractNationalNumbe2.nationalNumber; // If the number was not valid before but is valid now,\n // or if it was too long before, we consider the number\n // with the country calling code stripped to be a better result\n // and keep that instead.\n // For example, in Germany (+49), `49` is a valid area code,\n // so if a number starts with `49`, it could be both a valid\n // national German number or an international number without\n // a leading `+`.\n\n\n if (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) && matchesEntirely(possibleShorterNationalNumber, metadata.nationalNumberPattern()) || checkNumberLength(nationalNumber, metadata) === 'TOO_LONG') {\n return {\n countryCallingCode: countryCallingCode,\n number: possibleShorterNumber\n };\n }\n }\n\n return {\n number: number\n };\n}\n//# sourceMappingURL=extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport parse from './parse.js';\nexport default function parsePhoneNumberWithError(text, options, metadata) {\n return parse(text, _objectSpread(_objectSpread({}, options), {}, {\n v2: true\n }), metadata);\n}\n//# sourceMappingURL=parsePhoneNumberWithError_.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport parsePhoneNumberWithError from './parsePhoneNumberWithError_.js';\nimport ParseError from './ParseError.js';\nimport { isSupportedCountry } from './metadata.js';\nexport default function parsePhoneNumber(text, options, metadata) {\n // Validate `defaultCountry`.\n if (options && options.defaultCountry && !isSupportedCountry(options.defaultCountry, metadata)) {\n options = _objectSpread(_objectSpread({}, options), {}, {\n defaultCountry: undefined\n });\n } // Parse phone number.\n\n\n try {\n return parsePhoneNumberWithError(text, options, metadata);\n } catch (error) {\n /* istanbul ignore else */\n if (error instanceof ParseError) {//\n } else {\n throw error;\n }\n }\n}\n//# sourceMappingURL=parsePhoneNumber_.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport normalizeArguments from './normalizeArguments.js';\nimport parsePhoneNumber from './parsePhoneNumber_.js';\nexport default function isValidPhoneNumber() {\n var _normalizeArguments = normalizeArguments(arguments),\n text = _normalizeArguments.text,\n options = _normalizeArguments.options,\n metadata = _normalizeArguments.metadata;\n\n options = _objectSpread(_objectSpread({}, options), {}, {\n extract: false\n });\n var phoneNumber = parsePhoneNumber(text, options, metadata);\n return phoneNumber && phoneNumber.isValid() || false;\n}\n//# sourceMappingURL=isValidPhoneNumber.js.map","import withMetadataArgument from './withMetadataArgument.js'\r\nimport { isValidPhoneNumber as _isValidPhoneNumber } from '../../core/index.js'\r\n\r\nexport function isValidPhoneNumber() {\r\n\treturn withMetadataArgument(_isValidPhoneNumber, arguments)\r\n}","// Importing from a \".js\" file is a workaround for Node.js \"ES Modules\"\r\n// importing system which is even uncapable of importing \"*.json\" files.\r\nimport metadata from '../../metadata.min.json.js'\r\n\r\nexport default function withMetadataArgument(func, _arguments) {\r\n\tvar args = Array.prototype.slice.call(_arguments)\r\n\targs.push(metadata)\r\n\treturn func.apply(this, args)\r\n}","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"phone\"\n\t\t:placeholder=\"t('settings', 'Your phone number')\"\n\t\tautocomplete=\"tel\"\n\t\ttype=\"tel\"\n\t\t:on-validate=\"onValidate\" />\n</template>\n\n<script>\nimport { isValidPhoneNumber } from 'libphonenumber-js'\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst {\n\tdefaultPhoneRegion,\n\tphone,\n} = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'PhoneSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tphone: { ...phone, readable: NAME_READABLE_ENUM[phone.name] },\n\t\t}\n\t},\n\n\tmethods: {\n\t\tonValidate(value) {\n\t\t\tif (defaultPhoneRegion) {\n\t\t\t\treturn isValidPhoneNumber(value, defaultPhoneRegion)\n\t\t\t}\n\t\t\treturn isValidPhoneNumber(value)\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PhoneSection.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!./PhoneSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PhoneSection.vue?vue&type=template&id=6f2678bb&\"\nimport script from \"./PhoneSection.vue?vue&type=script&lang=js&\"\nexport * from \"./PhoneSection.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('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your phone number'),\"autocomplete\":\"tel\",\"type\":\"tel\",\"on-validate\":_vm.onValidate}},'AccountPropertySection',_vm.phone,false,true))\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"location\"\n\t\tautocomplete=\"address-level1\"\n\t\t:placeholder=\"t('settings', 'Your city')\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { location } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'LocationSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tlocation: { ...location, readable: NAME_READABLE_ENUM[location.name] },\n\t\t}\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocationSection.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!./LocationSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LocationSection.vue?vue&type=template&id=7f8e0736&\"\nimport script from \"./LocationSection.vue?vue&type=script&lang=js&\"\nexport * from \"./LocationSection.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('AccountPropertySection',_vm._b({attrs:{\"autocomplete\":\"address-level1\",\"placeholder\":_vm.t('settings', 'Your city')}},'AccountPropertySection',_vm.location,false,true))\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"website\"\n\t\t:placeholder=\"t('settings', 'Your website')\"\n\t\tautocomplete=\"url\"\n\t\ttype=\"url\"\n\t\t:on-validate=\"onValidate\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\nimport { validateUrl } from '../../utils/validate.js'\n\nconst { website } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'WebsiteSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\twebsite: { ...website, readable: NAME_READABLE_ENUM[website.name] },\n\t\t}\n\t},\n\n\tmethods: {\n\t\tonValidate(value) {\n\t\t\treturn validateUrl(value)\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WebsiteSection.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!./WebsiteSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WebsiteSection.vue?vue&type=template&id=271dd4ba&\"\nimport script from \"./WebsiteSection.vue?vue&type=script&lang=js&\"\nexport * from \"./WebsiteSection.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('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your website'),\"autocomplete\":\"url\",\"type\":\"url\",\"on-validate\":_vm.onValidate}},'AccountPropertySection',_vm.website,false,true))\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"twitter\"\n\t\t:placeholder=\"t('settings', 'Your Twitter handle')\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { twitter } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'TwitterSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\ttwitter: { ...twitter, readable: NAME_READABLE_ENUM[twitter.name] },\n\t\t}\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TwitterSection.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!./TwitterSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TwitterSection.vue?vue&type=template&id=203feaef&\"\nimport script from \"./TwitterSection.vue?vue&type=script&lang=js&\"\nexport * from \"./TwitterSection.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('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your Twitter handle')}},'AccountPropertySection',_vm.twitter,false,true))\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"fediverse\"\n\t\t:placeholder=\"t('settings', 'Your handle')\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { fediverse } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'FediverseSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tfediverse: { ...fediverse, readable: NAME_READABLE_ENUM[fediverse.name] },\n\t\t}\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FediverseSection.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!./FediverseSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FediverseSection.vue?vue&type=template&id=78433a38&\"\nimport script from \"./FediverseSection.vue?vue&type=script&lang=js&\"\nexport * from \"./FediverseSection.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('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your handle')}},'AccountPropertySection',_vm.fediverse,false,true))\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<div class=\"language\">\n\t\t<select :id=\"inputId\"\n\t\t\t:placeholder=\"t('settings', 'Language')\"\n\t\t\t@change=\"onLanguageChange\">\n\t\t\t<option v-for=\"commonLanguage in commonLanguages\"\n\t\t\t\t:key=\"commonLanguage.code\"\n\t\t\t\t:selected=\"language.code === commonLanguage.code\"\n\t\t\t\t:value=\"commonLanguage.code\">\n\t\t\t\t{{ commonLanguage.name }}\n\t\t\t</option>\n\t\t\t<option disabled>\n\t\t\t\t──────────\n\t\t\t</option>\n\t\t\t<option v-for=\"otherLanguage in otherLanguages\"\n\t\t\t\t:key=\"otherLanguage.code\"\n\t\t\t\t:selected=\"language.code === otherLanguage.code\"\n\t\t\t\t:value=\"otherLanguage.code\">\n\t\t\t\t{{ otherLanguage.name }}\n\t\t\t</option>\n\t\t</select>\n\n\t\t<a href=\"https://www.transifex.com/nextcloud/nextcloud/\"\n\t\t\ttarget=\"_blank\"\n\t\t\trel=\"noreferrer noopener\">\n\t\t\t<em>{{ t('settings', 'Help translate') }}</em>\n\t\t</a>\n\t</div>\n</template>\n\n<script>\nimport { ACCOUNT_SETTING_PROPERTY_ENUM } from '../../../constants/AccountPropertyConstants.js'\nimport { savePrimaryAccountProperty } from '../../../service/PersonalInfo/PersonalInfoService.js'\nimport { validateLanguage } from '../../../utils/validate.js'\nimport { handleError } from '../../../utils/handlers.js'\n\nexport default {\n\tname: 'Language',\n\n\tprops: {\n\t\tinputId: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\tcommonLanguages: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\totherLanguages: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\tlanguage: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tinitialLanguage: this.language,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tallLanguages() {\n\t\t\treturn Object.freeze(\n\t\t\t\t[...this.commonLanguages, ...this.otherLanguages]\n\t\t\t\t\t.reduce((acc, { code, name }) => ({ ...acc, [code]: name }), {}),\n\t\t\t)\n\t\t},\n\t},\n\n\tmethods: {\n\t\tasync onLanguageChange(e) {\n\t\t\tconst language = this.constructLanguage(e.target.value)\n\t\t\tthis.$emit('update:language', language)\n\n\t\t\tif (validateLanguage(language)) {\n\t\t\t\tawait this.updateLanguage(language)\n\t\t\t}\n\t\t},\n\n\t\tasync updateLanguage(language) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryAccountProperty(ACCOUNT_SETTING_PROPERTY_ENUM.LANGUAGE, language.code)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tlanguage,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t\tthis.reloadPage()\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update language'),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\tconstructLanguage(languageCode) {\n\t\t\treturn {\n\t\t\t\tcode: languageCode,\n\t\t\t\tname: this.allLanguages[languageCode],\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ language, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\t// Ensure that local state reflects server state\n\t\t\t\tthis.initialLanguage = language\n\t\t\t} else {\n\t\t\t\thandleError(error, errorMessage)\n\t\t\t}\n\t\t},\n\n\t\treloadPage() {\n\t\t\tlocation.reload()\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.language {\n\tdisplay: grid;\n\n\tselect {\n\t\twidth: 100%;\n\t}\n\n\ta {\n\t\tcolor: var(--color-main-text);\n\t\ttext-decoration: none;\n\t\twidth: max-content;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Language.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!./Language.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!./Language.vue?vue&type=style&index=0&id=f4e20d10&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!./Language.vue?vue&type=style&index=0&id=f4e20d10&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Language.vue?vue&type=template&id=f4e20d10&scoped=true&\"\nimport script from \"./Language.vue?vue&type=script&lang=js&\"\nexport * from \"./Language.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Language.vue?vue&type=style&index=0&id=f4e20d10&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 \"f4e20d10\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"language\"},[_c('select',{attrs:{\"id\":_vm.inputId,\"placeholder\":_vm.t('settings', 'Language')},on:{\"change\":_vm.onLanguageChange}},[_vm._l((_vm.commonLanguages),function(commonLanguage){return _c('option',{key:commonLanguage.code,domProps:{\"selected\":_vm.language.code === commonLanguage.code,\"value\":commonLanguage.code}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(commonLanguage.name)+\"\\n\\t\\t\")])}),_vm._v(\" \"),_c('option',{attrs:{\"disabled\":\"\"}},[_vm._v(\"\\n\\t\\t\\t──────────\\n\\t\\t\")]),_vm._v(\" \"),_vm._l((_vm.otherLanguages),function(otherLanguage){return _c('option',{key:otherLanguage.code,domProps:{\"selected\":_vm.language.code === otherLanguage.code,\"value\":otherLanguage.code}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(otherLanguage.name)+\"\\n\\t\\t\")])})],2),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"https://www.transifex.com/nextcloud/nextcloud/\",\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_c('em',[_vm._v(_vm._s(_vm.t('settings', 'Help translate')))])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section>\n\t\t<HeaderBar :input-id=\"inputId\"\n\t\t\t:readable=\"propertyReadable\" />\n\n\t\t<template v-if=\"isEditable\">\n\t\t\t<Language :input-id=\"inputId\"\n\t\t\t\t:common-languages=\"commonLanguages\"\n\t\t\t\t:other-languages=\"otherLanguages\"\n\t\t\t\t:language.sync=\"language\" />\n\t\t</template>\n\n\t\t<span v-else>\n\t\t\t{{ t('settings', 'No language set') }}\n\t\t</span>\n\t</section>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport Language from './Language.vue'\nimport HeaderBar from '../shared/HeaderBar.vue'\n\nimport { ACCOUNT_SETTING_PROPERTY_ENUM, ACCOUNT_SETTING_PROPERTY_READABLE_ENUM } from '../../../constants/AccountPropertyConstants.js'\n\nconst { languageMap: { activeLanguage, commonLanguages, otherLanguages } } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'LanguageSection',\n\n\tcomponents: {\n\t\tLanguage,\n\t\tHeaderBar,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tpropertyReadable: ACCOUNT_SETTING_PROPERTY_READABLE_ENUM.LANGUAGE,\n\t\t\tcommonLanguages,\n\t\t\totherLanguages,\n\t\t\tlanguage: activeLanguage,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tinputId() {\n\t\t\treturn `account-setting-${ACCOUNT_SETTING_PROPERTY_ENUM.LANGUAGE}`\n\t\t},\n\n\t\tisEditable() {\n\t\t\treturn Boolean(this.language)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageSection.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!./LanguageSection.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!./LanguageSection.vue?vue&type=style&index=0&id=92685b76&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!./LanguageSection.vue?vue&type=style&index=0&id=92685b76&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./LanguageSection.vue?vue&type=template&id=92685b76&scoped=true&\"\nimport script from \"./LanguageSection.vue?vue&type=script&lang=js&\"\nexport * from \"./LanguageSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LanguageSection.vue?vue&type=style&index=0&id=92685b76&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 \"92685b76\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',[_c('HeaderBar',{attrs:{\"input-id\":_vm.inputId,\"readable\":_vm.propertyReadable}}),_vm._v(\" \"),(_vm.isEditable)?[_c('Language',{attrs:{\"input-id\":_vm.inputId,\"common-languages\":_vm.commonLanguages,\"other-languages\":_vm.otherLanguages,\"language\":_vm.language},on:{\"update:language\":function($event){_vm.language=$event}}})]:_c('span',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'No language set'))+\"\\n\\t\")])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<div class=\"locale\">\n\t\t<select :id=\"inputId\"\n\t\t\t:placeholder=\"t('settings', 'Locale')\"\n\t\t\t@change=\"onLocaleChange\">\n\t\t\t<option v-for=\"currentLocale in localesForLanguage\"\n\t\t\t\t:key=\"currentLocale.code\"\n\t\t\t\t:selected=\"locale.code === currentLocale.code\"\n\t\t\t\t:value=\"currentLocale.code\">\n\t\t\t\t{{ currentLocale.name }}\n\t\t\t</option>\n\t\t\t<option disabled>\n\t\t\t\t──────────\n\t\t\t</option>\n\t\t\t<option v-for=\"currentLocale in otherLocales\"\n\t\t\t\t:key=\"currentLocale.code\"\n\t\t\t\t:selected=\"locale.code === currentLocale.code\"\n\t\t\t\t:value=\"currentLocale.code\">\n\t\t\t\t{{ currentLocale.name }}\n\t\t\t</option>\n\t\t</select>\n\n\t\t<div class=\"example\">\n\t\t\t<Web :size=\"20\" />\n\t\t\t<div class=\"example__text\">\n\t\t\t\t<p>\n\t\t\t\t\t<span>{{ example.date }}</span>\n\t\t\t\t\t<span>{{ example.time }}</span>\n\t\t\t\t</p>\n\t\t\t\t<p>\n\t\t\t\t\t{{ t('settings', 'Week starts on {firstDayOfWeek}', { firstDayOfWeek: example.firstDayOfWeek }) }}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport moment from '@nextcloud/moment'\nimport Web from 'vue-material-design-icons/Web.vue'\n\nimport { ACCOUNT_SETTING_PROPERTY_ENUM } from '../../../constants/AccountPropertyConstants.js'\nimport { savePrimaryAccountProperty } from '../../../service/PersonalInfo/PersonalInfoService.js'\nimport { validateLocale } from '../../../utils/validate.js'\nimport { handleError } from '../../../utils/handlers.js'\n\nexport default {\n\tname: 'Locale',\n\n\tcomponents: {\n\t\tWeb,\n\t},\n\n\tprops: {\n\t\tinputId: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\tlocale: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tlocalesForLanguage: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\totherLocales: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tinitialLocale: this.locale,\n\t\t\texample: {\n\t\t\t\tdate: moment().format('L'),\n\t\t\t\ttime: moment().format('LTS'),\n\t\t\t\tfirstDayOfWeek: window.dayNames[window.firstDay],\n\t\t\t},\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tallLocales() {\n\t\t\treturn Object.freeze(\n\t\t\t\t[...this.localesForLanguage, ...this.otherLocales]\n\t\t\t\t\t.reduce((acc, { code, name }) => ({ ...acc, [code]: name }), {}),\n\t\t\t)\n\t\t},\n\t},\n\n\tcreated() {\n\t\tsetInterval(this.refreshExample, 1000)\n\t},\n\n\tmethods: {\n\t\tasync onLocaleChange(e) {\n\t\t\tconst locale = this.constructLocale(e.target.value)\n\t\t\tthis.$emit('update:locale', locale)\n\n\t\t\tif (validateLocale(locale)) {\n\t\t\t\tawait this.updateLocale(locale)\n\t\t\t}\n\t\t},\n\n\t\tasync updateLocale(locale) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryAccountProperty(ACCOUNT_SETTING_PROPERTY_ENUM.LOCALE, locale.code)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tlocale,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t\tthis.reloadPage()\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update locale'),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\tconstructLocale(localeCode) {\n\t\t\treturn {\n\t\t\t\tcode: localeCode,\n\t\t\t\tname: this.allLocales[localeCode],\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ locale, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\tthis.initialLocale = locale\n\t\t\t} else {\n\t\t\t\tthis.$emit('update:locale', this.initialLocale)\n\t\t\t\thandleError(error, errorMessage)\n\t\t\t}\n\t\t},\n\n\t\trefreshExample() {\n\t\t\tthis.example = {\n\t\t\t\tdate: moment().format('L'),\n\t\t\t\ttime: moment().format('LTS'),\n\t\t\t\tfirstDayOfWeek: window.dayNames[window.firstDay],\n\t\t\t}\n\t\t},\n\n\t\treloadPage() {\n\t\t\tlocation.reload()\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.locale {\n\tdisplay: grid;\n\n\tselect {\n\t\twidth: 100%;\n\t}\n}\n\n.example {\n\tmargin: 10px 0;\n\tdisplay: flex;\n\tgap: 0 10px;\n\tcolor: var(--color-text-lighter);\n\n\t&::v-deep .material-design-icon {\n\t\talign-self: flex-start;\n\t\tmargin-top: 2px;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Locale.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!./Locale.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!./Locale.vue?vue&type=style&index=0&id=9c4afa34&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!./Locale.vue?vue&type=style&index=0&id=9c4afa34&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Locale.vue?vue&type=template&id=9c4afa34&scoped=true&\"\nimport script from \"./Locale.vue?vue&type=script&lang=js&\"\nexport * from \"./Locale.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Locale.vue?vue&type=style&index=0&id=9c4afa34&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 \"9c4afa34\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"locale\"},[_c('select',{attrs:{\"id\":_vm.inputId,\"placeholder\":_vm.t('settings', 'Locale')},on:{\"change\":_vm.onLocaleChange}},[_vm._l((_vm.localesForLanguage),function(currentLocale){return _c('option',{key:currentLocale.code,domProps:{\"selected\":_vm.locale.code === currentLocale.code,\"value\":currentLocale.code}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(currentLocale.name)+\"\\n\\t\\t\")])}),_vm._v(\" \"),_c('option',{attrs:{\"disabled\":\"\"}},[_vm._v(\"\\n\\t\\t\\t──────────\\n\\t\\t\")]),_vm._v(\" \"),_vm._l((_vm.otherLocales),function(currentLocale){return _c('option',{key:currentLocale.code,domProps:{\"selected\":_vm.locale.code === currentLocale.code,\"value\":currentLocale.code}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(currentLocale.name)+\"\\n\\t\\t\")])})],2),_vm._v(\" \"),_c('div',{staticClass:\"example\"},[_c('Web',{attrs:{\"size\":20}}),_vm._v(\" \"),_c('div',{staticClass:\"example__text\"},[_c('p',[_c('span',[_vm._v(_vm._s(_vm.example.date))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.example.time))])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Week starts on {firstDayOfWeek}', { firstDayOfWeek: _vm.example.firstDayOfWeek }))+\"\\n\\t\\t\\t\")])])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section>\n\t\t<HeaderBar :input-id=\"inputId\"\n\t\t\t:readable=\"propertyReadable\" />\n\n\t\t<template v-if=\"isEditable\">\n\t\t\t<Locale :input-id=\"inputId\"\n\t\t\t\t:locales-for-language=\"localesForLanguage\"\n\t\t\t\t:other-locales=\"otherLocales\"\n\t\t\t\t:locale.sync=\"locale\" />\n\t\t</template>\n\n\t\t<span v-else>\n\t\t\t{{ t('settings', 'No locale set') }}\n\t\t</span>\n\t</section>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport Locale from './Locale.vue'\nimport HeaderBar from '../shared/HeaderBar.vue'\n\nimport { ACCOUNT_SETTING_PROPERTY_ENUM, ACCOUNT_SETTING_PROPERTY_READABLE_ENUM } from '../../../constants/AccountPropertyConstants.js'\n\nconst { localeMap: { activeLocale, localesForLanguage, otherLocales } } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'LocaleSection',\n\n\tcomponents: {\n\t\tLocale,\n\t\tHeaderBar,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tpropertyReadable: ACCOUNT_SETTING_PROPERTY_READABLE_ENUM.LOCALE,\n\t\t\tlocalesForLanguage,\n\t\t\totherLocales,\n\t\t\tlocale: activeLocale,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tinputId() {\n\t\t\treturn `account-setting-${ACCOUNT_SETTING_PROPERTY_ENUM.LOCALE}`\n\t\t},\n\n\t\tisEditable() {\n\t\t\treturn Boolean(this.locale)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocaleSection.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!./LocaleSection.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!./LocaleSection.vue?vue&type=style&index=0&id=84fca724&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!./LocaleSection.vue?vue&type=style&index=0&id=84fca724&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./LocaleSection.vue?vue&type=template&id=84fca724&scoped=true&\"\nimport script from \"./LocaleSection.vue?vue&type=script&lang=js&\"\nexport * from \"./LocaleSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LocaleSection.vue?vue&type=style&index=0&id=84fca724&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 \"84fca724\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',[_c('HeaderBar',{attrs:{\"input-id\":_vm.inputId,\"readable\":_vm.propertyReadable}}),_vm._v(\" \"),(_vm.isEditable)?[_c('Locale',{attrs:{\"input-id\":_vm.inputId,\"locales-for-language\":_vm.localesForLanguage,\"other-locales\":_vm.otherLocales,\"locale\":_vm.locale},on:{\"update:locale\":function($event){_vm.locale=$event}}})]:_c('span',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'No locale set'))+\"\\n\\t\")])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditProfileAnchorLink.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!./EditProfileAnchorLink.vue?vue&type=script&lang=js&\"","<!--\n\t- @copyright 2021 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<a :class=\"{ disabled }\"\n\t\thref=\"#profile-visibility\"\n\t\tv-on=\"$listeners\">\n\t\t<ChevronDownIcon class=\"anchor-icon\"\n\t\t\t:size=\"22\" />\n\t\t{{ t('settings', 'Edit your Profile visibility') }}\n\t</a>\n</template>\n\n<script>\nimport ChevronDownIcon from 'vue-material-design-icons/ChevronDown.vue'\n\nexport default {\n\tname: 'EditProfileAnchorLink',\n\n\tcomponents: {\n\t\tChevronDownIcon,\n\t},\n\n\tprops: {\n\t\tprofileEnabled: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tdisabled() {\n\t\t\treturn !this.profileEnabled\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\">\nhtml {\n\tscroll-behavior: smooth;\n\n\t@media screen and (prefers-reduced-motion: reduce) {\n\t\tscroll-behavior: auto;\n\t}\n}\n</style>\n\n<style lang=\"scss\" scoped>\na {\n\tdisplay: block;\n\theight: 44px;\n\twidth: min(100%, 290px);\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\tline-height: 44px;\n\tpadding: 0 16px;\n\tmargin: 14px auto;\n\tborder-radius: var(--border-radius-pill);\n\tcolor: var(--color-text-maxcontrast);\n\tbackground-color: transparent;\n\n\t.anchor-icon {\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\tmargin-top: 6px;\n\t\tmargin-right: 8px;\n\t}\n\n\t&:hover,\n\t&:focus,\n\t&:active {\n\t\tcolor: var(--color-main-text);\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t&.disabled {\n\t\tpointer-events: none;\n\t}\n}\n</style>\n","\n import API from \"!../../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditProfileAnchorLink.vue?vue&type=style&index=0&id=23992b06&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!./EditProfileAnchorLink.vue?vue&type=style&index=0&id=23992b06&prod&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditProfileAnchorLink.vue?vue&type=style&index=1&id=23992b06&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!./EditProfileAnchorLink.vue?vue&type=style&index=1&id=23992b06&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./EditProfileAnchorLink.vue?vue&type=template&id=23992b06&scoped=true&\"\nimport script from \"./EditProfileAnchorLink.vue?vue&type=script&lang=js&\"\nexport * from \"./EditProfileAnchorLink.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EditProfileAnchorLink.vue?vue&type=style&index=0&id=23992b06&prod&lang=scss&\"\nimport style1 from \"./EditProfileAnchorLink.vue?vue&type=style&index=1&id=23992b06&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 \"23992b06\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('a',_vm._g({class:{ disabled: _vm.disabled },attrs:{\"href\":\"#profile-visibility\"}},_vm.$listeners),[_c('ChevronDownIcon',{staticClass:\"anchor-icon\",attrs:{\"size\":22}}),_vm._v(\"\\n\\t\"+_vm._s(_vm.t('settings', 'Edit your Profile visibility'))+\"\\n\")],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<div class=\"checkbox-container\">\n\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t:checked.sync=\"isProfileEnabled\"\n\t\t\t:loading=\"loading\"\n\t\t\t@update:checked=\"saveEnableProfile\">\n\t\t\t{{ t('settings', 'Enable Profile') }}\n\t\t</NcCheckboxRadioSwitch>\n\t</div>\n</template>\n\n<script>\nimport { emit } from '@nextcloud/event-bus'\n\nimport { savePrimaryAccountProperty } from '../../../service/PersonalInfo/PersonalInfoService.js'\nimport { ACCOUNT_PROPERTY_ENUM } from '../../../constants/AccountPropertyConstants.js'\nimport NcCheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js'\nimport { handleError } from '../../../utils/handlers.js'\n\nexport default {\n\tname: 'ProfileCheckbox',\n\n\tcomponents: {\n\t\tNcCheckboxRadioSwitch,\n\t},\n\n\tprops: {\n\t\tprofileEnabled: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tisProfileEnabled: this.profileEnabled,\n\t\t\tloading: false,\n\t\t}\n\t},\n\n\tmethods: {\n\t\tasync saveEnableProfile() {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryAccountProperty(ACCOUNT_PROPERTY_ENUM.PROFILE_ENABLED, this.isProfileEnabled)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tisProfileEnabled: this.isProfileEnabled,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update profile enabled state'),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ isProfileEnabled, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\temit('settings:profile-enabled:updated', isProfileEnabled)\n\t\t\t} else {\n\t\t\t\thandleError(error, errorMessage)\n\t\t\t}\n\t\t\tthis.loading = false\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileCheckbox.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!./ProfileCheckbox.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfileCheckbox.vue?vue&type=template&id=061ac04c&\"\nimport script from \"./ProfileCheckbox.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileCheckbox.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"checkbox-container\"},[_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"checked\":_vm.isProfileEnabled,\"loading\":_vm.loading},on:{\"update:checked\":[function($event){_vm.isProfileEnabled=$event},_vm.saveEnableProfile]}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'Enable Profile'))+\"\\n\\t\")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilePreviewCard.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!./ProfilePreviewCard.vue?vue&type=script&lang=js&\"","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<a class=\"preview-card\"\n\t\t:class=\"{ disabled }\"\n\t\t:href=\"profilePageLink\">\n\t\t<NcAvatar class=\"preview-card__avatar\"\n\t\t\t:user=\"userId\"\n\t\t\t:size=\"48\"\n\t\t\t:show-user-status=\"true\"\n\t\t\t:show-user-status-compact=\"false\"\n\t\t\t:disable-menu=\"true\"\n\t\t\t:disable-tooltip=\"true\" />\n\t\t<div class=\"preview-card__header\">\n\t\t\t<span>{{ displayName }}</span>\n\t\t</div>\n\t\t<div class=\"preview-card__footer\">\n\t\t\t<span>{{ organisation }}</span>\n\t\t</div>\n\t</a>\n</template>\n\n<script>\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { generateUrl } from '@nextcloud/router'\n\nimport NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar.js'\n\nexport default {\n\tname: 'ProfilePreviewCard',\n\n\tcomponents: {\n\t\tNcAvatar,\n\t},\n\n\tprops: {\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\torganisation: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tprofileEnabled: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tuserId: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tdisabled() {\n\t\t\treturn !this.profileEnabled\n\t\t},\n\n\t\tprofilePageLink() {\n\t\t\tif (this.profileEnabled) {\n\t\t\t\treturn generateUrl('/u/{userId}', { userId: getCurrentUser().uid })\n\t\t\t}\n\t\t\t// Since an anchor element is used rather than a button for better UX,\n\t\t\t// this hack removes href if the profile is disabled so that disabling pointer-events is not needed to prevent a click from opening a page\n\t\t\t// and to allow the hover event (which disabling pointer-events wouldn't allow) for styling\n\t\t\treturn null\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.preview-card {\n\tdisplay: flex;\n\tflex-direction: column;\n\tposition: relative;\n\twidth: min(100%, 290px);\n\theight: 116px;\n\tmargin: 14px auto;\n\tborder-radius: var(--border-radius-large);\n\tbackground-color: var(--color-main-background);\n\tfont-weight: bold;\n\tbox-shadow: 0 2px 9px var(--color-box-shadow);\n\n\t&:hover,\n\t&:focus,\n\t&:active {\n\t\tbox-shadow: 0 2px 12px var(--color-box-shadow);\n\t}\n\n\t&:focus-visible {\n\t\toutline: var(--color-main-text) solid 1px;\n\t\toutline-offset: 3px;\n\t}\n\n\t&.disabled {\n\t\tfilter: grayscale(1);\n\t\topacity: 0.5;\n\t\tcursor: default;\n\t\tbox-shadow: 0 0 3px var(--color-box-shadow);\n\n\t\t& *,\n\t\t&::v-deep * {\n\t\t\tcursor: default;\n\t\t}\n\t}\n\n\t&__avatar {\n\t\t// Override Avatar component position to fix positioning on rerender\n\t\tposition: absolute !important;\n\t\ttop: 40px;\n\t\tleft: 18px;\n\t\tz-index: 1;\n\n\t\t&:not(.avatardiv--unknown) {\n\t\t\tbox-shadow: 0 0 0 3px var(--color-main-background) !important;\n\t\t}\n\t}\n\n\t&__header,\n\t&__footer {\n\t\tposition: relative;\n\t\twidth: auto;\n\n\t\tspan {\n\t\t\tposition: absolute;\n\t\t\tleft: 78px;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow-wrap: anywhere;\n\n\t\t\t@supports (-webkit-line-clamp: 2) {\n\t\t\t\tdisplay: -webkit-box;\n\t\t\t\t-webkit-line-clamp: 2;\n\t\t\t\t-webkit-box-orient: vertical;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__header {\n\t\theight: 70px;\n\t\tborder-radius: var(--border-radius-large) var(--border-radius-large) 0 0;\n\t\tbackground-color: var(--color-primary-element);\n\t\tbackground-image: var(--gradient-primary-background);\n\n\t\tspan {\n\t\t\tbottom: 0;\n\t\t\tcolor: var(--color-primary-element-text);\n\t\t\tfont-size: 18px;\n\t\t\tfont-weight: bold;\n\t\t\tmargin: 0 4px 8px 0;\n\t\t}\n\t}\n\n\t&__footer {\n\t\theight: 46px;\n\n\t\tspan {\n\t\t\ttop: 0;\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\tfont-size: 14px;\n\t\t\tfont-weight: normal;\n\t\t\tmargin: 4px 4px 0 0;\n\t\t\tline-height: 1.3;\n\t\t}\n\t}\n}\n</style>\n","\n import API from \"!../../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilePreviewCard.vue?vue&type=style&index=0&id=3375e082&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!./ProfilePreviewCard.vue?vue&type=style&index=0&id=3375e082&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ProfilePreviewCard.vue?vue&type=template&id=3375e082&scoped=true&\"\nimport script from \"./ProfilePreviewCard.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfilePreviewCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProfilePreviewCard.vue?vue&type=style&index=0&id=3375e082&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 \"3375e082\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('a',{staticClass:\"preview-card\",class:{ disabled: _vm.disabled },attrs:{\"href\":_vm.profilePageLink}},[_c('NcAvatar',{staticClass:\"preview-card__avatar\",attrs:{\"user\":_vm.userId,\"size\":48,\"show-user-status\":true,\"show-user-status-compact\":false,\"disable-menu\":true,\"disable-tooltip\":true}}),_vm._v(\" \"),_c('div',{staticClass:\"preview-card__header\"},[_c('span',[_vm._v(_vm._s(_vm.displayName))])]),_vm._v(\" \"),_c('div',{staticClass:\"preview-card__footer\"},[_c('span',[_vm._v(_vm._s(_vm.organisation))])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section>\n\t\t<HeaderBar :readable=\"propertyReadable\" />\n\n\t\t<ProfileCheckbox :profile-enabled.sync=\"profileEnabled\" />\n\n\t\t<ProfilePreviewCard :organisation=\"organisation\"\n\t\t\t:display-name=\"displayName\"\n\t\t\t:profile-enabled=\"profileEnabled\"\n\t\t\t:user-id=\"userId\" />\n\n\t\t<EditProfileAnchorLink :profile-enabled=\"profileEnabled\" />\n\t</section>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\n\nimport EditProfileAnchorLink from './EditProfileAnchorLink.vue'\nimport HeaderBar from '../shared/HeaderBar.vue'\nimport ProfileCheckbox from './ProfileCheckbox.vue'\nimport ProfilePreviewCard from './ProfilePreviewCard.vue'\n\nimport { ACCOUNT_PROPERTY_READABLE_ENUM } from '../../../constants/AccountPropertyConstants.js'\n\nconst {\n\torganisation: { value: organisation },\n\tdisplayName: { value: displayName },\n\tprofileEnabled,\n\tuserId,\n} = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'ProfileSection',\n\n\tcomponents: {\n\t\tEditProfileAnchorLink,\n\t\tHeaderBar,\n\t\tProfileCheckbox,\n\t\tProfilePreviewCard,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tpropertyReadable: ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED,\n\t\t\torganisation,\n\t\t\tdisplayName,\n\t\t\tprofileEnabled,\n\t\t\tuserId,\n\t\t}\n\t},\n\n\tmounted() {\n\t\tsubscribe('settings:display-name:updated', this.handleDisplayNameUpdate)\n\t\tsubscribe('settings:organisation:updated', this.handleOrganisationUpdate)\n\t},\n\n\tbeforeDestroy() {\n\t\tunsubscribe('settings:display-name:updated', this.handleDisplayNameUpdate)\n\t\tunsubscribe('settings:organisation:updated', this.handleOrganisationUpdate)\n\t},\n\n\tmethods: {\n\t\thandleDisplayNameUpdate(displayName) {\n\t\t\tthis.displayName = displayName\n\t\t},\n\n\t\thandleOrganisationUpdate(organisation) {\n\t\t\tthis.organisation = organisation\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileSection.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!./ProfileSection.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!./ProfileSection.vue?vue&type=style&index=0&id=cf64d964&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!./ProfileSection.vue?vue&type=style&index=0&id=cf64d964&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ProfileSection.vue?vue&type=template&id=cf64d964&scoped=true&\"\nimport script from \"./ProfileSection.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProfileSection.vue?vue&type=style&index=0&id=cf64d964&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 \"cf64d964\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',[_c('HeaderBar',{attrs:{\"readable\":_vm.propertyReadable}}),_vm._v(\" \"),_c('ProfileCheckbox',{attrs:{\"profile-enabled\":_vm.profileEnabled},on:{\"update:profileEnabled\":function($event){_vm.profileEnabled=$event},\"update:profile-enabled\":function($event){_vm.profileEnabled=$event}}}),_vm._v(\" \"),_c('ProfilePreviewCard',{attrs:{\"organisation\":_vm.organisation,\"display-name\":_vm.displayName,\"profile-enabled\":_vm.profileEnabled,\"user-id\":_vm.userId}}),_vm._v(\" \"),_c('EditProfileAnchorLink',{attrs:{\"profile-enabled\":_vm.profileEnabled}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"organisation\"\n\t\tautocomplete=\"organization\"\n\t\t:placeholder=\"t('settings', 'Your organisation')\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { organisation } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'OrganisationSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\torganisation: { ...organisation, readable: NAME_READABLE_ENUM[organisation.name] },\n\t\t}\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrganisationSection.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!./OrganisationSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OrganisationSection.vue?vue&type=template&id=0d2e4355&\"\nimport script from \"./OrganisationSection.vue?vue&type=script&lang=js&\"\nexport * from \"./OrganisationSection.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('AccountPropertySection',_vm._b({attrs:{\"autocomplete\":\"organization\",\"placeholder\":_vm.t('settings', 'Your organisation')}},'AccountPropertySection',_vm.organisation,false,true))\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"role\"\n\t\tautocomplete=\"organization-title\"\n\t\t:placeholder=\"t('settings', 'Your role')\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { role } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'RoleSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\trole: { ...role, readable: NAME_READABLE_ENUM[role.name] },\n\t\t}\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoleSection.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!./RoleSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoleSection.vue?vue&type=template&id=47d32f32&\"\nimport script from \"./RoleSection.vue?vue&type=script&lang=js&\"\nexport * from \"./RoleSection.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('AccountPropertySection',_vm._b({attrs:{\"autocomplete\":\"organization-title\",\"placeholder\":_vm.t('settings', 'Your role')}},'AccountPropertySection',_vm.role,false,true))\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"headline\"\n\t\t:placeholder=\"t('settings', 'Your headline')\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { headline } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'HeadlineSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\theadline: { ...headline, readable: NAME_READABLE_ENUM[headline.name] },\n\t\t}\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeadlineSection.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!./HeadlineSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HeadlineSection.vue?vue&type=template&id=0f3859ee&\"\nimport script from \"./HeadlineSection.vue?vue&type=script&lang=js&\"\nexport * from \"./HeadlineSection.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('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your headline')}},'AccountPropertySection',_vm.headline,false,true))\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"biography\"\n\t\t:placeholder=\"t('settings', 'Your biography')\"\n\t\t:multi-line=\"true\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { biography } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'BiographySection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tbiography: { ...biography, readable: NAME_READABLE_ENUM[biography.name] },\n\t\t}\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BiographySection.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!./BiographySection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BiographySection.vue?vue&type=template&id=a916ca60&\"\nimport script from \"./BiographySection.vue?vue&type=script&lang=js&\"\nexport * from \"./BiographySection.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('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your biography'),\"multi-line\":true}},'AccountPropertySection',_vm.biography,false,true))\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2021 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\n\n/**\n * Save the visibility of the profile parameter\n *\n * @param {string} paramId the profile parameter ID\n * @param {string} visibility the visibility\n * @return {object}\n */\nexport const saveProfileParameterVisibility = async (paramId, visibility) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('/profile/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tparamId,\n\t\tvisibility,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Save profile default\n *\n * @param {boolean} isEnabled the default\n * @return {object}\n */\nexport const saveProfileDefault = async (isEnabled) => {\n\t// Convert to string for compatibility\n\tisEnabled = isEnabled ? '1' : '0'\n\n\tconst url = generateOcsUrl('/apps/provisioning_api/api/v1/config/apps/{appId}/{key}', {\n\t\tappId: 'settings',\n\t\tkey: 'profile_enabled_by_default',\n\t})\n\n\tawait confirmPassword()\n\n\tconst res = await axios.post(url, {\n\t\tvalue: isEnabled,\n\t})\n\n\treturn res.data\n}\n","/**\n * @copyright 2021 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/*\n * SYNC to be kept in sync with `core/Db/ProfileConfig.php`\n */\n\n/** Enum of profile visibility constants */\nexport const VISIBILITY_ENUM = Object.freeze({\n\tSHOW: 'show',\n\tSHOW_USERS_ONLY: 'show_users_only',\n\tHIDE: 'hide',\n})\n\n/**\n * Enum of profile visibility constants to properties\n */\nexport const VISIBILITY_PROPERTY_ENUM = Object.freeze({\n\t[VISIBILITY_ENUM.SHOW]: {\n\t\tname: VISIBILITY_ENUM.SHOW,\n\t\tlabel: t('settings', 'Show to everyone'),\n\t},\n\t[VISIBILITY_ENUM.SHOW_USERS_ONLY]: {\n\t\tname: VISIBILITY_ENUM.SHOW_USERS_ONLY,\n\t\tlabel: t('settings', 'Show to logged in users only'),\n\t},\n\t[VISIBILITY_ENUM.HIDE]: {\n\t\tname: VISIBILITY_ENUM.HIDE,\n\t\tlabel: t('settings', 'Hide'),\n\t},\n})\n","<!--\n\t- @copyright 2021 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<div class=\"visibility-container\"\n\t\t:class=\"{ disabled }\">\n\t\t<label :for=\"inputId\">\n\t\t\t{{ displayId }}\n\t\t</label>\n\t\t<NcSelect :input-id=\"inputId\"\n\t\t\tclass=\"visibility-container__select\"\n\t\t\t:clearable=\"false\"\n\t\t\t:options=\"visibilityOptions\"\n\t\t\t:value=\"visibilityObject\"\n\t\t\t@option:selected=\"onVisibilityChange\" />\n\t</div>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\n\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\n\nimport { saveProfileParameterVisibility } from '../../../service/ProfileService.js'\nimport { VISIBILITY_PROPERTY_ENUM } from '../../../constants/ProfileConstants.js'\nimport { handleError } from '../../../utils/handlers.js'\n\nconst { profileEnabled } = loadState('settings', 'personalInfoParameters', false)\n\nexport default {\n\tname: 'VisibilityDropdown',\n\n\tcomponents: {\n\t\tNcSelect,\n\t},\n\n\tprops: {\n\t\tparamId: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tdisplayId: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tvisibility: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tinitialVisibility: this.visibility,\n\t\t\tprofileEnabled,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tdisabled() {\n\t\t\treturn !this.profileEnabled\n\t\t},\n\n\t\tinputId() {\n\t\t\treturn `profile-visibility-${this.paramId}`\n\t\t},\n\n\t\tvisibilityObject() {\n\t\t\treturn VISIBILITY_PROPERTY_ENUM[this.visibility]\n\t\t},\n\n\t\tvisibilityOptions() {\n\t\t\treturn Object.values(VISIBILITY_PROPERTY_ENUM)\n\t\t},\n\t},\n\n\tmounted() {\n\t\tsubscribe('settings:profile-enabled:updated', this.handleProfileEnabledUpdate)\n\t},\n\n\tbeforeDestroy() {\n\t\tunsubscribe('settings:profile-enabled:updated', this.handleProfileEnabledUpdate)\n\t},\n\n\tmethods: {\n\t\tasync onVisibilityChange(visibilityObject) {\n\t\t\t// This check is needed as the argument is null when selecting the same option\n\t\t\tif (visibilityObject !== null) {\n\t\t\t\tconst { name: visibility } = visibilityObject\n\t\t\t\tthis.$emit('update:visibility', visibility)\n\n\t\t\t\tif (visibility !== '') {\n\t\t\t\t\tawait this.updateVisibility(visibility)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tasync updateVisibility(visibility) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await saveProfileParameterVisibility(this.paramId, visibility)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tvisibility,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update visibility of {displayId}', { displayId: this.displayId }),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ visibility, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\t// Ensure that local state reflects server state\n\t\t\t\tthis.initialVisibility = visibility\n\t\t\t} else {\n\t\t\t\thandleError(error, errorMessage)\n\t\t\t}\n\t\t},\n\n\t\thandleProfileEnabledUpdate(profileEnabled) {\n\t\t\tthis.profileEnabled = profileEnabled\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.visibility-container {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\n\t&.disabled {\n\t\tfilter: grayscale(1);\n\t\topacity: 0.5;\n\t\tcursor: default;\n\t\tpointer-events: none;\n\n\t\t& *,\n\t\t&::v-deep * {\n\t\t\tcursor: default;\n\t\t\tpointer-events: none;\n\t\t}\n\t}\n\n\tlabel {\n\t\tcolor: var(--color-text-lighter);\n\t\twidth: 150px;\n\t\tline-height: 50px;\n\t}\n\n\t&__select {\n\t\twidth: 270px;\n\t\tmax-width: 40vw;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VisibilityDropdown.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!./VisibilityDropdown.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!./VisibilityDropdown.vue?vue&type=style&index=0&id=c7ec7e16&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!./VisibilityDropdown.vue?vue&type=style&index=0&id=c7ec7e16&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./VisibilityDropdown.vue?vue&type=template&id=c7ec7e16&scoped=true&\"\nimport script from \"./VisibilityDropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./VisibilityDropdown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./VisibilityDropdown.vue?vue&type=style&index=0&id=c7ec7e16&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 \"c7ec7e16\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"visibility-container\",class:{ disabled: _vm.disabled }},[_c('label',{attrs:{\"for\":_vm.inputId}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.displayId)+\"\\n\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"visibility-container__select\",attrs:{\"input-id\":_vm.inputId,\"clearable\":false,\"options\":_vm.visibilityOptions,\"value\":_vm.visibilityObject},on:{\"option:selected\":_vm.onVisibilityChange}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2021 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<!-- TODO remove this inline margin placeholder once the settings layout is updated -->\n\t<section id=\"profile-visibility\"\n\t\t:style=\"{ marginLeft }\">\n\t\t<HeaderBar :is-heading=\"true\" :readable=\"heading\" />\n\n\t\t<em :class=\"{ disabled }\">\n\t\t\t{{ t('settings', 'The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected.') }}\n\t\t</em>\n\n\t\t<div class=\"visibility-dropdowns\"\n\t\t\t:style=\"{\n\t\t\t\tgridTemplateRows: `repeat(${rows}, 44px)`,\n\t\t\t}\">\n\t\t\t<VisibilityDropdown v-for=\"param in visibilityParams\"\n\t\t\t\t:key=\"param.id\"\n\t\t\t\t:param-id=\"param.id\"\n\t\t\t\t:display-id=\"param.displayId\"\n\t\t\t\t:visibility.sync=\"param.visibility\" />\n\t\t</div>\n\t</section>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\n\nimport HeaderBar from '../shared/HeaderBar.vue'\nimport VisibilityDropdown from './VisibilityDropdown.vue'\nimport { PROFILE_READABLE_ENUM } from '../../../constants/AccountPropertyConstants.js'\n\nconst { profileConfig } = loadState('settings', 'profileParameters', {})\nconst { profileEnabled } = loadState('settings', 'personalInfoParameters', false)\n\nconst compareParams = (a, b) => {\n\tif (a.appId === b.appId || (a.appId !== 'core' && b.appId !== 'core')) {\n\t\treturn a.displayId.localeCompare(b.displayId)\n\t} else if (a.appId === 'core') {\n\t\treturn 1\n\t} else {\n\t\treturn -1\n\t}\n}\n\nexport default {\n\tname: 'ProfileVisibilitySection',\n\n\tcomponents: {\n\t\tHeaderBar,\n\t\tVisibilityDropdown,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\theading: PROFILE_READABLE_ENUM.PROFILE_VISIBILITY,\n\t\t\tprofileEnabled,\n\t\t\tvisibilityParams: Object.entries(profileConfig)\n\t\t\t\t.map(([paramId, { appId, displayId, visibility }]) => ({ id: paramId, appId, displayId, visibility }))\n\t\t\t\t.sort(compareParams),\n\t\t\t// TODO remove this when not used once the settings layout is updated\n\t\t\tmarginLeft: window.matchMedia('(min-width: 1600px)').matches\n\t\t\t\t? window.getComputedStyle(document.getElementById('vue-avatar-section')).getPropertyValue('width').trim()\n\t\t\t\t: '0px',\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tdisabled() {\n\t\t\treturn !this.profileEnabled\n\t\t},\n\n\t\trows() {\n\t\t\treturn Math.ceil(this.visibilityParams.length / 2)\n\t\t},\n\t},\n\n\tmounted() {\n\t\tsubscribe('settings:profile-enabled:updated', this.handleProfileEnabledUpdate)\n\t\t// TODO remove this when not used once the settings layout is updated\n\t\twindow.onresize = () => {\n\t\t\tthis.marginLeft = window.matchMedia('(min-width: 1600px)').matches\n\t\t\t\t? window.getComputedStyle(document.getElementById('vue-avatar-section')).getPropertyValue('width').trim()\n\t\t\t\t: '0px'\n\t\t}\n\t},\n\n\tbeforeDestroy() {\n\t\tunsubscribe('settings:profile-enabled:updated', this.handleProfileEnabledUpdate)\n\t},\n\n\tmethods: {\n\t\thandleProfileEnabledUpdate(profileEnabled) {\n\t\t\tthis.profileEnabled = profileEnabled\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsection {\n\tpadding: 30px;\n\tmax-width: 900px;\n\twidth: 100%;\n\n\tem {\n\t\tdisplay: block;\n\t\tmargin: 16px 0;\n\n\t\t&.disabled {\n\t\t\tfilter: grayscale(1);\n\t\t\topacity: 0.5;\n\t\t\tcursor: default;\n\t\t\tpointer-events: none;\n\n\t\t\t& *,\n\t\t\t&::v-deep * {\n\t\t\t\tcursor: default;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileVisibilitySection.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!./ProfileVisibilitySection.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!./ProfileVisibilitySection.vue?vue&type=style&index=0&id=199109a6&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!./ProfileVisibilitySection.vue?vue&type=style&index=0&id=199109a6&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ProfileVisibilitySection.vue?vue&type=template&id=199109a6&scoped=true&\"\nimport script from \"./ProfileVisibilitySection.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileVisibilitySection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProfileVisibilitySection.vue?vue&type=style&index=0&id=199109a6&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 \"199109a6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',{style:({ marginLeft: _vm.marginLeft }),attrs:{\"id\":\"profile-visibility\"}},[_c('HeaderBar',{attrs:{\"is-heading\":true,\"readable\":_vm.heading}}),_vm._v(\" \"),_c('em',{class:{ disabled: _vm.disabled }},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected.'))+\"\\n\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"visibility-dropdowns\",style:({\n\t\t\tgridTemplateRows: `repeat(${_vm.rows}, 44px)`,\n\t\t})},_vm._l((_vm.visibilityParams),function(param){return _c('VisibilityDropdown',{key:param.id,attrs:{\"param-id\":param.id,\"display-id\":param.displayId,\"visibility\":param.visibility},on:{\"update:visibility\":function($event){return _vm.$set(param, \"visibility\", $event)}}})}),1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2021, Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport { getRequestToken } from '@nextcloud/auth'\nimport { loadState } from '@nextcloud/initial-state'\nimport { translate as t } from '@nextcloud/l10n'\n\nimport AvatarSection from './components/PersonalInfo/AvatarSection.vue'\nimport DetailsSection from './components/PersonalInfo/DetailsSection.vue'\nimport DisplayNameSection from './components/PersonalInfo/DisplayNameSection.vue'\nimport EmailSection from './components/PersonalInfo/EmailSection/EmailSection.vue'\nimport PhoneSection from './components/PersonalInfo/PhoneSection.vue'\nimport LocationSection from './components/PersonalInfo/LocationSection.vue'\nimport WebsiteSection from './components/PersonalInfo/WebsiteSection.vue'\nimport TwitterSection from './components/PersonalInfo/TwitterSection.vue'\nimport FediverseSection from './components/PersonalInfo/FediverseSection.vue'\nimport LanguageSection from './components/PersonalInfo/LanguageSection/LanguageSection.vue'\nimport LocaleSection from './components/PersonalInfo/LocaleSection/LocaleSection.vue'\nimport ProfileSection from './components/PersonalInfo/ProfileSection/ProfileSection.vue'\nimport OrganisationSection from './components/PersonalInfo/OrganisationSection.vue'\nimport RoleSection from './components/PersonalInfo/RoleSection.vue'\nimport HeadlineSection from './components/PersonalInfo/HeadlineSection.vue'\nimport BiographySection from './components/PersonalInfo/BiographySection.vue'\nimport ProfileVisibilitySection from './components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue'\n\n__webpack_nonce__ = btoa(getRequestToken())\n\nconst profileEnabledGlobally = loadState('settings', 'profileEnabledGlobally', true)\n\nVue.mixin({\n\tmethods: {\n\t\tt,\n\t},\n})\n\nconst AvatarView = Vue.extend(AvatarSection)\nconst DetailsView = Vue.extend(DetailsSection)\nconst DisplayNameView = Vue.extend(DisplayNameSection)\nconst EmailView = Vue.extend(EmailSection)\nconst PhoneView = Vue.extend(PhoneSection)\nconst LocationView = Vue.extend(LocationSection)\nconst WebsiteView = Vue.extend(WebsiteSection)\nconst TwitterView = Vue.extend(TwitterSection)\nconst FediverseView = Vue.extend(FediverseSection)\nconst LanguageView = Vue.extend(LanguageSection)\nconst LocaleView = Vue.extend(LocaleSection)\n\nnew AvatarView().$mount('#vue-avatar-section')\nnew DetailsView().$mount('#vue-details-section')\nnew DisplayNameView().$mount('#vue-displayname-section')\nnew EmailView().$mount('#vue-email-section')\nnew PhoneView().$mount('#vue-phone-section')\nnew LocationView().$mount('#vue-location-section')\nnew WebsiteView().$mount('#vue-website-section')\nnew TwitterView().$mount('#vue-twitter-section')\nnew FediverseView().$mount('#vue-fediverse-section')\nnew LanguageView().$mount('#vue-language-section')\nnew LocaleView().$mount('#vue-locale-section')\n\nif (profileEnabledGlobally) {\n\tconst ProfileView = Vue.extend(ProfileSection)\n\tconst OrganisationView = Vue.extend(OrganisationSection)\n\tconst RoleView = Vue.extend(RoleSection)\n\tconst HeadlineView = Vue.extend(HeadlineSection)\n\tconst BiographyView = Vue.extend(BiographySection)\n\tconst ProfileVisibilityView = Vue.extend(ProfileVisibilitySection)\n\n\tnew ProfileView().$mount('#vue-profile-section')\n\tnew OrganisationView().$mount('#vue-organisation-section')\n\tnew RoleView().$mount('#vue-role-section')\n\tnew HeadlineView().$mount('#vue-headline-section')\n\tnew BiographyView().$mount('#vue-biography-section')\n\tnew ProfileVisibilityView().$mount('#vue-profile-visibility-section')\n}\n","/*!\n * Cropper.js v1.5.13\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2022-11-20T05:30:46.114Z\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Cropper = factory());\n})(this, (function () { 'use strict';\n\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n }\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n }\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n }\n function _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n }\n function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n }\n function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n }\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n }\n function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var IS_BROWSER = typeof window !== 'undefined' && typeof window.document !== 'undefined';\n var WINDOW = IS_BROWSER ? window : {};\n var IS_TOUCH_DEVICE = IS_BROWSER && WINDOW.document.documentElement ? 'ontouchstart' in WINDOW.document.documentElement : false;\n var HAS_POINTER_EVENT = IS_BROWSER ? 'PointerEvent' in WINDOW : false;\n var NAMESPACE = 'cropper';\n\n // Actions\n var ACTION_ALL = 'all';\n var ACTION_CROP = 'crop';\n var ACTION_MOVE = 'move';\n var ACTION_ZOOM = 'zoom';\n var ACTION_EAST = 'e';\n var ACTION_WEST = 'w';\n var ACTION_SOUTH = 's';\n var ACTION_NORTH = 'n';\n var ACTION_NORTH_EAST = 'ne';\n var ACTION_NORTH_WEST = 'nw';\n var ACTION_SOUTH_EAST = 'se';\n var ACTION_SOUTH_WEST = 'sw';\n\n // Classes\n var CLASS_CROP = \"\".concat(NAMESPACE, \"-crop\");\n var CLASS_DISABLED = \"\".concat(NAMESPACE, \"-disabled\");\n var CLASS_HIDDEN = \"\".concat(NAMESPACE, \"-hidden\");\n var CLASS_HIDE = \"\".concat(NAMESPACE, \"-hide\");\n var CLASS_INVISIBLE = \"\".concat(NAMESPACE, \"-invisible\");\n var CLASS_MODAL = \"\".concat(NAMESPACE, \"-modal\");\n var CLASS_MOVE = \"\".concat(NAMESPACE, \"-move\");\n\n // Data keys\n var DATA_ACTION = \"\".concat(NAMESPACE, \"Action\");\n var DATA_PREVIEW = \"\".concat(NAMESPACE, \"Preview\");\n\n // Drag modes\n var DRAG_MODE_CROP = 'crop';\n var DRAG_MODE_MOVE = 'move';\n var DRAG_MODE_NONE = 'none';\n\n // Events\n var EVENT_CROP = 'crop';\n var EVENT_CROP_END = 'cropend';\n var EVENT_CROP_MOVE = 'cropmove';\n var EVENT_CROP_START = 'cropstart';\n var EVENT_DBLCLICK = 'dblclick';\n var EVENT_TOUCH_START = IS_TOUCH_DEVICE ? 'touchstart' : 'mousedown';\n var EVENT_TOUCH_MOVE = IS_TOUCH_DEVICE ? 'touchmove' : 'mousemove';\n var EVENT_TOUCH_END = IS_TOUCH_DEVICE ? 'touchend touchcancel' : 'mouseup';\n var EVENT_POINTER_DOWN = HAS_POINTER_EVENT ? 'pointerdown' : EVENT_TOUCH_START;\n var EVENT_POINTER_MOVE = HAS_POINTER_EVENT ? 'pointermove' : EVENT_TOUCH_MOVE;\n var EVENT_POINTER_UP = HAS_POINTER_EVENT ? 'pointerup pointercancel' : EVENT_TOUCH_END;\n var EVENT_READY = 'ready';\n var EVENT_RESIZE = 'resize';\n var EVENT_WHEEL = 'wheel';\n var EVENT_ZOOM = 'zoom';\n\n // Mime types\n var MIME_TYPE_JPEG = 'image/jpeg';\n\n // RegExps\n var REGEXP_ACTIONS = /^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/;\n var REGEXP_DATA_URL = /^data:/;\n var REGEXP_DATA_URL_JPEG = /^data:image\\/jpeg;base64,/;\n var REGEXP_TAG_NAME = /^img|canvas$/i;\n\n // Misc\n // Inspired by the default width and height of a canvas element.\n var MIN_CONTAINER_WIDTH = 200;\n var MIN_CONTAINER_HEIGHT = 100;\n\n var DEFAULTS = {\n // Define the view mode of the cropper\n viewMode: 0,\n // 0, 1, 2, 3\n\n // Define the dragging mode of the cropper\n dragMode: DRAG_MODE_CROP,\n // 'crop', 'move' or 'none'\n\n // Define the initial aspect ratio of the crop box\n initialAspectRatio: NaN,\n // Define the aspect ratio of the crop box\n aspectRatio: NaN,\n // An object with the previous cropping result data\n data: null,\n // A selector for adding extra containers to preview\n preview: '',\n // Re-render the cropper when resize the window\n responsive: true,\n // Restore the cropped area after resize the window\n restore: true,\n // Check if the current image is a cross-origin image\n checkCrossOrigin: true,\n // Check the current image's Exif Orientation information\n checkOrientation: true,\n // Show the black modal\n modal: true,\n // Show the dashed lines for guiding\n guides: true,\n // Show the center indicator for guiding\n center: true,\n // Show the white modal to highlight the crop box\n highlight: true,\n // Show the grid background\n background: true,\n // Enable to crop the image automatically when initialize\n autoCrop: true,\n // Define the percentage of automatic cropping area when initializes\n autoCropArea: 0.8,\n // Enable to move the image\n movable: true,\n // Enable to rotate the image\n rotatable: true,\n // Enable to scale the image\n scalable: true,\n // Enable to zoom the image\n zoomable: true,\n // Enable to zoom the image by dragging touch\n zoomOnTouch: true,\n // Enable to zoom the image by wheeling mouse\n zoomOnWheel: true,\n // Define zoom ratio when zoom the image by wheeling mouse\n wheelZoomRatio: 0.1,\n // Enable to move the crop box\n cropBoxMovable: true,\n // Enable to resize the crop box\n cropBoxResizable: true,\n // Toggle drag mode between \"crop\" and \"move\" when click twice on the cropper\n toggleDragModeOnDblclick: true,\n // Size limitation\n minCanvasWidth: 0,\n minCanvasHeight: 0,\n minCropBoxWidth: 0,\n minCropBoxHeight: 0,\n minContainerWidth: MIN_CONTAINER_WIDTH,\n minContainerHeight: MIN_CONTAINER_HEIGHT,\n // Shortcuts of events\n ready: null,\n cropstart: null,\n cropmove: null,\n cropend: null,\n crop: null,\n zoom: null\n };\n\n var TEMPLATE = '<div class=\"cropper-container\" touch-action=\"none\">' + '<div class=\"cropper-wrap-box\">' + '<div class=\"cropper-canvas\"></div>' + '</div>' + '<div class=\"cropper-drag-box\"></div>' + '<div class=\"cropper-crop-box\">' + '<span class=\"cropper-view-box\"></span>' + '<span class=\"cropper-dashed dashed-h\"></span>' + '<span class=\"cropper-dashed dashed-v\"></span>' + '<span class=\"cropper-center\"></span>' + '<span class=\"cropper-face\"></span>' + '<span class=\"cropper-line line-e\" data-cropper-action=\"e\"></span>' + '<span class=\"cropper-line line-n\" data-cropper-action=\"n\"></span>' + '<span class=\"cropper-line line-w\" data-cropper-action=\"w\"></span>' + '<span class=\"cropper-line line-s\" data-cropper-action=\"s\"></span>' + '<span class=\"cropper-point point-e\" data-cropper-action=\"e\"></span>' + '<span class=\"cropper-point point-n\" data-cropper-action=\"n\"></span>' + '<span class=\"cropper-point point-w\" data-cropper-action=\"w\"></span>' + '<span class=\"cropper-point point-s\" data-cropper-action=\"s\"></span>' + '<span class=\"cropper-point point-ne\" data-cropper-action=\"ne\"></span>' + '<span class=\"cropper-point point-nw\" data-cropper-action=\"nw\"></span>' + '<span class=\"cropper-point point-sw\" data-cropper-action=\"sw\"></span>' + '<span class=\"cropper-point point-se\" data-cropper-action=\"se\"></span>' + '</div>' + '</div>';\n\n /**\n * Check if the given value is not a number.\n */\n var isNaN = Number.isNaN || WINDOW.isNaN;\n\n /**\n * Check if the given value is a number.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a number, else `false`.\n */\n function isNumber(value) {\n return typeof value === 'number' && !isNaN(value);\n }\n\n /**\n * Check if the given value is a positive number.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a positive number, else `false`.\n */\n var isPositiveNumber = function isPositiveNumber(value) {\n return value > 0 && value < Infinity;\n };\n\n /**\n * Check if the given value is undefined.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is undefined, else `false`.\n */\n function isUndefined(value) {\n return typeof value === 'undefined';\n }\n\n /**\n * Check if the given value is an object.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is an object, else `false`.\n */\n function isObject(value) {\n return _typeof(value) === 'object' && value !== null;\n }\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n\n /**\n * Check if the given value is a plain object.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a plain object, else `false`.\n */\n function isPlainObject(value) {\n if (!isObject(value)) {\n return false;\n }\n try {\n var _constructor = value.constructor;\n var prototype = _constructor.prototype;\n return _constructor && prototype && hasOwnProperty.call(prototype, 'isPrototypeOf');\n } catch (error) {\n return false;\n }\n }\n\n /**\n * Check if the given value is a function.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a function, else `false`.\n */\n function isFunction(value) {\n return typeof value === 'function';\n }\n var slice = Array.prototype.slice;\n\n /**\n * Convert array-like or iterable object to an array.\n * @param {*} value - The value to convert.\n * @returns {Array} Returns a new array.\n */\n function toArray(value) {\n return Array.from ? Array.from(value) : slice.call(value);\n }\n\n /**\n * Iterate the given data.\n * @param {*} data - The data to iterate.\n * @param {Function} callback - The process function for each element.\n * @returns {*} The original data.\n */\n function forEach(data, callback) {\n if (data && isFunction(callback)) {\n if (Array.isArray(data) || isNumber(data.length) /* array-like */) {\n toArray(data).forEach(function (value, key) {\n callback.call(data, value, key, data);\n });\n } else if (isObject(data)) {\n Object.keys(data).forEach(function (key) {\n callback.call(data, data[key], key, data);\n });\n }\n }\n return data;\n }\n\n /**\n * Extend the given object.\n * @param {*} target - The target object to extend.\n * @param {*} args - The rest objects for merging to the target object.\n * @returns {Object} The extended object.\n */\n var assign = Object.assign || function assign(target) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (isObject(target) && args.length > 0) {\n args.forEach(function (arg) {\n if (isObject(arg)) {\n Object.keys(arg).forEach(function (key) {\n target[key] = arg[key];\n });\n }\n });\n }\n return target;\n };\n var REGEXP_DECIMALS = /\\.\\d*(?:0|9){12}\\d*$/;\n\n /**\n * Normalize decimal number.\n * Check out {@link https://0.30000000000000004.com/}\n * @param {number} value - The value to normalize.\n * @param {number} [times=100000000000] - The times for normalizing.\n * @returns {number} Returns the normalized number.\n */\n function normalizeDecimalNumber(value) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100000000000;\n return REGEXP_DECIMALS.test(value) ? Math.round(value * times) / times : value;\n }\n var REGEXP_SUFFIX = /^width|height|left|top|marginLeft|marginTop$/;\n\n /**\n * Apply styles to the given element.\n * @param {Element} element - The target element.\n * @param {Object} styles - The styles for applying.\n */\n function setStyle(element, styles) {\n var style = element.style;\n forEach(styles, function (value, property) {\n if (REGEXP_SUFFIX.test(property) && isNumber(value)) {\n value = \"\".concat(value, \"px\");\n }\n style[property] = value;\n });\n }\n\n /**\n * Check if the given element has a special class.\n * @param {Element} element - The element to check.\n * @param {string} value - The class to search.\n * @returns {boolean} Returns `true` if the special class was found.\n */\n function hasClass(element, value) {\n return element.classList ? element.classList.contains(value) : element.className.indexOf(value) > -1;\n }\n\n /**\n * Add classes to the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be added.\n */\n function addClass(element, value) {\n if (!value) {\n return;\n }\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n addClass(elem, value);\n });\n return;\n }\n if (element.classList) {\n element.classList.add(value);\n return;\n }\n var className = element.className.trim();\n if (!className) {\n element.className = value;\n } else if (className.indexOf(value) < 0) {\n element.className = \"\".concat(className, \" \").concat(value);\n }\n }\n\n /**\n * Remove classes from the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be removed.\n */\n function removeClass(element, value) {\n if (!value) {\n return;\n }\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n removeClass(elem, value);\n });\n return;\n }\n if (element.classList) {\n element.classList.remove(value);\n return;\n }\n if (element.className.indexOf(value) >= 0) {\n element.className = element.className.replace(value, '');\n }\n }\n\n /**\n * Add or remove classes from the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be toggled.\n * @param {boolean} added - Add only.\n */\n function toggleClass(element, value, added) {\n if (!value) {\n return;\n }\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n toggleClass(elem, value, added);\n });\n return;\n }\n\n // IE10-11 doesn't support the second parameter of `classList.toggle`\n if (added) {\n addClass(element, value);\n } else {\n removeClass(element, value);\n }\n }\n var REGEXP_CAMEL_CASE = /([a-z\\d])([A-Z])/g;\n\n /**\n * Transform the given string from camelCase to kebab-case\n * @param {string} value - The value to transform.\n * @returns {string} The transformed value.\n */\n function toParamCase(value) {\n return value.replace(REGEXP_CAMEL_CASE, '$1-$2').toLowerCase();\n }\n\n /**\n * Get data from the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to get.\n * @returns {string} The data value.\n */\n function getData(element, name) {\n if (isObject(element[name])) {\n return element[name];\n }\n if (element.dataset) {\n return element.dataset[name];\n }\n return element.getAttribute(\"data-\".concat(toParamCase(name)));\n }\n\n /**\n * Set data to the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to set.\n * @param {string} data - The data value.\n */\n function setData(element, name, data) {\n if (isObject(data)) {\n element[name] = data;\n } else if (element.dataset) {\n element.dataset[name] = data;\n } else {\n element.setAttribute(\"data-\".concat(toParamCase(name)), data);\n }\n }\n\n /**\n * Remove data from the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to remove.\n */\n function removeData(element, name) {\n if (isObject(element[name])) {\n try {\n delete element[name];\n } catch (error) {\n element[name] = undefined;\n }\n } else if (element.dataset) {\n // #128 Safari not allows to delete dataset property\n try {\n delete element.dataset[name];\n } catch (error) {\n element.dataset[name] = undefined;\n }\n } else {\n element.removeAttribute(\"data-\".concat(toParamCase(name)));\n }\n }\n var REGEXP_SPACES = /\\s\\s*/;\n var onceSupported = function () {\n var supported = false;\n if (IS_BROWSER) {\n var once = false;\n var listener = function listener() {};\n var options = Object.defineProperty({}, 'once', {\n get: function get() {\n supported = true;\n return once;\n },\n /**\n * This setter can fix a `TypeError` in strict mode\n * {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Getter_only}\n * @param {boolean} value - The value to set\n */\n set: function set(value) {\n once = value;\n }\n });\n WINDOW.addEventListener('test', listener, options);\n WINDOW.removeEventListener('test', listener, options);\n }\n return supported;\n }();\n\n /**\n * Remove event listener from the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Function} listener - The event listener.\n * @param {Object} options - The event options.\n */\n function removeListener(element, type, listener) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var handler = listener;\n type.trim().split(REGEXP_SPACES).forEach(function (event) {\n if (!onceSupported) {\n var listeners = element.listeners;\n if (listeners && listeners[event] && listeners[event][listener]) {\n handler = listeners[event][listener];\n delete listeners[event][listener];\n if (Object.keys(listeners[event]).length === 0) {\n delete listeners[event];\n }\n if (Object.keys(listeners).length === 0) {\n delete element.listeners;\n }\n }\n }\n element.removeEventListener(event, handler, options);\n });\n }\n\n /**\n * Add event listener to the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Function} listener - The event listener.\n * @param {Object} options - The event options.\n */\n function addListener(element, type, listener) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var _handler = listener;\n type.trim().split(REGEXP_SPACES).forEach(function (event) {\n if (options.once && !onceSupported) {\n var _element$listeners = element.listeners,\n listeners = _element$listeners === void 0 ? {} : _element$listeners;\n _handler = function handler() {\n delete listeners[event][listener];\n element.removeEventListener(event, _handler, options);\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n listener.apply(element, args);\n };\n if (!listeners[event]) {\n listeners[event] = {};\n }\n if (listeners[event][listener]) {\n element.removeEventListener(event, listeners[event][listener], options);\n }\n listeners[event][listener] = _handler;\n element.listeners = listeners;\n }\n element.addEventListener(event, _handler, options);\n });\n }\n\n /**\n * Dispatch event on the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Object} data - The additional event data.\n * @returns {boolean} Indicate if the event is default prevented or not.\n */\n function dispatchEvent(element, type, data) {\n var event;\n\n // Event and CustomEvent on IE9-11 are global objects, not constructors\n if (isFunction(Event) && isFunction(CustomEvent)) {\n event = new CustomEvent(type, {\n detail: data,\n bubbles: true,\n cancelable: true\n });\n } else {\n event = document.createEvent('CustomEvent');\n event.initCustomEvent(type, true, true, data);\n }\n return element.dispatchEvent(event);\n }\n\n /**\n * Get the offset base on the document.\n * @param {Element} element - The target element.\n * @returns {Object} The offset data.\n */\n function getOffset(element) {\n var box = element.getBoundingClientRect();\n return {\n left: box.left + (window.pageXOffset - document.documentElement.clientLeft),\n top: box.top + (window.pageYOffset - document.documentElement.clientTop)\n };\n }\n var location = WINDOW.location;\n var REGEXP_ORIGINS = /^(\\w+:)\\/\\/([^:/?#]*):?(\\d*)/i;\n\n /**\n * Check if the given URL is a cross origin URL.\n * @param {string} url - The target URL.\n * @returns {boolean} Returns `true` if the given URL is a cross origin URL, else `false`.\n */\n function isCrossOriginURL(url) {\n var parts = url.match(REGEXP_ORIGINS);\n return parts !== null && (parts[1] !== location.protocol || parts[2] !== location.hostname || parts[3] !== location.port);\n }\n\n /**\n * Add timestamp to the given URL.\n * @param {string} url - The target URL.\n * @returns {string} The result URL.\n */\n function addTimestamp(url) {\n var timestamp = \"timestamp=\".concat(new Date().getTime());\n return url + (url.indexOf('?') === -1 ? '?' : '&') + timestamp;\n }\n\n /**\n * Get transforms base on the given object.\n * @param {Object} obj - The target object.\n * @returns {string} A string contains transform values.\n */\n function getTransforms(_ref) {\n var rotate = _ref.rotate,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY,\n translateX = _ref.translateX,\n translateY = _ref.translateY;\n var values = [];\n if (isNumber(translateX) && translateX !== 0) {\n values.push(\"translateX(\".concat(translateX, \"px)\"));\n }\n if (isNumber(translateY) && translateY !== 0) {\n values.push(\"translateY(\".concat(translateY, \"px)\"));\n }\n\n // Rotate should come first before scale to match orientation transform\n if (isNumber(rotate) && rotate !== 0) {\n values.push(\"rotate(\".concat(rotate, \"deg)\"));\n }\n if (isNumber(scaleX) && scaleX !== 1) {\n values.push(\"scaleX(\".concat(scaleX, \")\"));\n }\n if (isNumber(scaleY) && scaleY !== 1) {\n values.push(\"scaleY(\".concat(scaleY, \")\"));\n }\n var transform = values.length ? values.join(' ') : 'none';\n return {\n WebkitTransform: transform,\n msTransform: transform,\n transform: transform\n };\n }\n\n /**\n * Get the max ratio of a group of pointers.\n * @param {string} pointers - The target pointers.\n * @returns {number} The result ratio.\n */\n function getMaxZoomRatio(pointers) {\n var pointers2 = _objectSpread2({}, pointers);\n var maxRatio = 0;\n forEach(pointers, function (pointer, pointerId) {\n delete pointers2[pointerId];\n forEach(pointers2, function (pointer2) {\n var x1 = Math.abs(pointer.startX - pointer2.startX);\n var y1 = Math.abs(pointer.startY - pointer2.startY);\n var x2 = Math.abs(pointer.endX - pointer2.endX);\n var y2 = Math.abs(pointer.endY - pointer2.endY);\n var z1 = Math.sqrt(x1 * x1 + y1 * y1);\n var z2 = Math.sqrt(x2 * x2 + y2 * y2);\n var ratio = (z2 - z1) / z1;\n if (Math.abs(ratio) > Math.abs(maxRatio)) {\n maxRatio = ratio;\n }\n });\n });\n return maxRatio;\n }\n\n /**\n * Get a pointer from an event object.\n * @param {Object} event - The target event object.\n * @param {boolean} endOnly - Indicates if only returns the end point coordinate or not.\n * @returns {Object} The result pointer contains start and/or end point coordinates.\n */\n function getPointer(_ref2, endOnly) {\n var pageX = _ref2.pageX,\n pageY = _ref2.pageY;\n var end = {\n endX: pageX,\n endY: pageY\n };\n return endOnly ? end : _objectSpread2({\n startX: pageX,\n startY: pageY\n }, end);\n }\n\n /**\n * Get the center point coordinate of a group of pointers.\n * @param {Object} pointers - The target pointers.\n * @returns {Object} The center point coordinate.\n */\n function getPointersCenter(pointers) {\n var pageX = 0;\n var pageY = 0;\n var count = 0;\n forEach(pointers, function (_ref3) {\n var startX = _ref3.startX,\n startY = _ref3.startY;\n pageX += startX;\n pageY += startY;\n count += 1;\n });\n pageX /= count;\n pageY /= count;\n return {\n pageX: pageX,\n pageY: pageY\n };\n }\n\n /**\n * Get the max sizes in a rectangle under the given aspect ratio.\n * @param {Object} data - The original sizes.\n * @param {string} [type='contain'] - The adjust type.\n * @returns {Object} The result sizes.\n */\n function getAdjustedSizes(_ref4) {\n var aspectRatio = _ref4.aspectRatio,\n height = _ref4.height,\n width = _ref4.width;\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'contain';\n var isValidWidth = isPositiveNumber(width);\n var isValidHeight = isPositiveNumber(height);\n if (isValidWidth && isValidHeight) {\n var adjustedWidth = height * aspectRatio;\n if (type === 'contain' && adjustedWidth > width || type === 'cover' && adjustedWidth < width) {\n height = width / aspectRatio;\n } else {\n width = height * aspectRatio;\n }\n } else if (isValidWidth) {\n height = width / aspectRatio;\n } else if (isValidHeight) {\n width = height * aspectRatio;\n }\n return {\n width: width,\n height: height\n };\n }\n\n /**\n * Get the new sizes of a rectangle after rotated.\n * @param {Object} data - The original sizes.\n * @returns {Object} The result sizes.\n */\n function getRotatedSizes(_ref5) {\n var width = _ref5.width,\n height = _ref5.height,\n degree = _ref5.degree;\n degree = Math.abs(degree) % 180;\n if (degree === 90) {\n return {\n width: height,\n height: width\n };\n }\n var arc = degree % 90 * Math.PI / 180;\n var sinArc = Math.sin(arc);\n var cosArc = Math.cos(arc);\n var newWidth = width * cosArc + height * sinArc;\n var newHeight = width * sinArc + height * cosArc;\n return degree > 90 ? {\n width: newHeight,\n height: newWidth\n } : {\n width: newWidth,\n height: newHeight\n };\n }\n\n /**\n * Get a canvas which drew the given image.\n * @param {HTMLImageElement} image - The image for drawing.\n * @param {Object} imageData - The image data.\n * @param {Object} canvasData - The canvas data.\n * @param {Object} options - The options.\n * @returns {HTMLCanvasElement} The result canvas.\n */\n function getSourceCanvas(image, _ref6, _ref7, _ref8) {\n var imageAspectRatio = _ref6.aspectRatio,\n imageNaturalWidth = _ref6.naturalWidth,\n imageNaturalHeight = _ref6.naturalHeight,\n _ref6$rotate = _ref6.rotate,\n rotate = _ref6$rotate === void 0 ? 0 : _ref6$rotate,\n _ref6$scaleX = _ref6.scaleX,\n scaleX = _ref6$scaleX === void 0 ? 1 : _ref6$scaleX,\n _ref6$scaleY = _ref6.scaleY,\n scaleY = _ref6$scaleY === void 0 ? 1 : _ref6$scaleY;\n var aspectRatio = _ref7.aspectRatio,\n naturalWidth = _ref7.naturalWidth,\n naturalHeight = _ref7.naturalHeight;\n var _ref8$fillColor = _ref8.fillColor,\n fillColor = _ref8$fillColor === void 0 ? 'transparent' : _ref8$fillColor,\n _ref8$imageSmoothingE = _ref8.imageSmoothingEnabled,\n imageSmoothingEnabled = _ref8$imageSmoothingE === void 0 ? true : _ref8$imageSmoothingE,\n _ref8$imageSmoothingQ = _ref8.imageSmoothingQuality,\n imageSmoothingQuality = _ref8$imageSmoothingQ === void 0 ? 'low' : _ref8$imageSmoothingQ,\n _ref8$maxWidth = _ref8.maxWidth,\n maxWidth = _ref8$maxWidth === void 0 ? Infinity : _ref8$maxWidth,\n _ref8$maxHeight = _ref8.maxHeight,\n maxHeight = _ref8$maxHeight === void 0 ? Infinity : _ref8$maxHeight,\n _ref8$minWidth = _ref8.minWidth,\n minWidth = _ref8$minWidth === void 0 ? 0 : _ref8$minWidth,\n _ref8$minHeight = _ref8.minHeight,\n minHeight = _ref8$minHeight === void 0 ? 0 : _ref8$minHeight;\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n var maxSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: maxWidth,\n height: maxHeight\n });\n var minSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: minWidth,\n height: minHeight\n }, 'cover');\n var width = Math.min(maxSizes.width, Math.max(minSizes.width, naturalWidth));\n var height = Math.min(maxSizes.height, Math.max(minSizes.height, naturalHeight));\n\n // Note: should always use image's natural sizes for drawing as\n // imageData.naturalWidth === canvasData.naturalHeight when rotate % 180 === 90\n var destMaxSizes = getAdjustedSizes({\n aspectRatio: imageAspectRatio,\n width: maxWidth,\n height: maxHeight\n });\n var destMinSizes = getAdjustedSizes({\n aspectRatio: imageAspectRatio,\n width: minWidth,\n height: minHeight\n }, 'cover');\n var destWidth = Math.min(destMaxSizes.width, Math.max(destMinSizes.width, imageNaturalWidth));\n var destHeight = Math.min(destMaxSizes.height, Math.max(destMinSizes.height, imageNaturalHeight));\n var params = [-destWidth / 2, -destHeight / 2, destWidth, destHeight];\n canvas.width = normalizeDecimalNumber(width);\n canvas.height = normalizeDecimalNumber(height);\n context.fillStyle = fillColor;\n context.fillRect(0, 0, width, height);\n context.save();\n context.translate(width / 2, height / 2);\n context.rotate(rotate * Math.PI / 180);\n context.scale(scaleX, scaleY);\n context.imageSmoothingEnabled = imageSmoothingEnabled;\n context.imageSmoothingQuality = imageSmoothingQuality;\n context.drawImage.apply(context, [image].concat(_toConsumableArray(params.map(function (param) {\n return Math.floor(normalizeDecimalNumber(param));\n }))));\n context.restore();\n return canvas;\n }\n var fromCharCode = String.fromCharCode;\n\n /**\n * Get string from char code in data view.\n * @param {DataView} dataView - The data view for read.\n * @param {number} start - The start index.\n * @param {number} length - The read length.\n * @returns {string} The read result.\n */\n function getStringFromCharCode(dataView, start, length) {\n var str = '';\n length += start;\n for (var i = start; i < length; i += 1) {\n str += fromCharCode(dataView.getUint8(i));\n }\n return str;\n }\n var REGEXP_DATA_URL_HEAD = /^data:.*,/;\n\n /**\n * Transform Data URL to array buffer.\n * @param {string} dataURL - The Data URL to transform.\n * @returns {ArrayBuffer} The result array buffer.\n */\n function dataURLToArrayBuffer(dataURL) {\n var base64 = dataURL.replace(REGEXP_DATA_URL_HEAD, '');\n var binary = atob(base64);\n var arrayBuffer = new ArrayBuffer(binary.length);\n var uint8 = new Uint8Array(arrayBuffer);\n forEach(uint8, function (value, i) {\n uint8[i] = binary.charCodeAt(i);\n });\n return arrayBuffer;\n }\n\n /**\n * Transform array buffer to Data URL.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to transform.\n * @param {string} mimeType - The mime type of the Data URL.\n * @returns {string} The result Data URL.\n */\n function arrayBufferToDataURL(arrayBuffer, mimeType) {\n var chunks = [];\n\n // Chunk Typed Array for better performance (#435)\n var chunkSize = 8192;\n var uint8 = new Uint8Array(arrayBuffer);\n while (uint8.length > 0) {\n // XXX: Babel's `toConsumableArray` helper will throw error in IE or Safari 9\n // eslint-disable-next-line prefer-spread\n chunks.push(fromCharCode.apply(null, toArray(uint8.subarray(0, chunkSize))));\n uint8 = uint8.subarray(chunkSize);\n }\n return \"data:\".concat(mimeType, \";base64,\").concat(btoa(chunks.join('')));\n }\n\n /**\n * Get orientation value from given array buffer.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to read.\n * @returns {number} The read orientation value.\n */\n function resetAndGetOrientation(arrayBuffer) {\n var dataView = new DataView(arrayBuffer);\n var orientation;\n\n // Ignores range error when the image does not have correct Exif information\n try {\n var littleEndian;\n var app1Start;\n var ifdStart;\n\n // Only handle JPEG image (start by 0xFFD8)\n if (dataView.getUint8(0) === 0xFF && dataView.getUint8(1) === 0xD8) {\n var length = dataView.byteLength;\n var offset = 2;\n while (offset + 1 < length) {\n if (dataView.getUint8(offset) === 0xFF && dataView.getUint8(offset + 1) === 0xE1) {\n app1Start = offset;\n break;\n }\n offset += 1;\n }\n }\n if (app1Start) {\n var exifIDCode = app1Start + 4;\n var tiffOffset = app1Start + 10;\n if (getStringFromCharCode(dataView, exifIDCode, 4) === 'Exif') {\n var endianness = dataView.getUint16(tiffOffset);\n littleEndian = endianness === 0x4949;\n if (littleEndian || endianness === 0x4D4D /* bigEndian */) {\n if (dataView.getUint16(tiffOffset + 2, littleEndian) === 0x002A) {\n var firstIFDOffset = dataView.getUint32(tiffOffset + 4, littleEndian);\n if (firstIFDOffset >= 0x00000008) {\n ifdStart = tiffOffset + firstIFDOffset;\n }\n }\n }\n }\n }\n if (ifdStart) {\n var _length = dataView.getUint16(ifdStart, littleEndian);\n var _offset;\n var i;\n for (i = 0; i < _length; i += 1) {\n _offset = ifdStart + i * 12 + 2;\n if (dataView.getUint16(_offset, littleEndian) === 0x0112 /* Orientation */) {\n // 8 is the offset of the current tag's value\n _offset += 8;\n\n // Get the original orientation value\n orientation = dataView.getUint16(_offset, littleEndian);\n\n // Override the orientation with its default value\n dataView.setUint16(_offset, 1, littleEndian);\n break;\n }\n }\n }\n } catch (error) {\n orientation = 1;\n }\n return orientation;\n }\n\n /**\n * Parse Exif Orientation value.\n * @param {number} orientation - The orientation to parse.\n * @returns {Object} The parsed result.\n */\n function parseOrientation(orientation) {\n var rotate = 0;\n var scaleX = 1;\n var scaleY = 1;\n switch (orientation) {\n // Flip horizontal\n case 2:\n scaleX = -1;\n break;\n\n // Rotate left 180°\n case 3:\n rotate = -180;\n break;\n\n // Flip vertical\n case 4:\n scaleY = -1;\n break;\n\n // Flip vertical and rotate right 90°\n case 5:\n rotate = 90;\n scaleY = -1;\n break;\n\n // Rotate right 90°\n case 6:\n rotate = 90;\n break;\n\n // Flip horizontal and rotate right 90°\n case 7:\n rotate = 90;\n scaleX = -1;\n break;\n\n // Rotate left 90°\n case 8:\n rotate = -90;\n break;\n }\n return {\n rotate: rotate,\n scaleX: scaleX,\n scaleY: scaleY\n };\n }\n\n var render = {\n render: function render() {\n this.initContainer();\n this.initCanvas();\n this.initCropBox();\n this.renderCanvas();\n if (this.cropped) {\n this.renderCropBox();\n }\n },\n initContainer: function initContainer() {\n var element = this.element,\n options = this.options,\n container = this.container,\n cropper = this.cropper;\n var minWidth = Number(options.minContainerWidth);\n var minHeight = Number(options.minContainerHeight);\n addClass(cropper, CLASS_HIDDEN);\n removeClass(element, CLASS_HIDDEN);\n var containerData = {\n width: Math.max(container.offsetWidth, minWidth >= 0 ? minWidth : MIN_CONTAINER_WIDTH),\n height: Math.max(container.offsetHeight, minHeight >= 0 ? minHeight : MIN_CONTAINER_HEIGHT)\n };\n this.containerData = containerData;\n setStyle(cropper, {\n width: containerData.width,\n height: containerData.height\n });\n addClass(element, CLASS_HIDDEN);\n removeClass(cropper, CLASS_HIDDEN);\n },\n // Canvas (image wrapper)\n initCanvas: function initCanvas() {\n var containerData = this.containerData,\n imageData = this.imageData;\n var viewMode = this.options.viewMode;\n var rotated = Math.abs(imageData.rotate) % 180 === 90;\n var naturalWidth = rotated ? imageData.naturalHeight : imageData.naturalWidth;\n var naturalHeight = rotated ? imageData.naturalWidth : imageData.naturalHeight;\n var aspectRatio = naturalWidth / naturalHeight;\n var canvasWidth = containerData.width;\n var canvasHeight = containerData.height;\n if (containerData.height * aspectRatio > containerData.width) {\n if (viewMode === 3) {\n canvasWidth = containerData.height * aspectRatio;\n } else {\n canvasHeight = containerData.width / aspectRatio;\n }\n } else if (viewMode === 3) {\n canvasHeight = containerData.width / aspectRatio;\n } else {\n canvasWidth = containerData.height * aspectRatio;\n }\n var canvasData = {\n aspectRatio: aspectRatio,\n naturalWidth: naturalWidth,\n naturalHeight: naturalHeight,\n width: canvasWidth,\n height: canvasHeight\n };\n this.canvasData = canvasData;\n this.limited = viewMode === 1 || viewMode === 2;\n this.limitCanvas(true, true);\n canvasData.width = Math.min(Math.max(canvasData.width, canvasData.minWidth), canvasData.maxWidth);\n canvasData.height = Math.min(Math.max(canvasData.height, canvasData.minHeight), canvasData.maxHeight);\n canvasData.left = (containerData.width - canvasData.width) / 2;\n canvasData.top = (containerData.height - canvasData.height) / 2;\n canvasData.oldLeft = canvasData.left;\n canvasData.oldTop = canvasData.top;\n this.initialCanvasData = assign({}, canvasData);\n },\n limitCanvas: function limitCanvas(sizeLimited, positionLimited) {\n var options = this.options,\n containerData = this.containerData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var viewMode = options.viewMode;\n var aspectRatio = canvasData.aspectRatio;\n var cropped = this.cropped && cropBoxData;\n if (sizeLimited) {\n var minCanvasWidth = Number(options.minCanvasWidth) || 0;\n var minCanvasHeight = Number(options.minCanvasHeight) || 0;\n if (viewMode > 1) {\n minCanvasWidth = Math.max(minCanvasWidth, containerData.width);\n minCanvasHeight = Math.max(minCanvasHeight, containerData.height);\n if (viewMode === 3) {\n if (minCanvasHeight * aspectRatio > minCanvasWidth) {\n minCanvasWidth = minCanvasHeight * aspectRatio;\n } else {\n minCanvasHeight = minCanvasWidth / aspectRatio;\n }\n }\n } else if (viewMode > 0) {\n if (minCanvasWidth) {\n minCanvasWidth = Math.max(minCanvasWidth, cropped ? cropBoxData.width : 0);\n } else if (minCanvasHeight) {\n minCanvasHeight = Math.max(minCanvasHeight, cropped ? cropBoxData.height : 0);\n } else if (cropped) {\n minCanvasWidth = cropBoxData.width;\n minCanvasHeight = cropBoxData.height;\n if (minCanvasHeight * aspectRatio > minCanvasWidth) {\n minCanvasWidth = minCanvasHeight * aspectRatio;\n } else {\n minCanvasHeight = minCanvasWidth / aspectRatio;\n }\n }\n }\n var _getAdjustedSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: minCanvasWidth,\n height: minCanvasHeight\n });\n minCanvasWidth = _getAdjustedSizes.width;\n minCanvasHeight = _getAdjustedSizes.height;\n canvasData.minWidth = minCanvasWidth;\n canvasData.minHeight = minCanvasHeight;\n canvasData.maxWidth = Infinity;\n canvasData.maxHeight = Infinity;\n }\n if (positionLimited) {\n if (viewMode > (cropped ? 0 : 1)) {\n var newCanvasLeft = containerData.width - canvasData.width;\n var newCanvasTop = containerData.height - canvasData.height;\n canvasData.minLeft = Math.min(0, newCanvasLeft);\n canvasData.minTop = Math.min(0, newCanvasTop);\n canvasData.maxLeft = Math.max(0, newCanvasLeft);\n canvasData.maxTop = Math.max(0, newCanvasTop);\n if (cropped && this.limited) {\n canvasData.minLeft = Math.min(cropBoxData.left, cropBoxData.left + (cropBoxData.width - canvasData.width));\n canvasData.minTop = Math.min(cropBoxData.top, cropBoxData.top + (cropBoxData.height - canvasData.height));\n canvasData.maxLeft = cropBoxData.left;\n canvasData.maxTop = cropBoxData.top;\n if (viewMode === 2) {\n if (canvasData.width >= containerData.width) {\n canvasData.minLeft = Math.min(0, newCanvasLeft);\n canvasData.maxLeft = Math.max(0, newCanvasLeft);\n }\n if (canvasData.height >= containerData.height) {\n canvasData.minTop = Math.min(0, newCanvasTop);\n canvasData.maxTop = Math.max(0, newCanvasTop);\n }\n }\n }\n } else {\n canvasData.minLeft = -canvasData.width;\n canvasData.minTop = -canvasData.height;\n canvasData.maxLeft = containerData.width;\n canvasData.maxTop = containerData.height;\n }\n }\n },\n renderCanvas: function renderCanvas(changed, transformed) {\n var canvasData = this.canvasData,\n imageData = this.imageData;\n if (transformed) {\n var _getRotatedSizes = getRotatedSizes({\n width: imageData.naturalWidth * Math.abs(imageData.scaleX || 1),\n height: imageData.naturalHeight * Math.abs(imageData.scaleY || 1),\n degree: imageData.rotate || 0\n }),\n naturalWidth = _getRotatedSizes.width,\n naturalHeight = _getRotatedSizes.height;\n var width = canvasData.width * (naturalWidth / canvasData.naturalWidth);\n var height = canvasData.height * (naturalHeight / canvasData.naturalHeight);\n canvasData.left -= (width - canvasData.width) / 2;\n canvasData.top -= (height - canvasData.height) / 2;\n canvasData.width = width;\n canvasData.height = height;\n canvasData.aspectRatio = naturalWidth / naturalHeight;\n canvasData.naturalWidth = naturalWidth;\n canvasData.naturalHeight = naturalHeight;\n this.limitCanvas(true, false);\n }\n if (canvasData.width > canvasData.maxWidth || canvasData.width < canvasData.minWidth) {\n canvasData.left = canvasData.oldLeft;\n }\n if (canvasData.height > canvasData.maxHeight || canvasData.height < canvasData.minHeight) {\n canvasData.top = canvasData.oldTop;\n }\n canvasData.width = Math.min(Math.max(canvasData.width, canvasData.minWidth), canvasData.maxWidth);\n canvasData.height = Math.min(Math.max(canvasData.height, canvasData.minHeight), canvasData.maxHeight);\n this.limitCanvas(false, true);\n canvasData.left = Math.min(Math.max(canvasData.left, canvasData.minLeft), canvasData.maxLeft);\n canvasData.top = Math.min(Math.max(canvasData.top, canvasData.minTop), canvasData.maxTop);\n canvasData.oldLeft = canvasData.left;\n canvasData.oldTop = canvasData.top;\n setStyle(this.canvas, assign({\n width: canvasData.width,\n height: canvasData.height\n }, getTransforms({\n translateX: canvasData.left,\n translateY: canvasData.top\n })));\n this.renderImage(changed);\n if (this.cropped && this.limited) {\n this.limitCropBox(true, true);\n }\n },\n renderImage: function renderImage(changed) {\n var canvasData = this.canvasData,\n imageData = this.imageData;\n var width = imageData.naturalWidth * (canvasData.width / canvasData.naturalWidth);\n var height = imageData.naturalHeight * (canvasData.height / canvasData.naturalHeight);\n assign(imageData, {\n width: width,\n height: height,\n left: (canvasData.width - width) / 2,\n top: (canvasData.height - height) / 2\n });\n setStyle(this.image, assign({\n width: imageData.width,\n height: imageData.height\n }, getTransforms(assign({\n translateX: imageData.left,\n translateY: imageData.top\n }, imageData))));\n if (changed) {\n this.output();\n }\n },\n initCropBox: function initCropBox() {\n var options = this.options,\n canvasData = this.canvasData;\n var aspectRatio = options.aspectRatio || options.initialAspectRatio;\n var autoCropArea = Number(options.autoCropArea) || 0.8;\n var cropBoxData = {\n width: canvasData.width,\n height: canvasData.height\n };\n if (aspectRatio) {\n if (canvasData.height * aspectRatio > canvasData.width) {\n cropBoxData.height = cropBoxData.width / aspectRatio;\n } else {\n cropBoxData.width = cropBoxData.height * aspectRatio;\n }\n }\n this.cropBoxData = cropBoxData;\n this.limitCropBox(true, true);\n\n // Initialize auto crop area\n cropBoxData.width = Math.min(Math.max(cropBoxData.width, cropBoxData.minWidth), cropBoxData.maxWidth);\n cropBoxData.height = Math.min(Math.max(cropBoxData.height, cropBoxData.minHeight), cropBoxData.maxHeight);\n\n // The width/height of auto crop area must large than \"minWidth/Height\"\n cropBoxData.width = Math.max(cropBoxData.minWidth, cropBoxData.width * autoCropArea);\n cropBoxData.height = Math.max(cropBoxData.minHeight, cropBoxData.height * autoCropArea);\n cropBoxData.left = canvasData.left + (canvasData.width - cropBoxData.width) / 2;\n cropBoxData.top = canvasData.top + (canvasData.height - cropBoxData.height) / 2;\n cropBoxData.oldLeft = cropBoxData.left;\n cropBoxData.oldTop = cropBoxData.top;\n this.initialCropBoxData = assign({}, cropBoxData);\n },\n limitCropBox: function limitCropBox(sizeLimited, positionLimited) {\n var options = this.options,\n containerData = this.containerData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData,\n limited = this.limited;\n var aspectRatio = options.aspectRatio;\n if (sizeLimited) {\n var minCropBoxWidth = Number(options.minCropBoxWidth) || 0;\n var minCropBoxHeight = Number(options.minCropBoxHeight) || 0;\n var maxCropBoxWidth = limited ? Math.min(containerData.width, canvasData.width, canvasData.width + canvasData.left, containerData.width - canvasData.left) : containerData.width;\n var maxCropBoxHeight = limited ? Math.min(containerData.height, canvasData.height, canvasData.height + canvasData.top, containerData.height - canvasData.top) : containerData.height;\n\n // The min/maxCropBoxWidth/Height must be less than container's width/height\n minCropBoxWidth = Math.min(minCropBoxWidth, containerData.width);\n minCropBoxHeight = Math.min(minCropBoxHeight, containerData.height);\n if (aspectRatio) {\n if (minCropBoxWidth && minCropBoxHeight) {\n if (minCropBoxHeight * aspectRatio > minCropBoxWidth) {\n minCropBoxHeight = minCropBoxWidth / aspectRatio;\n } else {\n minCropBoxWidth = minCropBoxHeight * aspectRatio;\n }\n } else if (minCropBoxWidth) {\n minCropBoxHeight = minCropBoxWidth / aspectRatio;\n } else if (minCropBoxHeight) {\n minCropBoxWidth = minCropBoxHeight * aspectRatio;\n }\n if (maxCropBoxHeight * aspectRatio > maxCropBoxWidth) {\n maxCropBoxHeight = maxCropBoxWidth / aspectRatio;\n } else {\n maxCropBoxWidth = maxCropBoxHeight * aspectRatio;\n }\n }\n\n // The minWidth/Height must be less than maxWidth/Height\n cropBoxData.minWidth = Math.min(minCropBoxWidth, maxCropBoxWidth);\n cropBoxData.minHeight = Math.min(minCropBoxHeight, maxCropBoxHeight);\n cropBoxData.maxWidth = maxCropBoxWidth;\n cropBoxData.maxHeight = maxCropBoxHeight;\n }\n if (positionLimited) {\n if (limited) {\n cropBoxData.minLeft = Math.max(0, canvasData.left);\n cropBoxData.minTop = Math.max(0, canvasData.top);\n cropBoxData.maxLeft = Math.min(containerData.width, canvasData.left + canvasData.width) - cropBoxData.width;\n cropBoxData.maxTop = Math.min(containerData.height, canvasData.top + canvasData.height) - cropBoxData.height;\n } else {\n cropBoxData.minLeft = 0;\n cropBoxData.minTop = 0;\n cropBoxData.maxLeft = containerData.width - cropBoxData.width;\n cropBoxData.maxTop = containerData.height - cropBoxData.height;\n }\n }\n },\n renderCropBox: function renderCropBox() {\n var options = this.options,\n containerData = this.containerData,\n cropBoxData = this.cropBoxData;\n if (cropBoxData.width > cropBoxData.maxWidth || cropBoxData.width < cropBoxData.minWidth) {\n cropBoxData.left = cropBoxData.oldLeft;\n }\n if (cropBoxData.height > cropBoxData.maxHeight || cropBoxData.height < cropBoxData.minHeight) {\n cropBoxData.top = cropBoxData.oldTop;\n }\n cropBoxData.width = Math.min(Math.max(cropBoxData.width, cropBoxData.minWidth), cropBoxData.maxWidth);\n cropBoxData.height = Math.min(Math.max(cropBoxData.height, cropBoxData.minHeight), cropBoxData.maxHeight);\n this.limitCropBox(false, true);\n cropBoxData.left = Math.min(Math.max(cropBoxData.left, cropBoxData.minLeft), cropBoxData.maxLeft);\n cropBoxData.top = Math.min(Math.max(cropBoxData.top, cropBoxData.minTop), cropBoxData.maxTop);\n cropBoxData.oldLeft = cropBoxData.left;\n cropBoxData.oldTop = cropBoxData.top;\n if (options.movable && options.cropBoxMovable) {\n // Turn to move the canvas when the crop box is equal to the container\n setData(this.face, DATA_ACTION, cropBoxData.width >= containerData.width && cropBoxData.height >= containerData.height ? ACTION_MOVE : ACTION_ALL);\n }\n setStyle(this.cropBox, assign({\n width: cropBoxData.width,\n height: cropBoxData.height\n }, getTransforms({\n translateX: cropBoxData.left,\n translateY: cropBoxData.top\n })));\n if (this.cropped && this.limited) {\n this.limitCanvas(true, true);\n }\n if (!this.disabled) {\n this.output();\n }\n },\n output: function output() {\n this.preview();\n dispatchEvent(this.element, EVENT_CROP, this.getData());\n }\n };\n\n var preview = {\n initPreview: function initPreview() {\n var element = this.element,\n crossOrigin = this.crossOrigin;\n var preview = this.options.preview;\n var url = crossOrigin ? this.crossOriginUrl : this.url;\n var alt = element.alt || 'The image to preview';\n var image = document.createElement('img');\n if (crossOrigin) {\n image.crossOrigin = crossOrigin;\n }\n image.src = url;\n image.alt = alt;\n this.viewBox.appendChild(image);\n this.viewBoxImage = image;\n if (!preview) {\n return;\n }\n var previews = preview;\n if (typeof preview === 'string') {\n previews = element.ownerDocument.querySelectorAll(preview);\n } else if (preview.querySelector) {\n previews = [preview];\n }\n this.previews = previews;\n forEach(previews, function (el) {\n var img = document.createElement('img');\n\n // Save the original size for recover\n setData(el, DATA_PREVIEW, {\n width: el.offsetWidth,\n height: el.offsetHeight,\n html: el.innerHTML\n });\n if (crossOrigin) {\n img.crossOrigin = crossOrigin;\n }\n img.src = url;\n img.alt = alt;\n\n /**\n * Override img element styles\n * Add `display:block` to avoid margin top issue\n * Add `height:auto` to override `height` attribute on IE8\n * (Occur only when margin-top <= -height)\n */\n img.style.cssText = 'display:block;' + 'width:100%;' + 'height:auto;' + 'min-width:0!important;' + 'min-height:0!important;' + 'max-width:none!important;' + 'max-height:none!important;' + 'image-orientation:0deg!important;\"';\n el.innerHTML = '';\n el.appendChild(img);\n });\n },\n resetPreview: function resetPreview() {\n forEach(this.previews, function (element) {\n var data = getData(element, DATA_PREVIEW);\n setStyle(element, {\n width: data.width,\n height: data.height\n });\n element.innerHTML = data.html;\n removeData(element, DATA_PREVIEW);\n });\n },\n preview: function preview() {\n var imageData = this.imageData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var cropBoxWidth = cropBoxData.width,\n cropBoxHeight = cropBoxData.height;\n var width = imageData.width,\n height = imageData.height;\n var left = cropBoxData.left - canvasData.left - imageData.left;\n var top = cropBoxData.top - canvasData.top - imageData.top;\n if (!this.cropped || this.disabled) {\n return;\n }\n setStyle(this.viewBoxImage, assign({\n width: width,\n height: height\n }, getTransforms(assign({\n translateX: -left,\n translateY: -top\n }, imageData))));\n forEach(this.previews, function (element) {\n var data = getData(element, DATA_PREVIEW);\n var originalWidth = data.width;\n var originalHeight = data.height;\n var newWidth = originalWidth;\n var newHeight = originalHeight;\n var ratio = 1;\n if (cropBoxWidth) {\n ratio = originalWidth / cropBoxWidth;\n newHeight = cropBoxHeight * ratio;\n }\n if (cropBoxHeight && newHeight > originalHeight) {\n ratio = originalHeight / cropBoxHeight;\n newWidth = cropBoxWidth * ratio;\n newHeight = originalHeight;\n }\n setStyle(element, {\n width: newWidth,\n height: newHeight\n });\n setStyle(element.getElementsByTagName('img')[0], assign({\n width: width * ratio,\n height: height * ratio\n }, getTransforms(assign({\n translateX: -left * ratio,\n translateY: -top * ratio\n }, imageData))));\n });\n }\n };\n\n var events = {\n bind: function bind() {\n var element = this.element,\n options = this.options,\n cropper = this.cropper;\n if (isFunction(options.cropstart)) {\n addListener(element, EVENT_CROP_START, options.cropstart);\n }\n if (isFunction(options.cropmove)) {\n addListener(element, EVENT_CROP_MOVE, options.cropmove);\n }\n if (isFunction(options.cropend)) {\n addListener(element, EVENT_CROP_END, options.cropend);\n }\n if (isFunction(options.crop)) {\n addListener(element, EVENT_CROP, options.crop);\n }\n if (isFunction(options.zoom)) {\n addListener(element, EVENT_ZOOM, options.zoom);\n }\n addListener(cropper, EVENT_POINTER_DOWN, this.onCropStart = this.cropStart.bind(this));\n if (options.zoomable && options.zoomOnWheel) {\n addListener(cropper, EVENT_WHEEL, this.onWheel = this.wheel.bind(this), {\n passive: false,\n capture: true\n });\n }\n if (options.toggleDragModeOnDblclick) {\n addListener(cropper, EVENT_DBLCLICK, this.onDblclick = this.dblclick.bind(this));\n }\n addListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onCropMove = this.cropMove.bind(this));\n addListener(element.ownerDocument, EVENT_POINTER_UP, this.onCropEnd = this.cropEnd.bind(this));\n if (options.responsive) {\n addListener(window, EVENT_RESIZE, this.onResize = this.resize.bind(this));\n }\n },\n unbind: function unbind() {\n var element = this.element,\n options = this.options,\n cropper = this.cropper;\n if (isFunction(options.cropstart)) {\n removeListener(element, EVENT_CROP_START, options.cropstart);\n }\n if (isFunction(options.cropmove)) {\n removeListener(element, EVENT_CROP_MOVE, options.cropmove);\n }\n if (isFunction(options.cropend)) {\n removeListener(element, EVENT_CROP_END, options.cropend);\n }\n if (isFunction(options.crop)) {\n removeListener(element, EVENT_CROP, options.crop);\n }\n if (isFunction(options.zoom)) {\n removeListener(element, EVENT_ZOOM, options.zoom);\n }\n removeListener(cropper, EVENT_POINTER_DOWN, this.onCropStart);\n if (options.zoomable && options.zoomOnWheel) {\n removeListener(cropper, EVENT_WHEEL, this.onWheel, {\n passive: false,\n capture: true\n });\n }\n if (options.toggleDragModeOnDblclick) {\n removeListener(cropper, EVENT_DBLCLICK, this.onDblclick);\n }\n removeListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onCropMove);\n removeListener(element.ownerDocument, EVENT_POINTER_UP, this.onCropEnd);\n if (options.responsive) {\n removeListener(window, EVENT_RESIZE, this.onResize);\n }\n }\n };\n\n var handlers = {\n resize: function resize() {\n if (this.disabled) {\n return;\n }\n var options = this.options,\n container = this.container,\n containerData = this.containerData;\n var ratioX = container.offsetWidth / containerData.width;\n var ratioY = container.offsetHeight / containerData.height;\n var ratio = Math.abs(ratioX - 1) > Math.abs(ratioY - 1) ? ratioX : ratioY;\n\n // Resize when width changed or height changed\n if (ratio !== 1) {\n var canvasData;\n var cropBoxData;\n if (options.restore) {\n canvasData = this.getCanvasData();\n cropBoxData = this.getCropBoxData();\n }\n this.render();\n if (options.restore) {\n this.setCanvasData(forEach(canvasData, function (n, i) {\n canvasData[i] = n * ratio;\n }));\n this.setCropBoxData(forEach(cropBoxData, function (n, i) {\n cropBoxData[i] = n * ratio;\n }));\n }\n }\n },\n dblclick: function dblclick() {\n if (this.disabled || this.options.dragMode === DRAG_MODE_NONE) {\n return;\n }\n this.setDragMode(hasClass(this.dragBox, CLASS_CROP) ? DRAG_MODE_MOVE : DRAG_MODE_CROP);\n },\n wheel: function wheel(event) {\n var _this = this;\n var ratio = Number(this.options.wheelZoomRatio) || 0.1;\n var delta = 1;\n if (this.disabled) {\n return;\n }\n event.preventDefault();\n\n // Limit wheel speed to prevent zoom too fast (#21)\n if (this.wheeling) {\n return;\n }\n this.wheeling = true;\n setTimeout(function () {\n _this.wheeling = false;\n }, 50);\n if (event.deltaY) {\n delta = event.deltaY > 0 ? 1 : -1;\n } else if (event.wheelDelta) {\n delta = -event.wheelDelta / 120;\n } else if (event.detail) {\n delta = event.detail > 0 ? 1 : -1;\n }\n this.zoom(-delta * ratio, event);\n },\n cropStart: function cropStart(event) {\n var buttons = event.buttons,\n button = event.button;\n if (this.disabled\n\n // Handle mouse event and pointer event and ignore touch event\n || (event.type === 'mousedown' || event.type === 'pointerdown' && event.pointerType === 'mouse') && (\n // No primary button (Usually the left button)\n isNumber(buttons) && buttons !== 1 || isNumber(button) && button !== 0\n\n // Open context menu\n || event.ctrlKey)) {\n return;\n }\n var options = this.options,\n pointers = this.pointers;\n var action;\n if (event.changedTouches) {\n // Handle touch event\n forEach(event.changedTouches, function (touch) {\n pointers[touch.identifier] = getPointer(touch);\n });\n } else {\n // Handle mouse event and pointer event\n pointers[event.pointerId || 0] = getPointer(event);\n }\n if (Object.keys(pointers).length > 1 && options.zoomable && options.zoomOnTouch) {\n action = ACTION_ZOOM;\n } else {\n action = getData(event.target, DATA_ACTION);\n }\n if (!REGEXP_ACTIONS.test(action)) {\n return;\n }\n if (dispatchEvent(this.element, EVENT_CROP_START, {\n originalEvent: event,\n action: action\n }) === false) {\n return;\n }\n\n // This line is required for preventing page zooming in iOS browsers\n event.preventDefault();\n this.action = action;\n this.cropping = false;\n if (action === ACTION_CROP) {\n this.cropping = true;\n addClass(this.dragBox, CLASS_MODAL);\n }\n },\n cropMove: function cropMove(event) {\n var action = this.action;\n if (this.disabled || !action) {\n return;\n }\n var pointers = this.pointers;\n event.preventDefault();\n if (dispatchEvent(this.element, EVENT_CROP_MOVE, {\n originalEvent: event,\n action: action\n }) === false) {\n return;\n }\n if (event.changedTouches) {\n forEach(event.changedTouches, function (touch) {\n // The first parameter should not be undefined (#432)\n assign(pointers[touch.identifier] || {}, getPointer(touch, true));\n });\n } else {\n assign(pointers[event.pointerId || 0] || {}, getPointer(event, true));\n }\n this.change(event);\n },\n cropEnd: function cropEnd(event) {\n if (this.disabled) {\n return;\n }\n var action = this.action,\n pointers = this.pointers;\n if (event.changedTouches) {\n forEach(event.changedTouches, function (touch) {\n delete pointers[touch.identifier];\n });\n } else {\n delete pointers[event.pointerId || 0];\n }\n if (!action) {\n return;\n }\n event.preventDefault();\n if (!Object.keys(pointers).length) {\n this.action = '';\n }\n if (this.cropping) {\n this.cropping = false;\n toggleClass(this.dragBox, CLASS_MODAL, this.cropped && this.options.modal);\n }\n dispatchEvent(this.element, EVENT_CROP_END, {\n originalEvent: event,\n action: action\n });\n }\n };\n\n var change = {\n change: function change(event) {\n var options = this.options,\n canvasData = this.canvasData,\n containerData = this.containerData,\n cropBoxData = this.cropBoxData,\n pointers = this.pointers;\n var action = this.action;\n var aspectRatio = options.aspectRatio;\n var left = cropBoxData.left,\n top = cropBoxData.top,\n width = cropBoxData.width,\n height = cropBoxData.height;\n var right = left + width;\n var bottom = top + height;\n var minLeft = 0;\n var minTop = 0;\n var maxWidth = containerData.width;\n var maxHeight = containerData.height;\n var renderable = true;\n var offset;\n\n // Locking aspect ratio in \"free mode\" by holding shift key\n if (!aspectRatio && event.shiftKey) {\n aspectRatio = width && height ? width / height : 1;\n }\n if (this.limited) {\n minLeft = cropBoxData.minLeft;\n minTop = cropBoxData.minTop;\n maxWidth = minLeft + Math.min(containerData.width, canvasData.width, canvasData.left + canvasData.width);\n maxHeight = minTop + Math.min(containerData.height, canvasData.height, canvasData.top + canvasData.height);\n }\n var pointer = pointers[Object.keys(pointers)[0]];\n var range = {\n x: pointer.endX - pointer.startX,\n y: pointer.endY - pointer.startY\n };\n var check = function check(side) {\n switch (side) {\n case ACTION_EAST:\n if (right + range.x > maxWidth) {\n range.x = maxWidth - right;\n }\n break;\n case ACTION_WEST:\n if (left + range.x < minLeft) {\n range.x = minLeft - left;\n }\n break;\n case ACTION_NORTH:\n if (top + range.y < minTop) {\n range.y = minTop - top;\n }\n break;\n case ACTION_SOUTH:\n if (bottom + range.y > maxHeight) {\n range.y = maxHeight - bottom;\n }\n break;\n }\n };\n switch (action) {\n // Move crop box\n case ACTION_ALL:\n left += range.x;\n top += range.y;\n break;\n\n // Resize crop box\n case ACTION_EAST:\n if (range.x >= 0 && (right >= maxWidth || aspectRatio && (top <= minTop || bottom >= maxHeight))) {\n renderable = false;\n break;\n }\n check(ACTION_EAST);\n width += range.x;\n if (width < 0) {\n action = ACTION_WEST;\n width = -width;\n left -= width;\n }\n if (aspectRatio) {\n height = width / aspectRatio;\n top += (cropBoxData.height - height) / 2;\n }\n break;\n case ACTION_NORTH:\n if (range.y <= 0 && (top <= minTop || aspectRatio && (left <= minLeft || right >= maxWidth))) {\n renderable = false;\n break;\n }\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n if (height < 0) {\n action = ACTION_SOUTH;\n height = -height;\n top -= height;\n }\n if (aspectRatio) {\n width = height * aspectRatio;\n left += (cropBoxData.width - width) / 2;\n }\n break;\n case ACTION_WEST:\n if (range.x <= 0 && (left <= minLeft || aspectRatio && (top <= minTop || bottom >= maxHeight))) {\n renderable = false;\n break;\n }\n check(ACTION_WEST);\n width -= range.x;\n left += range.x;\n if (width < 0) {\n action = ACTION_EAST;\n width = -width;\n left -= width;\n }\n if (aspectRatio) {\n height = width / aspectRatio;\n top += (cropBoxData.height - height) / 2;\n }\n break;\n case ACTION_SOUTH:\n if (range.y >= 0 && (bottom >= maxHeight || aspectRatio && (left <= minLeft || right >= maxWidth))) {\n renderable = false;\n break;\n }\n check(ACTION_SOUTH);\n height += range.y;\n if (height < 0) {\n action = ACTION_NORTH;\n height = -height;\n top -= height;\n }\n if (aspectRatio) {\n width = height * aspectRatio;\n left += (cropBoxData.width - width) / 2;\n }\n break;\n case ACTION_NORTH_EAST:\n if (aspectRatio) {\n if (range.y <= 0 && (top <= minTop || right >= maxWidth)) {\n renderable = false;\n break;\n }\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n width = height * aspectRatio;\n } else {\n check(ACTION_NORTH);\n check(ACTION_EAST);\n if (range.x >= 0) {\n if (right < maxWidth) {\n width += range.x;\n } else if (range.y <= 0 && top <= minTop) {\n renderable = false;\n }\n } else {\n width += range.x;\n }\n if (range.y <= 0) {\n if (top > minTop) {\n height -= range.y;\n top += range.y;\n }\n } else {\n height -= range.y;\n top += range.y;\n }\n }\n if (width < 0 && height < 0) {\n action = ACTION_SOUTH_WEST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_NORTH_WEST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_SOUTH_EAST;\n height = -height;\n top -= height;\n }\n break;\n case ACTION_NORTH_WEST:\n if (aspectRatio) {\n if (range.y <= 0 && (top <= minTop || left <= minLeft)) {\n renderable = false;\n break;\n }\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n width = height * aspectRatio;\n left += cropBoxData.width - width;\n } else {\n check(ACTION_NORTH);\n check(ACTION_WEST);\n if (range.x <= 0) {\n if (left > minLeft) {\n width -= range.x;\n left += range.x;\n } else if (range.y <= 0 && top <= minTop) {\n renderable = false;\n }\n } else {\n width -= range.x;\n left += range.x;\n }\n if (range.y <= 0) {\n if (top > minTop) {\n height -= range.y;\n top += range.y;\n }\n } else {\n height -= range.y;\n top += range.y;\n }\n }\n if (width < 0 && height < 0) {\n action = ACTION_SOUTH_EAST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_NORTH_EAST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_SOUTH_WEST;\n height = -height;\n top -= height;\n }\n break;\n case ACTION_SOUTH_WEST:\n if (aspectRatio) {\n if (range.x <= 0 && (left <= minLeft || bottom >= maxHeight)) {\n renderable = false;\n break;\n }\n check(ACTION_WEST);\n width -= range.x;\n left += range.x;\n height = width / aspectRatio;\n } else {\n check(ACTION_SOUTH);\n check(ACTION_WEST);\n if (range.x <= 0) {\n if (left > minLeft) {\n width -= range.x;\n left += range.x;\n } else if (range.y >= 0 && bottom >= maxHeight) {\n renderable = false;\n }\n } else {\n width -= range.x;\n left += range.x;\n }\n if (range.y >= 0) {\n if (bottom < maxHeight) {\n height += range.y;\n }\n } else {\n height += range.y;\n }\n }\n if (width < 0 && height < 0) {\n action = ACTION_NORTH_EAST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_SOUTH_EAST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_NORTH_WEST;\n height = -height;\n top -= height;\n }\n break;\n case ACTION_SOUTH_EAST:\n if (aspectRatio) {\n if (range.x >= 0 && (right >= maxWidth || bottom >= maxHeight)) {\n renderable = false;\n break;\n }\n check(ACTION_EAST);\n width += range.x;\n height = width / aspectRatio;\n } else {\n check(ACTION_SOUTH);\n check(ACTION_EAST);\n if (range.x >= 0) {\n if (right < maxWidth) {\n width += range.x;\n } else if (range.y >= 0 && bottom >= maxHeight) {\n renderable = false;\n }\n } else {\n width += range.x;\n }\n if (range.y >= 0) {\n if (bottom < maxHeight) {\n height += range.y;\n }\n } else {\n height += range.y;\n }\n }\n if (width < 0 && height < 0) {\n action = ACTION_NORTH_WEST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_SOUTH_WEST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_NORTH_EAST;\n height = -height;\n top -= height;\n }\n break;\n\n // Move canvas\n case ACTION_MOVE:\n this.move(range.x, range.y);\n renderable = false;\n break;\n\n // Zoom canvas\n case ACTION_ZOOM:\n this.zoom(getMaxZoomRatio(pointers), event);\n renderable = false;\n break;\n\n // Create crop box\n case ACTION_CROP:\n if (!range.x || !range.y) {\n renderable = false;\n break;\n }\n offset = getOffset(this.cropper);\n left = pointer.startX - offset.left;\n top = pointer.startY - offset.top;\n width = cropBoxData.minWidth;\n height = cropBoxData.minHeight;\n if (range.x > 0) {\n action = range.y > 0 ? ACTION_SOUTH_EAST : ACTION_NORTH_EAST;\n } else if (range.x < 0) {\n left -= width;\n action = range.y > 0 ? ACTION_SOUTH_WEST : ACTION_NORTH_WEST;\n }\n if (range.y < 0) {\n top -= height;\n }\n\n // Show the crop box if is hidden\n if (!this.cropped) {\n removeClass(this.cropBox, CLASS_HIDDEN);\n this.cropped = true;\n if (this.limited) {\n this.limitCropBox(true, true);\n }\n }\n break;\n }\n if (renderable) {\n cropBoxData.width = width;\n cropBoxData.height = height;\n cropBoxData.left = left;\n cropBoxData.top = top;\n this.action = action;\n this.renderCropBox();\n }\n\n // Override\n forEach(pointers, function (p) {\n p.startX = p.endX;\n p.startY = p.endY;\n });\n }\n };\n\n var methods = {\n // Show the crop box manually\n crop: function crop() {\n if (this.ready && !this.cropped && !this.disabled) {\n this.cropped = true;\n this.limitCropBox(true, true);\n if (this.options.modal) {\n addClass(this.dragBox, CLASS_MODAL);\n }\n removeClass(this.cropBox, CLASS_HIDDEN);\n this.setCropBoxData(this.initialCropBoxData);\n }\n return this;\n },\n // Reset the image and crop box to their initial states\n reset: function reset() {\n if (this.ready && !this.disabled) {\n this.imageData = assign({}, this.initialImageData);\n this.canvasData = assign({}, this.initialCanvasData);\n this.cropBoxData = assign({}, this.initialCropBoxData);\n this.renderCanvas();\n if (this.cropped) {\n this.renderCropBox();\n }\n }\n return this;\n },\n // Clear the crop box\n clear: function clear() {\n if (this.cropped && !this.disabled) {\n assign(this.cropBoxData, {\n left: 0,\n top: 0,\n width: 0,\n height: 0\n });\n this.cropped = false;\n this.renderCropBox();\n this.limitCanvas(true, true);\n\n // Render canvas after crop box rendered\n this.renderCanvas();\n removeClass(this.dragBox, CLASS_MODAL);\n addClass(this.cropBox, CLASS_HIDDEN);\n }\n return this;\n },\n /**\n * Replace the image's src and rebuild the cropper\n * @param {string} url - The new URL.\n * @param {boolean} [hasSameSize] - Indicate if the new image has the same size as the old one.\n * @returns {Cropper} this\n */\n replace: function replace(url) {\n var hasSameSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (!this.disabled && url) {\n if (this.isImg) {\n this.element.src = url;\n }\n if (hasSameSize) {\n this.url = url;\n this.image.src = url;\n if (this.ready) {\n this.viewBoxImage.src = url;\n forEach(this.previews, function (element) {\n element.getElementsByTagName('img')[0].src = url;\n });\n }\n } else {\n if (this.isImg) {\n this.replaced = true;\n }\n this.options.data = null;\n this.uncreate();\n this.load(url);\n }\n }\n return this;\n },\n // Enable (unfreeze) the cropper\n enable: function enable() {\n if (this.ready && this.disabled) {\n this.disabled = false;\n removeClass(this.cropper, CLASS_DISABLED);\n }\n return this;\n },\n // Disable (freeze) the cropper\n disable: function disable() {\n if (this.ready && !this.disabled) {\n this.disabled = true;\n addClass(this.cropper, CLASS_DISABLED);\n }\n return this;\n },\n /**\n * Destroy the cropper and remove the instance from the image\n * @returns {Cropper} this\n */\n destroy: function destroy() {\n var element = this.element;\n if (!element[NAMESPACE]) {\n return this;\n }\n element[NAMESPACE] = undefined;\n if (this.isImg && this.replaced) {\n element.src = this.originalUrl;\n }\n this.uncreate();\n return this;\n },\n /**\n * Move the canvas with relative offsets\n * @param {number} offsetX - The relative offset distance on the x-axis.\n * @param {number} [offsetY=offsetX] - The relative offset distance on the y-axis.\n * @returns {Cropper} this\n */\n move: function move(offsetX) {\n var offsetY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : offsetX;\n var _this$canvasData = this.canvasData,\n left = _this$canvasData.left,\n top = _this$canvasData.top;\n return this.moveTo(isUndefined(offsetX) ? offsetX : left + Number(offsetX), isUndefined(offsetY) ? offsetY : top + Number(offsetY));\n },\n /**\n * Move the canvas to an absolute point\n * @param {number} x - The x-axis coordinate.\n * @param {number} [y=x] - The y-axis coordinate.\n * @returns {Cropper} this\n */\n moveTo: function moveTo(x) {\n var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : x;\n var canvasData = this.canvasData;\n var changed = false;\n x = Number(x);\n y = Number(y);\n if (this.ready && !this.disabled && this.options.movable) {\n if (isNumber(x)) {\n canvasData.left = x;\n changed = true;\n }\n if (isNumber(y)) {\n canvasData.top = y;\n changed = true;\n }\n if (changed) {\n this.renderCanvas(true);\n }\n }\n return this;\n },\n /**\n * Zoom the canvas with a relative ratio\n * @param {number} ratio - The target ratio.\n * @param {Event} _originalEvent - The original event if any.\n * @returns {Cropper} this\n */\n zoom: function zoom(ratio, _originalEvent) {\n var canvasData = this.canvasData;\n ratio = Number(ratio);\n if (ratio < 0) {\n ratio = 1 / (1 - ratio);\n } else {\n ratio = 1 + ratio;\n }\n return this.zoomTo(canvasData.width * ratio / canvasData.naturalWidth, null, _originalEvent);\n },\n /**\n * Zoom the canvas to an absolute ratio\n * @param {number} ratio - The target ratio.\n * @param {Object} pivot - The zoom pivot point coordinate.\n * @param {Event} _originalEvent - The original event if any.\n * @returns {Cropper} this\n */\n zoomTo: function zoomTo(ratio, pivot, _originalEvent) {\n var options = this.options,\n canvasData = this.canvasData;\n var width = canvasData.width,\n height = canvasData.height,\n naturalWidth = canvasData.naturalWidth,\n naturalHeight = canvasData.naturalHeight;\n ratio = Number(ratio);\n if (ratio >= 0 && this.ready && !this.disabled && options.zoomable) {\n var newWidth = naturalWidth * ratio;\n var newHeight = naturalHeight * ratio;\n if (dispatchEvent(this.element, EVENT_ZOOM, {\n ratio: ratio,\n oldRatio: width / naturalWidth,\n originalEvent: _originalEvent\n }) === false) {\n return this;\n }\n if (_originalEvent) {\n var pointers = this.pointers;\n var offset = getOffset(this.cropper);\n var center = pointers && Object.keys(pointers).length ? getPointersCenter(pointers) : {\n pageX: _originalEvent.pageX,\n pageY: _originalEvent.pageY\n };\n\n // Zoom from the triggering point of the event\n canvasData.left -= (newWidth - width) * ((center.pageX - offset.left - canvasData.left) / width);\n canvasData.top -= (newHeight - height) * ((center.pageY - offset.top - canvasData.top) / height);\n } else if (isPlainObject(pivot) && isNumber(pivot.x) && isNumber(pivot.y)) {\n canvasData.left -= (newWidth - width) * ((pivot.x - canvasData.left) / width);\n canvasData.top -= (newHeight - height) * ((pivot.y - canvasData.top) / height);\n } else {\n // Zoom from the center of the canvas\n canvasData.left -= (newWidth - width) / 2;\n canvasData.top -= (newHeight - height) / 2;\n }\n canvasData.width = newWidth;\n canvasData.height = newHeight;\n this.renderCanvas(true);\n }\n return this;\n },\n /**\n * Rotate the canvas with a relative degree\n * @param {number} degree - The rotate degree.\n * @returns {Cropper} this\n */\n rotate: function rotate(degree) {\n return this.rotateTo((this.imageData.rotate || 0) + Number(degree));\n },\n /**\n * Rotate the canvas to an absolute degree\n * @param {number} degree - The rotate degree.\n * @returns {Cropper} this\n */\n rotateTo: function rotateTo(degree) {\n degree = Number(degree);\n if (isNumber(degree) && this.ready && !this.disabled && this.options.rotatable) {\n this.imageData.rotate = degree % 360;\n this.renderCanvas(true, true);\n }\n return this;\n },\n /**\n * Scale the image on the x-axis.\n * @param {number} scaleX - The scale ratio on the x-axis.\n * @returns {Cropper} this\n */\n scaleX: function scaleX(_scaleX) {\n var scaleY = this.imageData.scaleY;\n return this.scale(_scaleX, isNumber(scaleY) ? scaleY : 1);\n },\n /**\n * Scale the image on the y-axis.\n * @param {number} scaleY - The scale ratio on the y-axis.\n * @returns {Cropper} this\n */\n scaleY: function scaleY(_scaleY) {\n var scaleX = this.imageData.scaleX;\n return this.scale(isNumber(scaleX) ? scaleX : 1, _scaleY);\n },\n /**\n * Scale the image\n * @param {number} scaleX - The scale ratio on the x-axis.\n * @param {number} [scaleY=scaleX] - The scale ratio on the y-axis.\n * @returns {Cropper} this\n */\n scale: function scale(scaleX) {\n var scaleY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : scaleX;\n var imageData = this.imageData;\n var transformed = false;\n scaleX = Number(scaleX);\n scaleY = Number(scaleY);\n if (this.ready && !this.disabled && this.options.scalable) {\n if (isNumber(scaleX)) {\n imageData.scaleX = scaleX;\n transformed = true;\n }\n if (isNumber(scaleY)) {\n imageData.scaleY = scaleY;\n transformed = true;\n }\n if (transformed) {\n this.renderCanvas(true, true);\n }\n }\n return this;\n },\n /**\n * Get the cropped area position and size data (base on the original image)\n * @param {boolean} [rounded=false] - Indicate if round the data values or not.\n * @returns {Object} The result cropped data.\n */\n getData: function getData() {\n var rounded = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var options = this.options,\n imageData = this.imageData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var data;\n if (this.ready && this.cropped) {\n data = {\n x: cropBoxData.left - canvasData.left,\n y: cropBoxData.top - canvasData.top,\n width: cropBoxData.width,\n height: cropBoxData.height\n };\n var ratio = imageData.width / imageData.naturalWidth;\n forEach(data, function (n, i) {\n data[i] = n / ratio;\n });\n if (rounded) {\n // In case rounding off leads to extra 1px in right or bottom border\n // we should round the top-left corner and the dimension (#343).\n var bottom = Math.round(data.y + data.height);\n var right = Math.round(data.x + data.width);\n data.x = Math.round(data.x);\n data.y = Math.round(data.y);\n data.width = right - data.x;\n data.height = bottom - data.y;\n }\n } else {\n data = {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n };\n }\n if (options.rotatable) {\n data.rotate = imageData.rotate || 0;\n }\n if (options.scalable) {\n data.scaleX = imageData.scaleX || 1;\n data.scaleY = imageData.scaleY || 1;\n }\n return data;\n },\n /**\n * Set the cropped area position and size with new data\n * @param {Object} data - The new data.\n * @returns {Cropper} this\n */\n setData: function setData(data) {\n var options = this.options,\n imageData = this.imageData,\n canvasData = this.canvasData;\n var cropBoxData = {};\n if (this.ready && !this.disabled && isPlainObject(data)) {\n var transformed = false;\n if (options.rotatable) {\n if (isNumber(data.rotate) && data.rotate !== imageData.rotate) {\n imageData.rotate = data.rotate;\n transformed = true;\n }\n }\n if (options.scalable) {\n if (isNumber(data.scaleX) && data.scaleX !== imageData.scaleX) {\n imageData.scaleX = data.scaleX;\n transformed = true;\n }\n if (isNumber(data.scaleY) && data.scaleY !== imageData.scaleY) {\n imageData.scaleY = data.scaleY;\n transformed = true;\n }\n }\n if (transformed) {\n this.renderCanvas(true, true);\n }\n var ratio = imageData.width / imageData.naturalWidth;\n if (isNumber(data.x)) {\n cropBoxData.left = data.x * ratio + canvasData.left;\n }\n if (isNumber(data.y)) {\n cropBoxData.top = data.y * ratio + canvasData.top;\n }\n if (isNumber(data.width)) {\n cropBoxData.width = data.width * ratio;\n }\n if (isNumber(data.height)) {\n cropBoxData.height = data.height * ratio;\n }\n this.setCropBoxData(cropBoxData);\n }\n return this;\n },\n /**\n * Get the container size data.\n * @returns {Object} The result container data.\n */\n getContainerData: function getContainerData() {\n return this.ready ? assign({}, this.containerData) : {};\n },\n /**\n * Get the image position and size data.\n * @returns {Object} The result image data.\n */\n getImageData: function getImageData() {\n return this.sized ? assign({}, this.imageData) : {};\n },\n /**\n * Get the canvas position and size data.\n * @returns {Object} The result canvas data.\n */\n getCanvasData: function getCanvasData() {\n var canvasData = this.canvasData;\n var data = {};\n if (this.ready) {\n forEach(['left', 'top', 'width', 'height', 'naturalWidth', 'naturalHeight'], function (n) {\n data[n] = canvasData[n];\n });\n }\n return data;\n },\n /**\n * Set the canvas position and size with new data.\n * @param {Object} data - The new canvas data.\n * @returns {Cropper} this\n */\n setCanvasData: function setCanvasData(data) {\n var canvasData = this.canvasData;\n var aspectRatio = canvasData.aspectRatio;\n if (this.ready && !this.disabled && isPlainObject(data)) {\n if (isNumber(data.left)) {\n canvasData.left = data.left;\n }\n if (isNumber(data.top)) {\n canvasData.top = data.top;\n }\n if (isNumber(data.width)) {\n canvasData.width = data.width;\n canvasData.height = data.width / aspectRatio;\n } else if (isNumber(data.height)) {\n canvasData.height = data.height;\n canvasData.width = data.height * aspectRatio;\n }\n this.renderCanvas(true);\n }\n return this;\n },\n /**\n * Get the crop box position and size data.\n * @returns {Object} The result crop box data.\n */\n getCropBoxData: function getCropBoxData() {\n var cropBoxData = this.cropBoxData;\n var data;\n if (this.ready && this.cropped) {\n data = {\n left: cropBoxData.left,\n top: cropBoxData.top,\n width: cropBoxData.width,\n height: cropBoxData.height\n };\n }\n return data || {};\n },\n /**\n * Set the crop box position and size with new data.\n * @param {Object} data - The new crop box data.\n * @returns {Cropper} this\n */\n setCropBoxData: function setCropBoxData(data) {\n var cropBoxData = this.cropBoxData;\n var aspectRatio = this.options.aspectRatio;\n var widthChanged;\n var heightChanged;\n if (this.ready && this.cropped && !this.disabled && isPlainObject(data)) {\n if (isNumber(data.left)) {\n cropBoxData.left = data.left;\n }\n if (isNumber(data.top)) {\n cropBoxData.top = data.top;\n }\n if (isNumber(data.width) && data.width !== cropBoxData.width) {\n widthChanged = true;\n cropBoxData.width = data.width;\n }\n if (isNumber(data.height) && data.height !== cropBoxData.height) {\n heightChanged = true;\n cropBoxData.height = data.height;\n }\n if (aspectRatio) {\n if (widthChanged) {\n cropBoxData.height = cropBoxData.width / aspectRatio;\n } else if (heightChanged) {\n cropBoxData.width = cropBoxData.height * aspectRatio;\n }\n }\n this.renderCropBox();\n }\n return this;\n },\n /**\n * Get a canvas drawn the cropped image.\n * @param {Object} [options={}] - The config options.\n * @returns {HTMLCanvasElement} - The result canvas.\n */\n getCroppedCanvas: function getCroppedCanvas() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!this.ready || !window.HTMLCanvasElement) {\n return null;\n }\n var canvasData = this.canvasData;\n var source = getSourceCanvas(this.image, this.imageData, canvasData, options);\n\n // Returns the source canvas if it is not cropped.\n if (!this.cropped) {\n return source;\n }\n var _this$getData = this.getData(),\n initialX = _this$getData.x,\n initialY = _this$getData.y,\n initialWidth = _this$getData.width,\n initialHeight = _this$getData.height;\n var ratio = source.width / Math.floor(canvasData.naturalWidth);\n if (ratio !== 1) {\n initialX *= ratio;\n initialY *= ratio;\n initialWidth *= ratio;\n initialHeight *= ratio;\n }\n var aspectRatio = initialWidth / initialHeight;\n var maxSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.maxWidth || Infinity,\n height: options.maxHeight || Infinity\n });\n var minSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.minWidth || 0,\n height: options.minHeight || 0\n }, 'cover');\n var _getAdjustedSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.width || (ratio !== 1 ? source.width : initialWidth),\n height: options.height || (ratio !== 1 ? source.height : initialHeight)\n }),\n width = _getAdjustedSizes.width,\n height = _getAdjustedSizes.height;\n width = Math.min(maxSizes.width, Math.max(minSizes.width, width));\n height = Math.min(maxSizes.height, Math.max(minSizes.height, height));\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n canvas.width = normalizeDecimalNumber(width);\n canvas.height = normalizeDecimalNumber(height);\n context.fillStyle = options.fillColor || 'transparent';\n context.fillRect(0, 0, width, height);\n var _options$imageSmoothi = options.imageSmoothingEnabled,\n imageSmoothingEnabled = _options$imageSmoothi === void 0 ? true : _options$imageSmoothi,\n imageSmoothingQuality = options.imageSmoothingQuality;\n context.imageSmoothingEnabled = imageSmoothingEnabled;\n if (imageSmoothingQuality) {\n context.imageSmoothingQuality = imageSmoothingQuality;\n }\n\n // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D.drawImage\n var sourceWidth = source.width;\n var sourceHeight = source.height;\n\n // Source canvas parameters\n var srcX = initialX;\n var srcY = initialY;\n var srcWidth;\n var srcHeight;\n\n // Destination canvas parameters\n var dstX;\n var dstY;\n var dstWidth;\n var dstHeight;\n if (srcX <= -initialWidth || srcX > sourceWidth) {\n srcX = 0;\n srcWidth = 0;\n dstX = 0;\n dstWidth = 0;\n } else if (srcX <= 0) {\n dstX = -srcX;\n srcX = 0;\n srcWidth = Math.min(sourceWidth, initialWidth + srcX);\n dstWidth = srcWidth;\n } else if (srcX <= sourceWidth) {\n dstX = 0;\n srcWidth = Math.min(initialWidth, sourceWidth - srcX);\n dstWidth = srcWidth;\n }\n if (srcWidth <= 0 || srcY <= -initialHeight || srcY > sourceHeight) {\n srcY = 0;\n srcHeight = 0;\n dstY = 0;\n dstHeight = 0;\n } else if (srcY <= 0) {\n dstY = -srcY;\n srcY = 0;\n srcHeight = Math.min(sourceHeight, initialHeight + srcY);\n dstHeight = srcHeight;\n } else if (srcY <= sourceHeight) {\n dstY = 0;\n srcHeight = Math.min(initialHeight, sourceHeight - srcY);\n dstHeight = srcHeight;\n }\n var params = [srcX, srcY, srcWidth, srcHeight];\n\n // Avoid \"IndexSizeError\"\n if (dstWidth > 0 && dstHeight > 0) {\n var scale = width / initialWidth;\n params.push(dstX * scale, dstY * scale, dstWidth * scale, dstHeight * scale);\n }\n\n // All the numerical parameters should be integer for `drawImage`\n // https://github.com/fengyuanchen/cropper/issues/476\n context.drawImage.apply(context, [source].concat(_toConsumableArray(params.map(function (param) {\n return Math.floor(normalizeDecimalNumber(param));\n }))));\n return canvas;\n },\n /**\n * Change the aspect ratio of the crop box.\n * @param {number} aspectRatio - The new aspect ratio.\n * @returns {Cropper} this\n */\n setAspectRatio: function setAspectRatio(aspectRatio) {\n var options = this.options;\n if (!this.disabled && !isUndefined(aspectRatio)) {\n // 0 -> NaN\n options.aspectRatio = Math.max(0, aspectRatio) || NaN;\n if (this.ready) {\n this.initCropBox();\n if (this.cropped) {\n this.renderCropBox();\n }\n }\n }\n return this;\n },\n /**\n * Change the drag mode.\n * @param {string} mode - The new drag mode.\n * @returns {Cropper} this\n */\n setDragMode: function setDragMode(mode) {\n var options = this.options,\n dragBox = this.dragBox,\n face = this.face;\n if (this.ready && !this.disabled) {\n var croppable = mode === DRAG_MODE_CROP;\n var movable = options.movable && mode === DRAG_MODE_MOVE;\n mode = croppable || movable ? mode : DRAG_MODE_NONE;\n options.dragMode = mode;\n setData(dragBox, DATA_ACTION, mode);\n toggleClass(dragBox, CLASS_CROP, croppable);\n toggleClass(dragBox, CLASS_MOVE, movable);\n if (!options.cropBoxMovable) {\n // Sync drag mode to crop box when it is not movable\n setData(face, DATA_ACTION, mode);\n toggleClass(face, CLASS_CROP, croppable);\n toggleClass(face, CLASS_MOVE, movable);\n }\n }\n return this;\n }\n };\n\n var AnotherCropper = WINDOW.Cropper;\n var Cropper = /*#__PURE__*/function () {\n /**\n * Create a new Cropper.\n * @param {Element} element - The target element for cropping.\n * @param {Object} [options={}] - The configuration options.\n */\n function Cropper(element) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Cropper);\n if (!element || !REGEXP_TAG_NAME.test(element.tagName)) {\n throw new Error('The first argument is required and must be an <img> or <canvas> element.');\n }\n this.element = element;\n this.options = assign({}, DEFAULTS, isPlainObject(options) && options);\n this.cropped = false;\n this.disabled = false;\n this.pointers = {};\n this.ready = false;\n this.reloading = false;\n this.replaced = false;\n this.sized = false;\n this.sizing = false;\n this.init();\n }\n _createClass(Cropper, [{\n key: \"init\",\n value: function init() {\n var element = this.element;\n var tagName = element.tagName.toLowerCase();\n var url;\n if (element[NAMESPACE]) {\n return;\n }\n element[NAMESPACE] = this;\n if (tagName === 'img') {\n this.isImg = true;\n\n // e.g.: \"img/picture.jpg\"\n url = element.getAttribute('src') || '';\n this.originalUrl = url;\n\n // Stop when it's a blank image\n if (!url) {\n return;\n }\n\n // e.g.: \"https://example.com/img/picture.jpg\"\n url = element.src;\n } else if (tagName === 'canvas' && window.HTMLCanvasElement) {\n url = element.toDataURL();\n }\n this.load(url);\n }\n }, {\n key: \"load\",\n value: function load(url) {\n var _this = this;\n if (!url) {\n return;\n }\n this.url = url;\n this.imageData = {};\n var element = this.element,\n options = this.options;\n if (!options.rotatable && !options.scalable) {\n options.checkOrientation = false;\n }\n\n // Only IE10+ supports Typed Arrays\n if (!options.checkOrientation || !window.ArrayBuffer) {\n this.clone();\n return;\n }\n\n // Detect the mime type of the image directly if it is a Data URL\n if (REGEXP_DATA_URL.test(url)) {\n // Read ArrayBuffer from Data URL of JPEG images directly for better performance\n if (REGEXP_DATA_URL_JPEG.test(url)) {\n this.read(dataURLToArrayBuffer(url));\n } else {\n // Only a JPEG image may contains Exif Orientation information,\n // the rest types of Data URLs are not necessary to check orientation at all.\n this.clone();\n }\n return;\n }\n\n // 1. Detect the mime type of the image by a XMLHttpRequest.\n // 2. Load the image as ArrayBuffer for reading orientation if its a JPEG image.\n var xhr = new XMLHttpRequest();\n var clone = this.clone.bind(this);\n this.reloading = true;\n this.xhr = xhr;\n\n // 1. Cross origin requests are only supported for protocol schemes:\n // http, https, data, chrome, chrome-extension.\n // 2. Access to XMLHttpRequest from a Data URL will be blocked by CORS policy\n // in some browsers as IE11 and Safari.\n xhr.onabort = clone;\n xhr.onerror = clone;\n xhr.ontimeout = clone;\n xhr.onprogress = function () {\n // Abort the request directly if it not a JPEG image for better performance\n if (xhr.getResponseHeader('content-type') !== MIME_TYPE_JPEG) {\n xhr.abort();\n }\n };\n xhr.onload = function () {\n _this.read(xhr.response);\n };\n xhr.onloadend = function () {\n _this.reloading = false;\n _this.xhr = null;\n };\n\n // Bust cache when there is a \"crossOrigin\" property to avoid browser cache error\n if (options.checkCrossOrigin && isCrossOriginURL(url) && element.crossOrigin) {\n url = addTimestamp(url);\n }\n\n // The third parameter is required for avoiding side-effect (#682)\n xhr.open('GET', url, true);\n xhr.responseType = 'arraybuffer';\n xhr.withCredentials = element.crossOrigin === 'use-credentials';\n xhr.send();\n }\n }, {\n key: \"read\",\n value: function read(arrayBuffer) {\n var options = this.options,\n imageData = this.imageData;\n\n // Reset the orientation value to its default value 1\n // as some iOS browsers will render image with its orientation\n var orientation = resetAndGetOrientation(arrayBuffer);\n var rotate = 0;\n var scaleX = 1;\n var scaleY = 1;\n if (orientation > 1) {\n // Generate a new URL which has the default orientation value\n this.url = arrayBufferToDataURL(arrayBuffer, MIME_TYPE_JPEG);\n var _parseOrientation = parseOrientation(orientation);\n rotate = _parseOrientation.rotate;\n scaleX = _parseOrientation.scaleX;\n scaleY = _parseOrientation.scaleY;\n }\n if (options.rotatable) {\n imageData.rotate = rotate;\n }\n if (options.scalable) {\n imageData.scaleX = scaleX;\n imageData.scaleY = scaleY;\n }\n this.clone();\n }\n }, {\n key: \"clone\",\n value: function clone() {\n var element = this.element,\n url = this.url;\n var crossOrigin = element.crossOrigin;\n var crossOriginUrl = url;\n if (this.options.checkCrossOrigin && isCrossOriginURL(url)) {\n if (!crossOrigin) {\n crossOrigin = 'anonymous';\n }\n\n // Bust cache when there is not a \"crossOrigin\" property (#519)\n crossOriginUrl = addTimestamp(url);\n }\n this.crossOrigin = crossOrigin;\n this.crossOriginUrl = crossOriginUrl;\n var image = document.createElement('img');\n if (crossOrigin) {\n image.crossOrigin = crossOrigin;\n }\n image.src = crossOriginUrl || url;\n image.alt = element.alt || 'The image to crop';\n this.image = image;\n image.onload = this.start.bind(this);\n image.onerror = this.stop.bind(this);\n addClass(image, CLASS_HIDE);\n element.parentNode.insertBefore(image, element.nextSibling);\n }\n }, {\n key: \"start\",\n value: function start() {\n var _this2 = this;\n var image = this.image;\n image.onload = null;\n image.onerror = null;\n this.sizing = true;\n\n // Match all browsers that use WebKit as the layout engine in iOS devices,\n // such as Safari for iOS, Chrome for iOS, and in-app browsers.\n var isIOSWebKit = WINDOW.navigator && /(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(WINDOW.navigator.userAgent);\n var done = function done(naturalWidth, naturalHeight) {\n assign(_this2.imageData, {\n naturalWidth: naturalWidth,\n naturalHeight: naturalHeight,\n aspectRatio: naturalWidth / naturalHeight\n });\n _this2.initialImageData = assign({}, _this2.imageData);\n _this2.sizing = false;\n _this2.sized = true;\n _this2.build();\n };\n\n // Most modern browsers (excepts iOS WebKit)\n if (image.naturalWidth && !isIOSWebKit) {\n done(image.naturalWidth, image.naturalHeight);\n return;\n }\n var sizingImage = document.createElement('img');\n var body = document.body || document.documentElement;\n this.sizingImage = sizingImage;\n sizingImage.onload = function () {\n done(sizingImage.width, sizingImage.height);\n if (!isIOSWebKit) {\n body.removeChild(sizingImage);\n }\n };\n sizingImage.src = image.src;\n\n // iOS WebKit will convert the image automatically\n // with its orientation once append it into DOM (#279)\n if (!isIOSWebKit) {\n sizingImage.style.cssText = 'left:0;' + 'max-height:none!important;' + 'max-width:none!important;' + 'min-height:0!important;' + 'min-width:0!important;' + 'opacity:0;' + 'position:absolute;' + 'top:0;' + 'z-index:-1;';\n body.appendChild(sizingImage);\n }\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var image = this.image;\n image.onload = null;\n image.onerror = null;\n image.parentNode.removeChild(image);\n this.image = null;\n }\n }, {\n key: \"build\",\n value: function build() {\n if (!this.sized || this.ready) {\n return;\n }\n var element = this.element,\n options = this.options,\n image = this.image;\n\n // Create cropper elements\n var container = element.parentNode;\n var template = document.createElement('div');\n template.innerHTML = TEMPLATE;\n var cropper = template.querySelector(\".\".concat(NAMESPACE, \"-container\"));\n var canvas = cropper.querySelector(\".\".concat(NAMESPACE, \"-canvas\"));\n var dragBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-drag-box\"));\n var cropBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-crop-box\"));\n var face = cropBox.querySelector(\".\".concat(NAMESPACE, \"-face\"));\n this.container = container;\n this.cropper = cropper;\n this.canvas = canvas;\n this.dragBox = dragBox;\n this.cropBox = cropBox;\n this.viewBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-view-box\"));\n this.face = face;\n canvas.appendChild(image);\n\n // Hide the original image\n addClass(element, CLASS_HIDDEN);\n\n // Inserts the cropper after to the current image\n container.insertBefore(cropper, element.nextSibling);\n\n // Show the hidden image\n removeClass(image, CLASS_HIDE);\n this.initPreview();\n this.bind();\n options.initialAspectRatio = Math.max(0, options.initialAspectRatio) || NaN;\n options.aspectRatio = Math.max(0, options.aspectRatio) || NaN;\n options.viewMode = Math.max(0, Math.min(3, Math.round(options.viewMode))) || 0;\n addClass(cropBox, CLASS_HIDDEN);\n if (!options.guides) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-dashed\")), CLASS_HIDDEN);\n }\n if (!options.center) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-center\")), CLASS_HIDDEN);\n }\n if (options.background) {\n addClass(cropper, \"\".concat(NAMESPACE, \"-bg\"));\n }\n if (!options.highlight) {\n addClass(face, CLASS_INVISIBLE);\n }\n if (options.cropBoxMovable) {\n addClass(face, CLASS_MOVE);\n setData(face, DATA_ACTION, ACTION_ALL);\n }\n if (!options.cropBoxResizable) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-line\")), CLASS_HIDDEN);\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-point\")), CLASS_HIDDEN);\n }\n this.render();\n this.ready = true;\n this.setDragMode(options.dragMode);\n if (options.autoCrop) {\n this.crop();\n }\n this.setData(options.data);\n if (isFunction(options.ready)) {\n addListener(element, EVENT_READY, options.ready, {\n once: true\n });\n }\n dispatchEvent(element, EVENT_READY);\n }\n }, {\n key: \"unbuild\",\n value: function unbuild() {\n if (!this.ready) {\n return;\n }\n this.ready = false;\n this.unbind();\n this.resetPreview();\n var parentNode = this.cropper.parentNode;\n if (parentNode) {\n parentNode.removeChild(this.cropper);\n }\n removeClass(this.element, CLASS_HIDDEN);\n }\n }, {\n key: \"uncreate\",\n value: function uncreate() {\n if (this.ready) {\n this.unbuild();\n this.ready = false;\n this.cropped = false;\n } else if (this.sizing) {\n this.sizingImage.onload = null;\n this.sizing = false;\n this.sized = false;\n } else if (this.reloading) {\n this.xhr.onabort = null;\n this.xhr.abort();\n } else if (this.image) {\n this.stop();\n }\n }\n\n /**\n * Get the no conflict cropper class.\n * @returns {Cropper} The cropper class.\n */\n }], [{\n key: \"noConflict\",\n value: function noConflict() {\n window.Cropper = AnotherCropper;\n return Cropper;\n }\n\n /**\n * Change the default options.\n * @param {Object} options - The new default options.\n */\n }, {\n key: \"setDefaults\",\n value: function setDefaults(options) {\n assign(DEFAULTS, isPlainObject(options) && options);\n }\n }]);\n return Cropper;\n }();\n assign(Cropper.prototype, render, preview, events, handlers, change, methods);\n\n return Cropper;\n\n}));\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC\", 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___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*!\\n * Cropper.js v1.5.13\\n * https://fengyuanchen.github.io/cropperjs\\n *\\n * Copyright 2015-present Chen Fengyuan\\n * Released under the MIT license\\n *\\n * Date: 2022-11-20T05:30:43.444Z\\n */\\n\\n.cropper-container {\\n direction: ltr;\\n font-size: 0;\\n line-height: 0;\\n position: relative;\\n -ms-touch-action: none;\\n touch-action: none;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n}\\n\\n.cropper-container img {\\n -webkit-backface-visibility: hidden;\\n backface-visibility: hidden;\\n display: block;\\n height: 100%;\\n image-orientation: 0deg;\\n max-height: none !important;\\n max-width: none !important;\\n min-height: 0 !important;\\n min-width: 0 !important;\\n width: 100%;\\n }\\n\\n.cropper-wrap-box,\\n.cropper-canvas,\\n.cropper-drag-box,\\n.cropper-crop-box,\\n.cropper-modal {\\n bottom: 0;\\n left: 0;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.cropper-wrap-box,\\n.cropper-canvas {\\n overflow: hidden;\\n}\\n\\n.cropper-drag-box {\\n background-color: #fff;\\n opacity: 0;\\n}\\n\\n.cropper-modal {\\n background-color: #000;\\n opacity: 0.5;\\n}\\n\\n.cropper-view-box {\\n display: block;\\n height: 100%;\\n outline: 1px solid #39f;\\n outline-color: rgba(51, 153, 255, 75%);\\n overflow: hidden;\\n width: 100%;\\n}\\n\\n.cropper-dashed {\\n border: 0 dashed #eee;\\n display: block;\\n opacity: 0.5;\\n position: absolute;\\n}\\n\\n.cropper-dashed.dashed-h {\\n border-bottom-width: 1px;\\n border-top-width: 1px;\\n height: calc(100% / 3);\\n left: 0;\\n top: calc(100% / 3);\\n width: 100%;\\n }\\n\\n.cropper-dashed.dashed-v {\\n border-left-width: 1px;\\n border-right-width: 1px;\\n height: 100%;\\n left: calc(100% / 3);\\n top: 0;\\n width: calc(100% / 3);\\n }\\n\\n.cropper-center {\\n display: block;\\n height: 0;\\n left: 50%;\\n opacity: 0.75;\\n position: absolute;\\n top: 50%;\\n width: 0;\\n}\\n\\n.cropper-center::before,\\n .cropper-center::after {\\n background-color: #eee;\\n content: \\\" \\\";\\n display: block;\\n position: absolute;\\n }\\n\\n.cropper-center::before {\\n height: 1px;\\n left: -3px;\\n top: 0;\\n width: 7px;\\n }\\n\\n.cropper-center::after {\\n height: 7px;\\n left: 0;\\n top: -3px;\\n width: 1px;\\n }\\n\\n.cropper-face,\\n.cropper-line,\\n.cropper-point {\\n display: block;\\n height: 100%;\\n opacity: 0.1;\\n position: absolute;\\n width: 100%;\\n}\\n\\n.cropper-face {\\n background-color: #fff;\\n left: 0;\\n top: 0;\\n}\\n\\n.cropper-line {\\n background-color: #39f;\\n}\\n\\n.cropper-line.line-e {\\n cursor: ew-resize;\\n right: -3px;\\n top: 0;\\n width: 5px;\\n }\\n\\n.cropper-line.line-n {\\n cursor: ns-resize;\\n height: 5px;\\n left: 0;\\n top: -3px;\\n }\\n\\n.cropper-line.line-w {\\n cursor: ew-resize;\\n left: -3px;\\n top: 0;\\n width: 5px;\\n }\\n\\n.cropper-line.line-s {\\n bottom: -3px;\\n cursor: ns-resize;\\n height: 5px;\\n left: 0;\\n }\\n\\n.cropper-point {\\n background-color: #39f;\\n height: 5px;\\n opacity: 0.75;\\n width: 5px;\\n}\\n\\n.cropper-point.point-e {\\n cursor: ew-resize;\\n margin-top: -3px;\\n right: -3px;\\n top: 50%;\\n }\\n\\n.cropper-point.point-n {\\n cursor: ns-resize;\\n left: 50%;\\n margin-left: -3px;\\n top: -3px;\\n }\\n\\n.cropper-point.point-w {\\n cursor: ew-resize;\\n left: -3px;\\n margin-top: -3px;\\n top: 50%;\\n }\\n\\n.cropper-point.point-s {\\n bottom: -3px;\\n cursor: s-resize;\\n left: 50%;\\n margin-left: -3px;\\n }\\n\\n.cropper-point.point-ne {\\n cursor: nesw-resize;\\n right: -3px;\\n top: -3px;\\n }\\n\\n.cropper-point.point-nw {\\n cursor: nwse-resize;\\n left: -3px;\\n top: -3px;\\n }\\n\\n.cropper-point.point-sw {\\n bottom: -3px;\\n cursor: nesw-resize;\\n left: -3px;\\n }\\n\\n.cropper-point.point-se {\\n bottom: -3px;\\n cursor: nwse-resize;\\n height: 20px;\\n opacity: 1;\\n right: -3px;\\n width: 20px;\\n }\\n\\n@media (min-width: 768px) {\\n\\n.cropper-point.point-se {\\n height: 15px;\\n width: 15px;\\n }\\n }\\n\\n@media (min-width: 992px) {\\n\\n.cropper-point.point-se {\\n height: 10px;\\n width: 10px;\\n }\\n }\\n\\n@media (min-width: 1200px) {\\n\\n.cropper-point.point-se {\\n height: 5px;\\n opacity: 0.75;\\n width: 5px;\\n }\\n }\\n\\n.cropper-point.point-se::before {\\n background-color: #39f;\\n bottom: -50%;\\n content: \\\" \\\";\\n display: block;\\n height: 200%;\\n opacity: 0;\\n position: absolute;\\n right: -50%;\\n width: 200%;\\n }\\n\\n.cropper-invisible {\\n opacity: 0;\\n}\\n\\n.cropper-bg {\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n}\\n\\n.cropper-hide {\\n display: block;\\n height: 0;\\n position: absolute;\\n width: 0;\\n}\\n\\n.cropper-hidden {\\n display: none !important;\\n}\\n\\n.cropper-move {\\n cursor: move;\\n}\\n\\n.cropper-crop {\\n cursor: crosshair;\\n}\\n\\n.cropper-disabled .cropper-drag-box,\\n.cropper-disabled .cropper-face,\\n.cropper-disabled .cropper-line,\\n.cropper-disabled .cropper-point {\\n cursor: not-allowed;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/cropperjs/dist/cropper.css\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"/*!\\n * Cropper.js v1.5.13\\n * https://fengyuanchen.github.io/cropperjs\\n *\\n * Copyright 2015-present Chen Fengyuan\\n * Released under the MIT license\\n *\\n * Date: 2022-11-20T05:30:43.444Z\\n */\\n\\n.cropper-container {\\n direction: ltr;\\n font-size: 0;\\n line-height: 0;\\n position: relative;\\n -ms-touch-action: none;\\n touch-action: none;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n}\\n\\n.cropper-container img {\\n -webkit-backface-visibility: hidden;\\n backface-visibility: hidden;\\n display: block;\\n height: 100%;\\n image-orientation: 0deg;\\n max-height: none !important;\\n max-width: none !important;\\n min-height: 0 !important;\\n min-width: 0 !important;\\n width: 100%;\\n }\\n\\n.cropper-wrap-box,\\n.cropper-canvas,\\n.cropper-drag-box,\\n.cropper-crop-box,\\n.cropper-modal {\\n bottom: 0;\\n left: 0;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.cropper-wrap-box,\\n.cropper-canvas {\\n overflow: hidden;\\n}\\n\\n.cropper-drag-box {\\n background-color: #fff;\\n opacity: 0;\\n}\\n\\n.cropper-modal {\\n background-color: #000;\\n opacity: 0.5;\\n}\\n\\n.cropper-view-box {\\n display: block;\\n height: 100%;\\n outline: 1px solid #39f;\\n outline-color: rgba(51, 153, 255, 75%);\\n overflow: hidden;\\n width: 100%;\\n}\\n\\n.cropper-dashed {\\n border: 0 dashed #eee;\\n display: block;\\n opacity: 0.5;\\n position: absolute;\\n}\\n\\n.cropper-dashed.dashed-h {\\n border-bottom-width: 1px;\\n border-top-width: 1px;\\n height: calc(100% / 3);\\n left: 0;\\n top: calc(100% / 3);\\n width: 100%;\\n }\\n\\n.cropper-dashed.dashed-v {\\n border-left-width: 1px;\\n border-right-width: 1px;\\n height: 100%;\\n left: calc(100% / 3);\\n top: 0;\\n width: calc(100% / 3);\\n }\\n\\n.cropper-center {\\n display: block;\\n height: 0;\\n left: 50%;\\n opacity: 0.75;\\n position: absolute;\\n top: 50%;\\n width: 0;\\n}\\n\\n.cropper-center::before,\\n .cropper-center::after {\\n background-color: #eee;\\n content: \\\" \\\";\\n display: block;\\n position: absolute;\\n }\\n\\n.cropper-center::before {\\n height: 1px;\\n left: -3px;\\n top: 0;\\n width: 7px;\\n }\\n\\n.cropper-center::after {\\n height: 7px;\\n left: 0;\\n top: -3px;\\n width: 1px;\\n }\\n\\n.cropper-face,\\n.cropper-line,\\n.cropper-point {\\n display: block;\\n height: 100%;\\n opacity: 0.1;\\n position: absolute;\\n width: 100%;\\n}\\n\\n.cropper-face {\\n background-color: #fff;\\n left: 0;\\n top: 0;\\n}\\n\\n.cropper-line {\\n background-color: #39f;\\n}\\n\\n.cropper-line.line-e {\\n cursor: ew-resize;\\n right: -3px;\\n top: 0;\\n width: 5px;\\n }\\n\\n.cropper-line.line-n {\\n cursor: ns-resize;\\n height: 5px;\\n left: 0;\\n top: -3px;\\n }\\n\\n.cropper-line.line-w {\\n cursor: ew-resize;\\n left: -3px;\\n top: 0;\\n width: 5px;\\n }\\n\\n.cropper-line.line-s {\\n bottom: -3px;\\n cursor: ns-resize;\\n height: 5px;\\n left: 0;\\n }\\n\\n.cropper-point {\\n background-color: #39f;\\n height: 5px;\\n opacity: 0.75;\\n width: 5px;\\n}\\n\\n.cropper-point.point-e {\\n cursor: ew-resize;\\n margin-top: -3px;\\n right: -3px;\\n top: 50%;\\n }\\n\\n.cropper-point.point-n {\\n cursor: ns-resize;\\n left: 50%;\\n margin-left: -3px;\\n top: -3px;\\n }\\n\\n.cropper-point.point-w {\\n cursor: ew-resize;\\n left: -3px;\\n margin-top: -3px;\\n top: 50%;\\n }\\n\\n.cropper-point.point-s {\\n bottom: -3px;\\n cursor: s-resize;\\n left: 50%;\\n margin-left: -3px;\\n }\\n\\n.cropper-point.point-ne {\\n cursor: nesw-resize;\\n right: -3px;\\n top: -3px;\\n }\\n\\n.cropper-point.point-nw {\\n cursor: nwse-resize;\\n left: -3px;\\n top: -3px;\\n }\\n\\n.cropper-point.point-sw {\\n bottom: -3px;\\n cursor: nesw-resize;\\n left: -3px;\\n }\\n\\n.cropper-point.point-se {\\n bottom: -3px;\\n cursor: nwse-resize;\\n height: 20px;\\n opacity: 1;\\n right: -3px;\\n width: 20px;\\n }\\n\\n@media (min-width: 768px) {\\n\\n.cropper-point.point-se {\\n height: 15px;\\n width: 15px;\\n }\\n }\\n\\n@media (min-width: 992px) {\\n\\n.cropper-point.point-se {\\n height: 10px;\\n width: 10px;\\n }\\n }\\n\\n@media (min-width: 1200px) {\\n\\n.cropper-point.point-se {\\n height: 5px;\\n opacity: 0.75;\\n width: 5px;\\n }\\n }\\n\\n.cropper-point.point-se::before {\\n background-color: #39f;\\n bottom: -50%;\\n content: \\\" \\\";\\n display: block;\\n height: 200%;\\n opacity: 0;\\n position: absolute;\\n right: -50%;\\n width: 200%;\\n }\\n\\n.cropper-invisible {\\n opacity: 0;\\n}\\n\\n.cropper-bg {\\n background-image: url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC\\\");\\n}\\n\\n.cropper-hide {\\n display: block;\\n height: 0;\\n position: absolute;\\n width: 0;\\n}\\n\\n.cropper-hidden {\\n display: none !important;\\n}\\n\\n.cropper-move {\\n cursor: move;\\n}\\n\\n.cropper-crop {\\n cursor: crosshair;\\n}\\n\\n.cropper-disabled .cropper-drag-box,\\n.cropper-disabled .cropper-face,\\n.cropper-disabled .cropper-line,\\n.cropper-disabled .cropper-point {\\n cursor: not-allowed;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"section[data-v-cd78cbb2]{grid-row:1/3}.avatar__container[data-v-cd78cbb2]{margin:0 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px 0;width:min(100%,300px)}.avatar__container span[data-v-cd78cbb2]{color:var(--color-text-lighter)}.avatar__preview[data-v-cd78cbb2]{display:flex;justify-content:center;align-items:center;width:180px;height:180px}.avatar__buttons[data-v-cd78cbb2]{display:flex;gap:0 10px}.avatar__cropper[data-v-cd78cbb2]{width:300px;height:300px;overflow:hidden}.avatar__cropper-buttons[data-v-cd78cbb2]{width:100%;display:flex;justify-content:space-between}.avatar__cropper[data-v-cd78cbb2] .cropper-view-box{border-radius:50%}input[type=file][data-v-cd78cbb2]{display:none}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/AvatarSection.vue\"],\"names\":[],\"mappings\":\"AACA,yBACC,YAAA,CAGA,oCACC,aAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,kBAAA,CACA,UAAA,CACA,qBAAA,CAEA,yCACC,+BAAA,CAIF,kCACC,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,WAAA,CACA,YAAA,CAGD,kCACC,YAAA,CACA,UAAA,CAGD,kCACC,WAAA,CACA,YAAA,CACA,eAAA,CAEA,0CACC,UAAA,CACA,YAAA,CACA,6BAAA,CAGD,oDACC,iBAAA,CAKH,kCACC,YAAA\",\"sourcesContent\":[\"\\nsection {\\n\\tgrid-row: 1/3;\\n}\\n.avatar {\\n\\t&__container {\\n\\t\\tmargin: 0 auto;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\talign-items: center;\\n\\t\\tgap: 16px 0;\\n\\t\\twidth: min(100%, 300px);\\n\\n\\t\\tspan {\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t}\\n\\t}\\n\\n\\t&__preview {\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: center;\\n\\t\\talign-items: center;\\n\\t\\twidth: 180px;\\n\\t\\theight: 180px;\\n\\t}\\n\\n\\t&__buttons {\\n\\t\\tdisplay: flex;\\n\\t\\tgap: 0 10px;\\n\\t}\\n\\n\\t&__cropper {\\n\\t\\twidth: 300px;\\n\\t\\theight: 300px;\\n\\t\\toverflow: hidden;\\n\\n\\t\\t&-buttons {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tjustify-content: space-between;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .cropper-view-box {\\n\\t\\t\\tborder-radius: 50%;\\n\\t\\t}\\n\\t}\\n}\\n\\ninput[type=\\\"file\\\"] {\\n\\tdisplay: none;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".details[data-v-f432848e]{display:flex;flex-direction:column;margin:10px 32px 10px 0;gap:16px 0;color:var(--color-text-lighter)}.details__groups[data-v-f432848e],.details__quota[data-v-f432848e]{display:flex;gap:0 10px}.details__groups-info[data-v-f432848e],.details__quota-info[data-v-f432848e]{display:flex;flex-direction:column;width:100%;gap:4px 0}.details__groups-list[data-v-f432848e],.details__quota-list[data-v-f432848e]{font-weight:bold}.details__groups[data-v-f432848e] .material-design-icon,.details__quota[data-v-f432848e] .material-design-icon{align-self:flex-start;margin-top:2px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/DetailsSection.vue\"],\"names\":[],\"mappings\":\"AACA,0BACC,YAAA,CACA,qBAAA,CACA,uBAAA,CACA,UAAA,CACA,+BAAA,CAEA,mEAEC,YAAA,CACA,UAAA,CAEA,6EACC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,SAAA,CAGD,6EACC,gBAAA,CAGD,+GACC,qBAAA,CACA,cAAA\",\"sourcesContent\":[\"\\n.details {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tmargin: 10px 32px 10px 0;\\n\\tgap: 16px 0;\\n\\tcolor: var(--color-text-lighter);\\n\\n\\t&__groups,\\n\\t&__quota {\\n\\t\\tdisplay: flex;\\n\\t\\tgap: 0 10px;\\n\\n\\t\\t&-info {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tgap: 4px 0;\\n\\t\\t}\\n\\n\\t\\t&-list {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\talign-self: flex-start;\\n\\t\\t\\tmargin-top: 2px;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".email[data-v-01402aef]{display:grid;align-items:center}.email input[data-v-01402aef]{grid-area:1/1;width:100%}.email .email__actions-container[data-v-01402aef]{grid-area:1/1;justify-self:flex-end;height:30px;display:flex;gap:0 2px;margin-right:5px}.email .email__actions-container .email__actions[data-v-01402aef]:hover,.email .email__actions-container .email__actions[data-v-01402aef]:focus,.email .email__actions-container .email__actions[data-v-01402aef]:active{opacity:.8 !important}.email .email__actions-container .email__actions[data-v-01402aef] button{height:30px !important;min-height:30px !important;width:30px !important;min-width:30px !important}.email__helper-text-message[data-v-01402aef]{padding:4px 0;display:flex;align-items:center}.email__helper-text-message__icon[data-v-01402aef]{margin-right:8px;align-self:start;margin-top:4px}.email__helper-text-message--error[data-v-01402aef]{color:var(--color-error)}.fade-enter[data-v-01402aef],.fade-leave-to[data-v-01402aef]{opacity:0}.fade-enter-active[data-v-01402aef]{transition:opacity 200ms ease-out}.fade-leave-active[data-v-01402aef]{transition:opacity 300ms ease-out}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/EmailSection/Email.vue\"],\"names\":[],\"mappings\":\"AACA,wBACC,YAAA,CACA,kBAAA,CAEA,8BACC,aAAA,CACA,UAAA,CAGD,kDACC,aAAA,CACA,qBAAA,CACA,WAAA,CAEA,YAAA,CACA,SAAA,CACA,gBAAA,CAGC,yNAGC,qBAAA,CAGD,yEACC,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA,CAKH,6CACC,aAAA,CACA,YAAA,CACA,kBAAA,CAEA,mDACC,gBAAA,CACA,gBAAA,CACA,cAAA,CAGD,oDACC,wBAAA,CAKH,6DAEC,SAAA,CAGD,oCACC,iCAAA,CAGD,oCACC,iCAAA\",\"sourcesContent\":[\"\\n.email {\\n\\tdisplay: grid;\\n\\talign-items: center;\\n\\n\\tinput {\\n\\t\\tgrid-area: 1 / 1;\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t.email__actions-container {\\n\\t\\tgrid-area: 1 / 1;\\n\\t\\tjustify-self: flex-end;\\n\\t\\theight: 30px;\\n\\n\\t\\tdisplay: flex;\\n\\t\\tgap: 0 2px;\\n\\t\\tmargin-right: 5px;\\n\\n\\t\\t.email__actions {\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\topacity: 0.8 !important;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&::v-deep button {\\n\\t\\t\\t\\theight: 30px !important;\\n\\t\\t\\t\\tmin-height: 30px !important;\\n\\t\\t\\t\\twidth: 30px !important;\\n\\t\\t\\t\\tmin-width: 30px !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__helper-text-message {\\n\\t\\tpadding: 4px 0;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\n\\t\\t&__icon {\\n\\t\\t\\tmargin-right: 8px;\\n\\t\\t\\talign-self: start;\\n\\t\\t\\tmargin-top: 4px;\\n\\t\\t}\\n\\n\\t\\t&--error {\\n\\t\\t\\tcolor: var(--color-error);\\n\\t\\t}\\n\\t}\\n}\\n\\n.fade-enter,\\n.fade-leave-to {\\n\\topacity: 0;\\n}\\n\\n.fade-enter-active {\\n\\ttransition: opacity 200ms ease-out;\\n}\\n\\n.fade-leave-active {\\n\\ttransition: opacity 300ms ease-out;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"section[data-v-b17ef20e]{padding:10px 10px}section[data-v-b17ef20e] button:disabled{cursor:default}section .additional-emails-label[data-v-b17ef20e]{display:block;margin-top:16px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue\"],\"names\":[],\"mappings\":\"AACA,yBACC,iBAAA,CAEA,yCACC,cAAA,CAGD,kDACC,aAAA,CACA,eAAA\",\"sourcesContent\":[\"\\nsection {\\n\\tpadding: 10px 10px;\\n\\n\\t&::v-deep button:disabled {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.additional-emails-label {\\n\\t\\tdisplay: block;\\n\\t\\tmargin-top: 16px;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".language[data-v-f4e20d10]{display:grid}.language select[data-v-f4e20d10]{width:100%}.language a[data-v-f4e20d10]{color:var(--color-main-text);text-decoration:none;width:max-content}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue\"],\"names\":[],\"mappings\":\"AACA,2BACC,YAAA,CAEA,kCACC,UAAA,CAGD,6BACC,4BAAA,CACA,oBAAA,CACA,iBAAA\",\"sourcesContent\":[\"\\n.language {\\n\\tdisplay: grid;\\n\\n\\tselect {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\ta {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\ttext-decoration: none;\\n\\t\\twidth: max-content;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"section[data-v-92685b76]{padding:10px 10px}section[data-v-92685b76] button:disabled{cursor:default}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue\"],\"names\":[],\"mappings\":\"AACA,yBACC,iBAAA,CAEA,yCACC,cAAA\",\"sourcesContent\":[\"\\nsection {\\n\\tpadding: 10px 10px;\\n\\n\\t&::v-deep button:disabled {\\n\\t\\tcursor: default;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".locale[data-v-9c4afa34]{display:grid}.locale select[data-v-9c4afa34]{width:100%}.example[data-v-9c4afa34]{margin:10px 0;display:flex;gap:0 10px;color:var(--color-text-lighter)}.example[data-v-9c4afa34] .material-design-icon{align-self:flex-start;margin-top:2px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue\"],\"names\":[],\"mappings\":\"AACA,yBACC,YAAA,CAEA,gCACC,UAAA,CAIF,0BACC,aAAA,CACA,YAAA,CACA,UAAA,CACA,+BAAA,CAEA,gDACC,qBAAA,CACA,cAAA\",\"sourcesContent\":[\"\\n.locale {\\n\\tdisplay: grid;\\n\\n\\tselect {\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\\n.example {\\n\\tmargin: 10px 0;\\n\\tdisplay: flex;\\n\\tgap: 0 10px;\\n\\tcolor: var(--color-text-lighter);\\n\\n\\t&::v-deep .material-design-icon {\\n\\t\\talign-self: flex-start;\\n\\t\\tmargin-top: 2px;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"section[data-v-84fca724]{padding:10px 10px}section[data-v-84fca724] button:disabled{cursor:default}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue\"],\"names\":[],\"mappings\":\"AACA,yBACC,iBAAA,CAEA,yCACC,cAAA\",\"sourcesContent\":[\"\\nsection {\\n\\tpadding: 10px 10px;\\n\\n\\t&::v-deep button:disabled {\\n\\t\\tcursor: default;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"html{scroll-behavior:smooth}@media screen and (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue\"],\"names\":[],\"mappings\":\"AACA,KACC,sBAAA,CAEA,mDAHD,KAIE,oBAAA,CAAA\",\"sourcesContent\":[\"\\nhtml {\\n\\tscroll-behavior: smooth;\\n\\n\\t@media screen and (prefers-reduced-motion: reduce) {\\n\\t\\tscroll-behavior: auto;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"a[data-v-23992b06]{display:block;height:44px;width:min(100%,290px);overflow:hidden;text-overflow:ellipsis;line-height:44px;padding:0 16px;margin:14px auto;border-radius:var(--border-radius-pill);color:var(--color-text-maxcontrast);background-color:rgba(0,0,0,0)}a .anchor-icon[data-v-23992b06]{display:inline-block;vertical-align:middle;margin-top:6px;margin-right:8px}a[data-v-23992b06]:hover,a[data-v-23992b06]:focus,a[data-v-23992b06]:active{color:var(--color-main-text);background-color:var(--color-background-dark)}a.disabled[data-v-23992b06]{pointer-events:none}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue\"],\"names\":[],\"mappings\":\"AACA,mBACC,aAAA,CACA,WAAA,CACA,qBAAA,CACA,eAAA,CACA,sBAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CACA,uCAAA,CACA,mCAAA,CACA,8BAAA,CAEA,gCACC,oBAAA,CACA,qBAAA,CACA,cAAA,CACA,gBAAA,CAGD,4EAGC,4BAAA,CACA,6CAAA,CAGD,4BACC,mBAAA\",\"sourcesContent\":[\"\\na {\\n\\tdisplay: block;\\n\\theight: 44px;\\n\\twidth: min(100%, 290px);\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n\\tline-height: 44px;\\n\\tpadding: 0 16px;\\n\\tmargin: 14px auto;\\n\\tborder-radius: var(--border-radius-pill);\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tbackground-color: transparent;\\n\\n\\t.anchor-icon {\\n\\t\\tdisplay: inline-block;\\n\\t\\tvertical-align: middle;\\n\\t\\tmargin-top: 6px;\\n\\t\\tmargin-right: 8px;\\n\\t}\\n\\n\\t&:hover,\\n\\t&:focus,\\n\\t&:active {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&.disabled {\\n\\t\\tpointer-events: none;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".preview-card[data-v-3375e082]{display:flex;flex-direction:column;position:relative;width:min(100%,290px);height:116px;margin:14px auto;border-radius:var(--border-radius-large);background-color:var(--color-main-background);font-weight:bold;box-shadow:0 2px 9px var(--color-box-shadow)}.preview-card[data-v-3375e082]:hover,.preview-card[data-v-3375e082]:focus,.preview-card[data-v-3375e082]:active{box-shadow:0 2px 12px var(--color-box-shadow)}.preview-card[data-v-3375e082]:focus-visible{outline:var(--color-main-text) solid 1px;outline-offset:3px}.preview-card.disabled[data-v-3375e082]{filter:grayscale(1);opacity:.5;cursor:default;box-shadow:0 0 3px var(--color-box-shadow)}.preview-card.disabled *[data-v-3375e082],.preview-card.disabled[data-v-3375e082] *{cursor:default}.preview-card__avatar[data-v-3375e082]{position:absolute !important;top:40px;left:18px;z-index:1}.preview-card__avatar[data-v-3375e082]:not(.avatardiv--unknown){box-shadow:0 0 0 3px var(--color-main-background) !important}.preview-card__header[data-v-3375e082],.preview-card__footer[data-v-3375e082]{position:relative;width:auto}.preview-card__header span[data-v-3375e082],.preview-card__footer span[data-v-3375e082]{position:absolute;left:78px;overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere}@supports(-webkit-line-clamp: 2){.preview-card__header span[data-v-3375e082],.preview-card__footer span[data-v-3375e082]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.preview-card__header[data-v-3375e082]{height:70px;border-radius:var(--border-radius-large) var(--border-radius-large) 0 0;background-color:var(--color-primary-element);background-image:var(--gradient-primary-background)}.preview-card__header span[data-v-3375e082]{bottom:0;color:var(--color-primary-element-text);font-size:18px;font-weight:bold;margin:0 4px 8px 0}.preview-card__footer[data-v-3375e082]{height:46px}.preview-card__footer span[data-v-3375e082]{top:0;color:var(--color-text-maxcontrast);font-size:14px;font-weight:normal;margin:4px 4px 0 0;line-height:1.3}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue\"],\"names\":[],\"mappings\":\"AACA,+BACC,YAAA,CACA,qBAAA,CACA,iBAAA,CACA,qBAAA,CACA,YAAA,CACA,gBAAA,CACA,wCAAA,CACA,6CAAA,CACA,gBAAA,CACA,4CAAA,CAEA,gHAGC,6CAAA,CAGD,6CACC,wCAAA,CACA,kBAAA,CAGD,wCACC,mBAAA,CACA,UAAA,CACA,cAAA,CACA,0CAAA,CAEA,oFAEC,cAAA,CAIF,uCAEC,4BAAA,CACA,QAAA,CACA,SAAA,CACA,SAAA,CAEA,gEACC,4DAAA,CAIF,8EAEC,iBAAA,CACA,UAAA,CAEA,wFACC,iBAAA,CACA,SAAA,CACA,eAAA,CACA,sBAAA,CACA,sBAAA,CAEA,iCAPD,wFAQE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,uCACC,WAAA,CACA,uEAAA,CACA,6CAAA,CACA,mDAAA,CAEA,4CACC,QAAA,CACA,uCAAA,CACA,cAAA,CACA,gBAAA,CACA,kBAAA,CAIF,uCACC,WAAA,CAEA,4CACC,KAAA,CACA,mCAAA,CACA,cAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA\",\"sourcesContent\":[\"\\n.preview-card {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tposition: relative;\\n\\twidth: min(100%, 290px);\\n\\theight: 116px;\\n\\tmargin: 14px auto;\\n\\tborder-radius: var(--border-radius-large);\\n\\tbackground-color: var(--color-main-background);\\n\\tfont-weight: bold;\\n\\tbox-shadow: 0 2px 9px var(--color-box-shadow);\\n\\n\\t&:hover,\\n\\t&:focus,\\n\\t&:active {\\n\\t\\tbox-shadow: 0 2px 12px var(--color-box-shadow);\\n\\t}\\n\\n\\t&:focus-visible {\\n\\t\\toutline: var(--color-main-text) solid 1px;\\n\\t\\toutline-offset: 3px;\\n\\t}\\n\\n\\t&.disabled {\\n\\t\\tfilter: grayscale(1);\\n\\t\\topacity: 0.5;\\n\\t\\tcursor: default;\\n\\t\\tbox-shadow: 0 0 3px var(--color-box-shadow);\\n\\n\\t\\t& *,\\n\\t\\t&::v-deep * {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\t}\\n\\n\\t&__avatar {\\n\\t\\t// Override Avatar component position to fix positioning on rerender\\n\\t\\tposition: absolute !important;\\n\\t\\ttop: 40px;\\n\\t\\tleft: 18px;\\n\\t\\tz-index: 1;\\n\\n\\t\\t&:not(.avatardiv--unknown) {\\n\\t\\t\\tbox-shadow: 0 0 0 3px var(--color-main-background) !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&__header,\\n\\t&__footer {\\n\\t\\tposition: relative;\\n\\t\\twidth: auto;\\n\\n\\t\\tspan {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tleft: 78px;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow-wrap: anywhere;\\n\\n\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__header {\\n\\t\\theight: 70px;\\n\\t\\tborder-radius: var(--border-radius-large) var(--border-radius-large) 0 0;\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\tbackground-image: var(--gradient-primary-background);\\n\\n\\t\\tspan {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tcolor: var(--color-primary-element-text);\\n\\t\\t\\tfont-size: 18px;\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tmargin: 0 4px 8px 0;\\n\\t\\t}\\n\\t}\\n\\n\\t&__footer {\\n\\t\\theight: 46px;\\n\\n\\t\\tspan {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\tfont-size: 14px;\\n\\t\\t\\tfont-weight: normal;\\n\\t\\t\\tmargin: 4px 4px 0 0;\\n\\t\\t\\tline-height: 1.3;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"section[data-v-cf64d964]{padding:10px 10px}section[data-v-cf64d964] button:disabled{cursor:default}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue\"],\"names\":[],\"mappings\":\"AACA,yBACC,iBAAA,CAEA,yCACC,cAAA\",\"sourcesContent\":[\"\\nsection {\\n\\tpadding: 10px 10px;\\n\\n\\t&::v-deep button:disabled {\\n\\t\\tcursor: default;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"section[data-v-199109a6]{padding:30px;max-width:900px;width:100%}section em[data-v-199109a6]{display:block;margin:16px 0}section em.disabled[data-v-199109a6]{filter:grayscale(1);opacity:.5;cursor:default;pointer-events:none}section em.disabled *[data-v-199109a6],section em.disabled[data-v-199109a6] *{cursor:default;pointer-events:none}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue\"],\"names\":[],\"mappings\":\"AACA,yBACC,YAAA,CACA,eAAA,CACA,UAAA,CAEA,4BACC,aAAA,CACA,aAAA,CAEA,qCACC,mBAAA,CACA,UAAA,CACA,cAAA,CACA,mBAAA,CAEA,8EAEC,cAAA,CACA,mBAAA\",\"sourcesContent\":[\"\\nsection {\\n\\tpadding: 30px;\\n\\tmax-width: 900px;\\n\\twidth: 100%;\\n\\n\\tem {\\n\\t\\tdisplay: block;\\n\\t\\tmargin: 16px 0;\\n\\n\\t\\t&.disabled {\\n\\t\\t\\tfilter: grayscale(1);\\n\\t\\t\\topacity: 0.5;\\n\\t\\t\\tcursor: default;\\n\\t\\t\\tpointer-events: none;\\n\\n\\t\\t\\t& *,\\n\\t\\t\\t&::v-deep * {\\n\\t\\t\\t\\tcursor: default;\\n\\t\\t\\t\\tpointer-events: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".visibility-container[data-v-c7ec7e16]{display:flex;flex-wrap:wrap}.visibility-container.disabled[data-v-c7ec7e16]{filter:grayscale(1);opacity:.5;cursor:default;pointer-events:none}.visibility-container.disabled *[data-v-c7ec7e16],.visibility-container.disabled[data-v-c7ec7e16] *{cursor:default;pointer-events:none}.visibility-container label[data-v-c7ec7e16]{color:var(--color-text-lighter);width:150px;line-height:50px}.visibility-container__select[data-v-c7ec7e16]{width:270px;max-width:40vw}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue\"],\"names\":[],\"mappings\":\"AACA,uCACC,YAAA,CACA,cAAA,CAEA,gDACC,mBAAA,CACA,UAAA,CACA,cAAA,CACA,mBAAA,CAEA,oGAEC,cAAA,CACA,mBAAA,CAIF,6CACC,+BAAA,CACA,WAAA,CACA,gBAAA,CAGD,+CACC,WAAA,CACA,cAAA\",\"sourcesContent\":[\"\\n.visibility-container {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\n\\t&.disabled {\\n\\t\\tfilter: grayscale(1);\\n\\t\\topacity: 0.5;\\n\\t\\tcursor: default;\\n\\t\\tpointer-events: none;\\n\\n\\t\\t& *,\\n\\t\\t&::v-deep * {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\tpointer-events: none;\\n\\t\\t}\\n\\t}\\n\\n\\tlabel {\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\twidth: 150px;\\n\\t\\tline-height: 50px;\\n\\t}\\n\\n\\t&__select {\\n\\t\\twidth: 270px;\\n\\t\\tmax-width: 40vw;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"section[data-v-45da213c]{padding:10px 10px}section[data-v-45da213c] button:disabled{cursor:default}section .property[data-v-45da213c]{display:grid;align-items:center}section .property textarea[data-v-45da213c]{resize:vertical;grid-area:1/1;width:100%}section .property input[data-v-45da213c]{grid-area:1/1;width:100%}section .property .property__actions-container[data-v-45da213c]{grid-area:1/1;justify-self:flex-end;align-self:flex-end;height:30px;display:flex;gap:0 2px;margin-right:5px;margin-bottom:5px}section .property__helper-text-message[data-v-45da213c]{padding:4px 0;display:flex;align-items:center}section .property__helper-text-message__icon[data-v-45da213c]{margin-right:8px;align-self:start;margin-top:4px}section .property__helper-text-message--error[data-v-45da213c]{color:var(--color-error)}section .fade-enter[data-v-45da213c],section .fade-leave-to[data-v-45da213c]{opacity:0}section .fade-enter-active[data-v-45da213c]{transition:opacity 200ms ease-out}section .fade-leave-active[data-v-45da213c]{transition:opacity 300ms ease-out}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue\"],\"names\":[],\"mappings\":\"AACA,yBACC,iBAAA,CAEA,yCACC,cAAA,CAGD,mCACC,YAAA,CACA,kBAAA,CAEA,4CACC,eAAA,CACA,aAAA,CACA,UAAA,CAGD,yCACC,aAAA,CACA,UAAA,CAGD,gEACC,aAAA,CACA,qBAAA,CACA,mBAAA,CACA,WAAA,CAEA,YAAA,CACA,SAAA,CACA,gBAAA,CACA,iBAAA,CAIF,wDACC,aAAA,CACA,YAAA,CACA,kBAAA,CAEA,8DACC,gBAAA,CACA,gBAAA,CACA,cAAA,CAGD,+DACC,wBAAA,CAIF,6EAEC,SAAA,CAGD,4CACC,iCAAA,CAGD,4CACC,iCAAA\",\"sourcesContent\":[\"\\nsection {\\n\\tpadding: 10px 10px;\\n\\n\\t&::v-deep button:disabled {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.property {\\n\\t\\tdisplay: grid;\\n\\t\\talign-items: center;\\n\\n\\t\\ttextarea {\\n\\t\\t\\tresize: vertical;\\n\\t\\t\\tgrid-area: 1 / 1;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\tinput {\\n\\t\\t\\tgrid-area: 1 / 1;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t.property__actions-container {\\n\\t\\t\\tgrid-area: 1 / 1;\\n\\t\\t\\tjustify-self: flex-end;\\n\\t\\t\\talign-self: flex-end;\\n\\t\\t\\theight: 30px;\\n\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tgap: 0 2px;\\n\\t\\t\\tmargin-right: 5px;\\n\\t\\t\\tmargin-bottom: 5px;\\n\\t\\t}\\n\\t}\\n\\n\\t.property__helper-text-message {\\n\\t\\tpadding: 4px 0;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\n\\t\\t&__icon {\\n\\t\\t\\tmargin-right: 8px;\\n\\t\\t\\talign-self: start;\\n\\t\\t\\tmargin-top: 4px;\\n\\t\\t}\\n\\n\\t\\t&--error {\\n\\t\\t\\tcolor: var(--color-error);\\n\\t\\t}\\n\\t}\\n\\n\\t.fade-enter,\\n\\t.fade-leave-to {\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t.fade-enter-active {\\n\\t\\ttransition: opacity 200ms ease-out;\\n\\t}\\n\\n\\t.fade-leave-active {\\n\\t\\ttransition: opacity 300ms ease-out;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".federation-actions--additional[data-v-bce2fdec] button{padding-bottom:7px;height:30px !important;min-height:30px !important;width:30px !important;min-width:30px !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/shared/FederationControl.vue\"],\"names\":[],\"mappings\":\"AAEC,wDAEC,kBAAA,CACA,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA\",\"sourcesContent\":[\"\\n.federation-actions--additional {\\n\\t&::v-deep button {\\n\\t\\t// TODO remove this hack\\n\\t\\tpadding-bottom: 7px;\\n\\t\\theight: 30px !important;\\n\\t\\tmin-height: 30px !important;\\n\\t\\twidth: 30px !important;\\n\\t\\tmin-width: 30px !important;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".federation-actions__btn[data-v-4fc9bff1] p{width:150px !important;padding:8px 0 !important;color:var(--color-main-text) !important;font-size:12.8px !important;line-height:1.5em !important}.federation-actions__btn--active[data-v-4fc9bff1]{background-color:var(--color-primary-element-light) !important;box-shadow:inset 2px 0 var(--color-primary-element) !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue\"],\"names\":[],\"mappings\":\"AAEC,4CACC,sBAAA,CACA,wBAAA,CACA,uCAAA,CACA,2BAAA,CACA,4BAAA,CAIF,kDACC,8DAAA,CACA,8DAAA\",\"sourcesContent\":[\"\\n.federation-actions__btn {\\n\\t&::v-deep p {\\n\\t\\twidth: 150px !important;\\n\\t\\tpadding: 8px 0 !important;\\n\\t\\tcolor: var(--color-main-text) !important;\\n\\t\\tfont-size: 12.8px !important;\\n\\t\\tline-height: 1.5em !important;\\n\\t}\\n}\\n\\n.federation-actions__btn--active {\\n\\tbackground-color: var(--color-primary-element-light) !important;\\n\\tbox-shadow: inset 2px 0 var(--color-primary-element) !important;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".headerbar-label[data-v-117e8ad0]{font-weight:normal;display:inline-flex;width:100%;margin:12px 0 0 0;gap:8px;align-items:center;font-size:16px;color:var(--color-text-light)}.headerbar-label.profile-property[data-v-117e8ad0]{height:38px}.headerbar-label.setting-property[data-v-117e8ad0]{height:44px}.headerbar-label label[data-v-117e8ad0]{cursor:pointer}.federation-control[data-v-117e8ad0]{margin:0}.button-vue[data-v-117e8ad0]{margin:0 0 0 auto !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue\"],\"names\":[],\"mappings\":\"AACA,kCACC,kBAAA,CACA,mBAAA,CACA,UAAA,CACA,iBAAA,CACA,OAAA,CACA,kBAAA,CACA,cAAA,CACA,6BAAA,CAEA,mDACC,WAAA,CAGD,mDACC,WAAA,CAGD,wCACC,cAAA,CAIF,qCACC,QAAA,CAGD,6BACC,4BAAA\",\"sourcesContent\":[\"\\n.headerbar-label {\\n\\tfont-weight: normal;\\n\\tdisplay: inline-flex;\\n\\twidth: 100%;\\n\\tmargin: 12px 0 0 0;\\n\\tgap: 8px;\\n\\talign-items: center;\\n\\tfont-size: 16px;\\n\\tcolor: var(--color-text-light);\\n\\n\\t&.profile-property {\\n\\t\\theight: 38px;\\n\\t}\\n\\n\\t&.setting-property {\\n\\t\\theight: 44px;\\n\\t}\\n\\n\\tlabel {\\n\\t\\tcursor: pointer;\\n\\t}\\n}\\n\\n.federation-control {\\n\\tmargin: 0;\\n}\\n\\n.button-vue {\\n\\tmargin: 0 0 0 auto !important;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var map = {\n\t\"./af\": 42786,\n\t\"./af.js\": 42786,\n\t\"./ar\": 30867,\n\t\"./ar-dz\": 14130,\n\t\"./ar-dz.js\": 14130,\n\t\"./ar-kw\": 96135,\n\t\"./ar-kw.js\": 96135,\n\t\"./ar-ly\": 56440,\n\t\"./ar-ly.js\": 56440,\n\t\"./ar-ma\": 47702,\n\t\"./ar-ma.js\": 47702,\n\t\"./ar-sa\": 16040,\n\t\"./ar-sa.js\": 16040,\n\t\"./ar-tn\": 37100,\n\t\"./ar-tn.js\": 37100,\n\t\"./ar.js\": 30867,\n\t\"./az\": 31083,\n\t\"./az.js\": 31083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 68338,\n\t\"./bg.js\": 68338,\n\t\"./bm\": 67438,\n\t\"./bm.js\": 67438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 76225,\n\t\"./bn-bd.js\": 76225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 11560,\n\t\"./bo.js\": 11560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 80622,\n\t\"./bs.js\": 80622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 50877,\n\t\"./cv.js\": 50877,\n\t\"./cy\": 47373,\n\t\"./cy.js\": 47373,\n\t\"./da\": 24780,\n\t\"./da.js\": 24780,\n\t\"./de\": 59740,\n\t\"./de-at\": 60217,\n\t\"./de-at.js\": 60217,\n\t\"./de-ch\": 60894,\n\t\"./de-ch.js\": 60894,\n\t\"./de.js\": 59740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 50837,\n\t\"./el.js\": 50837,\n\t\"./en-au\": 78348,\n\t\"./en-au.js\": 78348,\n\t\"./en-ca\": 77925,\n\t\"./en-ca.js\": 77925,\n\t\"./en-gb\": 22243,\n\t\"./en-gb.js\": 22243,\n\t\"./en-ie\": 46436,\n\t\"./en-ie.js\": 46436,\n\t\"./en-il\": 47207,\n\t\"./en-il.js\": 47207,\n\t\"./en-in\": 44175,\n\t\"./en-in.js\": 44175,\n\t\"./en-nz\": 76319,\n\t\"./en-nz.js\": 76319,\n\t\"./en-sg\": 31662,\n\t\"./en-sg.js\": 31662,\n\t\"./eo\": 92915,\n\t\"./eo.js\": 92915,\n\t\"./es\": 55655,\n\t\"./es-do\": 55251,\n\t\"./es-do.js\": 55251,\n\t\"./es-mx\": 96112,\n\t\"./es-mx.js\": 96112,\n\t\"./es-us\": 71146,\n\t\"./es-us.js\": 71146,\n\t\"./es.js\": 55655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 77763,\n\t\"./eu.js\": 77763,\n\t\"./fa\": 76959,\n\t\"./fa.js\": 76959,\n\t\"./fi\": 11897,\n\t\"./fi.js\": 11897,\n\t\"./fil\": 42549,\n\t\"./fil.js\": 42549,\n\t\"./fo\": 94694,\n\t\"./fo.js\": 94694,\n\t\"./fr\": 94470,\n\t\"./fr-ca\": 63049,\n\t\"./fr-ca.js\": 63049,\n\t\"./fr-ch\": 52330,\n\t\"./fr-ch.js\": 52330,\n\t\"./fr.js\": 94470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 29295,\n\t\"./ga.js\": 29295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 38794,\n\t\"./gl.js\": 38794,\n\t\"./gom-deva\": 27884,\n\t\"./gom-deva.js\": 27884,\n\t\"./gom-latn\": 23168,\n\t\"./gom-latn.js\": 23168,\n\t\"./gu\": 95349,\n\t\"./gu.js\": 95349,\n\t\"./he\": 24206,\n\t\"./he.js\": 24206,\n\t\"./hi\": 30094,\n\t\"./hi.js\": 30094,\n\t\"./hr\": 30316,\n\t\"./hr.js\": 30316,\n\t\"./hu\": 22138,\n\t\"./hu.js\": 22138,\n\t\"./hy-am\": 11423,\n\t\"./hy-am.js\": 11423,\n\t\"./id\": 29218,\n\t\"./id.js\": 29218,\n\t\"./is\": 90135,\n\t\"./is.js\": 90135,\n\t\"./it\": 90626,\n\t\"./it-ch\": 10150,\n\t\"./it-ch.js\": 10150,\n\t\"./it.js\": 90626,\n\t\"./ja\": 39183,\n\t\"./ja.js\": 39183,\n\t\"./jv\": 24286,\n\t\"./jv.js\": 24286,\n\t\"./ka\": 12105,\n\t\"./ka.js\": 12105,\n\t\"./kk\": 47772,\n\t\"./kk.js\": 47772,\n\t\"./km\": 18758,\n\t\"./km.js\": 18758,\n\t\"./kn\": 79282,\n\t\"./kn.js\": 79282,\n\t\"./ko\": 33730,\n\t\"./ko.js\": 33730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 33291,\n\t\"./ky.js\": 33291,\n\t\"./lb\": 36841,\n\t\"./lb.js\": 36841,\n\t\"./lo\": 55466,\n\t\"./lo.js\": 55466,\n\t\"./lt\": 57010,\n\t\"./lt.js\": 57010,\n\t\"./lv\": 37595,\n\t\"./lv.js\": 37595,\n\t\"./me\": 39861,\n\t\"./me.js\": 39861,\n\t\"./mi\": 35493,\n\t\"./mi.js\": 35493,\n\t\"./mk\": 95966,\n\t\"./mk.js\": 95966,\n\t\"./ml\": 87341,\n\t\"./ml.js\": 87341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 10370,\n\t\"./mr.js\": 10370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 41237,\n\t\"./ms-my.js\": 41237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 72126,\n\t\"./mt.js\": 72126,\n\t\"./my\": 56165,\n\t\"./my.js\": 56165,\n\t\"./nb\": 64924,\n\t\"./nb.js\": 64924,\n\t\"./ne\": 16744,\n\t\"./ne.js\": 16744,\n\t\"./nl\": 93901,\n\t\"./nl-be\": 59814,\n\t\"./nl-be.js\": 59814,\n\t\"./nl.js\": 93901,\n\t\"./nn\": 83877,\n\t\"./nn.js\": 83877,\n\t\"./oc-lnc\": 92135,\n\t\"./oc-lnc.js\": 92135,\n\t\"./pa-in\": 15858,\n\t\"./pa-in.js\": 15858,\n\t\"./pl\": 64495,\n\t\"./pl.js\": 64495,\n\t\"./pt\": 89520,\n\t\"./pt-br\": 57971,\n\t\"./pt-br.js\": 57971,\n\t\"./pt.js\": 89520,\n\t\"./ro\": 96459,\n\t\"./ro.js\": 96459,\n\t\"./ru\": 21793,\n\t\"./ru.js\": 21793,\n\t\"./sd\": 40950,\n\t\"./sd.js\": 40950,\n\t\"./se\": 10490,\n\t\"./se.js\": 10490,\n\t\"./si\": 90124,\n\t\"./si.js\": 90124,\n\t\"./sk\": 64249,\n\t\"./sk.js\": 64249,\n\t\"./sl\": 14985,\n\t\"./sl.js\": 14985,\n\t\"./sq\": 51104,\n\t\"./sq.js\": 51104,\n\t\"./sr\": 49131,\n\t\"./sr-cyrl\": 79915,\n\t\"./sr-cyrl.js\": 79915,\n\t\"./sr.js\": 49131,\n\t\"./ss\": 85893,\n\t\"./ss.js\": 85893,\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760,\n\t\"./sw\": 91172,\n\t\"./sw.js\": 91172,\n\t\"./ta\": 27333,\n\t\"./ta.js\": 27333,\n\t\"./te\": 23110,\n\t\"./te.js\": 23110,\n\t\"./tet\": 52095,\n\t\"./tet.js\": 52095,\n\t\"./tg\": 27321,\n\t\"./tg.js\": 27321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 19005,\n\t\"./tk.js\": 19005,\n\t\"./tl-ph\": 75768,\n\t\"./tl-ph.js\": 75768,\n\t\"./tlh\": 89444,\n\t\"./tlh.js\": 89444,\n\t\"./tr\": 72397,\n\t\"./tr.js\": 72397,\n\t\"./tzl\": 28254,\n\t\"./tzl.js\": 28254,\n\t\"./tzm\": 51106,\n\t\"./tzm-latn\": 30699,\n\t\"./tzm-latn.js\": 30699,\n\t\"./tzm.js\": 51106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 67691,\n\t\"./uk.js\": 67691,\n\t\"./ur\": 13795,\n\t\"./ur.js\": 13795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 60588,\n\t\"./uz-latn.js\": 60588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 65666,\n\t\"./vi.js\": 65666,\n\t\"./x-pseudo\": 14378,\n\t\"./x-pseudo.js\": 14378,\n\t\"./yo\": 75805,\n\t\"./yo.js\": 75805,\n\t\"./zh-cn\": 83839,\n\t\"./zh-cn.js\": 83839,\n\t\"./zh-hk\": 55726,\n\t\"./zh-hk.js\": 55726,\n\t\"./zh-mo\": 99807,\n\t\"./zh-mo.js\": 99807,\n\t\"./zh-tw\": 74152,\n\t\"./zh-tw.js\": 74152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _cropperjs = require('cropperjs');\n\nvar _cropperjs2 = _interopRequireDefault(_cropperjs);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar previewPropType = typeof window === 'undefined' ? [String, Array] : [String, Array, Element, NodeList];\n\nexports.default = {\n render: function render(h) {\n var crossorigin = this.crossorigin || undefined;\n\n return h('div', { style: this.containerStyle }, [h('img', {\n ref: 'img',\n attrs: {\n src: this.src,\n alt: this.alt || 'image',\n style: 'max-width: 100%',\n crossorigin: crossorigin\n },\n on: this.$listeners,\n style: this.imgStyle\n })]);\n },\n\n props: {\n containerStyle: Object,\n src: {\n type: String,\n default: ''\n },\n alt: String,\n imgStyle: Object,\n\n viewMode: Number,\n dragMode: String,\n initialAspectRatio: Number,\n aspectRatio: Number,\n data: Object,\n preview: previewPropType,\n responsive: {\n type: Boolean,\n default: true\n },\n restore: {\n type: Boolean,\n default: true\n },\n checkCrossOrigin: {\n type: Boolean,\n default: true\n },\n checkOrientation: {\n type: Boolean,\n default: true\n },\n crossorigin: {\n type: String\n },\n modal: {\n type: Boolean,\n default: true\n },\n guides: {\n type: Boolean,\n default: true\n },\n center: {\n type: Boolean,\n default: true\n },\n highlight: {\n type: Boolean,\n default: true\n },\n background: {\n type: Boolean,\n default: true\n },\n autoCrop: {\n type: Boolean,\n default: true\n },\n autoCropArea: Number,\n movable: {\n type: Boolean,\n default: true\n },\n rotatable: {\n type: Boolean,\n default: true\n },\n scalable: {\n type: Boolean,\n default: true\n },\n zoomable: {\n type: Boolean,\n default: true\n },\n zoomOnTouch: {\n type: Boolean,\n default: true\n },\n zoomOnWheel: {\n type: Boolean,\n default: true\n },\n wheelZoomRatio: Number,\n cropBoxMovable: {\n type: Boolean,\n default: true\n },\n cropBoxResizable: {\n type: Boolean,\n default: true\n },\n toggleDragModeOnDblclick: {\n type: Boolean,\n default: true\n },\n\n minCanvasWidth: Number,\n minCanvasHeight: Number,\n minCropBoxWidth: Number,\n minCropBoxHeight: Number,\n minContainerWidth: Number,\n minContainerHeight: Number,\n\n ready: Function,\n cropstart: Function,\n cropmove: Function,\n cropend: Function,\n crop: Function,\n zoom: Function\n },\n mounted: function mounted() {\n var _$options$props = this.$options.props,\n containerStyle = _$options$props.containerStyle,\n src = _$options$props.src,\n alt = _$options$props.alt,\n imgStyle = _$options$props.imgStyle,\n data = _objectWithoutProperties(_$options$props, ['containerStyle', 'src', 'alt', 'imgStyle']);\n\n var props = {};\n\n for (var key in data) {\n if (this[key] !== undefined) {\n props[key] = this[key];\n }\n }\n\n this.cropper = new _cropperjs2.default(this.$refs.img, props);\n },\n\n methods: {\n reset: function reset() {\n return this.cropper.reset();\n },\n clear: function clear() {\n return this.cropper.clear();\n },\n initCrop: function initCrop() {\n return this.cropper.crop();\n },\n replace: function replace(url) {\n var onlyColorChanged = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n return this.cropper.replace(url, onlyColorChanged);\n },\n enable: function enable() {\n return this.cropper.enable();\n },\n disable: function disable() {\n return this.cropper.disable();\n },\n destroy: function destroy() {\n return this.cropper.destroy();\n },\n move: function move(offsetX, offsetY) {\n return this.cropper.move(offsetX, offsetY);\n },\n moveTo: function moveTo(x) {\n var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : x;\n\n return this.cropper.moveTo(x, y);\n },\n relativeZoom: function relativeZoom(ratio, _originalEvent) {\n return this.cropper.zoom(ratio, _originalEvent);\n },\n zoomTo: function zoomTo(ratio, _originalEvent) {\n return this.cropper.zoomTo(ratio, _originalEvent);\n },\n rotate: function rotate(degree) {\n return this.cropper.rotate(degree);\n },\n rotateTo: function rotateTo(degree) {\n return this.cropper.rotateTo(degree);\n },\n scaleX: function scaleX(_scaleX) {\n return this.cropper.scaleX(_scaleX);\n },\n scaleY: function scaleY(_scaleY) {\n return this.cropper.scaleY(_scaleY);\n },\n scale: function scale(scaleX) {\n var scaleY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : scaleX;\n\n return this.cropper.scale(scaleX, scaleY);\n },\n getData: function getData() {\n var rounded = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n return this.cropper.getData(rounded);\n },\n setData: function setData(data) {\n return this.cropper.setData(data);\n },\n getContainerData: function getContainerData() {\n return this.cropper.getContainerData();\n },\n getImageData: function getImageData() {\n return this.cropper.getImageData();\n },\n getCanvasData: function getCanvasData() {\n return this.cropper.getCanvasData();\n },\n setCanvasData: function setCanvasData(data) {\n return this.cropper.setCanvasData(data);\n },\n getCropBoxData: function getCropBoxData() {\n return this.cropper.getCropBoxData();\n },\n setCropBoxData: function setCropBoxData(data) {\n return this.cropper.setCropBoxData(data);\n },\n getCroppedCanvas: function getCroppedCanvas() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return this.cropper.getCroppedCanvas(options);\n },\n setAspectRatio: function setAspectRatio(aspectRatio) {\n return this.cropper.setAspectRatio(aspectRatio);\n },\n setDragMode: function setDragMode(mode) {\n return this.cropper.setDragMode(mode);\n }\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 = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(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 = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(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 = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"2250\":\"9c98ca37abd9ee1927b3\",\"7996\":\"39e55a09e2da8534cf16\"}[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 = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(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 = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 4418;","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) 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\t4418: 0\n};\n\n__webpack_require__.f.j = function(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(function(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 = function(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 = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(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(function(id) { return 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, [7874], function() { return __webpack_require__(85874); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","name","components","NcActionButton","props","activeScope","type","String","required","displayName","handleScopeChange","Function","default","iconClass","isSupportedScope","Boolean","tooltipDisabled","tooltip","methods","updateScope","component","_vm","this","_c","_self","staticClass","class","attrs","on","$event","stopPropagation","preventDefault","apply","arguments","_v","_s","ACCOUNT_PROPERTY_ENUM","Object","freeze","ADDRESS","AVATAR","BIOGRAPHY","DISPLAYNAME","EMAIL_COLLECTION","EMAIL","HEADLINE","NOTIFICATION_EMAIL","FEDIVERSE","ORGANISATION","PHONE","PROFILE_ENABLED","ROLE","TWITTER","WEBSITE","ACCOUNT_PROPERTY_READABLE_ENUM","t","NAME_READABLE_ENUM","_defineProperty","_Object$freeze","PROFILE_READABLE_ENUM","PROFILE_VISIBILITY","PROPERTY_READABLE_KEYS_ENUM","_Object$freeze2","ACCOUNT_SETTING_PROPERTY_ENUM","LANGUAGE","LOCALE","ACCOUNT_SETTING_PROPERTY_READABLE_ENUM","SCOPE_ENUM","PRIVATE","LOCAL","FEDERATED","PUBLISHED","PROPERTY_READABLE_SUPPORTED_SCOPES_ENUM","_Object$freeze3","UNPUBLISHED_READABLE_PROPERTIES","SCOPE_SUFFIX","SCOPE_PROPERTY_ENUM","_Object$freeze4","DEFAULT_ADDITIONAL_EMAIL_SCOPE","VERIFICATION_ENUM","NOT_VERIFIED","VERIFICATION_IN_PROGRESS","VERIFIED","VALIDATE_EMAIL_REGEX","_regeneratorRuntime","exports","Op","prototype","hasOwn","hasOwnProperty","defineProperty","obj","key","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","_typeof","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","undefined","done","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","return","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","doneResult","isGeneratorFunction","genFun","ctor","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","savePrimaryAccountProperty","_ref","_callee","accountProperty","userId","url","res","_context","getCurrentUser","uid","generateOcsUrl","confirmPassword","axios","put","data","_x","_x2","savePrimaryAccountPropertyScope","_ref2","_callee2","scope","_context2","concat","_x3","_x4","getLoggerBuilder","setApp","detectUser","build","handleError","message","_error$response","fullMessage","response","status","showError","logger","_loadState","loadState","federationEnabled","lookupServerUploadEnabled","NcActions","FederationControlAction","readable","validator","includes","additional","additionalValue","disabled","handleAdditionalScopeChange","readableLowerCase","toLocaleLowerCase","initialScope","computed","ariaLabel","property","scopeDisplayNameLowerCase","scopeIcon","federationScopes","supportedScopes","scopes","changeScope","_this","$emit","updatePrimaryScope","updateAdditionalScope","_this2","_responseData$ocs","responseData","handleResponse","ocs","meta","t0","errorMessage","_this3","_callee3","_responseData$ocs2","_context3","_l","federationScope","FederationControl","NcButton","Plus","inputId","isEditable","isMultiValueSupported","isValidSection","isHeading","localScope","isProfileProperty","isSettingProperty","onAddAdditional","onScopeChange","tag","_e","scopedSlots","_u","proxy","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","_objectSpread","target","source","getOwnPropertyDescriptors","defineProperties","input","hint","prim","toPrimitive","_toPrimitive","_toPropertyKey","avatar","avatarChangeSupported","VALID_MIME_TYPES","picker","getFilePickerBuilder","setMultiSelect","setMimeTypeFilter","setType","allowDirectories","Delete","Folder","HeaderBar","NcAvatar","Upload","VueCropper","showCropper","loading","version","oc_userconfig","isGenerated","generated","validMimeTypes","cropperOptions","aspectRatio","viewMode","guides","center","highlight","autoCropArea","minContainerWidth","minContainerHeight","created","subscribe","handleDisplayNameUpdate","beforeDestroy","unsubscribe","activateLocalFilePicker","$refs","click","onChange","e","file","files","cancel","reader","FileReader","onload","cropper","replace","readAsDataURL","openFilePicker","path","_yield$axios$post","tempAvatar","pick","post","generateUrl","handleAvatarUpdate","encodeURIComponent","OC","requestToken","Math","floor","random","saveAvatar","canvasData","getCroppedCanvas","scaleFactor","width","scale","toBlob","blob","formData","FormData","append","removeAvatar","_this4","delete","Date","now","emit","$set","ref","join","directives","rawName","expression","_b","emits","title","fillColor","size","Number","$attrs","groups","quota","totalSpace","usage","usageRelative","Account","CircleSlice","NcProgressBar","quotaText","domProps","AlertCircle","AlertOctagon","Check","placeholder","multiLine","onValidate","onSave","autocomplete","initialValue","helperText","showCheckmarkIcon","showErrorIcon","onPropertyChange","debouncePropertyChange","trim","debounce","validationMessage","updateProperty","setTimeout","displayNameChangeSupported","AccountPropertySection","savePrimaryEmail","email","saveAdditionalEmail","saveNotificationEmail","_ref3","removeAdditionalEmail","_ref4","_callee4","_context4","collection","updateAdditionalEmail","_ref5","_callee5","prevEmail","newEmail","_context5","_x5","_x6","savePrimaryEmailScope","_ref6","_callee6","_context6","_x7","saveAdditionalEmailScope","_ref7","_callee7","_context7","collectionScope","_x8","_x9","validateEmail","test","index","primary","activeNotificationEmail","localVerificationState","propertyReadable","initialEmail","deleteDisabled","deleteEmailLabel","setNotificationMailDisabled","setNotificationMailLabel","isNotificationEmail","federationDisabled","inputPlaceholder","mounted","$nextTick","_this$$refs$email","focus","onEmailChange","debounceEmailChange","_this$$refs$email2","updatePrimaryEmail","addAdditionalEmail","deleteEmail","deleteAdditionalEmail","setNotificationMail","_this5","_responseData$ocs3","newNotificationMailValue","notificationEmail","_this6","_responseData$ocs4","_this7","_responseData$ocs5","handleDeleteAdditionalEmail","_this8","_loadState$emailMap","emailMap","additionalEmails","primaryEmail","Email","map","properties","generateUniqueKey","firstAdditionalEmail","every","primaryEmailValue","get","set","onAddAdditionalEmail","onDeleteAdditionalEmail","$delete","onUpdateEmail","deletedEmail","deleteFirstAdditionalEmail","onUpdateNotificationEmail","handleDeleteFirstAdditionalEmail","toString","substring","additionalEmail","parseInt","locallyVerified","_arrayLikeToArray","arr","len","arr2","Array","normalizeArguments","text","metadata","_Array$prototype$slic2","isArray","_arrayWithHoles","_i","_arr","_n","_d","_iterableToArrayLimit","o","minLen","n","from","_unsupportedIterableToArray","_nonIterableRest","arg_1","arg_2","arg_3","arg_4","isObject","defaultCountry","_","MIN_LENGTH_FOR_NSN","MAX_LENGTH_FOR_NSN","MAX_LENGTH_COUNTRY_CODE","VALID_DIGITS","VALID_PUNCTUATION","_assertThisInitialized","ReferenceError","_wrapNativeSuper","Class","_cache","Map","indexOf","has","Wrapper","_construct","_getPrototypeOf","_setPrototypeOf","Parent","_isNativeReflectConstruct","Reflect","construct","a","instance","bind","sham","Proxy","valueOf","p","ParseError","_Error","subClass","superClass","_inherits","Constructor","Derived","hasNativeReflectConstruct","_super","Super","NewTarget","_possibleConstructorReturn","code","_classCallCheck","b","split","pa","pb","na","nb","descriptor","protoProps","staticProps","DEFAULT_EXT_PREFIX","CALLING_CODE_REG_EXP","Metadata","is_object","countries","type_of","validateMetadata","setVersion","countryCode","v1","v2","v3","nonGeographic","nonGeographical","country","getCountryMetadata","callingCode","getCountryCodesForCallingCode","countryCodes","countryCallingCodes","selectNumberingPlan","hasCountry","numberingPlan","NumberingPlan","hasCallingCode","getNumberingPlanMetadata","getCountryCodeForCallingCode","IDDPrefix","defaultIDDPrefix","nationalNumberPattern","possibleLengths","formats","nationalPrefixForParsing","nationalPrefixTransformRule","leadingDigits","hasTypes","_type","ext","country_phone_code_to_countries","country_calling_codes","globalMetadataObject","_getFormats","getDefaultCountryMetadataForRegion","Format","_getNationalPrefixFormattingRule","_nationalPrefixForParsing","nationalPrefix","_getNationalPrefixIsOptionalWhenFormatting","types","_type2","getType","Type","format","_format","nationalPrefixFormattingRule","nationalPrefixIsOptionalWhenFormattingInNationalFormat","usesNationalPrefix","FIRST_GROUP_ONLY_PREFIX_PATTERN","getCountryCallingCode","countryCallingCode","v4","getExtensionDigitsPattern","maxLength","createExtensionPattern","purpose","possibleSeparatorsBetweenNumberAndExtLabel","possibleCharsAfterExtLabel","optionalExtnSuffix","possibleSeparatorsNumberExtLabelNoComma","rfcExtn","MIN_LENGTH_PHONE_NUMBER_PATTERN","VALID_PHONE_NUMBER","VALID_PHONE_NUMBER_START_REG_EXP","RegExp","VALID_PHONE_NUMBER_WITH_EXTENSION","VALID_PHONE_NUMBER_PATTERN","EXTN_PATTERN","DIGITS","parseIncompletePhoneNumber","string","_step","_iterator","allowArrayLike","it","parsePhoneNumberCharacter","character","prevParsedCharacters","parseDigit","checkNumberLength","nationalNumber","checkNumberLengthForType","type_info","possible_lengths","mobile_type","merged","element","sort","mergeArrays","actual_length","minimum_length","isPossibleNumber","matchesEntirely","regular_expression","NON_FIXED_LINE_PHONE_TYPES","getNumberType","phone","isNumberTypeEqualTo","pattern","FIRST_GROUP_PATTERN","SINGLE_IDD_PREFIX_REG_EXP","DEFAULT_OPTIONS","formatExtension","formattedNumber","extension","formatNationalNumber","number","carrierCode","formatAs","availableFormats","nationalNnumber","leadingDigitsPatterns","lastLeadingDigitsPattern","search","chooseFormatForNumber","useInternationalFormat","withNationalPrefix","internationalFormat","applyInternationalSeparatorStyle","formatNationalNumberUsingFormat","addExtension","PhoneNumber","countryOrCountryCallingCode","_getCountryAndCountry","metadataJson","isCountryCode","getCountryAndCountryCallingCode","getMetadata","possibleCountries","_metadata","couldNationalNumberBelongToCountry","isNonGeographicCallingCode","isValidNumber","phoneNumber","formatRFC3966","fromCountry","iddPrefix","countryMetadata","getIddPrefix","formatIDD","formatNumber","CAPTURING_DIGIT_PATTERN","extractNationalNumber","_extractNationalNumbe","prefixPattern","prefixMatch","exec","capturedGroupsCount","hasCapturedGroups","prefixBeforeNationalNumber","possiblePositionOfTheFirstCapturedGroup","extractNationalNumberFromPossiblyIncompleteNumber","nationalNumberBefore","nationalNumberAfter","shouldHaveExtractedNationalPrefix","isPossibleIncompleteNationalNumber","getCountryByCallingCode","nationalPhoneNumber","matchingCountries","getCountryByNationalNumber","PLUS_SIGN","RFC3966_PHONE_DIGIT_","RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_","RFC3966_DOMAINNAME_PATTERN_","RFC3966_PREFIX_","RFC3966_PHONE_CONTEXT_","RFC3966_ISDN_SUBADDRESS_","MAX_INPUT_STRING_LENGTH","PHONE_NUMBER_START_PATTERN","AFTER_PHONE_NUMBER_END_PATTERN","parse","_parseInput","extract","numberToParse","phoneNumberString","extractFormattedPhoneNumber","phoneContext","numberToExtractFrom","indexOfPhoneContext","phoneContextStart","phoneContextEnd","extractPhoneContext","isPhoneContextValid","indexOfNationalNumber","indexOfRfc3966Prefix","indexOfIsdn","extractFormattedPhoneNumberFromPossibleRfc3966NumberUri","throwOnError","startsAt","_extractFormattedPhoneNumber","isViablePhoneNumberStart","withExtensionStripped","start","numberWithoutExtension","matches","match","extractExtension","parseInput","formattedPhoneNumber","_parsePhoneNumber","defaultCallingCode","_extractCountryCallin","isNumberWithIddPrefix","numberWithoutIDD","IDDPrefixPattern","matchedGroups","stripIddPrefix","possibleShorterNumber","possibleShorterNationalNumber","extractCountryCallingCodeFromInternationalNumberWithoutPlusSign","shorterNumber","countryCallingCodeSource","_countryCallingCode","extractCountryCallingCode","exactCountry","parsePhoneNumber","hasSelectedNumberingPlan","__countryCallingCodeSource","valid","extended","possible","isValidPhoneNumber","_normalizeArguments","isSupportedCountry","parsePhoneNumberWithError","isValid","func","_arguments","withMetadataArgument","defaultPhoneRegion","location","website","URL","validateUrl","twitter","fediverse","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","commonLanguages","otherLanguages","language","initialLanguage","allLanguages","reduce","acc","onLanguageChange","constructLanguage","updateLanguage","reloadPage","languageCode","reload","commonLanguage","otherLanguage","_loadState$languageMa","languageMap","activeLanguage","Language","Web","locale","localesForLanguage","otherLocales","initialLocale","example","date","moment","time","firstDayOfWeek","window","dayNames","firstDay","allLocales","setInterval","refreshExample","onLocaleChange","constructLocale","updateLocale","localeCode","currentLocale","_loadState$localeMap","localeMap","activeLocale","Locale","ChevronDownIcon","profileEnabled","_g","$listeners","NcCheckboxRadioSwitch","isProfileEnabled","saveEnableProfile","organisation","profilePageLink","EditProfileAnchorLink","ProfileCheckbox","ProfilePreviewCard","handleOrganisationUpdate","role","headline","biography","saveProfileParameterVisibility","paramId","visibility","VISIBILITY_ENUM","SHOW","SHOW_USERS_ONLY","HIDE","VISIBILITY_PROPERTY_ENUM","label","NcSelect","displayId","initialVisibility","visibilityObject","visibilityOptions","handleProfileEnabledUpdate","onVisibilityChange","updateVisibility","profileConfig","compareParams","appId","localeCompare","VisibilityDropdown","heading","visibilityParams","entries","_ref2$","id","marginLeft","matchMedia","getComputedStyle","document","getElementById","getPropertyValue","rows","ceil","onresize","style","gridTemplateRows","param","__webpack_nonce__","btoa","getRequestToken","profileEnabledGlobally","Vue","mixin","AvatarView","extend","AvatarSection","DetailsView","DetailsSection","DisplayNameView","DisplayNameSection","EmailView","EmailSection","PhoneView","PhoneSection","LocationView","LocationSection","WebsiteView","WebsiteSection","TwitterView","TwitterSection","FediverseView","FediverseSection","LanguageView","LanguageSection","LocaleView","LocaleSection","$mount","ProfileView","ProfileSection","OrganisationView","OrganisationSection","RoleView","RoleSection","HeadlineView","HeadlineSection","BiographyView","BiographySection","ProfileVisibilityView","ProfileVisibilitySection","module","_objectSpread2","_defineProperties","IS_BROWSER","WINDOW","IS_TOUCH_DEVICE","documentElement","HAS_POINTER_EVENT","NAMESPACE","ACTION_ALL","ACTION_CROP","ACTION_MOVE","ACTION_ZOOM","ACTION_EAST","ACTION_WEST","ACTION_SOUTH","ACTION_NORTH","ACTION_NORTH_EAST","ACTION_NORTH_WEST","ACTION_SOUTH_EAST","ACTION_SOUTH_WEST","CLASS_CROP","CLASS_DISABLED","CLASS_HIDDEN","CLASS_HIDE","CLASS_INVISIBLE","CLASS_MODAL","CLASS_MOVE","DATA_ACTION","DATA_PREVIEW","DRAG_MODE_CROP","DRAG_MODE_MOVE","DRAG_MODE_NONE","EVENT_CROP","EVENT_CROP_END","EVENT_CROP_MOVE","EVENT_CROP_START","EVENT_DBLCLICK","EVENT_POINTER_DOWN","EVENT_POINTER_MOVE","EVENT_POINTER_UP","EVENT_READY","EVENT_RESIZE","EVENT_WHEEL","EVENT_ZOOM","MIME_TYPE_JPEG","REGEXP_ACTIONS","REGEXP_DATA_URL","REGEXP_DATA_URL_JPEG","REGEXP_TAG_NAME","DEFAULTS","dragMode","initialAspectRatio","NaN","preview","responsive","restore","checkCrossOrigin","checkOrientation","modal","background","autoCrop","movable","rotatable","scalable","zoomable","zoomOnTouch","zoomOnWheel","wheelZoomRatio","cropBoxMovable","cropBoxResizable","toggleDragModeOnDblclick","minCanvasWidth","minCanvasHeight","minCropBoxWidth","minCropBoxHeight","ready","cropstart","cropmove","cropend","crop","zoom","isNumber","isPositiveNumber","Infinity","isUndefined","isPlainObject","_constructor","isFunction","toArray","callback","assign","_len","_key","REGEXP_DECIMALS","normalizeDecimalNumber","times","round","REGEXP_SUFFIX","setStyle","styles","addClass","elem","classList","add","className","removeClass","remove","toggleClass","added","REGEXP_CAMEL_CASE","toParamCase","toLowerCase","getData","dataset","getAttribute","setData","setAttribute","REGEXP_SPACES","onceSupported","supported","once","listener","addEventListener","removeEventListener","removeListener","handler","event","listeners","addListener","_handler","_element$listeners","_len2","_key2","dispatchEvent","Event","CustomEvent","detail","bubbles","cancelable","createEvent","initCustomEvent","getOffset","box","getBoundingClientRect","left","pageXOffset","clientLeft","top","pageYOffset","clientTop","REGEXP_ORIGINS","isCrossOriginURL","parts","protocol","hostname","port","addTimestamp","timestamp","getTime","getTransforms","rotate","scaleX","scaleY","translateX","translateY","transform","WebkitTransform","msTransform","getPointer","endOnly","pageX","pageY","end","endX","endY","startX","startY","getAdjustedSizes","height","isValidWidth","isValidHeight","adjustedWidth","fromCharCode","REGEXP_DATA_URL_HEAD","resetAndGetOrientation","arrayBuffer","orientation","dataView","DataView","littleEndian","app1Start","ifdStart","getUint8","byteLength","offset","tiffOffset","str","getStringFromCharCode","endianness","getUint16","firstIFDOffset","getUint32","_offset","_length","setUint16","render","initContainer","initCanvas","initCropBox","renderCanvas","cropped","renderCropBox","container","minWidth","minHeight","containerData","max","offsetWidth","offsetHeight","imageData","rotated","abs","naturalWidth","naturalHeight","canvasWidth","canvasHeight","limited","limitCanvas","min","maxWidth","maxHeight","oldLeft","oldTop","initialCanvasData","sizeLimited","positionLimited","cropBoxData","_getAdjustedSizes","newCanvasLeft","newCanvasTop","minLeft","minTop","maxLeft","maxTop","changed","transformed","_getRotatedSizes","degree","arc","PI","sinArc","sin","cosArc","cos","newWidth","newHeight","getRotatedSizes","canvas","renderImage","limitCropBox","image","output","initialCropBoxData","maxCropBoxWidth","maxCropBoxHeight","face","cropBox","initPreview","crossOrigin","crossOriginUrl","alt","createElement","src","viewBox","appendChild","viewBoxImage","previews","ownerDocument","querySelectorAll","querySelector","el","img","html","innerHTML","cssText","resetPreview","removeAttribute","removeData","cropBoxWidth","cropBoxHeight","originalWidth","originalHeight","ratio","getElementsByTagName","events","onCropStart","cropStart","onWheel","wheel","passive","capture","onDblclick","dblclick","onCropMove","cropMove","onCropEnd","cropEnd","onResize","resize","unbind","handlers","ratioX","ratioY","getCanvasData","getCropBoxData","setCanvasData","setCropBoxData","setDragMode","dragBox","contains","delta","wheeling","deltaY","wheelDelta","buttons","button","pointerType","ctrlKey","action","pointers","changedTouches","touch","identifier","pointerId","originalEvent","cropping","change","right","bottom","renderable","shiftKey","pointer","range","x","y","check","side","move","pointers2","maxRatio","pointer2","x1","y1","x2","y2","z1","sqrt","getMaxZoomRatio","initialImageData","clear","hasSameSize","isImg","replaced","uncreate","load","enable","disable","destroy","originalUrl","offsetX","offsetY","_this$canvasData","moveTo","_originalEvent","zoomTo","pivot","oldRatio","count","getPointersCenter","rotateTo","_scaleX","_scaleY","rounded","getContainerData","getImageData","sized","widthChanged","heightChanged","HTMLCanvasElement","_ref8","imageAspectRatio","imageNaturalWidth","imageNaturalHeight","_ref6$rotate","_ref6$scaleX","_ref6$scaleY","_ref8$fillColor","_ref8$imageSmoothingE","imageSmoothingEnabled","_ref8$imageSmoothingQ","imageSmoothingQuality","_ref8$maxWidth","_ref8$maxHeight","_ref8$minWidth","_ref8$minHeight","getContext","maxSizes","minSizes","destMaxSizes","destMinSizes","destWidth","destHeight","params","fillStyle","fillRect","save","translate","drawImage","getSourceCanvas","_this$getData","initialX","initialY","initialWidth","initialHeight","_options$imageSmoothi","srcWidth","srcHeight","dstX","dstY","dstWidth","dstHeight","sourceWidth","sourceHeight","srcX","srcY","setAspectRatio","mode","croppable","AnotherCropper","Cropper","tagName","reloading","sizing","init","toDataURL","base64","binary","uint8","ArrayBuffer","read","atob","Uint8Array","charCodeAt","clone","xhr","XMLHttpRequest","onabort","onerror","ontimeout","onprogress","getResponseHeader","abort","onloadend","open","responseType","withCredentials","send","mimeType","chunks","subarray","arrayBufferToDataURL","_parseOrientation","parseOrientation","parentNode","insertBefore","nextSibling","isIOSWebKit","navigator","userAgent","sizingImage","body","removeChild","template","getElementsByClassName","unbuild","factory","___CSS_LOADER_URL_IMPORT_0___","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","webpackContext","req","webpackContextResolve","__webpack_require__","_cropperjs2","__esModule","previewPropType","Element","NodeList","h","crossorigin","containerStyle","imgStyle","_$options$props","$options","_objectWithoutProperties","initCrop","onlyColorChanged","relativeZoom","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","m","O","chunkIds","priority","notFulfilled","fulfilled","j","splice","r","getter","d","definition","f","chunkId","all","promises","u","g","globalThis","prop","l","script","needAttach","scripts","s","charset","timeout","nc","onScriptComplete","clearTimeout","doneFns","head","nmd","paths","children","scriptUrl","importScripts","currentScript","baseURI","href","installedChunks","installedChunkData","promise","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file diff --git a/dist/settings-vue-settings-personal-password.js b/dist/settings-vue-settings-personal-password.js index e3f6d5c4f78..942bdeb80c4 100644 --- a/dist/settings-vue-settings-personal-password.js +++ b/dist/settings-vue-settings-personal-password.js @@ -1,3 +1,3 @@ /*! For license information please see settings-vue-settings-personal-password.js.LICENSE.txt */ -!function(){"use strict";var t,e,n,r={423:function(t,e,n){var r=n(20144),o=n(67912),s=n(57274),a=n(16972),i=n(93664),c=n(79753),u=n(64024),d={name:"PasswordSection",components:{NcSettingsSection:o.Z,NcButton:s.Z,NcPasswordField:a.Z},data:function(){return{oldPass:"",newPass:""}},methods:{changePassword:function(){var t=this;i.Z.post((0,c.generateUrl)("/settings/personal/changepassword"),{oldpassword:this.oldPass,newpassword:this.newPass}).then((function(t){return t.data})).then((function(e){"error"===e.status?(t.errorMessage=e.data.message,(0,u.x2)(e.data.message)):(0,u.s$)(e.data.message)}))}}},l=n(93379),p=n.n(l),f=n(7795),m=n.n(f),h=n(90569),w=n.n(h),g=n(3565),v=n.n(g),b=n(19216),P=n.n(b),y=n(44589),A=n.n(y),N=n(23482),S={};S.styleTagTransform=A(),S.setAttributes=v(),S.insert=w().bind(null,"head"),S.domAPI=m(),S.insertStyleElement=P(),p()(N.Z,S),N.Z&&N.Z.locals&&N.Z.locals;var x=(0,n(51900).Z)(d,(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",autocorrect:"off"},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",autocorrect:"off","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),C=x.exports,T=n(31352);n.nc=btoa(OC.requestToken),r.default.prototype.t=T.Iu,r.default.prototype.n=T.uN,new r.default({el:"#security-password",name:"main-personal-password",render:function(t){return t(C)}})},23482:function(t,e,n){var r=n(87537),o=n.n(r),s=n(23645),a=n.n(s)()(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:";AAiGA;CACA,aAAA;CACA,sBAAA;CACA,SAAA;CACA,gBAAA;AACA",sourcesContent:['\x3c!--\n - @copyright 2022 Carl Schwan <carl@carlschwan.eu>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n --\x3e\n<template>\n\t<NcSettingsSection :name="t(\'settings\', \'Password\')">\n\t\t<form id="passwordform" method="POST" @submit.prevent="changePassword">\n\t\t\t<NcPasswordField id="old-pass"\n\t\t\t\t:label="t(\'settings\', \'Current password\')"\n\t\t\t\tname="oldpassword"\n\t\t\t\t:value.sync="oldPass"\n\t\t\t\tautocomplete="current-password"\n\t\t\t\tautocapitalize="none"\n\t\t\t\tautocorrect="off" />\n\n\t\t\t<NcPasswordField id="new-pass"\n\t\t\t\t:label="t(\'settings\', \'New password\')"\n\t\t\t\t:value.sync="newPass"\n\t\t\t\t:maxlength="469"\n\t\t\t\tautocomplete="new-password"\n\t\t\t\tautocapitalize="none"\n\t\t\t\tautocorrect="off"\n\t\t\t\t:check-password-strength="true" />\n\n\t\t\t<NcButton type="primary"\n\t\t\t\tnative-type="submit"\n\t\t\t\t:disabled="newPass.length === 0 || oldPass.length === 0">\n\t\t\t\t{{ t(\'settings\', \'Change password\') }}\n\t\t\t</NcButton>\n\t\t</form>\n\t</NcSettingsSection>\n</template>\n\n<script>\nimport NcSettingsSection from \'@nextcloud/vue/dist/Components/NcSettingsSection.js\'\nimport NcButton from \'@nextcloud/vue/dist/Components/NcButton.js\'\nimport NcPasswordField from \'@nextcloud/vue/dist/Components/NcPasswordField.js\'\nimport axios from \'@nextcloud/axios\'\nimport { generateUrl } from \'@nextcloud/router\'\nimport { showSuccess, showError } from \'@nextcloud/dialogs\'\n\nexport default {\n\tname: \'PasswordSection\',\n\tcomponents: {\n\t\tNcSettingsSection,\n\t\tNcButton,\n\t\tNcPasswordField,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\toldPass: \'\',\n\t\t\tnewPass: \'\',\n\t\t}\n\t},\n\tmethods: {\n\t\tchangePassword() {\n\t\t\taxios.post(generateUrl(\'/settings/personal/changepassword\'), {\n\t\t\t\toldpassword: this.oldPass,\n\t\t\t\tnewpassword: this.newPass,\n\t\t\t})\n\t\t\t\t.then(res => res.data)\n\t\t\t\t.then(data => {\n\t\t\t\t\tif (data.status === \'error\') {\n\t\t\t\t\t\tthis.errorMessage = data.data.message\n\t\t\t\t\t\tshowError(data.data.message)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tshowSuccess(data.data.message)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t},\n\t},\n}\n<\/script>\n\n<style>\n\t#passwordform {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 1rem;\n\t\tmax-width: 400px;\n\t}\n</style>\n'],sourceRoot:""}]),e.Z=a}},o={};function s(t){var e=o[t];if(void 0!==e)return e.exports;var n=o[t]={id:t,loaded:!1,exports:{}};return r[t].call(n.exports,n,n.exports,s),n.loaded=!0,n.exports}s.m=r,t=[],s.O=function(e,n,r,o){if(!n){var a=1/0;for(d=0;d<t.length;d++){n=t[d][0],r=t[d][1],o=t[d][2];for(var i=!0,c=0;c<n.length;c++)(!1&o||a>=o)&&Object.keys(s.O).every((function(t){return s.O[t](n[c])}))?n.splice(c--,1):(i=!1,o<a&&(a=o));if(i){t.splice(d--,1);var u=r();void 0!==u&&(e=u)}}return e}o=o||0;for(var d=t.length;d>0&&t[d-1][2]>o;d--)t[d]=t[d-1];t[d]=[n,r,o]},s.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return s.d(e,{a:e}),e},s.d=function(t,e){for(var n in e)s.o(e,n)&&!s.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},s.f={},s.e=function(t){return Promise.all(Object.keys(s.f).reduce((function(e,n){return s.f[n](t,e),e}),[]))},s.u=function(t){return t+"-"+t+".js?v="+{2250:"9c98ca37abd9ee1927b3",7996:"39e55a09e2da8534cf16"}[t]},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),s.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e={},n="nextcloud:",s.l=function(t,r,o,a){if(e[t])e[t].push(r);else{var i,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==t||l.getAttribute("data-webpack")==n+o){i=l;break}}i||(c=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,s.nc&&i.setAttribute("nonce",s.nc),i.setAttribute("data-webpack",n+o),i.src=t),e[t]=[r];var p=function(n,r){i.onerror=i.onload=null,clearTimeout(f);var o=e[t];if(delete e[t],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((function(t){return t(r)})),n)return n(r)},f=setTimeout(p.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=p.bind(null,i.onerror),i.onload=p.bind(null,i.onload),c&&document.head.appendChild(i)}},s.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},s.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t},s.j=3574,function(){var t;s.g.importScripts&&(t=s.g.location+"");var e=s.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");if(n.length)for(var r=n.length-1;r>-1&&!t;)t=n[r--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),s.p=t}(),function(){s.b=document.baseURI||self.location.href;var t={3574:0};s.f.j=function(e,n){var r=s.o(t,e)?t[e]:void 0;if(0!==r)if(r)n.push(r[2]);else{var o=new Promise((function(n,o){r=t[e]=[n,o]}));n.push(r[2]=o);var a=s.p+s.u(e),i=new Error;s.l(a,(function(n){if(s.o(t,e)&&(0!==(r=t[e])&&(t[e]=void 0),r)){var o=n&&("load"===n.type?"missing":n.type),a=n&&n.target&&n.target.src;i.message="Loading chunk "+e+" failed.\n("+o+": "+a+")",i.name="ChunkLoadError",i.type=o,i.request=a,r[1](i)}}),"chunk-"+e,e)}},s.O.j=function(e){return 0===t[e]};var e=function(e,n){var r,o,a=n[0],i=n[1],c=n[2],u=0;if(a.some((function(e){return 0!==t[e]}))){for(r in i)s.o(i,r)&&(s.m[r]=i[r]);if(c)var d=c(s)}for(e&&e(n);u<a.length;u++)o=a[u],s.o(t,o)&&t[o]&&t[o][0](),t[o]=0;return s.O(d)},n=self.webpackChunknextcloud=self.webpackChunknextcloud||[];n.forEach(e.bind(null,0)),n.push=e.bind(null,n.push.bind(n))}(),s.nc=void 0;var a=s.O(void 0,[7874],(function(){return s(423)}));a=s.O(a)}(); -//# sourceMappingURL=settings-vue-settings-personal-password.js.map?v=de2d70559f5a585a6718
\ No newline at end of file +!function(){"use strict";var t,e,n,r={5696:function(t,e,n){var r=n(20144),s=n(67912),o=n(57274),a=n(16972),i=n(93664),l=n(79753),c=n(64024),u={name:"PasswordSection",components:{NcSettingsSection:s.Z,NcButton:o.Z,NcPasswordField:a.Z},data:function(){return{oldPass:"",newPass:""}},methods:{changePassword:function(){var t=this;i.Z.post((0,l.generateUrl)("/settings/personal/changepassword"),{oldpassword:this.oldPass,newpassword:this.newPass}).then((function(t){return t.data})).then((function(e){"error"===e.status?(t.errorMessage=e.data.message,(0,c.x2)(e.data.message)):(0,c.s$)(e.data.message)}))}}},d=n(93379),p=n.n(d),f=n(7795),m=n.n(f),h=n(90569),w=n.n(h),g=n(3565),v=n.n(g),b=n(19216),P=n.n(b),y=n(44589),A=n.n(y),N=n(24410),S={};S.styleTagTransform=A(),S.setAttributes=v(),S.insert=w().bind(null,"head"),S.domAPI=m(),S.insertStyleElement=P(),p()(N.Z,S),N.Z&&N.Z.locals&&N.Z.locals;var x=(0,n(51900).Z)(u,(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),C=x.exports,T=n(31352);n.nc=btoa(OC.requestToken),r.default.prototype.t=T.Iu,r.default.prototype.n=T.uN,new r.default({el:"#security-password",name:"main-personal-password",render:function(t){return t(C)}})},24410:function(t,e,n){var r=n(87537),s=n.n(r),o=n(23645),a=n.n(o)()(s());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:";AAiGA;CACA,aAAA;CACA,sBAAA;CACA,SAAA;CACA,gBAAA;AACA",sourcesContent:['\x3c!--\n - @copyright 2022 Carl Schwan <carl@carlschwan.eu>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n --\x3e\n<template>\n\t<NcSettingsSection :name="t(\'settings\', \'Password\')">\n\t\t<form id="passwordform" method="POST" @submit.prevent="changePassword">\n\t\t\t<NcPasswordField id="old-pass"\n\t\t\t\t:label="t(\'settings\', \'Current password\')"\n\t\t\t\tname="oldpassword"\n\t\t\t\t:value.sync="oldPass"\n\t\t\t\tautocomplete="current-password"\n\t\t\t\tautocapitalize="none"\n\t\t\t\tspellcheck="false" />\n\n\t\t\t<NcPasswordField id="new-pass"\n\t\t\t\t:label="t(\'settings\', \'New password\')"\n\t\t\t\t:value.sync="newPass"\n\t\t\t\t:maxlength="469"\n\t\t\t\tautocomplete="new-password"\n\t\t\t\tautocapitalize="none"\n\t\t\t\tspellcheck="false"\n\t\t\t\t:check-password-strength="true" />\n\n\t\t\t<NcButton type="primary"\n\t\t\t\tnative-type="submit"\n\t\t\t\t:disabled="newPass.length === 0 || oldPass.length === 0">\n\t\t\t\t{{ t(\'settings\', \'Change password\') }}\n\t\t\t</NcButton>\n\t\t</form>\n\t</NcSettingsSection>\n</template>\n\n<script>\nimport NcSettingsSection from \'@nextcloud/vue/dist/Components/NcSettingsSection.js\'\nimport NcButton from \'@nextcloud/vue/dist/Components/NcButton.js\'\nimport NcPasswordField from \'@nextcloud/vue/dist/Components/NcPasswordField.js\'\nimport axios from \'@nextcloud/axios\'\nimport { generateUrl } from \'@nextcloud/router\'\nimport { showSuccess, showError } from \'@nextcloud/dialogs\'\n\nexport default {\n\tname: \'PasswordSection\',\n\tcomponents: {\n\t\tNcSettingsSection,\n\t\tNcButton,\n\t\tNcPasswordField,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\toldPass: \'\',\n\t\t\tnewPass: \'\',\n\t\t}\n\t},\n\tmethods: {\n\t\tchangePassword() {\n\t\t\taxios.post(generateUrl(\'/settings/personal/changepassword\'), {\n\t\t\t\toldpassword: this.oldPass,\n\t\t\t\tnewpassword: this.newPass,\n\t\t\t})\n\t\t\t\t.then(res => res.data)\n\t\t\t\t.then(data => {\n\t\t\t\t\tif (data.status === \'error\') {\n\t\t\t\t\t\tthis.errorMessage = data.data.message\n\t\t\t\t\t\tshowError(data.data.message)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tshowSuccess(data.data.message)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t},\n\t},\n}\n<\/script>\n\n<style>\n\t#passwordform {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 1rem;\n\t\tmax-width: 400px;\n\t}\n</style>\n'],sourceRoot:""}]),e.Z=a}},s={};function o(t){var e=s[t];if(void 0!==e)return e.exports;var n=s[t]={id:t,loaded:!1,exports:{}};return r[t].call(n.exports,n,n.exports,o),n.loaded=!0,n.exports}o.m=r,t=[],o.O=function(e,n,r,s){if(!n){var a=1/0;for(u=0;u<t.length;u++){n=t[u][0],r=t[u][1],s=t[u][2];for(var i=!0,l=0;l<n.length;l++)(!1&s||a>=s)&&Object.keys(o.O).every((function(t){return o.O[t](n[l])}))?n.splice(l--,1):(i=!1,s<a&&(a=s));if(i){t.splice(u--,1);var c=r();void 0!==c&&(e=c)}}return e}s=s||0;for(var u=t.length;u>0&&t[u-1][2]>s;u--)t[u]=t[u-1];t[u]=[n,r,s]},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,{a:e}),e},o.d=function(t,e){for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o.f={},o.e=function(t){return Promise.all(Object.keys(o.f).reduce((function(e,n){return o.f[n](t,e),e}),[]))},o.u=function(t){return t+"-"+t+".js?v="+{2250:"9c98ca37abd9ee1927b3",7996:"39e55a09e2da8534cf16"}[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=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e={},n="nextcloud:",o.l=function(t,r,s,a){if(e[t])e[t].push(r);else{var i,l;if(void 0!==s)for(var c=document.getElementsByTagName("script"),u=0;u<c.length;u++){var d=c[u];if(d.getAttribute("src")==t||d.getAttribute("data-webpack")==n+s){i=d;break}}i||(l=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,o.nc&&i.setAttribute("nonce",o.nc),i.setAttribute("data-webpack",n+s),i.src=t),e[t]=[r];var p=function(n,r){i.onerror=i.onload=null,clearTimeout(f);var s=e[t];if(delete e[t],i.parentNode&&i.parentNode.removeChild(i),s&&s.forEach((function(t){return t(r)})),n)return n(r)},f=setTimeout(p.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=p.bind(null,i.onerror),i.onload=p.bind(null,i.onload),l&&document.head.appendChild(i)}},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t},o.j=3574,function(){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 n=e.getElementsByTagName("script");if(n.length)for(var r=n.length-1;r>-1&&!t;)t=n[r--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=t}(),function(){o.b=document.baseURI||self.location.href;var t={3574:0};o.f.j=function(e,n){var r=o.o(t,e)?t[e]:void 0;if(0!==r)if(r)n.push(r[2]);else{var s=new Promise((function(n,s){r=t[e]=[n,s]}));n.push(r[2]=s);var a=o.p+o.u(e),i=new Error;o.l(a,(function(n){if(o.o(t,e)&&(0!==(r=t[e])&&(t[e]=void 0),r)){var s=n&&("load"===n.type?"missing":n.type),a=n&&n.target&&n.target.src;i.message="Loading chunk "+e+" failed.\n("+s+": "+a+")",i.name="ChunkLoadError",i.type=s,i.request=a,r[1](i)}}),"chunk-"+e,e)}},o.O.j=function(e){return 0===t[e]};var e=function(e,n){var r,s,a=n[0],i=n[1],l=n[2],c=0;if(a.some((function(e){return 0!==t[e]}))){for(r in i)o.o(i,r)&&(o.m[r]=i[r]);if(l)var u=l(o)}for(e&&e(n);c<a.length;c++)s=a[c],o.o(t,s)&&t[s]&&t[s][0](),t[s]=0;return o.O(u)},n=self.webpackChunknextcloud=self.webpackChunknextcloud||[];n.forEach(e.bind(null,0)),n.push=e.bind(null,n.push.bind(n))}(),o.nc=void 0;var a=o.O(void 0,[7874],(function(){return o(5696)}));a=o.O(a)}(); +//# sourceMappingURL=settings-vue-settings-personal-password.js.map?v=ffbbb40c8f3610a8f2a8
\ No newline at end of file diff --git a/dist/settings-vue-settings-personal-password.js.map b/dist/settings-vue-settings-personal-password.js.map index b6639571e7f..1baa921fc13 100644 --- a/dist/settings-vue-settings-personal-password.js.map +++ b/dist/settings-vue-settings-personal-password.js.map @@ -1 +1 @@ -{"version":3,"file":"settings-vue-settings-personal-password.js?v=de2d70559f5a585a6718","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?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/PasswordSection.vue","webpack://nextcloud/./apps/settings/src/components/PasswordSection.vue?9b44","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=2de2e26a&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 = function(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(function(key) { return __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 = function(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 = function(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(function(fn) { return 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};","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 - @copyright 2022 Carl Schwan <carl@carlschwan.eu>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -->\n<template>\n\t<NcSettingsSection :name=\"t('settings', 'Password')\">\n\t\t<form id=\"passwordform\" method=\"POST\" @submit.prevent=\"changePassword\">\n\t\t\t<NcPasswordField id=\"old-pass\"\n\t\t\t\t:label=\"t('settings', 'Current password')\"\n\t\t\t\tname=\"oldpassword\"\n\t\t\t\t:value.sync=\"oldPass\"\n\t\t\t\tautocomplete=\"current-password\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocorrect=\"off\" />\n\n\t\t\t<NcPasswordField id=\"new-pass\"\n\t\t\t\t:label=\"t('settings', 'New password')\"\n\t\t\t\t:value.sync=\"newPass\"\n\t\t\t\t:maxlength=\"469\"\n\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocorrect=\"off\"\n\t\t\t\t:check-password-strength=\"true\" />\n\n\t\t\t<NcButton type=\"primary\"\n\t\t\t\tnative-type=\"submit\"\n\t\t\t\t:disabled=\"newPass.length === 0 || oldPass.length === 0\">\n\t\t\t\t{{ t('settings', 'Change password') }}\n\t\t\t</NcButton>\n\t\t</form>\n\t</NcSettingsSection>\n</template>\n\n<script>\nimport NcSettingsSection from '@nextcloud/vue/dist/Components/NcSettingsSection.js'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport NcPasswordField from '@nextcloud/vue/dist/Components/NcPasswordField.js'\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\nimport { showSuccess, showError } from '@nextcloud/dialogs'\n\nexport default {\n\tname: 'PasswordSection',\n\tcomponents: {\n\t\tNcSettingsSection,\n\t\tNcButton,\n\t\tNcPasswordField,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\toldPass: '',\n\t\t\tnewPass: '',\n\t\t}\n\t},\n\tmethods: {\n\t\tchangePassword() {\n\t\t\taxios.post(generateUrl('/settings/personal/changepassword'), {\n\t\t\t\toldpassword: this.oldPass,\n\t\t\t\tnewpassword: this.newPass,\n\t\t\t})\n\t\t\t\t.then(res => res.data)\n\t\t\t\t.then(data => {\n\t\t\t\t\tif (data.status === 'error') {\n\t\t\t\t\t\tthis.errorMessage = data.data.message\n\t\t\t\t\t\tshowError(data.data.message)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tshowSuccess(data.data.message)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t},\n\t},\n}\n</script>\n\n<style>\n\t#passwordform {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 1rem;\n\t\tmax-width: 400px;\n\t}\n</style>\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordSection.vue?vue&type=style&index=0&id=2de2e26a&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=2de2e26a&prod&lang=css&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./PasswordSection.vue?vue&type=template&id=2de2e26a&\"\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=2de2e26a&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\",\"autocorrect\":\"off\"},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\",\"autocorrect\":\"off\",\"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 * @copyright 2022 Carl Schwan <carl@carlschwan.eu>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\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\":\";AAiGA;CACA,aAAA;CACA,sBAAA;CACA,SAAA;CACA,gBAAA;AACA\",\"sourcesContent\":[\"<!--\\n - @copyright 2022 Carl Schwan <carl@carlschwan.eu>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -->\\n<template>\\n\\t<NcSettingsSection :name=\\\"t('settings', 'Password')\\\">\\n\\t\\t<form id=\\\"passwordform\\\" method=\\\"POST\\\" @submit.prevent=\\\"changePassword\\\">\\n\\t\\t\\t<NcPasswordField id=\\\"old-pass\\\"\\n\\t\\t\\t\\t:label=\\\"t('settings', 'Current password')\\\"\\n\\t\\t\\t\\tname=\\\"oldpassword\\\"\\n\\t\\t\\t\\t:value.sync=\\\"oldPass\\\"\\n\\t\\t\\t\\tautocomplete=\\\"current-password\\\"\\n\\t\\t\\t\\tautocapitalize=\\\"none\\\"\\n\\t\\t\\t\\tautocorrect=\\\"off\\\" />\\n\\n\\t\\t\\t<NcPasswordField id=\\\"new-pass\\\"\\n\\t\\t\\t\\t:label=\\\"t('settings', 'New password')\\\"\\n\\t\\t\\t\\t:value.sync=\\\"newPass\\\"\\n\\t\\t\\t\\t:maxlength=\\\"469\\\"\\n\\t\\t\\t\\tautocomplete=\\\"new-password\\\"\\n\\t\\t\\t\\tautocapitalize=\\\"none\\\"\\n\\t\\t\\t\\tautocorrect=\\\"off\\\"\\n\\t\\t\\t\\t:check-password-strength=\\\"true\\\" />\\n\\n\\t\\t\\t<NcButton type=\\\"primary\\\"\\n\\t\\t\\t\\tnative-type=\\\"submit\\\"\\n\\t\\t\\t\\t:disabled=\\\"newPass.length === 0 || oldPass.length === 0\\\">\\n\\t\\t\\t\\t{{ t('settings', 'Change password') }}\\n\\t\\t\\t</NcButton>\\n\\t\\t</form>\\n\\t</NcSettingsSection>\\n</template>\\n\\n<script>\\nimport NcSettingsSection from '@nextcloud/vue/dist/Components/NcSettingsSection.js'\\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\\nimport NcPasswordField from '@nextcloud/vue/dist/Components/NcPasswordField.js'\\nimport axios from '@nextcloud/axios'\\nimport { generateUrl } from '@nextcloud/router'\\nimport { showSuccess, showError } from '@nextcloud/dialogs'\\n\\nexport default {\\n\\tname: 'PasswordSection',\\n\\tcomponents: {\\n\\t\\tNcSettingsSection,\\n\\t\\tNcButton,\\n\\t\\tNcPasswordField,\\n\\t},\\n\\tdata() {\\n\\t\\treturn {\\n\\t\\t\\toldPass: '',\\n\\t\\t\\tnewPass: '',\\n\\t\\t}\\n\\t},\\n\\tmethods: {\\n\\t\\tchangePassword() {\\n\\t\\t\\taxios.post(generateUrl('/settings/personal/changepassword'), {\\n\\t\\t\\t\\toldpassword: this.oldPass,\\n\\t\\t\\t\\tnewpassword: this.newPass,\\n\\t\\t\\t})\\n\\t\\t\\t\\t.then(res => res.data)\\n\\t\\t\\t\\t.then(data => {\\n\\t\\t\\t\\t\\tif (data.status === 'error') {\\n\\t\\t\\t\\t\\t\\tthis.errorMessage = data.data.message\\n\\t\\t\\t\\t\\t\\tshowError(data.data.message)\\n\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\tshowSuccess(data.data.message)\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t})\\n\\t\\t},\\n\\t},\\n}\\n</script>\\n\\n<style>\\n\\t#passwordform {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tgap: 1rem;\\n\\t\\tmax-width: 400px;\\n\\t}\\n</style>\\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 = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(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 = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(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 = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"2250\":\"9c98ca37abd9ee1927b3\",\"7996\":\"39e55a09e2da8534cf16\"}[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 = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(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 = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 3574;","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) 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\t3574: 0\n};\n\n__webpack_require__.f.j = function(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(function(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 = function(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 = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(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(function(id) { return 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, [7874], function() { return __webpack_require__(423); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","name","components","NcSettingsSection","NcButton","NcPasswordField","data","oldPass","newPass","methods","changePassword","_this","axios","post","generateUrl","oldpassword","newpassword","then","res","status","errorMessage","message","showError","showSuccess","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","component","_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","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=ffbbb40c8f3610a8f2a8","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?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/PasswordSection.vue","webpack://nextcloud/./apps/settings/src/components/PasswordSection.vue?04bd","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=14524b1a&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 = function(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(function(key) { return __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 = function(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 = function(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(function(fn) { return 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};","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 - @copyright 2022 Carl Schwan <carl@carlschwan.eu>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -->\n<template>\n\t<NcSettingsSection :name=\"t('settings', 'Password')\">\n\t\t<form id=\"passwordform\" method=\"POST\" @submit.prevent=\"changePassword\">\n\t\t\t<NcPasswordField id=\"old-pass\"\n\t\t\t\t:label=\"t('settings', 'Current password')\"\n\t\t\t\tname=\"oldpassword\"\n\t\t\t\t:value.sync=\"oldPass\"\n\t\t\t\tautocomplete=\"current-password\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tspellcheck=\"false\" />\n\n\t\t\t<NcPasswordField id=\"new-pass\"\n\t\t\t\t:label=\"t('settings', 'New password')\"\n\t\t\t\t:value.sync=\"newPass\"\n\t\t\t\t:maxlength=\"469\"\n\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tspellcheck=\"false\"\n\t\t\t\t:check-password-strength=\"true\" />\n\n\t\t\t<NcButton type=\"primary\"\n\t\t\t\tnative-type=\"submit\"\n\t\t\t\t:disabled=\"newPass.length === 0 || oldPass.length === 0\">\n\t\t\t\t{{ t('settings', 'Change password') }}\n\t\t\t</NcButton>\n\t\t</form>\n\t</NcSettingsSection>\n</template>\n\n<script>\nimport NcSettingsSection from '@nextcloud/vue/dist/Components/NcSettingsSection.js'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport NcPasswordField from '@nextcloud/vue/dist/Components/NcPasswordField.js'\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\nimport { showSuccess, showError } from '@nextcloud/dialogs'\n\nexport default {\n\tname: 'PasswordSection',\n\tcomponents: {\n\t\tNcSettingsSection,\n\t\tNcButton,\n\t\tNcPasswordField,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\toldPass: '',\n\t\t\tnewPass: '',\n\t\t}\n\t},\n\tmethods: {\n\t\tchangePassword() {\n\t\t\taxios.post(generateUrl('/settings/personal/changepassword'), {\n\t\t\t\toldpassword: this.oldPass,\n\t\t\t\tnewpassword: this.newPass,\n\t\t\t})\n\t\t\t\t.then(res => res.data)\n\t\t\t\t.then(data => {\n\t\t\t\t\tif (data.status === 'error') {\n\t\t\t\t\t\tthis.errorMessage = data.data.message\n\t\t\t\t\t\tshowError(data.data.message)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tshowSuccess(data.data.message)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t},\n\t},\n}\n</script>\n\n<style>\n\t#passwordform {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 1rem;\n\t\tmax-width: 400px;\n\t}\n</style>\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordSection.vue?vue&type=style&index=0&id=14524b1a&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=14524b1a&prod&lang=css&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./PasswordSection.vue?vue&type=template&id=14524b1a&\"\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=14524b1a&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 * @copyright 2022 Carl Schwan <carl@carlschwan.eu>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\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\":\";AAiGA;CACA,aAAA;CACA,sBAAA;CACA,SAAA;CACA,gBAAA;AACA\",\"sourcesContent\":[\"<!--\\n - @copyright 2022 Carl Schwan <carl@carlschwan.eu>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -->\\n<template>\\n\\t<NcSettingsSection :name=\\\"t('settings', 'Password')\\\">\\n\\t\\t<form id=\\\"passwordform\\\" method=\\\"POST\\\" @submit.prevent=\\\"changePassword\\\">\\n\\t\\t\\t<NcPasswordField id=\\\"old-pass\\\"\\n\\t\\t\\t\\t:label=\\\"t('settings', 'Current password')\\\"\\n\\t\\t\\t\\tname=\\\"oldpassword\\\"\\n\\t\\t\\t\\t:value.sync=\\\"oldPass\\\"\\n\\t\\t\\t\\tautocomplete=\\\"current-password\\\"\\n\\t\\t\\t\\tautocapitalize=\\\"none\\\"\\n\\t\\t\\t\\tspellcheck=\\\"false\\\" />\\n\\n\\t\\t\\t<NcPasswordField id=\\\"new-pass\\\"\\n\\t\\t\\t\\t:label=\\\"t('settings', 'New password')\\\"\\n\\t\\t\\t\\t:value.sync=\\\"newPass\\\"\\n\\t\\t\\t\\t:maxlength=\\\"469\\\"\\n\\t\\t\\t\\tautocomplete=\\\"new-password\\\"\\n\\t\\t\\t\\tautocapitalize=\\\"none\\\"\\n\\t\\t\\t\\tspellcheck=\\\"false\\\"\\n\\t\\t\\t\\t:check-password-strength=\\\"true\\\" />\\n\\n\\t\\t\\t<NcButton type=\\\"primary\\\"\\n\\t\\t\\t\\tnative-type=\\\"submit\\\"\\n\\t\\t\\t\\t:disabled=\\\"newPass.length === 0 || oldPass.length === 0\\\">\\n\\t\\t\\t\\t{{ t('settings', 'Change password') }}\\n\\t\\t\\t</NcButton>\\n\\t\\t</form>\\n\\t</NcSettingsSection>\\n</template>\\n\\n<script>\\nimport NcSettingsSection from '@nextcloud/vue/dist/Components/NcSettingsSection.js'\\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\\nimport NcPasswordField from '@nextcloud/vue/dist/Components/NcPasswordField.js'\\nimport axios from '@nextcloud/axios'\\nimport { generateUrl } from '@nextcloud/router'\\nimport { showSuccess, showError } from '@nextcloud/dialogs'\\n\\nexport default {\\n\\tname: 'PasswordSection',\\n\\tcomponents: {\\n\\t\\tNcSettingsSection,\\n\\t\\tNcButton,\\n\\t\\tNcPasswordField,\\n\\t},\\n\\tdata() {\\n\\t\\treturn {\\n\\t\\t\\toldPass: '',\\n\\t\\t\\tnewPass: '',\\n\\t\\t}\\n\\t},\\n\\tmethods: {\\n\\t\\tchangePassword() {\\n\\t\\t\\taxios.post(generateUrl('/settings/personal/changepassword'), {\\n\\t\\t\\t\\toldpassword: this.oldPass,\\n\\t\\t\\t\\tnewpassword: this.newPass,\\n\\t\\t\\t})\\n\\t\\t\\t\\t.then(res => res.data)\\n\\t\\t\\t\\t.then(data => {\\n\\t\\t\\t\\t\\tif (data.status === 'error') {\\n\\t\\t\\t\\t\\t\\tthis.errorMessage = data.data.message\\n\\t\\t\\t\\t\\t\\tshowError(data.data.message)\\n\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\tshowSuccess(data.data.message)\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t})\\n\\t\\t},\\n\\t},\\n}\\n</script>\\n\\n<style>\\n\\t#passwordform {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tgap: 1rem;\\n\\t\\tmax-width: 400px;\\n\\t}\\n</style>\\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 = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(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 = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(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 = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"2250\":\"9c98ca37abd9ee1927b3\",\"7996\":\"39e55a09e2da8534cf16\"}[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 = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(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 = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 3574;","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) 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\t3574: 0\n};\n\n__webpack_require__.f.j = function(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(function(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 = function(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 = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(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(function(id) { return 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, [7874], function() { return __webpack_require__(5696); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","name","components","NcSettingsSection","NcButton","NcPasswordField","data","oldPass","newPass","methods","changePassword","_this","axios","post","generateUrl","oldpassword","newpassword","then","res","status","errorMessage","message","showError","showSuccess","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","component","_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","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 |